diff --git a/README.md b/README.md index 7318f09cdba..9fc30bda959 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,6 @@ Collection of layers for the OE-core universe Main layer maintainer: Khem Raj -This repository is a collection of layers to suppliment OE-Core +This repository is a collection of layers to supplement OE-Core with additional packages, Each layer have designated maintainer Please see the respective READMEs in the layer subdirectories diff --git a/meta-filesystems/conf/layer.conf b/meta-filesystems/conf/layer.conf index f3525365e74..dd4cb812724 100644 --- a/meta-filesystems/conf/layer.conf +++ b/meta-filesystems/conf/layer.conf @@ -15,7 +15,7 @@ LAYERVERSION_filesystems-layer = "1" LAYERDEPENDS_filesystems-layer = "core openembedded-layer networking-layer" -LAYERSERIES_COMPAT_filesystems-layer = "walnascar whinlatter" +LAYERSERIES_COMPAT_filesystems-layer = "whinlatter wrynose" BBFILES_DYNAMIC += " \ meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \ diff --git a/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy/gpiod-sysfs-proxy.init.in b/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy/gpiod-sysfs-proxy.init.in index a9cf5e40754..cba731c9fd9 100644 --- a/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy/gpiod-sysfs-proxy.init.in +++ b/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy/gpiod-sysfs-proxy.init.in @@ -40,7 +40,7 @@ do_start() mkdir -p $MOUNTPOINT fi - $PROG $MOUNTPOINT -o nonempty -o allow_other -o default_permissions -o entry_timeout=0 -f | logger -i $NAME & + $PROG $MOUNTPOINT -o nonempty -o allow_other -o default_permissions -o entry_timeout=0 -o attr_timeout=0 -f | logger -i $NAME & echo "done" } diff --git a/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy/gpiod-sysfs-proxy.service.in b/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy/gpiod-sysfs-proxy.service.in index 313523268ca..5f8c4f4834c 100644 --- a/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy/gpiod-sysfs-proxy.service.in +++ b/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy/gpiod-sysfs-proxy.service.in @@ -7,7 +7,7 @@ Description=User-space, libgpiod-based compatibility layer for linux GPIO sysfs [Service] RuntimeDirectory=gpio Type=simple -ExecStart=/usr/bin/gpiod-sysfs-proxy @mountpoint@ -f -o nonempty -o allow_other -o default_permissions -o entry_timeout=0 +ExecStart=/usr/bin/gpiod-sysfs-proxy @mountpoint@ -f -o nonempty -o allow_other -o default_permissions -o entry_timeout=0 -o attr_timeout=0 ExecStop=/bin/umount @mountpoint@ Restart=always diff --git a/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy_0.1.2.bb b/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy_0.1.2.bb deleted file mode 100644 index 3e68a52b09d..00000000000 --- a/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy_0.1.2.bb +++ /dev/null @@ -1,85 +0,0 @@ -SUMMARY = "User-space, libgpiod-based compatibility layer for linux GPIO sysfs interface." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=0dcf8b702b5c96178978c7223f64a73b" - -inherit systemd update-rc.d ptest pypi python_pep517 python_setuptools_build_meta useradd - -PYPI_PACKAGE = "gpiod_sysfs_proxy" - -SRC_URI += " \ - file://gpiod-sysfs-proxy.service.in \ - file://run-gpio-sys.mount \ - file://sys-class.mount \ - file://gpiod-sysfs-proxy.init.in \ - file://run-ptest.in \ -" - -SRC_URI[sha256sum] = "4bdd4b8a7042f63a40507ae0f16b360011e67cbb2f0276289636487a54849530" - -# For full backward compatibility with the kernel sysfs interface, this option -# must be selected. However, we don't make it the default as - with kernel sysfs -# disabled - it plays a silly game with /sys/class, where it mounts a read-only -# overlay containing the missing /sys/class/gpio directory. This is a rather -# non-standard behavior so make sure the user actually wants it. -PACKAGECONFIG[sys-class-mount] = "" - -export MOUNTPOINT = "${@bb.utils.contains('PACKAGECONFIG', 'sys-class-mount', '/sys/class/gpio', '/run/gpio', d)}" - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/gpiod-sysfs-proxy.service.in ${D}${systemd_system_unitdir}/gpiod-sysfs-proxy.service - - if ${@bb.utils.contains('PACKAGECONFIG', 'sys-class-mount', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/ - - install -m 0644 ${UNPACKDIR}/run-gpio-sys.mount ${D}${systemd_system_unitdir}/run-gpio-sys.mount - install -m 0644 ${UNPACKDIR}/sys-class.mount ${D}${systemd_system_unitdir}/sys-class.mount - - ln -sf ../run-gpio-sys.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/run-gpio-sys.mount - ln -sf ../sys-class.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/sys-class.mount - fi - - sed -i "s:@mountpoint@:$MOUNTPOINT:g" ${D}${systemd_system_unitdir}/gpiod-sysfs-proxy.service - elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/gpiod-sysfs-proxy.init.in ${D}${sysconfdir}/init.d/gpiod-sysfs-proxy - sed -i "s:@mountpoint@:$MOUNTPOINT:g" ${D}${sysconfdir}/init.d/gpiod-sysfs-proxy - fi -} - -SYSTEMD_SERVICE:${PN} = "gpiod-sysfs-proxy.service" -SYSTEMD_AUTO_ENABLE = "enable" - -INITSCRIPT_NAME = "gpiod-sysfs-proxy" -INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 0 1 6 ." - -FILES:${PN} += "/usr/lib/systemd/system" - -RDEPENDS:${PN} += " \ - python3-fuse \ - python3-gpiod \ - python3-pyudev \ -" - -python __anonymous() { - if d.getVar("PTEST_ENABLED") == "1": - d.appendVar("SRC_URI", "git://github.com/brgl/gpio-sysfs-compat-tests;protocol=https;branch=main;destsuffix=tests;name=tests") - d.setVar("SRCREV_tests", "a3c9daa4650dd1e8d7fd8972db68d9c2c204263d") -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests/ - install -m 0755 ${UNPACKDIR}/run-ptest.in ${D}${PTEST_PATH}/run-ptest - sed -i "s:@mountpoint@:$MOUNTPOINT:g" ${D}${PTEST_PATH}/run-ptest - install -m 0755 ${UNPACKDIR}/tests/gpio-sysfs-compat-tests ${D}${PTEST_PATH}/tests/gpio-sysfs-compat-tests -} - -# Test user is created for verifying chown() and chmod() operations. -USERADD_PACKAGES = "${PN}-ptest" -GROUPADD_PARAM:${PN}-ptest = "--system gpio-test" -USERADD_PARAM:${PN}-ptest = "--system -M -s /bin/nologin -g gpio-test gpio-test" - -RDEPENDS:${PN}-ptest += "kmod" -RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim kernel-module-configfs" diff --git a/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy_0.1.4.bb b/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy_0.1.4.bb new file mode 100644 index 00000000000..52b73f3ff42 --- /dev/null +++ b/meta-filesystems/dynamic-layers/meta-python/recipes-support/gpiod-sysfs-proxy/gpiod-sysfs-proxy_0.1.4.bb @@ -0,0 +1,85 @@ +SUMMARY = "User-space, libgpiod-based compatibility layer for linux GPIO sysfs interface." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=0dcf8b702b5c96178978c7223f64a73b" + +inherit systemd update-rc.d ptest pypi python_pep517 python_setuptools_build_meta useradd + +PYPI_PACKAGE = "gpiod_sysfs_proxy" + +SRC_URI += " \ + file://gpiod-sysfs-proxy.service.in \ + file://run-gpio-sys.mount \ + file://sys-class.mount \ + file://gpiod-sysfs-proxy.init.in \ + file://run-ptest.in \ +" + +SRC_URI[sha256sum] = "bb38e31e4046a7aa0101c53c9e7e2cf319c0cd9620b9ba1641e962fce44a1f3a" + +# For full backward compatibility with the kernel sysfs interface, this option +# must be selected. However, we don't make it the default as - with kernel sysfs +# disabled - it plays a silly game with /sys/class, where it mounts a read-only +# overlay containing the missing /sys/class/gpio directory. This is a rather +# non-standard behavior so make sure the user actually wants it. +PACKAGECONFIG[sys-class-mount] = "" + +export MOUNTPOINT = "${@bb.utils.contains('PACKAGECONFIG', 'sys-class-mount', '/sys/class/gpio', '/run/gpio', d)}" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/gpiod-sysfs-proxy.service.in ${D}${systemd_system_unitdir}/gpiod-sysfs-proxy.service + + if ${@bb.utils.contains('PACKAGECONFIG', 'sys-class-mount', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/ + + install -m 0644 ${UNPACKDIR}/run-gpio-sys.mount ${D}${systemd_system_unitdir}/run-gpio-sys.mount + install -m 0644 ${UNPACKDIR}/sys-class.mount ${D}${systemd_system_unitdir}/sys-class.mount + + ln -sf ../run-gpio-sys.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/run-gpio-sys.mount + ln -sf ../sys-class.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/sys-class.mount + fi + + sed -i "s:@mountpoint@:$MOUNTPOINT:g" ${D}${systemd_system_unitdir}/gpiod-sysfs-proxy.service + elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/gpiod-sysfs-proxy.init.in ${D}${sysconfdir}/init.d/gpiod-sysfs-proxy + sed -i "s:@mountpoint@:$MOUNTPOINT:g" ${D}${sysconfdir}/init.d/gpiod-sysfs-proxy + fi +} + +SYSTEMD_SERVICE:${PN} = "gpiod-sysfs-proxy.service" +SYSTEMD_AUTO_ENABLE = "enable" + +INITSCRIPT_NAME = "gpiod-sysfs-proxy" +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 0 1 6 ." + +FILES:${PN} += "/usr/lib/systemd/system" + +RDEPENDS:${PN} += " \ + python3-fuse \ + python3-gpiod \ + python3-pyudev \ +" + +python __anonymous() { + if d.getVar("PTEST_ENABLED") == "1": + d.appendVar("SRC_URI", "git://github.com/brgl/gpio-sysfs-compat-tests;protocol=https;branch=main;destsuffix=tests;name=tests") + d.setVar("SRCREV_tests", "2882af358480afcf7eed85584cddd560d6673637") +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests/ + install -m 0755 ${UNPACKDIR}/run-ptest.in ${D}${PTEST_PATH}/run-ptest + sed -i "s:@mountpoint@:$MOUNTPOINT:g" ${D}${PTEST_PATH}/run-ptest + install -m 0755 ${UNPACKDIR}/tests/gpio-sysfs-compat-tests ${D}${PTEST_PATH}/tests/gpio-sysfs-compat-tests +} + +# Test user is created for verifying chown() and chmod() operations. +USERADD_PACKAGES = "${PN}-ptest" +GROUPADD_PARAM:${PN}-ptest = "--system gpio-test" +USERADD_PARAM:${PN}-ptest = "--system -M -s /bin/nologin -g gpio-test gpio-test" + +RDEPENDS:${PN}-ptest += "kmod python3-multiprocess" +RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim kernel-module-configfs" diff --git a/meta-filesystems/recipes-filesystems/burnia/libburn/0001-Bug-fix-Faulty-signal-handler-prototype-spoiled-comp.patch b/meta-filesystems/recipes-filesystems/burnia/libburn/0001-Bug-fix-Faulty-signal-handler-prototype-spoiled-comp.patch deleted file mode 100644 index 6061352cb7b..00000000000 --- a/meta-filesystems/recipes-filesystems/burnia/libburn/0001-Bug-fix-Faulty-signal-handler-prototype-spoiled-comp.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d537f9dd35282df834a311ead5f113af67d223b3 Mon Sep 17 00:00:00 2001 -From: Thomas Schmitt -Date: Tue, 26 Nov 2024 23:02:03 +0100 -Subject: [PATCH] Bug fix: Faulty signal handler prototype spoiled compilation - under C23 - -Upstream-Status: Backport [https://dev.lovelyhq.com/libburnia/libburn/commit/d537f9dd35282df834a311ead5f113af67d223b3] ---- - test/poll.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/poll.c b/test/poll.c -index 660f384..cd5ff90 100644 ---- a/test/poll.c -+++ b/test/poll.c -@@ -14,7 +14,7 @@ static struct burn_drive_info *drives; - static unsigned int n_drives; - int NEXT; - --static void catch_int () -+static void catch_int (int signum) - { - NEXT = 1; - } --- -2.34.1 - diff --git a/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb deleted file mode 100644 index e84a60a5436..00000000000 --- a/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "library to write an ISO-9660 file system to physical media" -HOMEPAGE = "https://libburnia-project.org/" - -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ - file://COPYRIGHT;md5=a91b9b862895b64e68e5b321873c9111" - -SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz \ - file://0001-Bug-fix-Faulty-signal-handler-prototype-spoiled-comp.patch" - -SRC_URI[sha256sum] = "7295491b4be5eeac5e7a3fb2067e236e2955ffdc6bbd45f546466edee321644b" - -inherit autotools pkgconfig lib_package - -BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.8.bb b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.8.bb new file mode 100644 index 00000000000..1e84d12a033 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.8.bb @@ -0,0 +1,14 @@ +SUMMARY = "library to write an ISO-9660 file system to physical media" +HOMEPAGE = "https://libburnia-project.org/" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYRIGHT;md5=a91b9b862895b64e68e5b321873c9111" + +SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz" + +SRC_URI[sha256sum] = "8e24dd99f5b7cafbecf0116d61b619ee89098e20263e6f47c793aaf4a98d6473" + +inherit autotools pkgconfig lib_package + +BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb deleted file mode 100644 index 5fbeab53d80..00000000000 --- a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "A fuse filesystem to access the contents of an iPhone or iPod Touch" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7" -HOMEPAGE = "http://www.libimobiledevice.org/" - -DEPENDS = "fuse libimobiledevice" - -SRC_URI = "https://github.com/libimobiledevice/ifuse/releases/download/${PV}/ifuse-${PV}.tar.bz2" - -SRC_URI[md5sum] = "cd31fbd0ea945b2ff1e39eac8d198fdd" -SRC_URI[sha256sum] = "3550702ef94b2f5f16c7db91c6b3282b2aed1340665834a03e47458e09d98d87" - -inherit autotools pkgconfig diff --git a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.2.0.bb b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.2.0.bb new file mode 100644 index 00000000000..daeb5b9be29 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.2.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "A fuse filesystem to access the contents of an iPhone or iPod Touch" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7" +HOMEPAGE = "http://www.libimobiledevice.org/" + +DEPENDS = "fuse3 libimobiledevice" + +SRC_URI = "https://github.com/libimobiledevice/ifuse/releases/download/${PV}/ifuse-${PV}.tar.bz2" + +SRC_URI[sha256sum] = "5c584ae999ed52b386b0d2d1af8f8dcba451cddf31d7cd24367b18db0a9a5a9e" + +inherit autotools pkgconfig + +EXTRA_OECONF = "PACKAGE_VERSION=${PV}" diff --git a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb index c91e18a0d75..3a7dd783b9c 100644 --- a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb +++ b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb @@ -12,8 +12,7 @@ SRC_URI = "git://github.com/tuxera/ntfs-3g;protocol=https;branch=edge;tag=${PV} " SRCREV = "78414d93613532fd82f3a82aba5d4a1c32898781" -UPSTREAM_CHECK_URI = "https://github.com/tuxera/ntfs-3g/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/(?P\d+(\.\d+)+)" +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" inherit autotools pkgconfig diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch index 870d0ef0560..229c58f1d08 100644 --- a/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch +++ b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch @@ -17,11 +17,11 @@ diff --git a/Makefile.am b/Makefile.am index e0c4ad6..0449321 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -35,3 +35,4 @@ rpmcvs: preparerpm +@@ -30,3 +30,5 @@ rpm: preparerpm + rpmcvs: preparerpm @LN_S@ -f `pwd`/@PACKAGE@-@VERSION@.tar.gz ${RPMDIR}/SOURCES/@PACKAGE@-@VERSION@_cvs_`date +"%Y%m%d"`.tar.gz cd ${RPMDIR}/SPECS && @RPMBUILD@ -ba @PACKAGE@.spec --define 'cvs 1' - ++ +README: README.md -- 2.7.4 - diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Fix-compilation-with-GCC10.patch b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Fix-compilation-with-GCC10.patch deleted file mode 100644 index 6426ecb2478..00000000000 --- a/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Fix-compilation-with-GCC10.patch +++ /dev/null @@ -1,44 +0,0 @@ -From a812202d22a2861318b8e39f1cd74cd222f8e76f Mon Sep 17 00:00:00 2001 -From: "Azamat H. Hackimov" -Date: Tue, 9 Jun 2020 11:30:38 +0300 -Subject: [PATCH] Fix compilation with GCC10 - -Fixed compilation with -fno-common, which enabled in GCC 10 by default. -See https://bugs.gentoo.org/707438. - -Upstream-Status: Backport [https://github.com/owfs/owfs/pull/62] -Signed-off-by: Khem Raj ---- - module/owserver/src/c/owserver.c | 2 ++ - module/owserver/src/include/owserver.h | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/module/owserver/src/c/owserver.c b/module/owserver/src/c/owserver.c -index db29988e..2ed29161 100644 ---- a/module/owserver/src/c/owserver.c -+++ b/module/owserver/src/c/owserver.c -@@ -36,6 +36,8 @@ - - #include "owserver.h" - -+pthread_mutex_t persistence_mutex ; -+ - /* --- Prototypes ------------ */ - static void SetupAntiloop(int argc, char **argv); - -diff --git a/module/owserver/src/include/owserver.h b/module/owserver/src/include/owserver.h -index 8be582f0..a257ed02 100644 ---- a/module/owserver/src/include/owserver.h -+++ b/module/owserver/src/include/owserver.h -@@ -18,7 +18,7 @@ - #include "ow.h" - #include "ow_connection.h" - --pthread_mutex_t persistence_mutex ; -+extern pthread_mutex_t persistence_mutex ; - #define PERSISTENCELOCK _MUTEX_LOCK( persistence_mutex ) ; - #define PERSISTENCEUNLOCK _MUTEX_UNLOCK( persistence_mutex ) ; - --- -2.28.0 - diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb b/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb deleted file mode 100644 index 890c8aecc0d..00000000000 --- a/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb +++ /dev/null @@ -1,80 +0,0 @@ -SUMMARY = "1-Wire file system" -DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim" -HOMEPAGE = "http://www.owfs.org/" -SECTION = "console/network" - -LICENSE = "GPL-2.0-only & LGPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=628b867016631792781a8735a04760e5 \ - file://COPYING.LIB;md5=9021b7435efdd9fb22beef8291134099" - -DEPENDS = "fuse virtual/libusb0" -# v3.2p3 -SRCREV = "3744375dfaa350e31c9b360eb1e1a517bbeb5c47" -SRC_URI = "git://github.com/owfs/owfs;branch=master;protocol=https \ - file://0001-Add-build-rule-for-README.patch \ - file://0001-Fix-compilation-with-GCC10.patch \ - file://owhttpd \ - file://owserver \ - " - - -inherit autotools-brokensep update-rc.d pkgconfig systemd - -EXTRA_OECONF = " \ - --with-fuseinclude=${STAGING_INCDIR} \ - --with-fuselib=${STAGING_LIBDIR} \ - --enable-owfs \ - --enable-owhttpd \ - --enable-w1 \ - --disable-swig \ - --disable-owtcl \ - --disable-owphp \ - --disable-owpython \ - --disable-owperl \ -" - -do_install:prepend() { - install -d ${D}${sysconfdir}/default/ - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${UNPACKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd - install -m 0755 ${UNPACKDIR}/owserver ${D}${sysconfdir}/init.d/owserver -} - -PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap" - -DESCRIPTION:owftpd = "Anoymous FTP server for 1-wire access" -DESCRIPTION:owhttpd = "Tiny webserver for 1-wire control" -DESCRIPTION:owserver = "Backend server (daemon) for 1-wire control" -DESCRIPTION:owshell = "owdir owread owwrite owpresent owget - lightweight owserver access" -DESCRIPTION:libowcapi = "easy C-language 1-wire interface " -DESCRIPTION:libow = "easy C-language 1-wire interface to the owserver protocol" -DESCRIPTION:libownet = "easy C-language 1-wire interface to the owserver protocol" -DESCRIPTION:owmon = "Monitor for owserver settings and statistics" -DESCRIPTION:owtap = "Packet sniffer for the owserver protocol" - -FILES:owftpd = "${bindir}/owftpd ${systemd_system_unitdir}/owftpd.service" -FILES:owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd \ - ${systemd_system_unitdir}/owhttpd.service" -FILES:owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver \ - ${systemd_system_unitdir}/owserver.service \ - ${systemd_system_unitdir}/owserver.socket" -FILES:owshell = "${bindir}/owread ${bindir}/owwrite \ - ${bindir}/owdir ${bindir}/owpresent \ - ${bindir}/owget ${bindir}/owside" -FILES:owmon = "${bindir}/owmon" -FILES:owtap = "${bindir}/owtap" -FILES:libowcapi = "${libdir}/libowcapi-*" -FILES:libow = "${libdir}/libow-*" -FILES:libownet = "${libdir}/libownet-*" -FILES:${PN} += "${systemd_system_unitdir}/owfs.service" - -INITSCRIPT_PACKAGES = "owhttpd owserver" -INITSCRIPT_NAME:owserver = "owserver" -INITSCRIPT_NAME:owhttpd = "owhttpd" -INITSCRIPT_PARAMS:owserver = "defaults 20" -INITSCRIPT_PARAMS:owhttpd = "defaults 21" - -SYSTEMD_SERVICE:${PN} = "owfs.service" -SYSTEMD_SERVICE:${PN}-owftpd = "owftpd.service" -SYSTEMD_SERVICE:${PN}-owhttpd = "owhttpd.service" -SYSTEMD_SERVICE:${PN}-owserver = "owserver.service owserver.socket" diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p4.bb b/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p4.bb new file mode 100644 index 00000000000..94379939de1 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p4.bb @@ -0,0 +1,79 @@ +SUMMARY = "1-Wire file system" +DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim" +HOMEPAGE = "http://www.owfs.org/" +SECTION = "console/network" + +LICENSE = "GPL-2.0-only & LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=628b867016631792781a8735a04760e5 \ + file://COPYING.LIB;md5=9021b7435efdd9fb22beef8291134099" + +DEPENDS = "fuse virtual/libusb0" + +SRCREV = "c68deb1fc6d30fcc5eabe0a0d9c9dc2ca54e455a" +SRC_URI = "git://github.com/owfs/owfs;branch=master;protocol=https;tag=v${PV} \ + file://0001-Add-build-rule-for-README.patch \ + file://owhttpd \ + file://owserver \ + " + + +inherit autotools-brokensep update-rc.d pkgconfig systemd + +EXTRA_OECONF = " \ + --with-fuseinclude=${STAGING_INCDIR} \ + --with-fuselib=${STAGING_LIBDIR} \ + --enable-owfs \ + --enable-owhttpd \ + --enable-w1 \ + --disable-swig \ + --disable-owtcl \ + --disable-owphp \ + --disable-owpython \ + --disable-owperl \ +" + +do_install:prepend() { + install -d ${D}${sysconfdir}/default/ + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${UNPACKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd + install -m 0755 ${UNPACKDIR}/owserver ${D}${sysconfdir}/init.d/owserver +} + +PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap" + +DESCRIPTION:owftpd = "Anoymous FTP server for 1-wire access" +DESCRIPTION:owhttpd = "Tiny webserver for 1-wire control" +DESCRIPTION:owserver = "Backend server (daemon) for 1-wire control" +DESCRIPTION:owshell = "owdir owread owwrite owpresent owget - lightweight owserver access" +DESCRIPTION:libowcapi = "easy C-language 1-wire interface " +DESCRIPTION:libow = "easy C-language 1-wire interface to the owserver protocol" +DESCRIPTION:libownet = "easy C-language 1-wire interface to the owserver protocol" +DESCRIPTION:owmon = "Monitor for owserver settings and statistics" +DESCRIPTION:owtap = "Packet sniffer for the owserver protocol" + +FILES:owftpd = "${bindir}/owftpd ${systemd_system_unitdir}/owftpd.service" +FILES:owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd \ + ${systemd_system_unitdir}/owhttpd.service" +FILES:owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver \ + ${systemd_system_unitdir}/owserver.service \ + ${systemd_system_unitdir}/owserver.socket" +FILES:owshell = "${bindir}/owread ${bindir}/owwrite \ + ${bindir}/owdir ${bindir}/owpresent \ + ${bindir}/owget ${bindir}/owside" +FILES:owmon = "${bindir}/owmon" +FILES:owtap = "${bindir}/owtap" +FILES:libowcapi = "${libdir}/libowcapi-*" +FILES:libow = "${libdir}/libow-*" +FILES:libownet = "${libdir}/libownet-*" +FILES:${PN} += "${systemd_system_unitdir}/owfs.service" + +INITSCRIPT_PACKAGES = "owhttpd owserver" +INITSCRIPT_NAME:owserver = "owserver" +INITSCRIPT_NAME:owhttpd = "owhttpd" +INITSCRIPT_PARAMS:owserver = "defaults 20" +INITSCRIPT_PARAMS:owhttpd = "defaults 21" + +SYSTEMD_SERVICE:${PN} = "owfs.service" +SYSTEMD_SERVICE:${PN}-owftpd = "owftpd.service" +SYSTEMD_SERVICE:${PN}-owhttpd = "owhttpd.service" +SYSTEMD_SERVICE:${PN}-owserver = "owserver.service owserver.socket" diff --git a/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb b/meta-filesystems/recipes-filesystems/packagegroups/packagegroup-meta-filesystems.bb similarity index 100% rename from meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb rename to meta-filesystems/recipes-filesystems/packagegroups/packagegroup-meta-filesystems.bb diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.8.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.8.bb deleted file mode 100644 index 1fc1457b19b..00000000000 --- a/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.8.bb +++ /dev/null @@ -1,86 +0,0 @@ -SUMMARY = "OpenZFS on Linux and FreeBSD" -DESCRIPTION = "OpenZFS on Linux and FreeBSD" -LICENSE = "CDDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa" -HOMEPAGE = "https://github.com/openzfs/zfs" - -SRCREV = "3e4a3e161c00273303cd9fa9e0dc09ead3499a8a" -SRC_URI = "git://github.com/openzfs/zfs;protocol=https;branch=zfs-2.2-release \ - file://0001-Define-strndupa-if-it-does-not-exist.patch \ - file://aaf28a4630af60496c9d33db1d06a7d7d8983422.patch \ - file://0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch \ -" - - -# Using both 'module' and 'autotools' classes seems a bit odd, they both -# define a do_compile function. -# That's why we opt for module-base, also this prevents module splitting. -inherit module-base pkgconfig autotools bash-completion - -DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl curl" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd sysvinit', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ - " - -PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${base_libdir}/security, --disable-pam" -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd," -PACKAGECONFIG[sysvinit] = "--enable-sysvinit,--disable-sysvinit," - -EXTRA_OECONF:append = " \ - --disable-pyzfs \ - --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \ - --with-mounthelperdir=${base_sbin} \ - --with-udevdir=${base_libdir}/udev \ - --with-systemdunitdir=${systemd_system_unitdir} \ - --with-systemdgeneratordir=${nonarch_base_libdir}/systemd/system-generators \ - --with-systemdpresetdir=${nonarch_base_libdir}/systemd/system-preset \ - --with-systemdmodulesloaddir=${sysconfdir}/module-load.d \ - --without-dracutdir --enable-linux-builtin \ -" - -# Reproducibility: Force target distribution ("vendor") to Debian to match -# default values for things like: NFS server service name, bash completion -# path, configuration files, ... -# The Debian values do match the OpenEmbedded ones. -EXTRA_OECONF:append = " --with-vendor=debian" - -EXTRA_OEMAKE:append = " \ - INSTALL_MOD_PATH=${D}${root_prefix} \ -" - -do_install:append() { - # /usr/share/zfs contains the zfs-tests folder which we do not need: - rm -rf ${D}${datadir}/zfs - - rm -rf ${D}${datadir}/initramfs-tools -} - -FILES:${PN} += "\ - ${nonarch_base_libdir}/modules \ - ${systemd_system_unitdir} \ - ${nonarch_base_libdir}/systemd/system-generators \ - ${nonarch_base_libdir}/systemd/system-preset \ - ${sysconfdir}/modules-load.d/${BPN}.conf \ - ${sysconfdir}/default/${BPN} \ - ${sysconfdir}/sudoers.d/${BPN} \ - ${sysconfdir}/${BPN} \ - ${base_libdir}/udev \ - ${sbindir} \ - ${bindir} \ - ${libexecdir}/${BPN} \ - ${libdir} \ - ${datadir}/pam-configs \ - ${base_libdir}/security \ -" - -FILES:${PN}-dev += "\ - ${prefix}/src/zfs-${PV} \ - ${prefix}/src/spl-${PV} \ -" -# Not yet ported to rv32 -COMPATIBLE_HOST:riscv32 = "null" -# conflicting definition of ABS macro from asm/asm.h from kernel -COMPATIBLE_HOST:mips = "null" -# FTBFS on aarch64 with 6.2+ kernel see https://github.com/openzfs/zfs/issues/14555 -COMPATIBLE_HOST:aarch64 = "null" diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.4.1.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.4.1.bb new file mode 100644 index 00000000000..5c02d582424 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.4.1.bb @@ -0,0 +1,86 @@ +SUMMARY = "OpenZFS on Linux and FreeBSD" +DESCRIPTION = "OpenZFS on Linux and FreeBSD" +LICENSE = "CDDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa" +HOMEPAGE = "https://github.com/openzfs/zfs" + +SRCREV = "1c702dda346a59e05cfd3029569bbb1d5d91c54b" +SRC_URI = "git://github.com/openzfs/zfs;protocol=https;branch=zfs-2.4-release;tag=${BP} \ + file://0001-Define-strndupa-if-it-does-not-exist.patch \ + file://aaf28a4630af60496c9d33db1d06a7d7d8983422.patch \ + file://0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch \ +" + + +# Using both 'module' and 'autotools' classes seems a bit odd, they both +# define a do_compile function. +# That's why we opt for module-base, also this prevents module splitting. +inherit module-base pkgconfig autotools bash-completion + +DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl curl" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd sysvinit', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ + " + +PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${base_libdir}/security, --disable-pam" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd," +PACKAGECONFIG[sysvinit] = "--enable-sysvinit,--disable-sysvinit," + +EXTRA_OECONF:append = " \ + --disable-pyzfs \ + --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \ + --with-mounthelperdir=${base_sbin} \ + --with-udevdir=${base_libdir}/udev \ + --with-systemdunitdir=${systemd_system_unitdir} \ + --with-systemdgeneratordir=${nonarch_base_libdir}/systemd/system-generators \ + --with-systemdpresetdir=${nonarch_base_libdir}/systemd/system-preset \ + --with-systemdmodulesloaddir=${sysconfdir}/module-load.d \ + --without-dracutdir --enable-linux-builtin \ +" + +# Reproducibility: Force target distribution ("vendor") to Debian to match +# default values for things like: NFS server service name, bash completion +# path, configuration files, ... +# The Debian values do match the OpenEmbedded ones. +EXTRA_OECONF:append = " --with-vendor=debian" + +EXTRA_OEMAKE:append = " \ + INSTALL_MOD_PATH=${D}${root_prefix} \ +" + +do_install:append() { + # /usr/share/zfs contains the zfs-tests folder which we do not need: + rm -rf ${D}${datadir}/zfs + + rm -rf ${D}${datadir}/initramfs-tools +} + +FILES:${PN} += "\ + ${nonarch_base_libdir}/modules \ + ${systemd_system_unitdir} \ + ${nonarch_base_libdir}/systemd/system-generators \ + ${nonarch_base_libdir}/systemd/system-preset \ + ${sysconfdir}/modules-load.d/${BPN}.conf \ + ${sysconfdir}/default/${BPN} \ + ${sysconfdir}/sudoers.d/${BPN} \ + ${sysconfdir}/${BPN} \ + ${base_libdir}/udev \ + ${sbindir} \ + ${bindir} \ + ${libexecdir}/${BPN} \ + ${libdir} \ + ${datadir}/pam-configs \ + ${base_libdir}/security \ +" + +FILES:${PN}-dev += "\ + ${prefix}/src/zfs-${PV} \ + ${prefix}/src/spl-${PV} \ +" +# Not yet ported to rv32 +COMPATIBLE_HOST:riscv32 = "null" +# conflicting definition of ABS macro from asm/asm.h from kernel +COMPATIBLE_HOST:mips = "null" +# FTBFS on aarch64 with 6.2+ kernel see https://github.com/openzfs/zfs/issues/14555 +COMPATIBLE_HOST:aarch64 = "null" diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb index 61ec508b43d..0abbc9ef50d 100644 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -63,6 +63,6 @@ do_install:class-native () { done } -RRECOMMENDS:${PN}:class-target += "kernel-module-aufs" +RRECOMMENDS:${PN}:append:class-target = " kernel-module-aufs" BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.2.bb b/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.2.bb new file mode 100644 index 00000000000..6722b63c101 --- /dev/null +++ b/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.2.bb @@ -0,0 +1,57 @@ + +SUMMARY = "Services for periodic btrfs maintenance tasks" +DESCRIPTION = "A set of scripts supplementing the btrfs filesystem and aims \ + to automate a few maintenance tasks. This means the scrub, balance, trim \ + or defragmentation." +HOMEPAGE = "https://github.com/kdave/btrfsmaintenance" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" + +SECTION = "base" + +SRC_URI = "git://github.com/kdave/${BPN};branch=master;protocol=https;tag=v${PV} \ + file://0001-change-sysconfig-path-to-etc-default.patch \ + file://0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch \ +" +SRCREV = "beb9e2d166cbd856297fe8d28e89e8b36961a723" + +UPSTREAM_CHECK_URI = "https://github.com/kdave/${BPN}/tags" +UPSTREAM_CHECK_REGEX = "${BPN}/releases/tag/v(?P\d+(?:\.\d+)*)" + +RDEPENDS:${PN} = "bash btrfs-tools" + + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -Dm0644 ${S}/btrfsmaintenance-refresh.path \ + ${D}${systemd_system_unitdir}/btrfsmaintenance-refresh.path + install -Dm0644 ${S}/*.timer \ + ${D}${systemd_system_unitdir} + install -Dm0644 ${S}/*.service \ + ${D}${systemd_system_unitdir} + + install -Dm0644 ${S}/btrfsmaintenance-functions \ + ${D}${datadir}/${BPN}/btrfsmaintenance-functions + install -Dm0755 ${S}/*.sh \ + ${D}${datadir}/${BPN} + + install -Dm0644 ${S}/sysconfig.btrfsmaintenance \ + ${D}${sysconfdir}/default/btrfsmaintenance +} + +inherit systemd +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = " \ + btrfs-scrub.timer \ + btrfs-scrub.service \ + btrfs-trim.timer \ + btrfs-trim.service \ + btrfs-balance.timer \ + btrfs-balance.service \ + btrfs-defrag.timer \ + btrfs-defrag.service \ + btrfsmaintenance-refresh.service \ + btrfsmaintenance-refresh.path \ +" diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb b/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb deleted file mode 100644 index 645e38ca495..00000000000 --- a/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb +++ /dev/null @@ -1,57 +0,0 @@ - -SUMMARY = "Services for periodic btrfs maintenance tasks" -DESCRIPTION = "A set of scripts supplementing the btrfs filesystem and aims \ - to automate a few maintenance tasks. This means the scrub, balance, trim \ - or defragmentation." -HOMEPAGE = "https://github.com/kdave/btrfsmaintenance" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" - -SECTION = "base" - -SRC_URI = "git://github.com/kdave/${BPN};branch=master;protocol=https \ - file://0001-change-sysconfig-path-to-etc-default.patch \ - file://0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch \ -" -SRCREV = "be42cb6267055d125994abd6927cf3a26deab74c" - -UPSTREAM_CHECK_URI = "https://github.com/kdave/${BPN}/tags" -UPSTREAM_CHECK_REGEX = "${BPN}/releases/tag/v(?P\d+(?:\.\d+)*)" - -RDEPENDS:${PN} = "bash btrfs-tools" - - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -do_install() { - install -Dm0644 ${S}/btrfsmaintenance-refresh.path \ - ${D}${systemd_system_unitdir}/btrfsmaintenance-refresh.path - install -Dm0644 ${S}/*.timer \ - ${D}${systemd_system_unitdir} - install -Dm0644 ${S}/*.service \ - ${D}${systemd_system_unitdir} - - install -Dm0644 ${S}/btrfsmaintenance-functions \ - ${D}${datadir}/${BPN}/btrfsmaintenance-functions - install -Dm0755 ${S}/*.sh \ - ${D}${datadir}/${BPN} - - install -Dm0644 ${S}/sysconfig.btrfsmaintenance \ - ${D}${sysconfdir}/default/btrfsmaintenance -} - -inherit systemd -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = " \ - btrfs-scrub.timer \ - btrfs-scrub.service \ - btrfs-trim.timer \ - btrfs-trim.service \ - btrfs-balance.timer \ - btrfs-balance.service \ - btrfs-defrag.timer \ - btrfs-defrag.service \ - btrfsmaintenance-refresh.service \ - btrfsmaintenance-refresh.path \ -" diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch index d425206f0e4..b064adcc868 100644 --- a/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch +++ b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch @@ -1,6 +1,3 @@ -From b49dbe17e0d9ae463e5a34e6991aa2d3c70d2fb1 Mon Sep 17 00:00:00 2001 -From: Claudius Heine -Date: Wed, 11 May 2022 14:33:13 +0200 Subject: [PATCH] change sysconfig path to /etc/default OE uses /etc/default for service configuration, not /etc/sysconfig which @@ -11,6 +8,9 @@ Change the files accordingly Upstream-Status: Inappropriate [OE specific] Signed-off-by: Claudius Heine + +Update for 0.5.2 +Signed-off-by: Liu Yiding --- btrfsmaintenance-refresh.path | 4 ++-- btrfsmaintenance-refresh.service | 2 +- @@ -32,16 +32,16 @@ index d56ad11..f0b4132 100644 [Install] WantedBy=multi-user.target diff --git a/btrfsmaintenance-refresh.service b/btrfsmaintenance-refresh.service -index 4ed1eb4..d6225a6 100644 +index 19e51c0..223fca9 100644 --- a/btrfsmaintenance-refresh.service +++ b/btrfsmaintenance-refresh.service @@ -1,5 +1,5 @@ [Unit] --Description=Update cron periods from /etc/sysconfig/btrfsmaintenance -+Description=Update cron periods from /etc/default/btrfsmaintenance +-Description=Configure systemd timer schedule according to /etc/sysconfig/btrfsmaintenance ++Description=Configure systemd timer schedule according to /etc/default/btrfsmaintenance + Documentation="file:/usr/share/doc/btrfsmaintenance/README.man" + Documentation="file:/usr/share/doc/packages/btrfsmaintenance/README.man" - [Service] - ExecStart=/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer -- -2.33.3 +2.43.0 diff --git a/meta-filesystems/recipes-utils/e2tools/e2tools_0.1.2.bb b/meta-filesystems/recipes-utils/e2tools/e2tools_0.1.2.bb index 06f0c28d6d0..6581ac96d2a 100644 --- a/meta-filesystems/recipes-utils/e2tools/e2tools_0.1.2.bb +++ b/meta-filesystems/recipes-utils/e2tools/e2tools_0.1.2.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS += "coreutils e2fsprogs" SRC_URI = " \ - git://github.com/e2tools/e2tools;protocol=https;branch=master \ + git://github.com/e2tools/e2tools;protocol=https;branch=master;tag=v${PV} \ file://run-ptest \ " diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb index 68727b008e0..78a71359cff 100644 --- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb +++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3" DEPENDS = "util-linux" SRCREV = "06c027abc6153c4a97cba5317844e8dcaaee3cf7" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git;branch=master \ +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git;branch=master;tag=v${PV} \ file://0001-f2fs-tools-use-stdbool.h-instead-of-bool.patch \ file://0002-f2fs_io-Define-_FILE_OFFSET_BITS-64.patch \ " diff --git a/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb b/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb index 876e8618ebc..47bb8650a66 100644 --- a/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb +++ b/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb @@ -7,7 +7,7 @@ HOMEPAGE = "https://github.com/Gregwar/fatcat" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=57fbbfebd0dd1d6ff21b8cecb552a03f" -SRC_URI = "git://github.com/Gregwar/fatcat.git;branch=master;protocol=https \ +SRC_URI = "git://github.com/Gregwar/fatcat.git;branch=master;protocol=https;tag=v${PV} \ file://0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch \ file://0002-Enable-64bit-off_t.patch \ file://0001-Replace-std-ptr_fun-for-c-17.patch \ diff --git a/meta-filesystems/recipes-utils/ufs-utils/files/0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch b/meta-filesystems/recipes-utils/ufs-utils/files/0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch deleted file mode 100644 index 7ae858a65e3..00000000000 --- a/meta-filesystems/recipes-utils/ufs-utils/files/0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 989dcd297223d6896c5892532d14984326fa093d Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Fri, 18 Jul 2025 16:52:57 +0800 -Subject: [PATCH] ufs_cmds: fix full_path buffer size in find_bsg_device - -The full_path buffer consists of: path + '/' + files->d_name + '\0' -So the buffer size should be: strlen(path) + strlen(files->d_name) + 2 - -Fix crash when running 32-bit binary on 64-bit system: -$ ufs-utils list_bsg -malloc(): invalid next size (unsorted) -Aborted (core dumped) - -Fix #58 - -Upstream-Status: Backport -[https://github.com/SanDisk-Open-Source/ufs-utils/commit/989dcd297223d6896c5892532d14984326fa093d] - -Signed-off-by: Yi Zhao ---- - ufs_cmds.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ufs_cmds.c b/ufs_cmds.c -index ddb037c..a6faa27 100644 ---- a/ufs_cmds.c -+++ b/ufs_cmds.c -@@ -1520,7 +1520,7 @@ static int find_bsg_device(char* path, int *counter) { - if ((strcmp(files->d_name, ".") != 0) && - (strcmp(files->d_name, "..") != 0)) { - char *full_path = (char *)malloc(strlen(path) + -- strlen(files->d_name) + 1); -+ strlen(files->d_name) + 2); - sprintf(full_path, "%s/%s", - path, files->d_name); - rc = find_bsg_device(full_path, counter); --- -2.34.1 - diff --git a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb index 3c12bc5fbe9..fa23718611f 100644 --- a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb +++ b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_7.14.12.bb @@ -4,11 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" BRANCH ?= "dev" -SRCREV = "dd2e655780424eadf7610de33e5966be19168a95" +SRCREV = "bcf4b0dca8e58b8fc8265ba746a7b84af86fc365" -SRC_URI = "git://github.com/SanDisk-Open-Source/ufs-utils.git;protocol=https;branch=${BRANCH} \ - file://0001-ufs_cmds-fix-full_path-buffer-size-in-find_bsg_devic.patch \ - " +SRC_URI = "git://github.com/SanDisk-Open-Source/ufs-utils.git;protocol=https;branch=${BRANCH};tag=v${PV}" UPSTREAM_CHECK_COMMITS = "1" diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0001-doc-man-support-reproducible-builds.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0001-doc-man-support-reproducible-builds.patch deleted file mode 100644 index 182d45e4e25..00000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/files/0001-doc-man-support-reproducible-builds.patch +++ /dev/null @@ -1,54 +0,0 @@ -From c98d9022377e88f8cc2d557a4ffd321e6f2dd320 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 18 Nov 2025 01:04:27 -0800 -Subject: [PATCH] doc/man: support reproducible builds - -When compressing, do not save the original file name and -timestamp by default (gzip -n). Make archives be reproducible -at each build - -Upstream-Status: Submitted [linux-xfs@vger.kernel.org] - -Signed-off-by: Hongxu Jia ---- - doc/Makefile | 2 +- - include/buildmacros | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/doc/Makefile b/doc/Makefile -index 83dfa38b..17b63c85 100644 ---- a/doc/Makefile -+++ b/doc/Makefile -@@ -14,7 +14,7 @@ include $(BUILDRULES) - - CHANGES.gz: - @echo " [ZIP] $@" -- $(Q)$(ZIP) --best -c < CHANGES > $@ -+ $(Q)$(ZIP) -n --best -c < CHANGES > $@ - - install: default - $(INSTALL) -m 755 -d $(PKG_DOC_DIR) -diff --git a/include/buildmacros b/include/buildmacros -index 9183e5bc..6ba0d515 100644 ---- a/include/buildmacros -+++ b/include/buildmacros -@@ -105,7 +105,7 @@ INSTALL_MAN = \ - t=$(MAN_DEST)/$$m.$(MAN_SECTION); \ - if $$first; then \ - if $(HAVE_ZIPPED_MANPAGES); then \ -- $(ZIP) -9 -c $$d > $$d.gz; _sfx=.gz; \ -+ $(ZIP) -n -9 -c $$d > $$d.gz; _sfx=.gz; \ - fi; \ - u=$$m.$(MAN_SECTION)$$_sfx; \ - echo $(INSTALL) -m 644 $${d}$$_sfx $${t}$$_sfx;\ -@@ -132,6 +132,6 @@ endif - MAN_MAKERULE = \ - @for f in *.[12345678] ""; do \ - if test ! -z "$$f"; then \ -- $(ZIP) --best -c < $$f > $$f.gz; \ -+ $(ZIP) -n --best -c < $$f > $$f.gz; \ - fi; \ - done --- -2.49.0 - diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0001-include-include-xfs-linux.h-after-sys-mman.h.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0001-include-include-xfs-linux.h-after-sys-mman.h.patch new file mode 100644 index 00000000000..d9aa309607d --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0001-include-include-xfs-linux.h-after-sys-mman.h.patch @@ -0,0 +1,33 @@ +From 04a4272a36f6b2a1ad30a10fcf36a4a1c68a5449 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 23 Aug 2018 05:33:57 +0000 +Subject: [PATCH] include include/xfs/linux.h after + +This helps compiling with musl which goes ahead and undefines MAP_SYNC +for mips and other architectures where its not wired in kernel + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + io/mmap.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/io/mmap.c b/io/mmap.c +index 4c03e3d..3763551 100644 +--- a/io/mmap.c ++++ b/io/mmap.c +@@ -4,10 +4,11 @@ + * All Rights Reserved. + */ + +-#include "command.h" +-#include "input.h" + #include + #include ++ ++#include "command.h" ++#include "input.h" + #include "init.h" + #include "io.h" + diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch deleted file mode 100644 index 84f4f88e5f3..00000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e81633a276dd6a9f919e5e5c15481ac50a8e485d Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Fri, 30 Aug 2019 14:59:06 +0800 -Subject: [PATCH] support usrmerge - -Upstream-Status: Inappropriate [oe-specific] - -Signed-off-by: Changqing Li ---- - configure.ac | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 4b7e4c8..f1afbd6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -110,8 +110,7 @@ AC_ARG_ENABLE(libicu, - # If the user specified a libdir ending in lib64 do not append another - # 64 to the library names. - # --base_libdir=`basename "$libdir"` --case $base_libdir in -+case `basename "$libdir"` in - lib64) - enable_lib64=no - esac -@@ -125,8 +124,8 @@ esac - # - case $exec_prefix:$prefix in - NONE:NONE | NONE:/usr | /usr:*) -- root_sbindir='/sbin' -- root_libdir="/${base_libdir}" -+ root_sbindir="${base_sbindir}" -+ root_libdir="${base_libdir}" - ;; - *) - root_sbindir="${sbindir}" --- -2.7.4 - diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0002-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0002-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch new file mode 100644 index 00000000000..d62ad022c3f --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0002-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch @@ -0,0 +1,27 @@ +From 471bbf39f6b9104d39f0b9c8d4a64328dd5ae58e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 21 Dec 2022 17:40:11 -0800 +Subject: [PATCH] configure: Use AC_SYS_LARGERFILE autoconf macro + +Helps define largefile support on relevant platforms + +Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t] +Signed-off-by: Khem Raj +--- + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index a8b8f7d..f8caa73 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -18,6 +18,9 @@ AC_PROG_INSTALL + LT_INIT + + AC_PROG_CC ++ ++AC_SYS_LARGEFILE ++ + AC_ARG_VAR(BUILD_CC, [C compiler for build tools]) + if test "${BUILD_CC+set}" != "set"; then + if test $cross_compiling = no; then diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch deleted file mode 100644 index f924cd1a16d..00000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 11a42df394de3dc520e72a016296dcc6dea02a7a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 23 Aug 2018 05:33:57 +0000 -Subject: [PATCH] include include/xfs/linux.h after - -This helps compiling with musl which goes ahead and undefines MAP_SYNC -for mips and other architectures where its not wired in kernel - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - io/mmap.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/io/mmap.c b/io/mmap.c -index dbfcca5..ca00df1 100644 ---- a/io/mmap.c -+++ b/io/mmap.c -@@ -4,10 +4,11 @@ - * All Rights Reserved. - */ - --#include "command.h" --#include "input.h" - #include - #include -+ -+#include "command.h" -+#include "input.h" - #include "init.h" - #include "io.h" - diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0003-doc-man-support-reproducible-builds.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0003-doc-man-support-reproducible-builds.patch new file mode 100644 index 00000000000..fed3f3451a8 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0003-doc-man-support-reproducible-builds.patch @@ -0,0 +1,51 @@ +From a2d78f6716157d6e1e94d9864e351887d74d0b30 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 18 Nov 2025 01:04:27 -0800 +Subject: [PATCH] doc/man: support reproducible builds + +When compressing, do not save the original file name and +timestamp by default (gzip -n). Make archives be reproducible +at each build + +Upstream-Status: Submitted [linux-xfs@vger.kernel.org] + +Signed-off-by: Hongxu Jia +--- + doc/Makefile | 2 +- + include/buildmacros | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/doc/Makefile b/doc/Makefile +index 83dfa38..17b63c8 100644 +--- a/doc/Makefile ++++ b/doc/Makefile +@@ -14,7 +14,7 @@ include $(BUILDRULES) + + CHANGES.gz: + @echo " [ZIP] $@" +- $(Q)$(ZIP) --best -c < CHANGES > $@ ++ $(Q)$(ZIP) -n --best -c < CHANGES > $@ + + install: default + $(INSTALL) -m 755 -d $(PKG_DOC_DIR) +diff --git a/include/buildmacros b/include/buildmacros +index 9183e5b..6ba0d51 100644 +--- a/include/buildmacros ++++ b/include/buildmacros +@@ -105,7 +105,7 @@ INSTALL_MAN = \ + t=$(MAN_DEST)/$$m.$(MAN_SECTION); \ + if $$first; then \ + if $(HAVE_ZIPPED_MANPAGES); then \ +- $(ZIP) -9 -c $$d > $$d.gz; _sfx=.gz; \ ++ $(ZIP) -n -9 -c $$d > $$d.gz; _sfx=.gz; \ + fi; \ + u=$$m.$(MAN_SECTION)$$_sfx; \ + echo $(INSTALL) -m 644 $${d}$$_sfx $${t}$$_sfx;\ +@@ -132,6 +132,6 @@ endif + MAN_MAKERULE = \ + @for f in *.[12345678] ""; do \ + if test ! -z "$$f"; then \ +- $(ZIP) --best -c < $$f > $$f.gz; \ ++ $(ZIP) -n --best -c < $$f > $$f.gz; \ + fi; \ + done diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch deleted file mode 100644 index 60be8bfa343..00000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f62d3e5cc1d4e416b97778059f0b3c20d777a4c2 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 21 Dec 2022 17:40:11 -0800 -Subject: [PATCH] configure: Use AC_SYS_LARGERFILE autoconf macro - -Helps define largefile support on relevant platforms - -Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t] -Signed-off-by: Khem Raj ---- - configure.ac | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 5a6bf185..a6f556ec 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -10,6 +10,9 @@ AC_PROG_INSTALL - LT_INIT - - AC_PROG_CC -+ -+AC_SYS_LARGEFILE -+ - AC_ARG_VAR(BUILD_CC, [C compiler for build tools]) - if test "${BUILD_CC+set}" != "set"; then - if test $cross_compiling = no; then diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch deleted file mode 100644 index 940d63c010d..00000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch +++ /dev/null @@ -1,724 +0,0 @@ -From f260099fc45f0653aa4758d1d581e07f5b9c6a54 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 21 Dec 2022 17:43:07 -0800 -Subject: [PATCH] Replace off64_t/stat64 with off_t/stat - -When using AC_SYS_LARGEFILE, it will automatically add --D_FILE_OFFSET_BITS=64 to enable 64bit off_t and all lfs64 support - -helps compile on musl where off_t was always 64bit and lfs64 were never -needed - -Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t] -Signed-off-by: Khem Raj - ---- - copy/xfs_copy.c | 2 +- - fsr/xfs_fsr.c | 2 +- - io/bmap.c | 6 +++--- - io/copy_file_range.c | 4 ++-- - io/cowextsize.c | 6 +++--- - io/fadvise.c | 2 +- - io/fiemap.c | 6 +++--- - io/fsmap.c | 6 +++--- - io/io.h | 10 +++++----- - io/madvise.c | 2 +- - io/mincore.c | 2 +- - io/mmap.c | 12 ++++++------ - io/pread.c | 22 +++++++++++----------- - io/pwrite.c | 20 ++++++++++---------- - io/reflink.c | 4 ++-- - io/seek.c | 6 +++--- - io/sendfile.c | 6 +++--- - io/stat.c | 2 +- - io/sync_file_range.c | 2 +- - io/truncate.c | 2 +- - libxfs/rdwr.c | 8 ++++---- - mdrestore/xfs_mdrestore.c | 2 +- - repair/prefetch.c | 2 +- - scrub/spacemap.c | 6 +++--- - spaceman/freesp.c | 4 ++-- - spaceman/trim.c | 2 +- - 26 files changed, 74 insertions(+), 74 deletions(-) - -diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c -index 0420649..98a578a 100644 ---- a/copy/xfs_copy.c -+++ b/copy/xfs_copy.c -@@ -881,7 +881,7 @@ main(int argc, char **argv) - } - } else { - char *lb = memalign(wbuf_align, XFS_MAX_SECTORSIZE); -- off64_t off; -+ off_t off; - ssize_t len; - - /* ensure device files are sufficiently large */ -diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c -index ba02506..12fffbd 100644 ---- a/fsr/xfs_fsr.c -+++ b/fsr/xfs_fsr.c -@@ -1148,7 +1148,7 @@ packfile(char *fname, char *tname, int fd, - struct dioattr dio; - static xfs_swapext_t sx; - struct xfs_flock64 space; -- off64_t cnt, pos; -+ off_t cnt, pos; - void *fbuf = NULL; - int ct, wc, wc_b4; - char ffname[SMBUFSZ]; -diff --git a/io/bmap.c b/io/bmap.c -index 722a389..6182e1c 100644 ---- a/io/bmap.c -+++ b/io/bmap.c -@@ -257,7 +257,7 @@ bmap_f( - #define FLG_BSW 0000010 /* Not on begin of stripe width */ - #define FLG_ESW 0000001 /* Not on end of stripe width */ - int agno; -- off64_t agoff, bbperag; -+ off_t agoff, bbperag; - int foff_w, boff_w, aoff_w, tot_w, agno_w; - char rbuf[32], bbuf[32], abuf[32]; - int sunit, swidth; -@@ -267,8 +267,8 @@ bmap_f( - if (is_rt) - sunit = swidth = bbperag = 0; - else { -- bbperag = (off64_t)fsgeo.agblocks * -- (off64_t)fsgeo.blocksize / BBSIZE; -+ bbperag = (off_t)fsgeo.agblocks * -+ (off_t)fsgeo.blocksize / BBSIZE; - sunit = (fsgeo.sunit * fsgeo.blocksize) / BBSIZE; - swidth = (fsgeo.swidth * fsgeo.blocksize) / BBSIZE; - } -diff --git a/io/copy_file_range.c b/io/copy_file_range.c -index d154fa7..422e691 100644 ---- a/io/copy_file_range.c -+++ b/io/copy_file_range.c -@@ -54,7 +54,7 @@ copy_file_range_cmd(int fd, long long *src_off, long long *dst_off, size_t len) - return 0; - } - --static off64_t -+static off_t - copy_src_filesize(int fd) - { - struct stat st; -@@ -154,7 +154,7 @@ copy_range_f(int argc, char **argv) - } - - if (!len_specified) { -- off64_t sz; -+ off_t sz; - - sz = copy_src_filesize(fd); - if (sz < 0 || (unsigned long long)sz > SIZE_MAX) { -diff --git a/io/cowextsize.c b/io/cowextsize.c -index f6b134d..00e40c6 100644 ---- a/io/cowextsize.c -+++ b/io/cowextsize.c -@@ -50,10 +50,10 @@ static int - set_cowextsize(const char *path, int fd, long extsz) - { - struct fsxattr fsx; -- struct stat64 stat; -+ struct stat stat; - -- if (fstat64(fd, &stat) < 0) { -- perror("fstat64"); -+ if (fstat(fd, &stat) < 0) { -+ perror("fstat"); - exitcode = 1; - return 0; - } -diff --git a/io/fadvise.c b/io/fadvise.c -index 60cc0f0..0966c41 100644 ---- a/io/fadvise.c -+++ b/io/fadvise.c -@@ -39,7 +39,7 @@ fadvise_f( - int argc, - char **argv) - { -- off64_t offset = 0, length = 0; -+ off_t offset = 0, length = 0; - int c, range = 0, advise = POSIX_FADV_NORMAL; - - while ((c = getopt(argc, argv, "dnrsw")) != EOF) { -diff --git a/io/fiemap.c b/io/fiemap.c -index f0c74df..b41f71b 100644 ---- a/io/fiemap.c -+++ b/io/fiemap.c -@@ -234,9 +234,9 @@ fiemap_f( - int tot_w = 5; /* 5 since its just one number */ - int flg_w = 5; - __u64 last_logical = 0; /* last extent offset handled */ -- off64_t start_offset = 0; /* mapping start */ -- off64_t length = -1LL; /* mapping length */ -- off64_t range_end = -1LL; /* mapping end*/ -+ off_t start_offset = 0; /* mapping start */ -+ off_t length = -1LL; /* mapping length */ -+ off_t range_end = -1LL; /* mapping end*/ - size_t fsblocksize, fssectsize; - struct stat st; - -diff --git a/io/fsmap.c b/io/fsmap.c -index 7db5184..bf11963 100644 ---- a/io/fsmap.c -+++ b/io/fsmap.c -@@ -170,7 +170,7 @@ dump_map_verbose( - unsigned long long i; - struct fsmap *p; - int agno; -- off64_t agoff, bperag; -+ off_t agoff, bperag; - int foff_w, boff_w, aoff_w, tot_w, agno_w, own_w; - int nr_w, dev_w; - char rbuf[40], bbuf[40], abuf[40], obuf[40]; -@@ -183,8 +183,8 @@ dump_map_verbose( - dev_w = 3; - nr_w = 4; - tot_w = MINTOT_WIDTH; -- bperag = (off64_t)fsgeo->agblocks * -- (off64_t)fsgeo->blocksize; -+ bperag = (off_t)fsgeo->agblocks * -+ (off_t)fsgeo->blocksize; - sunit = (fsgeo->sunit * fsgeo->blocksize); - swidth = (fsgeo->swidth * fsgeo->blocksize); - -diff --git a/io/io.h b/io/io.h -index fe474fa..68e5e48 100644 ---- a/io/io.h -+++ b/io/io.h -@@ -53,7 +53,7 @@ extern int stat_f(int argc, char **argv); - typedef struct mmap_region { - void *addr; /* address of start of mapping */ - size_t length; /* length of mapping */ -- off64_t offset; /* start offset into backing file */ -+ off_t offset; /* start offset into backing file */ - int prot; /* protection mode of the mapping */ - int flags; /* MAP_* flags passed to mmap() */ - char *name; /* name of backing file */ -@@ -63,13 +63,13 @@ extern mmap_region_t *maptable; /* mmap'd region array */ - extern int mapcount; /* #entries in the mapping table */ - extern mmap_region_t *mapping; /* active mapping table entry */ - extern int maplist_f(void); --extern void *check_mapping_range(mmap_region_t *, off64_t, size_t, int); -+extern void *check_mapping_range(mmap_region_t *, off_t, size_t, int); - - /* - * Various xfs_io helper routines/globals - */ - --extern off64_t filesize(void); -+extern off_t filesize(void); - extern int openfile(char *, struct xfs_fsop_geom *, int, mode_t, - struct fs_path *); - extern int addfile(char *, int , struct xfs_fsop_geom *, int, -@@ -84,9 +84,9 @@ extern size_t io_buffersize; - extern int vectors; - extern struct iovec *iov; - extern int alloc_buffer(size_t, int, unsigned int); --extern int read_buffer(int, off64_t, long long, long long *, -+extern int read_buffer(int, off_t, long long, long long *, - int, int); --extern void dump_buffer(off64_t, ssize_t); -+extern void dump_buffer(off_t, ssize_t); - - extern void attr_init(void); - extern void bmap_init(void); -diff --git a/io/madvise.c b/io/madvise.c -index bde3153..6e9c5b1 100644 ---- a/io/madvise.c -+++ b/io/madvise.c -@@ -39,7 +39,7 @@ madvise_f( - int argc, - char **argv) - { -- off64_t offset, llength; -+ off_t offset, llength; - size_t length; - void *start; - int advise = MADV_NORMAL, c; -diff --git a/io/mincore.c b/io/mincore.c -index 67f1d6c..24147ac 100644 ---- a/io/mincore.c -+++ b/io/mincore.c -@@ -17,7 +17,7 @@ mincore_f( - int argc, - char **argv) - { -- off64_t offset, llength; -+ off_t offset, llength; - size_t length; - size_t blocksize, sectsize; - void *start; -diff --git a/io/mmap.c b/io/mmap.c -index 7114404..128a2c0 100644 ---- a/io/mmap.c -+++ b/io/mmap.c -@@ -64,11 +64,11 @@ print_mapping( - void * - check_mapping_range( - mmap_region_t *map, -- off64_t offset, -+ off_t offset, - size_t length, - int pagealign) - { -- off64_t relative; -+ off_t relative; - - if (offset < mapping->offset) { - printf(_("offset (%lld) is before start of mapping (%lld)\n"), -@@ -156,7 +156,7 @@ mmap_f( - int argc, - char **argv) - { -- off64_t offset; -+ off_t offset; - ssize_t length = 0, length2 = 0; - void *address = NULL; - char *filename; -@@ -309,7 +309,7 @@ msync_f( - int argc, - char **argv) - { -- off64_t offset; -+ off_t offset; - ssize_t length; - void *start; - int c, flags = 0; -@@ -402,7 +402,7 @@ mread_f( - int argc, - char **argv) - { -- off64_t offset, tmp, dumpoffset, printoffset; -+ off_t offset, tmp, dumpoffset, printoffset; - ssize_t length; - size_t dumplen, cnt = 0; - char *bp; -@@ -567,7 +567,7 @@ mwrite_f( - int argc, - char **argv) - { -- off64_t offset, tmp; -+ off_t offset, tmp; - ssize_t length; - void *start; - char *sp; -diff --git a/io/pread.c b/io/pread.c -index 0f1d8b9..79990c6 100644 ---- a/io/pread.c -+++ b/io/pread.c -@@ -116,7 +116,7 @@ alloc_buffer( - static void - __dump_buffer( - void *buf, -- off64_t offset, -+ off_t offset, - ssize_t len) - { - int i, j; -@@ -141,7 +141,7 @@ __dump_buffer( - - void - dump_buffer( -- off64_t offset, -+ off_t offset, - ssize_t len) - { - int i, l; -@@ -164,7 +164,7 @@ dump_buffer( - static ssize_t - do_preadv( - int fd, -- off64_t offset, -+ off_t offset, - long long count) - { - int vecs = 0; -@@ -199,7 +199,7 @@ do_preadv( - static ssize_t - do_pread( - int fd, -- off64_t offset, -+ off_t offset, - long long count, - size_t buffer_size) - { -@@ -212,13 +212,13 @@ do_pread( - static int - read_random( - int fd, -- off64_t offset, -+ off_t offset, - long long count, - long long *total, - unsigned int seed, - int eof) - { -- off64_t end, off, range; -+ off_t end, off, range; - ssize_t bytes; - int ops = 0; - -@@ -259,12 +259,12 @@ read_random( - static int - read_backward( - int fd, -- off64_t *offset, -+ off_t *offset, - long long *count, - long long *total, - int eof) - { -- off64_t end, off = *offset; -+ off_t end, off = *offset; - ssize_t bytes = 0, bytes_requested; - long long cnt = *count; - int ops = 0; -@@ -319,7 +319,7 @@ read_backward( - static int - read_forward( - int fd, -- off64_t offset, -+ off_t offset, - long long count, - long long *total, - int verbose, -@@ -353,7 +353,7 @@ read_forward( - int - read_buffer( - int fd, -- off64_t offset, -+ off_t offset, - long long count, - long long *total, - int verbose, -@@ -368,7 +368,7 @@ pread_f( - char **argv) - { - size_t bsize; -- off64_t offset; -+ off_t offset; - unsigned int zeed = 0; - long long count, total, tmp; - size_t fsblocksize, fssectsize; -diff --git a/io/pwrite.c b/io/pwrite.c -index 467bfa9..8d134c5 100644 ---- a/io/pwrite.c -+++ b/io/pwrite.c -@@ -54,7 +54,7 @@ pwrite_help(void) - static ssize_t - do_pwritev( - int fd, -- off64_t offset, -+ off_t offset, - long long count, - int pwritev2_flags) - { -@@ -97,7 +97,7 @@ do_pwritev( - static ssize_t - do_pwrite( - int fd, -- off64_t offset, -+ off_t offset, - long long count, - size_t buffer_size, - int pwritev2_flags) -@@ -110,13 +110,13 @@ do_pwrite( - - static int - write_random( -- off64_t offset, -+ off_t offset, - long long count, - unsigned int seed, - long long *total, - int pwritev2_flags) - { -- off64_t off, range; -+ off_t off, range; - ssize_t bytes; - int ops = 0; - -@@ -155,12 +155,12 @@ write_random( - - static int - write_backward( -- off64_t offset, -+ off_t offset, - long long *count, - long long *total, - int pwritev2_flags) - { -- off64_t end, off = offset; -+ off_t end, off = offset; - ssize_t bytes = 0, bytes_requested; - long long cnt = *count; - int ops = 0; -@@ -214,11 +214,11 @@ write_backward( - - static int - write_buffer( -- off64_t offset, -+ off_t offset, - long long count, - size_t bs, - int fd, -- off64_t skip, -+ off_t skip, - long long *total, - int pwritev2_flags) - { -@@ -253,7 +253,7 @@ write_buffer( - - static int - write_once( -- off64_t offset, -+ off_t offset, - long long count, - long long *total, - int pwritev2_flags) -@@ -275,7 +275,7 @@ pwrite_f( - char **argv) - { - size_t bsize; -- off64_t offset, skip = 0; -+ off_t offset, skip = 0; - long long count, total, tmp; - unsigned int zeed = 0, seed = 0xcdcdcdcd; - size_t fsblocksize, fssectsize; -diff --git a/io/reflink.c b/io/reflink.c -index 8e4f389..b6a3c05 100644 ---- a/io/reflink.c -+++ b/io/reflink.c -@@ -98,7 +98,7 @@ dedupe_f( - int argc, - char **argv) - { -- off64_t soffset, doffset; -+ off_t soffset, doffset; - long long count, total; - char *infile; - int condensed, quiet_flag; -@@ -226,7 +226,7 @@ reflink_f( - int argc, - char **argv) - { -- off64_t soffset, doffset; -+ off_t soffset, doffset; - long long count = 0, total; - char *infile = NULL; - int condensed, quiet_flag; -diff --git a/io/seek.c b/io/seek.c -index 6734ecb..ffe7439 100644 ---- a/io/seek.c -+++ b/io/seek.c -@@ -63,8 +63,8 @@ static void - seek_output( - int startflag, - char *type, -- off64_t start, -- off64_t offset) -+ off_t start, -+ off_t offset) - { - if (offset == -1) { - if (errno == ENXIO) { -@@ -92,7 +92,7 @@ seek_f( - int argc, - char **argv) - { -- off64_t offset, start; -+ off_t offset, start; - size_t fsblocksize, fssectsize; - int c; - int current; /* specify data or hole */ -diff --git a/io/sendfile.c b/io/sendfile.c -index a003bb5..2ce569c 100644 ---- a/io/sendfile.c -+++ b/io/sendfile.c -@@ -34,12 +34,12 @@ sendfile_help(void) - - static int - send_buffer( -- off64_t offset, -+ off_t offset, - size_t count, - int fd, - long long *total) - { -- off64_t off = offset; -+ off_t off = offset; - ssize_t bytes, bytes_remaining = count; - int ops = 0; - -@@ -66,7 +66,7 @@ sendfile_f( - int argc, - char **argv) - { -- off64_t offset = 0; -+ off_t offset = 0; - long long count, total; - size_t blocksize, sectsize; - struct timeval t1, t2; -diff --git a/io/stat.c b/io/stat.c -index b57f9ee..e8f68dc 100644 ---- a/io/stat.c -+++ b/io/stat.c -@@ -21,7 +21,7 @@ static cmdinfo_t stat_cmd; - static cmdinfo_t statfs_cmd; - static cmdinfo_t statx_cmd; - --off64_t -+off_t - filesize(void) - { - struct stat st; -diff --git a/io/sync_file_range.c b/io/sync_file_range.c -index 94285c2..2375a06 100644 ---- a/io/sync_file_range.c -+++ b/io/sync_file_range.c -@@ -30,7 +30,7 @@ sync_range_f( - int argc, - char **argv) - { -- off64_t offset = 0, length = 0; -+ off_t offset = 0, length = 0; - int c, sync_mode = 0; - size_t blocksize, sectsize; - -diff --git a/io/truncate.c b/io/truncate.c -index 1d04919..a74b613 100644 ---- a/io/truncate.c -+++ b/io/truncate.c -@@ -16,7 +16,7 @@ truncate_f( - int argc, - char **argv) - { -- off64_t offset; -+ off_t offset; - size_t blocksize, sectsize; - - init_cvtnum(&blocksize, §size); -diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c -index 0e33211..153007d 100644 ---- a/libxfs/rdwr.c -+++ b/libxfs/rdwr.c -@@ -576,7 +576,7 @@ libxfs_balloc( - - - static int --__read_buf(int fd, void *buf, int len, off64_t offset, int flags) -+__read_buf(int fd, void *buf, int len, off_t offset, int flags) - { - int sts; - -@@ -638,7 +638,7 @@ libxfs_readbufr_map(struct xfs_buftarg *btp, struct xfs_buf *bp, int flags) - - buf = bp->b_addr; - for (i = 0; i < bp->b_nmaps; i++) { -- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn); -+ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn); - int len = BBTOB(bp->b_maps[i].bm_len); - - error = __read_buf(fd, buf, len, offset, flags); -@@ -797,7 +797,7 @@ err: - } - - static int --__write_buf(int fd, void *buf, int len, off64_t offset, int flags) -+__write_buf(int fd, void *buf, int len, off_t offset, int flags) - { - int sts; - -@@ -863,7 +863,7 @@ libxfs_bwrite( - void *buf = bp->b_addr; - - for (i = 0; i < bp->b_nmaps; i++) { -- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn); -+ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn); - int len = BBTOB(bp->b_maps[i].bm_len); - - bp->b_error = __write_buf(fd, buf, len, offset, -diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c -index 8e3998d..334bdd2 100644 ---- a/mdrestore/xfs_mdrestore.c -+++ b/mdrestore/xfs_mdrestore.c -@@ -160,7 +160,7 @@ verify_device_size( - } else { - /* ensure device is sufficiently large enough */ - char lb[XFS_MAX_SECTORSIZE] = { 0 }; -- off64_t off; -+ off_t off; - - off = nr_blocks * blocksize - sizeof(lb); - if (pwrite(dev_fd, lb, sizeof(lb), off) < 0) -diff --git a/repair/prefetch.c b/repair/prefetch.c -index 78c1e39..b0dd197 100644 ---- a/repair/prefetch.c -+++ b/repair/prefetch.c -@@ -475,7 +475,7 @@ pf_batch_read( - { - struct xfs_buf *bplist[MAX_BUFS]; - unsigned int num; -- off64_t first_off, last_off, next_off; -+ off_t first_off, last_off, next_off; - int len, size; - int i; - int inode_bufs; -diff --git a/scrub/spacemap.c b/scrub/spacemap.c -index b6fd411..9cefe07 100644 ---- a/scrub/spacemap.c -+++ b/scrub/spacemap.c -@@ -97,11 +97,11 @@ scan_ag_rmaps( - struct scrub_ctx *ctx = (struct scrub_ctx *)wq->wq_ctx; - struct scan_blocks *sbx = arg; - struct fsmap keys[2]; -- off64_t bperag; -+ off_t bperag; - int ret; - -- bperag = (off64_t)ctx->mnt.fsgeom.agblocks * -- (off64_t)ctx->mnt.fsgeom.blocksize; -+ bperag = (off_t)ctx->mnt.fsgeom.agblocks * -+ (off_t)ctx->mnt.fsgeom.blocksize; - - memset(keys, 0, sizeof(struct fsmap) * 2); - keys->fmr_device = ctx->fsinfo.fs_datadev; -diff --git a/spaceman/freesp.c b/spaceman/freesp.c -index 70dcdb5..f5177cb 100644 ---- a/spaceman/freesp.c -+++ b/spaceman/freesp.c -@@ -62,7 +62,7 @@ static void - addtohist( - xfs_agnumber_t agno, - xfs_agblock_t agbno, -- off64_t len) -+ off_t len) - { - long i; - -@@ -152,7 +152,7 @@ scan_ag( - struct fsmap *l, *h; - struct fsmap *p; - struct xfs_fd *xfd = &file->xfd; -- off64_t aglen; -+ off_t aglen; - xfs_agblock_t agbno; - unsigned long long freeblks = 0; - unsigned long long freeexts = 0; -diff --git a/spaceman/trim.c b/spaceman/trim.c -index e9ed47e..727dd81 100644 ---- a/spaceman/trim.c -+++ b/spaceman/trim.c -@@ -26,7 +26,7 @@ trim_f( - struct xfs_fd *xfd = &file->xfd; - struct xfs_fsop_geom *fsgeom = &xfd->fsgeom; - xfs_agnumber_t agno = 0; -- off64_t offset = 0; -+ off_t offset = 0; - ssize_t length = 0; - ssize_t minlen = 0; - int aflag = 0; diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch b/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch index 5bab162c85c..9ea2a4f1882 100644 --- a/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch +++ b/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch @@ -1,15 +1,15 @@ Upstream-Status: Pending -Index: xfsprogs-4.14.0/include/builddefs.in +Index: xfsprogs-6.18.0/include/builddefs.in =================================================================== ---- xfsprogs-4.14.0.orig/include/builddefs.in -+++ xfsprogs-4.14.0/include/builddefs.in -@@ -168,7 +168,7 @@ ifeq ($(ENABLE_GETTEXT),yes) - GCFLAGS += -DENABLE_GETTEXT - endif +--- xfsprogs-6.18.0.orig/include/builddefs.in ++++ xfsprogs-6.18.0/include/builddefs.in +@@ -180,7 +180,7 @@ SANITIZER_CXXFLAGS = $(SANITIZER_CFLAGS) + GCXXFLAGS = $(GCFLAGS) + PCXXFLAGS = $(PCFLAGS) -BUILD_CFLAGS += $(GCFLAGS) $(PCFLAGS) +BUILD_CFLAGS += $(GCFLAGS) # First, Sanitizer, Global, Platform, Local CFLAGS CFLAGS += $(FCFLAGS) $(SANITIZER_CFLAGS) $(OPTIMIZER) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS) - + CXXFLAGS += $(FCXXFLAGS) $(SANITIZER_CXXFLAGS) $(OPTIMIZER) $(GCXXFLAGS) $(PCXXFLAGS) $(LCXXFLAGS) diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.18.0.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.18.0.bb new file mode 100644 index 00000000000..33847a86d79 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.18.0.bb @@ -0,0 +1,64 @@ +SUMMARY = "XFS Filesystem Utilities" +HOMEPAGE = "http://oss.sgi.com/projects/xfs" +SECTION = "base" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LICENSE:libhandle = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \ + file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" + +SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ + file://remove_flags_from_build_flags.patch \ + file://0001-include-include-xfs-linux.h-after-sys-mman.h.patch \ + file://0002-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch \ + file://0003-doc-man-support-reproducible-builds.patch \ + " + +SRC_URI[sha256sum] = "3a6dc7b1245ce9bccd197bab00691f1b190bd3694d3ccc301d21b83afc133199" + +inherit autotools-brokensep pkgconfig + +DEPENDS = "util-linux util-linux-native libinih liburcu" + +PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" + +RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair python3-core bash" + +FILES:${PN}-fsck = "${sbindir}/fsck.xfs" +FILES:${PN}-mkfs = "${sbindir}/mkfs.xfs" +FILES:${PN}-repair = "${sbindir}/xfs_repair" + +FILES:libhandle = "${libdir}/libhandle${SOLIBS}" + +EXTRA_OECONF = "--enable-gettext=no \ + --enable-scrub=no \ + INSTALL_USER=root \ + INSTALL_GROUP=root \ + ac_cv_header_aio_h=yes \ + ac_cv_lib_rt_lio_listio=yes \ + OPTIMIZER='${SELECTED_OPTIMIZATION}' \ +" + +DISABLE_STATIC = "" +EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" + +export DEBUG = "-DNDEBUG" +export BUILD_VERBOSE = "1" +export tagname = "CC" + +EXTRA_OEMAKE = "DIST_ROOT='${D}'" + +do_configure() { + export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" + # Prevent Makefile from calling configure without arguments, + # when do_configure gets called for a second time. + rm -f ${B}/include/builddefs ${B}/configure + # Recreate configure script. + oe_runmake configure + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf +} + +do_install:append() { + oe_runmake 'DESTDIR=${D}' install-dev +} diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.6.0.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.6.0.bb deleted file mode 100644 index 80bce6f9397..00000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.6.0.bb +++ /dev/null @@ -1,75 +0,0 @@ -SUMMARY = "XFS Filesystem Utilities" -HOMEPAGE = "http://oss.sgi.com/projects/xfs" -SECTION = "base" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LICENSE:libhandle = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \ - file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" -DEPENDS = "util-linux util-linux-native" -SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ - file://remove_flags_from_build_flags.patch \ - file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ - file://0001-support-usrmerge.patch \ - file://0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch \ - file://0005-Replace-off64_t-stat64-with-off_t-stat.patch \ - file://0001-doc-man-support-reproducible-builds.patch \ - " -SRC_URI[sha256sum] = "50ca2f4676df8fab4cb4c3ef3dd512d5551e6844d40a65a31d5b8e03593d22df" -inherit autotools-brokensep pkgconfig - -PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" - -DEPENDS += "util-linux libinih liburcu" - -RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" - -FILES:${PN}-fsck = "${base_sbindir}/fsck.xfs" -FILES:${PN}-mkfs = "${base_sbindir}/mkfs.xfs" -FILES:${PN}-repair = "${base_sbindir}/xfs_repair" - -FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}" - -EXTRA_OECONF = "--enable-gettext=no \ - --enable-scrub=no \ - INSTALL_USER=root \ - INSTALL_GROUP=root \ - ac_cv_header_aio_h=yes \ - ac_cv_lib_rt_lio_listio=yes \ - OPTIMIZER='${SELECTED_OPTIMIZATION}' \ -" - -DISABLE_STATIC = "" -EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" - -PACKAGECONFIG ??= "blkid" - -PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" - -export DEBUG = "-DNDEBUG" -export BUILD_VERBOSE = "1" -export tagname = "CC" - -EXTRA_OEMAKE = "DIST_ROOT='${D}'" - -do_configure () { - export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" - # Prevent Makefile from calling configure without arguments, - # when do_configure gets called for a second time. - rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure - # Recreate configure script. - oe_runmake configure - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} - oe_runconf -} - -do_install:append() { - oe_runmake 'DESTDIR=${D}' install-dev - rm ${D}${libdir}/*.la - rmdir --ignore-fail-on-non-empty ${D}${libdir} - - if [ ${libdir} != ${base_libdir} ];then - ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a - ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so - fi -} diff --git a/meta-gnome/README.md b/meta-gnome/README.md index 5513276dc00..6c23b4e671e 100644 --- a/meta-gnome/README.md +++ b/meta-gnome/README.md @@ -10,7 +10,7 @@ branch: master Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome]' in the subject' -When sending single patches, please using something like: +When sending single patches, please use something like: git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-gnome][PATCH' Layer maintainer: Khem Raj diff --git a/meta-gnome/conf/layer.conf b/meta-gnome/conf/layer.conf index faacba478e4..4094e5194e8 100644 --- a/meta-gnome/conf/layer.conf +++ b/meta-gnome/conf/layer.conf @@ -17,7 +17,7 @@ LAYERVERSION_gnome-layer = "1" LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer meta-python" -LAYERSERIES_COMPAT_gnome-layer = "walnascar whinlatter" +LAYERSERIES_COMPAT_gnome-layer = "whinlatter wrynose" SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ faenza-icon-theme->gdk-pixbuf \ diff --git a/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.5.0.bb b/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.5.0.bb index e9cb53c97cb..0c095f8be39 100644 --- a/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.5.0.bb +++ b/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.5.0.bb @@ -12,7 +12,7 @@ DEPENDS = " \ zlib \ " -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data x11" GIR_MESON_OPTION = "" VALA_MESON_OPTION = "with-vala" VALA_MESON_ENABLE_FLAG ?= 'enabled' diff --git a/meta-gnome/recipes-extended/gparted/gparted_1.8.0.bb b/meta-gnome/recipes-extended/gparted/gparted_1.8.0.bb deleted file mode 100644 index dec9ea01ae2..00000000000 --- a/meta-gnome/recipes-extended/gparted/gparted_1.8.0.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "A partition editor to graphically manage disk partitions " -HOMEPAGE = "http://gparted.org/index.php" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -inherit autotools pkgconfig python3native gettext gnome-help gtk-icon-cache features_check - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI = " \ - ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ - ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'file://0001-Install-polkit-action-unconditionally-executable-pke.patch', '', d)} \ -" -SRC_URI[sha256sum] = "f584ed4be7fd09c2cf6a784778a8540970d985f0ac8e5a7bd0628528a3ab5609" - -UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gparted/files/gparted/" -UPSTREAM_CHECK_REGEX = "gparted-(?P\d+\.(\d+)+(\.\d+)+)" - -DEPENDS += " \ - glib-2.0-native \ - yelp-tools-native \ - intltool-native \ - glib-2.0 \ - gtkmm3 \ - parted \ -" - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" -PACKAGECONFIG[polkit] = ",,polkit" - -FILES:${PN} += " \ - ${datadir}/appdata \ - ${datadir}/icons \ - ${datadir}/metainfo \ -" - -PACKAGES += "${PN}-polkit" -FILES:${PN}-polkit = "${datadir}/polkit-1" - -RDEPENDS:${PN} = " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', '${PN}-polkit', '', d)} \ - dosfstools \ - mtools \ - e2fsprogs \ -" diff --git a/meta-gnome/recipes-extended/gparted/gparted_1.8.1.bb b/meta-gnome/recipes-extended/gparted/gparted_1.8.1.bb new file mode 100644 index 00000000000..b8c55876511 --- /dev/null +++ b/meta-gnome/recipes-extended/gparted/gparted_1.8.1.bb @@ -0,0 +1,45 @@ +SUMMARY = "A partition editor to graphically manage disk partitions " +HOMEPAGE = "http://gparted.org/index.php" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit autotools pkgconfig python3native gettext gnome-help gtk-icon-cache features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ + ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'file://0001-Install-polkit-action-unconditionally-executable-pke.patch', '', d)} \ +" +SRC_URI[sha256sum] = "67388ac405f9fe92a40636cb03b0e1e0bb6403ad89ccc174b2ff190ef6f32349" + +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gparted/files/gparted/" +UPSTREAM_CHECK_REGEX = "gparted-(?P\d+\.(\d+)+(\.\d+)+)" + +DEPENDS += " \ + glib-2.0-native \ + yelp-tools-native \ + intltool-native \ + glib-2.0 \ + gtkmm3 \ + parted \ +" + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" +PACKAGECONFIG[polkit] = ",,polkit" + +FILES:${PN} += " \ + ${datadir}/appdata \ + ${datadir}/icons \ + ${datadir}/metainfo \ +" + +PACKAGES += "${PN}-polkit" +FILES:${PN}-polkit = "${datadir}/polkit-1" + +RDEPENDS:${PN} = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', '${PN}-polkit', '', d)} \ + dosfstools \ + mtools \ + e2fsprogs \ +" diff --git a/meta-gnome/recipes-gimp/babl/babl_0.1.122.bb b/meta-gnome/recipes-gimp/babl/babl_0.1.122.bb deleted file mode 100644 index c623e0d4ace..00000000000 --- a/meta-gnome/recipes-gimp/babl/babl_0.1.122.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library" -LICENSE = "LGPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" - -GIR_MESON_OPTION = "enable-gir" -VALA_MESON_OPTION = "enable-vapi" - -inherit setuptools3 gnomebase gobject-introspection vala - -DEPENDS += "lcms" - -SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz" -SRC_URI[sha256sum] = "6851f705cda38f2df08a4ba8618279ce30d0a46f957fe6aa325b7b7de297bed2" - -FILES:${PN} += "${libdir}/${BPN}-${@gnome_verdir("${PV}")}" - -BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gimp/babl/babl_0.1.126.bb b/meta-gnome/recipes-gimp/babl/babl_0.1.126.bb new file mode 100644 index 00000000000..10e2c482a5b --- /dev/null +++ b/meta-gnome/recipes-gimp/babl/babl_0.1.126.bb @@ -0,0 +1,17 @@ +SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library" +LICENSE = "LGPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" + +GIR_MESON_OPTION = "enable-gir" +VALA_MESON_OPTION = "enable-vapi" + +inherit setuptools3 gnomebase gobject-introspection vala + +DEPENDS += "lcms" + +SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz" +SRC_URI[sha256sum] = "3f090f4b2a61fecf7c8dc60a5804bbc77cefd8d778af2ded059f0e367a52930e" + +FILES:${PN} += "${libdir}/${BPN}-${@gnome_verdir("${PV}")}" + +BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gimp/gegl/gegl/0001-gegl-Add-gegl-arm.def-file.patch b/meta-gnome/recipes-gimp/gegl/gegl/0001-gegl-Add-gegl-arm.def-file.patch deleted file mode 100644 index 1a2d39af4a2..00000000000 --- a/meta-gnome/recipes-gimp/gegl/gegl/0001-gegl-Add-gegl-arm.def-file.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 69c263ae5f3d4a2d251e00c7236efd035db2bb5a Mon Sep 17 00:00:00 2001 -From: Bruno Lopes -Date: Sat, 13 Dec 2025 08:48:21 -0300 -Subject: [PATCH] gegl: Add gegl-arm.def file - -Fix def-file problem in arm environment. - -Problem found in gegl/gegl.def - the following symbols are in the library, - but are not listed in the .def-file: - + gegl_downscale_2x2_arm_neon - + gegl_downscale_2x2_get_fun_arm_neon - + gegl_downscale_2x2_nearest_arm_neon - + gegl_resample_bilinear_arm_neon - + gegl_resample_boxfilter_arm_neon - + gegl_resample_nearest_arm_neon - -Upstream-Status: Backport [https://github.com/GNOME/gegl/commit/69c263ae5f3d4a2d251e00c7236efd035db2bb5a] -Signed-off-by: Liu Yiding ---- - gegl/gegl-arm.def | 6 ++++++ - gegl/meson.build | 2 +- - 2 files changed, 7 insertions(+), 1 deletion(-) - create mode 100644 gegl/gegl-arm.def - -diff --git a/gegl/gegl-arm.def b/gegl/gegl-arm.def -new file mode 100644 -index 000000000..cb8277cf6 ---- /dev/null -+++ b/gegl/gegl-arm.def -@@ -0,0 +1,6 @@ -+ gegl_downscale_2x2_arm_neon -+ gegl_downscale_2x2_get_fun_arm_neon -+ gegl_downscale_2x2_nearest_arm_neon -+ gegl_resample_bilinear_arm_neon -+ gegl_resample_boxfilter_arm_neon -+ gegl_resample_nearest_arm_neon -diff --git a/gegl/meson.build b/gegl/meson.build -index 0548b069d..85e89bbd2 100644 ---- a/gegl/meson.build -+++ b/gegl/meson.build -@@ -102,7 +102,7 @@ if host_cpu_family == 'x86_64' - simd_extra_def = ['gegl-x86_64.def'] - elif host_cpu_family == 'arm' - simd_extra = [lib_gegl_arm_neon] -- simd_extra_def = [] -+ simd_extra_def = ['gegl-arm.def'] - else - simd_extra = [] - simd_extra_def = [] --- -2.43.0 - diff --git a/meta-gnome/recipes-gimp/gegl/gegl_0.4.66.bb b/meta-gnome/recipes-gimp/gegl/gegl_0.4.66.bb deleted file mode 100644 index 3ec74578662..00000000000 --- a/meta-gnome/recipes-gimp/gegl/gegl_0.4.66.bb +++ /dev/null @@ -1,65 +0,0 @@ -SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=f1a8bfcbc85304df454b65d378b299c7" - -DEPENDS = " \ - intltool-native \ - babl \ - glib-2.0 \ - cairo \ - expat \ - zlib \ - \ - json-glib \ - libpng \ - jpeg \ -" - -DEPENDS:append:toolchain-clang = " openmp" -DEPENDS:remove:toolchain-clang:riscv32 = "openmp" -DEPENDS:remove:toolchain-clang:powerpc = "openmp" - -VALA_MESON_OPTION = "" - -inherit features_check gnomebase gobject-introspection vala - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SHPV = "${@gnome_verdir("${PV}")}" - -SRC_URI = "https://download.gimp.org/pub/${BPN}/${SHPV}/${BP}.tar.xz \ - file://0001-gegl-Add-gegl-arm.def-file.patch \ - " -SRC_URI[sha256sum] = "92b05855e2190868949d70cea6e9a50b163a6a441242e740a6263975379f993b" - -PACKAGECONFIG ??= "gexiv2 libraw librsvg pango poppler sdl2" -PACKAGECONFIG:class-native = "librsvg" - -PACKAGECONFIG[jasper] = "-Djasper=enabled,-Djasper=disabled,jasper" -PACKAGECONFIG[gexiv2] = "-Dgexiv2=enabled,-Dgexiv2=disabled,gexiv2" -PACKAGECONFIG[graphviz] = "-Dgraphviz=enabled,-Dgraphviz=disabled,graphviz" -PACKAGECONFIG[lcms] = "-Dlcms=enabled,-Dlcms=disabled,lcms" -PACKAGECONFIG[libav] = "-Dlibav=enabled,-Dlibav=disabled,libav" -PACKAGECONFIG[libraw] = "-Dlibraw=enabled,-Dlibraw=disabled,libraw" -PACKAGECONFIG[librsvg] = "-Dlibrsvg=enabled,-Dlibrsvg=disabled,librsvg" -PACKAGECONFIG[pango] = "-Dpango=enabled -Dpangocairo=enabled,-Dpango=disabled -Dpangocairo=disabled,pango" -PACKAGECONFIG[poppler] = "-Dpoppler=enabled,-Dpoppler=disabled,poppler" -PACKAGECONFIG[sdl] = "-Dsdl1=enabled,-Dsdl1=disabled,libsdl" -PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" -PACKAGECONFIG[tiff] = "-Dlibtiff=enabled,-Dlibtiff=disabled,tiff" -PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" - -# There are a couple of non-symlink .so files installed into libdir, which need to go into main package -FILES:${PN} += " \ - ${libdir}/*.so \ - ${libdir}/gegl-${SHPV}/*.json \ - ${libdir}/gegl-${SHPV}/*.so \ -" -FILES_SOLIBSDEV = "${libdir}/libgegl-${SHPV}${SOLIBSDEV}" - -# Fails to build with thumb-1 (qemuarm) -# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process': -# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275 -ARM_INSTRUCTION_SET = "arm" - -BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gimp/gegl/gegl_0.4.70.bb b/meta-gnome/recipes-gimp/gegl/gegl_0.4.70.bb new file mode 100644 index 00000000000..64ff475dc4b --- /dev/null +++ b/meta-gnome/recipes-gimp/gegl/gegl_0.4.70.bb @@ -0,0 +1,63 @@ +SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=f1a8bfcbc85304df454b65d378b299c7" + +DEPENDS = " \ + intltool-native \ + babl \ + glib-2.0 \ + cairo \ + expat \ + zlib \ + \ + json-glib \ + libpng \ + jpeg \ +" + +DEPENDS:append:toolchain-clang = " openmp" +DEPENDS:remove:toolchain-clang:riscv32 = "openmp" +DEPENDS:remove:toolchain-clang:powerpc = "openmp" + +VALA_MESON_OPTION = "" + +inherit features_check gnomebase gobject-introspection vala + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SHPV = "${@gnome_verdir("${PV}")}" + +SRC_URI = "https://download.gimp.org/pub/${BPN}/${SHPV}/${BP}.tar.xz" +SRC_URI[sha256sum] = "47f50d9c3aecd375deb48c11ebfead52d162e4fc162a4b3d44618277f1faec02" + +PACKAGECONFIG ??= "gexiv2 libraw librsvg pango poppler sdl2" +PACKAGECONFIG:class-native = "librsvg" + +PACKAGECONFIG[jasper] = "-Djasper=enabled,-Djasper=disabled,jasper" +PACKAGECONFIG[gexiv2] = "-Dgexiv2=enabled,-Dgexiv2=disabled,gexiv2" +PACKAGECONFIG[graphviz] = "-Dgraphviz=enabled,-Dgraphviz=disabled,graphviz" +PACKAGECONFIG[lcms] = "-Dlcms=enabled,-Dlcms=disabled,lcms" +PACKAGECONFIG[libav] = "-Dlibav=enabled,-Dlibav=disabled,libav" +PACKAGECONFIG[libraw] = "-Dlibraw=enabled,-Dlibraw=disabled,libraw" +PACKAGECONFIG[librsvg] = "-Dlibrsvg=enabled,-Dlibrsvg=disabled,librsvg" +PACKAGECONFIG[pango] = "-Dpango=enabled -Dpangocairo=enabled,-Dpango=disabled -Dpangocairo=disabled,pango" +PACKAGECONFIG[poppler] = "-Dpoppler=enabled,-Dpoppler=disabled,poppler" +PACKAGECONFIG[sdl] = "-Dsdl1=enabled,-Dsdl1=disabled,libsdl" +PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" +PACKAGECONFIG[tiff] = "-Dlibtiff=enabled,-Dlibtiff=disabled,tiff" +PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" + +# There are a couple of non-symlink .so files installed into libdir, which need to go into main package +FILES:${PN} += " \ + ${libdir}/*.so \ + ${libdir}/gegl-${SHPV}/*.json \ + ${libdir}/gegl-${SHPV}/*.so \ +" +FILES_SOLIBSDEV = "${libdir}/libgegl-${SHPV}${SOLIBSDEV}" + +# Fails to build with thumb-1 (qemuarm) +# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process': +# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275 +ARM_INSTRUCTION_SET = "arm" + +BBCLASSEXTEND = "native" diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-meson-Fix-libunwind-header-detection-on-non-macOS-pl.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-meson-Fix-libunwind-header-detection-on-non-macOS-pl.patch deleted file mode 100644 index 879529b80ee..00000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp/0001-meson-Fix-libunwind-header-detection-on-non-macOS-pl.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 8862f36fcec74152afeee2a99c0e04b84b6cf5b3 Mon Sep 17 00:00:00 2001 -From: Bruno Lopes -Date: Sun, 25 Jan 2026 11:11:48 -0300 -Subject: [PATCH] meson: Fix libunwind header detection on non-macOS platforms - -Closes: #15750 - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gimp/-/commit/1aa51ca0637db88a4ea958d03fa6692e6ac0289b] -Signed-off-by: Gyorgy Sarvari ---- - meson.build | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -diff --git a/meson.build b/meson.build -index 2192968..cfa1f71 100644 ---- a/meson.build -+++ b/meson.build -@@ -731,11 +731,14 @@ conf.set('HAVE_LIBBACKTRACE', libbacktrace.found()) - ## Check for libunwind - # In most platforms, unw_*() functions are in the libunwind library. - # In macOS, it is on libSystem (there we only need the SDK header). --libunwind = ( get_option('libunwind') -- ? dependency('libunwind', version: '>=1.1.0', required: false) -- : no_dep --) --have_unwind = libunwind.found() or cc.has_header('libunwind.h', required: false) -+libunwind = no_dep -+if get_option('libunwind') -+ libunwind = dependency('libunwind', version: '>=1.1.0', required: false) -+ libunwind_h = platform_osx ? cc.has_header('libunwind.h', required: false) : false -+ have_unwind = libunwind.found() or libunwind_h -+else -+ have_unwind = false -+endif - conf.set('HAVE_LIBUNWIND', have_unwind ? 1 : false) - - ## Check for backtrace() API -@@ -758,11 +761,11 @@ if platform_windows - elif platform_linux - if not have_execinfo_h - dashboard_backtrace='no (missing: execinfo.h)' -- elif not libbacktrace.found() and not libunwind.found() -+ elif not libbacktrace.found() and not have_unwind - dashboard_backtrace='rough (missing: libbacktrace and libunwind)' - elif not libbacktrace.found() - dashboard_backtrace='partially detailed (missing: libbacktrace)' -- elif not libunwind.found() -+ elif not have_unwind - dashboard_backtrace='partially detailed (missing: libunwind)' - else - dashboard_backtrace='detailed' diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-require-iso-codes-native.patch b/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-require-iso-codes-native.patch deleted file mode 100644 index ffb8ef29dfe..00000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp/0001-meson.build-require-iso-codes-native.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8ccd12d6ec3330e9646ae9db6fd491226d516dc3 Mon Sep 17 00:00:00 2001 -From: Markus Volk -Date: Fri, 28 Mar 2025 01:33:00 +0100 -Subject: [PATCH] meson.build: require iso-codes-native - -This fixes: -FAILED: app/widgets/gimplanguagestore-data.h -/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gimp/3.0.2/build/tools/gen-languages -gimp_language_store_parser_init: 0.006277 seconds -ERROR: parse_iso_codes: error parsing '/usr/share/xml/iso-codes/iso_639_3.xml': No such file or directory - -Upstream-Status: Denied [https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/2185] -Upstream argues that iso-codes locale (.mo files) are required on the target - -Signed-off-by: Markus Volk ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index efbc2d8175..fd050f4d3c 100644 ---- a/meson.build -+++ b/meson.build -@@ -1135,7 +1135,7 @@ endif - ################################################################################ - # ISO codes - --isocodes = dependency('iso-codes', required: false) -+isocodes = dependency('iso-codes', required: false, native: true) - if isocodes.found() - isocodes_prefix = isocodes.get_variable(pkgconfig: 'prefix') - isocodes_location = isocodes_prefix / 'share' / 'xml' / 'iso-codes' --- -2.49.0 - diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch b/meta-gnome/recipes-gimp/gimp/gimp/0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch new file mode 100644 index 00000000000..826d3394ad4 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch @@ -0,0 +1,51 @@ +From 8ccd12d6ec3330e9646ae9db6fd491226d516dc3 Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Fri, 28 Mar 2025 01:33:00 +0100 +Subject: [PATCH] meson.build: use relative path for ISO_CODES_LOCATION + +If the host system does not provide iso-codes, the build fails with the following message: +FAILED: app/widgets/gimplanguagestore-data.h +/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/gimp/3.0.2/build/tools/gen-languages +gimp_language_store_parser_init: 0.006277 seconds +ERROR: parse_iso_codes: Error parsing ‘/usr/share/xml/iso-codes/iso_639_3.xml’: No such file or directory + +So far, we have worked around the problem by using the “iso-codes-native” dependency, but the path +for 'isocodes_prefix' is then generated from the native pkgconfig entry, resulting in a hard-coded path to +${STAGING_DATADIR_NATIVE}, which then leaks into the binaries of gimp and gimp-console. + +Instead, use iso-codes for the target and adjust the path stored in ISO_CODES_LOCATION +(which is used in tools/gen-languages.c) to a relative path so that the build system can find it. + +This allows us to depend on iso-codes for the target system, while still working on host systems that +do not provide iso-codes. + +It also fixes a reproducibility issue: +ERROR: gimp-3.2.0-r0 do_package_qa: QA Issue: File /usr/bin/gimp-console-3.2 in package gimp contains reference to TMPDIR [buildpaths] +ERROR: gimp-3.2.0-r0 do_package_qa: QA Issue: File /usr/bin/gimp-3.2 in package gimp contains reference to TMPDIR [buildpaths] +ERROR: gimp-3.2.0-r0 do_package_qa: Fatal QA errors were found, failing task. +ERROR: Logfile of failure stored in: /home/flk/bitbake-builds/poky/build/tmp/work/corei7-64-oe-linux/gimp/3.2.0/temp/log.do_package_qa.597065 +ERROR: Task (/home/flk/bitbake-builds/poky/layers/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb:do_package_qa) failed with exit code '1' + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Markus Volk +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index efbc2d8175..fd050f4d3c 100644 +--- a/meson.build ++++ b/meson.build +@@ -1184,7 +1184,7 @@ + isocodes_prefix = isocodes.get_variable(pkgconfig: 'prefix') + isocodes_location = isocodes_prefix / 'share' / 'xml' / 'iso-codes' + isocodes_localedir= isocodes_prefix / 'share' / 'locale' +- conf.set_quoted('ISO_CODES_LOCATION', isocodes_location) ++ conf.set_quoted('ISO_CODES_LOCATION', '..' / 'recipe-sysroot' / 'usr' / 'share' / 'xml' / 'iso-codes') + conf.set_quoted('ISO_CODES_LOCALEDIR', isocodes_localedir) + endif + conf.set('HAVE_ISO_CODES', isocodes.found()) +-- +2.49.0 + diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0002-meson.build-reproducibility-fix.patch b/meta-gnome/recipes-gimp/gimp/gimp/0003-meson.build-reproducibility-fix.patch similarity index 100% rename from meta-gnome/recipes-gimp/gimp/gimp/0002-meson.build-reproducibility-fix.patch rename to meta-gnome/recipes-gimp/gimp/gimp/0003-meson.build-reproducibility-fix.patch diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch b/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch new file mode 100644 index 00000000000..4eb6f9553d9 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch @@ -0,0 +1,47 @@ +From d00c3c9fb8267f53cf730b8441a7d7f904af5215 Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Mon, 20 Apr 2026 09:14:50 +0200 +Subject: [PATCH] meson.build: dont check for python3-pygobject gexiv2 support +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We only provide support for gexiv2 in python3-pygobject for the target, but +unfortunately this feature is being requested for the native version, which +would require gexiv2-native to be compilable — something I consider quite +hard to achieve and maybe also not desirable at all. + +Remove the test for this feature, since we know that our target provides it. + +Signed-off-by: Markus Volk + +Upstream-Status: Inappropriate [oe-specific] +--- + meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 4f6f8ce9a4..4509cd2c39 100644 +--- a/meson.build ++++ b/meson.build +@@ -1224,7 +1224,7 @@ foreach py : py_candidates + '''except (ImportError):''', + ''' sys.exit(1)''']), + check: false).returncode() == 0 +- if pygobject_found.returncode() == 0 and pygobject_found.stdout().strip().version_compare(pygobject_minver) and pygobject_gexiv2_found ++ if pygobject_found.returncode() == 0 and pygobject_found.stdout().strip().version_compare(pygobject_minver) + break + endif + endif +@@ -1235,7 +1235,7 @@ if not python.found() or not python.language_version().version_compare(python3_m + endif + message('Found Python @0@'.format(python.language_version())) + +-if pygobject_found.returncode() != 0 or not pygobject_found.stdout().strip().version_compare(pygobject_minver) or not pygobject_gexiv2_found ++if pygobject_found.returncode() != 0 or not pygobject_found.stdout().strip().version_compare(pygobject_minver) + error('No suitable PyGObject (with GExiv2 submodule) found. Minimum supported version: @0@'.format(pygobject_minver)) + endif + message('Found PyGObject: @0@'.format(pygobject_found.stdout().strip())) +-- +2.53.0 + diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch b/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch new file mode 100644 index 00000000000..91e7f923366 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch @@ -0,0 +1,33 @@ +From 47948d14777438ca5e8619a1f9293db28af88305 Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Mon, 20 Apr 2026 09:24:38 +0200 +Subject: [PATCH] docs/meson.build: disable gimprc man build + +This would require a native variant of gimp-console + +Signed-off-by: Markus Volk + +Upstream-Status: Inappropriate [oe-specific] +--- + docs/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/docs/meson.build b/docs/meson.build +index 70b57b52ef..d36e47dbb5 100644 +--- a/docs/meson.build ++++ b/docs/meson.build +@@ -16,9 +16,9 @@ gimprc_man = custom_target('gimprc-' + gimp_app_version + '.5', + command: [ gimp_exe, '--no-interface', + '--dump-gimprc-manpage' ], + capture: true, +- build_by_default: true, ++ build_by_default: false, + env: gimp_run_env, +- install: true, ++ install: false, + install_dir: get_option('mandir') / 'man5') + + gimptool_man = configure_file(input : 'gimptool.1.in', +-- +2.53.0 + diff --git a/meta-gnome/recipes-gimp/gimp/gimp_3.0.8.bb b/meta-gnome/recipes-gimp/gimp/gimp_3.0.8.bb deleted file mode 100644 index 860fb5d26bc..00000000000 --- a/meta-gnome/recipes-gimp/gimp/gimp_3.0.8.bb +++ /dev/null @@ -1,138 +0,0 @@ -SUMMARY = "The GIMP is the GNU Image Manipulation Program" -HOMEPAGE = "http://www.gimp.org" -SECTION = "graphics" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e" - -DEPENDS = " \ - appstream \ - atk \ - babl \ - bzip2 \ - bison-native \ - cairo \ - fontconfig \ - freetype \ - gdk-pixbuf-native \ - gegl \ - gexiv2 \ - glib-2.0 \ - glib-2.0-native \ - gtk+3 \ - harfbuzz \ - iso-codes-native \ - jpeg \ - json-glib \ - lcms \ - libarchive \ - libexif \ - libmypaint \ - libpng \ - librsvg \ - librsvg-native \ - libxmu \ - libxslt-native \ - mypaint-brushes-1.0 \ - pango \ - poppler \ - poppler-data \ - python3-pygobject-native \ - tiff \ - xz \ - zlib \ -" - -DEPENDS:append:libc-musl = " libexecinfo" - -LDFLAGS:append:libc-musl = " -lexecinfo" - -inherit meson gtk-icon-cache mime-xdg pkgconfig gettext gobject-introspection vala bash-completion - -GIR_MESON_OPTION = 'can-crosscompile-gir' -VALA_MESON_OPTION = "vala" -VALA_MESON_ENABLE_FLAG = "enabled" -VALA_MESON_DISABLE_FLAG = "disabled" -GIDOCGEN_MESON_OPTION = "gi-docgen" -GIDOCGEN_MESON_ENABLE_FLAG = "enabled" -GIDOCGEN_MESON_DISABLE_FLAG = "disabled" - -SRC_URI = "https://download.gimp.org/gimp/v3.0/${BP}.tar.xz \ - file://0002-meson.build-reproducibility-fix.patch \ - file://0001-meson.build-dont-check-for-lgi.patch \ - file://0001-meson.build-require-iso-codes-native.patch \ - file://0001-meson-Fix-libunwind-header-detection-on-non-macOS-pl.patch \ - " -SRC_URI[sha256sum] = "feb498acc01b26827cff1ff95aa8fb82cdd6a60d7abf773cfcd19abeafca3386" - -PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib" -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" -PACKAGECONFIG[appdata-test] = "-Dappdata-test=enabled,-Dappdata-test=disabled,appstream-native" -PACKAGECONFIG[cairo-pdf] = "-Dcairo-pdf=enabled,-Dcairo-pdf=disabled" -PACKAGECONFIG[check-update] = "-Dcheck-update=yes,-Dcheck-update=no" -PACKAGECONFIG[ghostscript] = "-Dghostscript=enabled,-Dghostscript=disabled,ghostscript,ghostscript" -PACKAGECONFIG[gudev] = "-Dgudev=enabled,-Dgudev=disabled,libgudev" -PACKAGECONFIG[heif] = "-Dheif=enabled,-Dheif=disabled,libheif" -PACKAGECONFIG[javascript] = "-Djavascript=enabled,-Djavascript=disabled,,gjs" -PACKAGECONFIG[jpeg2000] = "-Djpeg2000=enabled,-Djpeg2000=disabled,jasper" -PACKAGECONFIG[jpeg-xl] = "-Djpeg-xl=enabled,-Djpeg-xl=disabled,libjxl" -PACKAGECONFIG[libunwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" -PACKAGECONFIG[libbacktrace] = "-Dlibbacktrace=true,-Dlibbacktrace=false,libbacktrace" -PACKAGECONFIG[lua] = "-Dlua=true,-Dlua=false,,luajit lua-lgi" -PACKAGECONFIG[mng] = "-Dmng=enabled,-Dmng=disabled,libmng" -PACKAGECONFIG[openmp] = "-Dopenmp=enabled,-Dopenmp=disabled,gcc-runtime" -PACKAGECONFIG[vector-icons] = "-Dvector-icons=true,-Dvector-icons=false,librsvg shared-mime-info" -PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" -PACKAGECONFIG[xcursor] = "-Dxcursor=enabled,-Dxcursor=disabled,libxcursor" -PACKAGECONFIG[x11] = "-Dxpm=enabled,-Dxpm=disabled,libxpm libxext libxfixes" - -PACKAGECONFIG ?= " \ - alsa \ - cairo-pdf \ - ghostscript \ - gudev \ - javascript \ - jpeg2000 \ - jpeg-xl \ - lua \ - mng \ - webp \ - ${@oe.utils.conditional('SITEINFO_BITS', '32', '', 'vector-icons', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcursor', '', d)} \ -" - -PACKAGECONFIG:remove:riscv32 = "lua" -PACKAGECONFIG:remove:riscv64 = "lua" -PACKAGECONFIG:remove:powerpc64 = "lua" -PACKAGECONFIG:remove:powerpc64le = "lua" - -EXTRA_OEMESON += " \ - -Dshmem-type=posix \ - -Dlinux-input=enabled \ - --buildtype release \ - --cross-file=${WORKDIR}/meson-${PN}.cross \ -" - -do_write_config:append() { - cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross <> ${D}${sysconfdir}/pam.d/gdm-password - echo "session optional pam_gnome_keyring.so auto_start" >> ${D}${sysconfdir}/pam.d/gdm-password - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/lib/gdm 700 gdm gdm - -" > ${D}${sysconfdir}/tmpfiles.d/gdm.conf -} - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --groups video --home ${localstatedir}/lib/gdm gdm" - -SYSTEMD_SERVICE:${PN} = "${BPN}.service" - -# Some gnome components - as gnome-panel and gnome-shell (!!) - require gdm -# components. To allow gnome-images using different display-manager, split them -# out into a seperate package. -PACKAGE_BEFORE_PN = "${PN}-base" -FILES:${PN}-base = " \ - ${datadir}/glib-2.0 \ - ${datadir}/gnome-session \ - ${libdir}/lib*${SOLIBS} \ - ${libdir}/girepository-1.0 \ -" - -CONFFILES:${PN} += "${sysconfdir}/gdm/custom.conf" -FILES:${PN} += " \ - ${datadir}/dconf \ - ${base_libdir}/security/pam_gdm.so \ - ${systemd_unitdir} ${systemd_user_unitdir} \ -" - -RDEPENDS:${PN} += "${PN}-base" diff --git a/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb b/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb new file mode 100644 index 00000000000..858933a4b3f --- /dev/null +++ b/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb @@ -0,0 +1,84 @@ +SUMMARY = "GNOME Display Manager" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = " \ + accountsservice \ + audit \ + dconf \ + dconf-native \ + gtk4 \ + json-glib \ + keyutils \ + libcanberra \ + libgudev \ + libpam \ +" + +REQUIRED_DISTRO_FEATURES = "systemd pam polkit gobject-introspection-data" +GIR_MESON_OPTION = "" + + +inherit gnomebase gsettings pkgconfig gobject-introspection gettext systemd useradd itstool gnome-help features_check + +SRC_URI[archive.sha256sum] = "646f53d68f2d2d147146ffaeb85047ded8b813dcb1c104d8f0ec36ca609eb5bf" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[plymouth] = "-Dplymouth=enabled,-Dplymouth=disabled,plymouth" +PACKAGECONFIG[x11] = "-Dx11-support=true,-Dx11-support=false,xau" + +EXTRA_OEMESON = " \ + -Ddefault-pam-config=openembedded \ + -Dpam-mod-dir=${base_libdir}/security \ + --cross-file=${WORKDIR}/meson-${PN}.cross \ +" + +do_write_config:append() { + cat >${WORKDIR}/meson-${PN}.cross <> ${D}${sysconfdir}/pam.d/gdm-password + echo "session optional pam_gnome_keyring.so auto_start" >> ${D}${sysconfdir}/pam.d/gdm-password + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/lib/gdm 700 gdm gdm - -" > ${D}${sysconfdir}/tmpfiles.d/gdm.conf +} + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --groups video --home ${localstatedir}/lib/gdm gdm" + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + +# Some gnome components - as gnome-panel and gnome-shell (!!) - require gdm +# components. To allow gnome-images using different display-manager, split them +# out into a seperate package. +PACKAGE_BEFORE_PN = "${PN}-base" +FILES:${PN}-base = " \ + ${datadir}/glib-2.0 \ + ${datadir}/gnome-session \ + ${libdir}/lib*${SOLIBS} \ + ${libdir}/girepository-1.0 \ +" + +CONFFILES:${PN} += "${sysconfdir}/gdm/custom.conf" +FILES:${PN} += " \ + ${datadir}/dconf \ + ${base_libdir}/security/pam_gdm.so \ + ${systemd_unitdir} ${systemd_user_unitdir} \ +" + +RDEPENDS:${PN} += "${PN}-base" +# gdm relies on dbus-run-session provided by dbus +RCONFLICTS:${PN} += "dbus-broker" +RDEPENDS:${PN} += "dbus" diff --git a/meta-gnome/recipes-gnome/gedit/gedit/0001-fix-for-clang-18.patch b/meta-gnome/recipes-gnome/gedit/gedit/0001-fix-for-clang-18.patch deleted file mode 100644 index 40fd93b9841..00000000000 --- a/meta-gnome/recipes-gnome/gedit/gedit/0001-fix-for-clang-18.patch +++ /dev/null @@ -1,32 +0,0 @@ -Signed-off-by: Markus Volk -Upstream-Status: Inappropriate [https://gitlab.gnome.org/GNOME/gedit/-/issues/588] - -Temporary workaround to fix build: -../plugins/quickhighlight/gedit-quick-highlight-plugin.c: In function ‘gedit_quick_highlight_plugin_load_style’: -../plugins/quickhighlight/gedit-quick-highlight-plugin.c:96:47: error: implicit declaration of function ‘gtk_source_style_copy’; did you mean ‘gtk_source_style_apply’? [-Wimplicit-function-declaration] - - 96 | plugin->priv->style = gtk_source_style_copy (style); - | ^~~~~~~~~~~~~~~~~~~~~ - | gtk_source_style_apply -../plugins/quickhighlight/gedit-quick-highlight-plugin.c:96:47: warning: nested extern declaration of ‘gtk_source_style_copy’ [-Wnested-externs] -../plugins/quickhighlight/gedit-quick-highlight-plugin.c:96:45: error: assignment to ‘GtkSourceStyle *’ {aka ‘struct _GtkSourceStyle *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] - 96 | plugin->priv->style = gtk_source_style_copy (style); - | ^ - ---- a/plugins/quickhighlight/gedit-quick-highlight-plugin.c 2024-02-20 08:11:47.925749255 +0100 -+++ b/plugins/quickhighlight/gedit-quick-highlight-plugin.c 2024-02-20 08:12:16.218594067 +0100 -@@ -90,11 +90,12 @@ - if (style_scheme != NULL) - { - style = gtk_source_style_scheme_get_style (style_scheme, "quick-highlight-match"); -- -+#if 0 - if (style != NULL) - { - plugin->priv->style = gtk_source_style_copy (style); - } -+#endif - } - } - - diff --git a/meta-gnome/recipes-gnome/gedit/gedit_46.2.bb b/meta-gnome/recipes-gnome/gedit/gedit_46.2.bb deleted file mode 100644 index 91b2221d7a1..00000000000 --- a/meta-gnome/recipes-gnome/gedit/gedit_46.2.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "GNOME editor" -SECTION = "x11/gnome" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" - - -DEPENDS = " \ - appstream-glib-native \ - desktop-file-utils-native \ - libgedit-amtk \ - libgedit-gtksourceview \ - gdk-pixbuf-native \ - gtk+3 \ - gsettings-desktop-schemas \ - libpeas-1 \ - libsoup \ - gspell \ - tepl \ -" - -inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc gettext features_check mime-xdg gtk-icon-cache python3targetconfig - -def gnome_verdir(v): - return oe.utils.trim_version(v, 1) - -SRC_URI += "file://0001-fix-for-clang-18.patch" -SRC_URI[archive.sha256sum] = "c0866412bad147ebace2d282ffcbb5a0e9a304b20fd55640bee21c81e6d501ef" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -do_install:prepend() { - sed -i -e 's|${B}||g' ${B}/plugins/filebrowser/gedit-file-browser-enum-types.c -} - -GIR_MESON_OPTION = "" - -GTKDOC_MESON_OPTION = "gtk_doc" - -PACKAGES += "${PN}-python" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ -" - -FILES:${PN}-python += " \ - ${PYTHON_SITEPACKAGES_DIR} \ -" - -RDEPENDS:${PN} += "gsettings-desktop-schemas" -RRECOMMENDS:${PN} += "source-code-pro-fonts" diff --git a/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb b/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb new file mode 100644 index 00000000000..d15ab8665d4 --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb @@ -0,0 +1,53 @@ +SUMMARY = "GNOME editor" +SECTION = "x11/gnome" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" + + +DEPENDS = " \ + appstream-glib-native \ + desktop-file-utils-native \ + libgedit-amtk \ + libgedit-gtksourceview \ + gdk-pixbuf-native \ + gtk+3 \ + gsettings-desktop-schemas \ + libpeas-1 \ + libsoup \ + gspell \ + tepl \ +" + +inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc gettext features_check mime-xdg gtk-icon-cache python3targetconfig + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +SRC_URI = "gitsm://gitlab.gnome.org/World/gedit/gedit.git;protocol=https;branch=master;tag=${PV}" +SRCREV = "25d0bf0c3c40b0866fc23ec875f0af6c67f728ef" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +do_install:prepend() { + sed -i -e 's|${B}||g' ${B}/plugins/filebrowser/gedit-file-browser-enum-types.c +} + +GIR_MESON_OPTION = "" + +GTKDOC_MESON_OPTION = "gtk_doc" + +PACKAGES += "${PN}-python" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ +" + +FILES:${PN}-python += " \ + ${PYTHON_SITEPACKAGES_DIR} \ +" + +RDEPENDS:${PN} += "gsettings-desktop-schemas" +RRECOMMENDS:${PN} += "source-code-pro-fonts" diff --git a/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.1.bb b/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.1.bb new file mode 100644 index 00000000000..87006cc5641 --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "Gedit Technology - File loading and saving" +SECTION = "gnome" +LICENSE = "LGPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSES/LGPL-3.0-or-later.txt;md5=c51d3eef3be114124d11349ca0d7e117" + +DEPENDS = "glib-2.0 gtk+3" + +inherit gobject-introspection features_check gtk-doc gnomebase + +SRC_URI = "git://gitlab.gnome.org/World/gedit/libgedit-gfls.git;branch=main;protocol=https;tag=${PV}" +SRCREV = "ce4b836dfda4ea3f594b9ded7b60c5cb51ccbc87" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +GIR_MESON_OPTION = "gobject_introspection" +GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.4.0.bb b/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.4.0.bb deleted file mode 100644 index 0d674712801..00000000000 --- a/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.4.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Gedit Technology - Source code editing widget" -SECTION = "gnome" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" - -DEPENDS = "glib-2.0 gtk+3 libxml2" - -inherit gobject-introspection features_check gtk-doc gnomebase - -SRC_URI[archive.sha256sum] = "20c17ff89e2031aed5dc1107fe9a93fd50f92b569be2954b119c86f9e2fd85d6" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -GIR_MESON_OPTION = "gobject_introspection" -GTKDOC_MESON_OPTION = "gtk_doc" - -do_install:prepend() { - sed -i -e 's|${B}||g' ${B}/gtksourceview/gtksource-enumtypes.c - sed -i -e 's|${B}||g' ${B}/gtksourceview/gtksource-enumtypes.h -} - -FILES:${PN} += "${datadir}" - -# Most gnome projects have a verison like x.y.z, and they are stored in a folder called x.y -# Not this one. This has x.y.z version, but stored in folder called x. -# The original of this function is in gnomebase.bbclass. -def gnome_verdir(v): - return v.split(".")[0] diff --git a/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.6.0.bb b/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.6.0.bb new file mode 100644 index 00000000000..4939f673bbb --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.6.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "Gedit Technology - Source code editing widget" +SECTION = "gnome" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSES/LGPL-2.1-or-later.txt;md5=310c7c93cf5181c6b0cc8229a1f3c6f6" + +DEPENDS = "glib-2.0 gtk+3 libxml2" + +inherit gobject-introspection features_check gtk-doc gnomebase + +SRC_URI = "git://gitlab.gnome.org/World/gedit/libgedit-gtksourceview.git;protocol=https;branch=main;tag=${PV}" +SRCREV = "a7bdc39f9fbc10c49ea7468ac1e5bf77385da0c0" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +GIR_MESON_OPTION = "gobject_introspection" +GTKDOC_MESON_OPTION = "gtk_doc" + +do_install:prepend() { + sed -i -e 's|${B}||g' ${B}/gtksourceview/gtksource-enumtypes.c + sed -i -e 's|${B}||g' ${B}/gtksourceview/gtksource-enumtypes.h +} + +FILES:${PN} += "${datadir}" + +# Most gnome projects have a verison like x.y.z, and they are stored in a folder called x.y +# Not this one. This has x.y.z version, but stored in folder called x. +# The original of this function is in gnomebase.bbclass. +def gnome_verdir(v): + return v.split(".")[0] diff --git a/meta-gnome/recipes-gnome/gjs/gjs_1.84.1.bb b/meta-gnome/recipes-gnome/gjs/gjs_1.84.1.bb deleted file mode 100644 index 55bd38c97c8..00000000000 --- a/meta-gnome/recipes-gnome/gjs/gjs_1.84.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Javascript bindings for GNOME" -LICENSE = "MIT & LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=8dcea832f6acf45d856abfeb2d51ec48" - - -DEPENDS = "mozjs-128 cairo" - -inherit gnomebase gobject-introspection gettext features_check upstream-version-is-even pkgconfig multilib_script - -SRC_URI[archive.sha256sum] = "44796b91318dbbe221a13909f00fd872ef92f38c68603e0e3574e46bc6bac32c" -SRC_URI += " \ - file://0001-Support-cross-builds-a-bit-better.patch \ - file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \ -" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -GIR_MESON_OPTION = "" - -EXTRA_OEMESON = " \ - -Dinstalled_tests=false \ - -Dskip_dbus_tests=true \ - -Dskip_gtk_tests=true \ -" - -LDFLAGS:append:mipsarch = " -latomic" -LDFLAGS:append:powerpc = " -latomic" -LDFLAGS:append:powerpc64 = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" - -FILES:${PN} += "${datadir}/gjs-1.0/lsan" - -PACKAGES =+ "${PN}-valgrind" -FILES:${PN}-valgrind = "${datadir}/gjs-1.0/valgrind" -RDEPENDS:${PN}-valgrind += "valgrind" - -# Valgrind not yet available on rv32/rv64 -RDEPENDS:${PN}-valgrind:remove:riscv32 = "valgrind" -RDEPENDS:${PN}-valgrind:remove:riscv64 = "valgrind" - -MULTILIB_SCRIPTS:append = "${PN}:${libexecdir}/installed-tests/gjs/GIMarshallingTests-1.0.typelib \ - ${PN}:${libexecdir}/installed-tests/gjs/Regress-1.0.typelib \ - ${PN}:${libexecdir}/installed-tests/gjs/Utility-1.0.typelib \ - ${PN}:${libexecdir}/installed-tests/gjs/WarnLib-1.0.typelib \ - " diff --git a/meta-gnome/recipes-gnome/gjs/gjs_1.84.2.bb b/meta-gnome/recipes-gnome/gjs/gjs_1.84.2.bb new file mode 100644 index 00000000000..c41fa6e93ac --- /dev/null +++ b/meta-gnome/recipes-gnome/gjs/gjs_1.84.2.bb @@ -0,0 +1,45 @@ +SUMMARY = "Javascript bindings for GNOME" +LICENSE = "MIT & LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=8dcea832f6acf45d856abfeb2d51ec48" + + +DEPENDS = "mozjs-128 cairo" + +inherit gnomebase gobject-introspection gettext features_check upstream-version-is-even pkgconfig multilib_script + +SRC_URI[archive.sha256sum] = "35142edf345705636300291ec3a7d583f14969ff3fae0ff30f4a95b1e6740166" +SRC_URI += " \ + file://0001-Support-cross-builds-a-bit-better.patch \ + file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \ +" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +GIR_MESON_OPTION = "" + +EXTRA_OEMESON = " \ + -Dinstalled_tests=false \ + -Dskip_dbus_tests=true \ + -Dskip_gtk_tests=true \ +" + +LDFLAGS:append:mipsarch = " -latomic" +LDFLAGS:append:powerpc = " -latomic" +LDFLAGS:append:powerpc64 = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +FILES:${PN} += "${datadir}/gjs-1.0/lsan" + +PACKAGES =+ "${PN}-valgrind" +FILES:${PN}-valgrind = "${datadir}/gjs-1.0/valgrind" +RDEPENDS:${PN}-valgrind += "valgrind" + +# Valgrind not yet available on rv32/rv64 +RDEPENDS:${PN}-valgrind:remove:riscv32 = "valgrind" +RDEPENDS:${PN}-valgrind:remove:riscv64 = "valgrind" + +MULTILIB_SCRIPTS:append = "${PN}:${libexecdir}/installed-tests/gjs/GIMarshallingTests-1.0.typelib \ + ${PN}:${libexecdir}/installed-tests/gjs/Regress-1.0.typelib \ + ${PN}:${libexecdir}/installed-tests/gjs/Utility-1.0.typelib \ + ${PN}:${libexecdir}/installed-tests/gjs/WarnLib-1.0.typelib \ + " diff --git a/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_48.0.bb b/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_48.0.bb deleted file mode 100644 index d144cd0639c..00000000000 --- a/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_48.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "GNOME wallpapers" -LICENSE = "CC-BY-SA-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=b52fb0a6df395efb7047cb6fc56bfd7e" - -SECTION = "x11/gnome" - -inherit gnomebase gettext allarch - -SRC_URI[archive.sha256sum] = "2d6baa011ee97804c7561f7e1cbd8d4763e30b55b8818dda78f9f75afb8d8d05" - -FILES:${PN} += " \ - ${datadir}/backgrounds \ - ${datadir}/gnome-background-properties \ -" - -RDEPENDS:${PN} += "libjxl" diff --git a/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_50.0.bb b/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_50.0.bb new file mode 100644 index 00000000000..a898e13418c --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_50.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "GNOME wallpapers" +LICENSE = "CC-BY-SA-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=b52fb0a6df395efb7047cb6fc56bfd7e" + +SECTION = "x11/gnome" + +inherit gnomebase gettext allarch + +SRC_URI[archive.sha256sum] = "1acdba7acb4f34c7321febc6273444344fd55fd593611d446de70860183b52b8" + +FILES:${PN} += " \ + ${datadir}/backgrounds \ + ${datadir}/gnome-background-properties \ +" + +RDEPENDS:${PN} += "libjxl" diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb index 1ceff5ffcff..8490e3d161d 100644 --- a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb +++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb @@ -34,6 +34,6 @@ do_install:append() { FILES:${PN} += "${datadir}/gnome-bluetooth" # offer alternate bluetooth-sendto -RRECOMMENS:${PN} += "gnome-bluetooth" +RRECOMMENDS:${PN} += "gnome-bluetooth" RDEPENDS:${PN} += "bluez5" diff --git a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_48.0.bb b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_48.0.bb deleted file mode 100644 index 3aa353748be..00000000000 --- a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_48.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "GNOME Chess is a 2D chess game, where games can be played between a combination of human and computer players." -HOMEPAGE = "https://wiki.gnome.org/Apps/Chess" -LICENSE = "GPL-3.0-only" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl" - -GTKIC_VERSION = "4" - -DEPENDS = " \ - appstream-glib-native \ - cairo \ - desktop-file-utils-native \ - glib-2.0 \ - gtk4 \ - itstool-native \ - libadwaita \ - librsvg \ - pango \ -" - -RRECOMMENDS:${PN} = "gnuchess" - -SRC_URI = "git://github.com/GNOME/gnome-chess.git;protocol=https;branch=main" - -inherit meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings - -GIR_MESON_OPTION = "" - -SRCREV = "b0bf5288438f74fcb455e1e49f855b4964a2c7cb" - -FILES:${PN} += "${datadir}" diff --git a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_50.0.bb b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_50.0.bb new file mode 100644 index 00000000000..e57bdd39f2f --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_50.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "GNOME Chess is a 2D chess game, where games can be played between a combination of human and computer players." +HOMEPAGE = "https://wiki.gnome.org/Apps/Chess" +LICENSE = "GPL-3.0-only" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl" + +GTKIC_VERSION = "4" + +DEPENDS = " \ + appstream-glib-native \ + cairo \ + desktop-file-utils-native \ + glib-2.0 \ + gtk4 \ + itstool-native \ + libadwaita \ + librsvg \ + pango \ +" + +RRECOMMENDS:${PN} = "gnuchess" + +SRC_URI = "git://github.com/GNOME/gnome-chess.git;protocol=https;branch=main;tag=${PV}" + +inherit meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings + +GIR_MESON_OPTION = "" + +SRCREV = "079ef83fe6c538be9178b03999724d5f4649bc69" + +FILES:${PN} += "${datadir}" diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.55.1.bb b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.55.1.bb deleted file mode 100644 index 8edbd8411d5..00000000000 --- a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.55.1.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME" -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36" - -GTKIC_VERSION = "4" -inherit gnomebase gsettings gobject-introspection gi-docgen gtk-icon-cache mime-xdg vala features_check -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'goabackend', 'opengl', '', d)}" - -DEPENDS += "gdk-pixbuf dbus glib-2.0 gcr keyutils" - -SRC_URI[archive.sha256sum] = "a0b50fb75553c1e360713a827321cd17e2f91a735b8205ba5fd0ff374b26108b" - -PACKAGECONFIG ?= "goabackend kerberos owncloud google" - -PACKAGECONFIG[goabackend] = "-Dgoabackend=true,-Dgoabackend=false,gtk4 libadwaita json-glib libxml2 libsoup rest libsecret webkitgtk" -PACKAGECONFIG[kerberos] = "-Dkerberos=true, -Dkerberos=false,krb5" -PACKAGECONFIG[exchange] = "-Dexchange=true, -Dexchange=false" -PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false" -PACKAGECONFIG[owncloud] = "-Downcloud=true, -Downcloud=false" -PACKAGECONFIG[man] = "-Dman=true, -Dman=false,libxslt-native docbook-xsl-stylesheets-native" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${libdir}/goa-1.0/web-extensions/*.so \ -" - -GIDOCGEN_MESON_OPTION = 'documentation' - -# looked into pkg-config file: it is not a bug - they mean it -FILES:${PN}-dev += "${libdir}/goa-1.0/include" diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.1.bb b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.1.bb new file mode 100644 index 00000000000..6b80df77817 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36" + +GTKIC_VERSION = "4" +inherit gnomebase gsettings gobject-introspection gi-docgen gtk-icon-cache mime-xdg vala features_check +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'goabackend', 'opengl', '', d)}" + +DEPENDS += "gdk-pixbuf dbus glib-2.0 gcr keyutils" + +SRC_URI[archive.sha256sum] = "9ec1900cc51409c2067c07c828c10be06fe3bf68d2999bb72d7d5ed325ed9bbc" + +PACKAGECONFIG ?= "goabackend kerberos owncloud google" + +PACKAGECONFIG[goabackend] = "-Dgoabackend=true,-Dgoabackend=false,gtk4 libadwaita json-glib libxml2 libsoup rest libsecret webkitgtk" +PACKAGECONFIG[kerberos] = "-Dkerberos=true, -Dkerberos=false,krb5" +PACKAGECONFIG[exchange] = "-Dexchange=true, -Dexchange=false" +PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false" +PACKAGECONFIG[owncloud] = "-Downcloud=true, -Downcloud=false" +PACKAGECONFIG[man] = "-Dman=true, -Dman=false,libxslt-native docbook-xsl-stylesheets-native" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${libdir}/goa-1.0/web-extensions/*.so \ +" + +GIDOCGEN_MESON_OPTION = 'documentation' + +# looked into pkg-config file: it is not a bug - they mean it +FILES:${PN}-dev += "${libdir}/goa-1.0/include" diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_49.1.bb b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_49.1.bb index dfda4a3a138..a9b5aceb1de 100644 --- a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_49.1.bb +++ b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_49.1.bb @@ -18,23 +18,23 @@ DEPENDS = " \ upower \ libwacom \ networkmanager \ + alsa-lib \ " # all these are mandatory -REQUIRED_DISTRO_FEATURES = "polkit pulseaudio systemd gobject-introspection-data" +REQUIRED_DISTRO_FEATURES = "alsa polkit pulseaudio systemd gobject-introspection-data" GIR_MESON_OPTION = "" SRC_URI += "file://0001-gsd-smartcard-enum-types.c.in-fix-reproducibility-is.patch" SRC_URI[archive.sha256sum] = "2a9957fc4f91c3b9127b49484179bef485120d9c1c208e44d44e6a746e6cc1c1" PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11 alsa', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)} \ gudev \ smartcard \ cups \ " -PACKAGECONFIG[alsa] = "-Dalsa=true,-Dalsa=false,alsa-lib" PACKAGECONFIG[cups] = "-Dcups=true,-Dcups=false,cups" PACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev" PACKAGECONFIG[smartcard] = "-Dsmartcard=true,-Dsmartcard=false,nss" diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.3.bb b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.3.bb deleted file mode 100644 index c8a5e208997..00000000000 --- a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.3.bb +++ /dev/null @@ -1,94 +0,0 @@ -SUMMARY = "GNOME Shell is the graphical shell of the GNOME desktop environment" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - - -DEPENDS = " \ - libxml2-native \ - gtk4 \ - mutter \ - evolution-data-server \ - gcr \ - geocode-glib \ - gjs \ - gnome-autoar \ - gnome-desktop \ - gnome-control-center \ - polkit \ - pipewire \ - libsoup-3.0 \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'startup-notification', d)} \ - ibus \ - gsettings-desktop-schemas \ -" - -inherit gnomebase gsettings gettext gobject-introspection gtk-icon-cache features_check bash-completion - -REQUIRED_DISTRO_FEATURES = "polkit systemd pam" - -GTKIC_VERSION = "4" -GTKDOC_MESON_OPTION = "gtk_doc" -GIR_MESON_OPTION = "" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" - -SRC_URI += "file://0001-shell-app-usage.c-only-include-x11-headers-if-HAVE_X.patch" -SRC_URI[archive.sha256sum] = "fb0203fc748593f14e51732618e1f042525fd719764a0fdb0ee3f6fe413a9b2b" - -PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth" -PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false,networkmanager libsecret,networkmanager" -PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd" - -EXTRA_OEMESON += " \ - -Dtests=false \ - -Dman=false \ - --cross-file=${WORKDIR}/meson-${PN}.cross \ -" - -do_write_config:append() { - cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross < -Date: Thu, 25 Dec 2025 20:04:49 +0100 -Subject: [PATCH] meson.build: dont look for flatpak http_backend variable - -flatpak 1.17.1 release dropped libsoup2 support: -[https://github.com/flatpak/flatpak/blob/c324778b0720cb2d01c217fdc70358e232c38b4d/NEWS#L20] - -* Drop libsoup2 support in favor of libcurl. The `http_backend` build option has - been dropped as well. (#6395) - -gnome-software still searches for the http_backend variable and fails: - ../sources/gnome-software-49.1/meson.build:218:32: ERROR: Could not get pkg-config variable and no default provided for = 1.14.1']> - -Signed-off-by: Markus Volk - -Upstream-Status: Inappropriate ---- - meson.build | 20 +------------------- - 1 file changed, 1 insertion(+), 19 deletions(-) - -diff --git a/meson.build b/meson.build -index 3704e2abc..7e0496a22 100644 ---- a/meson.build -+++ b/meson.build -@@ -212,26 +212,8 @@ if get_option('fwupd') - endif - - if get_option('flatpak') -- flatpak = dependency('flatpak', version : '>= 1.14.1') -+ flatpak = dependency('flatpak', version : '>= 1.17.1') - ostree = dependency('ostree-1') -- -- flatpak_httpbackend = flatpak.get_variable('httpbackend') -- if flatpak_httpbackend == 'soup' -- flatpak_soupapiversion = flatpak.get_variable('soupapiversion', default_value: '2') -- if flatpak_soupapiversion.version_compare('< 3') -- error('''Flatpak library has been built with 'libsoup2' http backend, which conflicts with 'libsoup3' used by gnome-software. -- --You can either: -- --1. Build gnome-software without flatpak support (with -Dflatpak=false) or --2. Rebuild flatpak library with http backend other than 'libsoup2'.''') -- else -- flatpak_summary = '@0@ (@1@)'.format(flatpak_httpbackend, flatpak_soupapiversion) -- endif -- else -- flatpak_summary = flatpak_httpbackend -- endif -- summary('Flatpak http backend', '@0@'.format(flatpak_summary), section : 'Misc') - endif - - if get_option('malcontent') --- -2.52.0 - diff --git a/meta-gnome/recipes-gnome/gnome-software/gnome-software_49.2.bb b/meta-gnome/recipes-gnome/gnome-software/gnome-software_49.2.bb deleted file mode 100644 index 5c8be9bfb10..00000000000 --- a/meta-gnome/recipes-gnome/gnome-software/gnome-software_49.2.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "GNOME Software allows users to easily find, discover and install apps." -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -GTKDOC_MESON_OPTION ?= "gtk_doc" - -inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gtk-doc mime mime-xdg gettext upstream-version-is-even features_check pkgconfig - -REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" - -DEPENDS += " \ - appstream \ - gdk-pixbuf \ - glib-2.0 \ - glib-2.0-native \ - gsettings-desktop-schemas \ - gtk4 \ - iso-codes \ - json-glib \ - libadwaita \ - libgudev \ - libsoup-3.0 \ - libxmlb-native \ - polkit \ -" - -RDEPENDS:${PN} = "iso-codes" - -EXTRA_OEMESON += "-Dtests=false" - -SRC_URI += "file://0001-meson.build-dont-look-for-flatpak-http_backend-varia.patch" -SRC_URI[archive.sha256sum] = "b610b6932a8d666432bc58d6c78c4568cd63d442ae736db8be2c4ca01bbc946c" - -PACKAGECONFIG ?= "flatpak" -PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree" -PACKAGECONFIG[snap] = "-Dsnap=true,-Dsnap=false,snapd-glib" -PACKAGECONFIG[gtk_doc] = "-Dgtk_doc=true,-Dgtk_doc=false,libxslt-native docbook-xsl-stylesheets" -PACKAGECONFIG[man] = "-Dman=true,-Dman=false,libxslt-native docbook-xsl-stylesheets" -PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,gnome-packagekit,gnome-packagekit" -PACKAGECONFIG[fwupd] = "-Dfwupd=true,-Dfwupd=false,fwupd,fwupd" -PACKAGECONFIG[malcontent] = "-Dmalcontent=true,-Dmalcontent=false,malcontent" - -FILES:${PN} += "${datadir} ${systemd_user_unitdir}" -FILES:${PN}-dev += "${libdir}/gnome-software/libgnomesoftware.so" diff --git a/meta-gnome/recipes-gnome/gnome-software/gnome-software_50.0.bb b/meta-gnome/recipes-gnome/gnome-software/gnome-software_50.0.bb new file mode 100644 index 00000000000..0cbf2381812 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-software/gnome-software_50.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "GNOME Software allows users to easily find, discover and install apps." +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +GTKDOC_MESON_OPTION ?= "gtk_doc" + +inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gtk-doc mime mime-xdg gettext upstream-version-is-even features_check pkgconfig + +REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" + +DEPENDS += " \ + appstream \ + gdk-pixbuf \ + glib-2.0 \ + glib-2.0-native \ + gsettings-desktop-schemas \ + gtk4 \ + iso-codes \ + json-glib \ + libadwaita \ + libgudev \ + libsoup-3.0 \ + libxmlb-native \ + polkit \ +" + +RDEPENDS:${PN} = "iso-codes" + +EXTRA_OEMESON += "-Dtests=false" + +SRC_URI[archive.sha256sum] = "3515e2015f235b6abb7a342806008acb1f184c29d9c4ced3581f8ed4c1f1c241" + +PACKAGECONFIG ?= "flatpak" +PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree" +PACKAGECONFIG[snap] = "-Dsnap=true,-Dsnap=false,snapd-glib" +PACKAGECONFIG[gtk_doc] = "-Dgtk_doc=true,-Dgtk_doc=false,libxslt-native docbook-xsl-stylesheets" +PACKAGECONFIG[man] = "-Dman=true,-Dman=false,libxslt-native docbook-xsl-stylesheets" +PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,gnome-packagekit,gnome-packagekit" +PACKAGECONFIG[fwupd] = "-Dfwupd=true,-Dfwupd=false,fwupd,fwupd" +PACKAGECONFIG[malcontent] = "-Dmalcontent=true,-Dmalcontent=false,malcontent" + +FILES:${PN} += "${datadir} ${systemd_user_unitdir}" +FILES:${PN}-dev += "${libdir}/gnome-software/libgnomesoftware.so" diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_49.1.bb b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_49.1.bb deleted file mode 100644 index b23e8bb8f3d..00000000000 --- a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_49.1.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Gnome system monitor" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS = " \ - catch2 \ - gnome-common-native \ - libxml2-native \ - glib-2.0-native \ - glibmm-2.68 \ - gtkmm4 \ - gtk4 \ - libadwaita \ - libgtop \ - librsvg \ - polkit \ - libhandy \ -" - - -inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "polkit" - -SRC_URI[archive.sha256sum] = "915b6a321ada12eba7bf578c20c9fe5e41f55d532847cbd124bbddaaec11d70f" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd" - -RRECOMMENDS:${PN} = "adwaita-icon-theme" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ -" diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_50.0.bb b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_50.0.bb new file mode 100644 index 00000000000..1ae11dda3bd --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_50.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Gnome system monitor" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = " \ + catch2 \ + gnome-common-native \ + libxml2-native \ + glib-2.0-native \ + glibmm-2.68 \ + gtkmm4 \ + gtk4 \ + libadwaita \ + libgtop \ + librsvg \ + polkit \ + libhandy \ +" + + +inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "polkit" + +SRC_URI[archive.sha256sum] = "a4138aa754b4584c46de91fad1d685e27b12bc2457de761863b6be02d84c4862" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd" + +TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" + +RRECOMMENDS:${PN} = "adwaita-icon-theme" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ +" diff --git a/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_49.1.bb b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_49.1.bb deleted file mode 100644 index a8dd3d5cabe..00000000000 --- a/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_49.1.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "A simple text editor" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" - - -DEPENDS = " \ - desktop-file-utils-native \ - libadwaita \ - gtk4 \ - gtksourceview5 \ - editorconfig-core-c \ - libspelling \ -" - -GTKIC_VERSION = "4" - -inherit gnomebase gtk-icon-cache itstool gnome-help mime-xdg features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -SRC_URI[archive.sha256sum] = "f0448f247bb5979a50c60222c44c4511880ad474e25495765e5ed2246e54dbb1" - -FILES:${PN} += " \ - ${datadir}/metainfo \ - ${datadir}/dbus-1 \ -" diff --git a/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.0.bb b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.0.bb new file mode 100644 index 00000000000..81224f77180 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "A simple text editor" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" + + +DEPENDS = " \ + desktop-file-utils-native \ + libadwaita \ + gtk4 \ + gtksourceview5 \ + editorconfig-core-c \ + libspelling \ +" + +GTKIC_VERSION = "4" + +inherit gnomebase gtk-icon-cache itstool gnome-help mime-xdg features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI[archive.sha256sum] = "9dc299da4daa085423b5d48db59f0021ad55e74143a5cb8ab2e5ffe17967f45b" + +FILES:${PN} += " \ + ${datadir}/metainfo \ + ${datadir}/dbus-1 \ +" diff --git a/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.10.bb b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.10.bb new file mode 100644 index 00000000000..58aefbff2eb --- /dev/null +++ b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.10.bb @@ -0,0 +1,30 @@ +SUMMARY = "Image viewer and browser" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +DEPENDS = " \ + glib-2.0 \ + glib-2.0-native \ + bison-native \ + desktop-file-utils-native \ + exiv2 \ + gtk+3 \ + gsettings-desktop-schemas \ + zlib \ + jpeg \ + json-glib \ +" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'colord', '', d)} gstreamer lcms libjxl libraw librsvg libwebp" +PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[libwebp] = "-Dlibwebp=true,-Dlibwebp=false,libwebp" +PACKAGECONFIG[libjxl] = "-Dlibjxl=true,-Dlibjxl=false,libjxl" +PACKAGECONFIG[lcms] = "-Dlcms2=true,-Dlcms2=false,lcms" +PACKAGECONFIG[colord] = "-Dcolord=true,-Dcolord=false,colord" +PACKAGECONFIG[librsvg] = "-Dlibrsvg=true,-Dlibrsvg=false,librsvg" +PACKAGECONFIG[libraw] = "-Dlibraw=true,-Dlibraw=false,libraw" + +inherit gnomebase gnome-help gsettings itstool gtk-icon-cache mime-xdg +SRC_URI[archive.sha256sum] = "3222344653cd6fb5d7981b73951ae3d90c414f74220a8b1c8665b25574284c75" + +FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.7.bb b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.7.bb deleted file mode 100644 index 8e82b86285d..00000000000 --- a/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.7.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Image viewer and browser" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -DEPENDS = " \ - glib-2.0 \ - glib-2.0-native \ - bison-native \ - gtk+3 \ - gsettings-desktop-schemas \ - zlib \ - jpeg \ - json-glib \ -" - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'colord', '', d)} exiv2 gstreamer lcms libjxl libraw librsvg libwebp" -PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[libwebp] = "-Dlibwebp=true,-Dlibwebp=false,libwebp" -PACKAGECONFIG[libjxl] = "-Dlibjxl=true,-Dlibjxl=false,libjxl" -PACKAGECONFIG[lcms] = "-Dlcms2=true,-Dlcms2=false,lcms" -PACKAGECONFIG[colord] = "-Dcolord=true,-Dcolord=false,colord" -PACKAGECONFIG[exiv2] = "-Dexiv2=true,-Dexiv2=false,exiv2" -PACKAGECONFIG[librsvg] = "-Dlibrsvg=true,-Dlibrsvg=false,librsvg" -PACKAGECONFIG[libraw] = "-Dlibraw=true,-Dlibraw=false,libraw" - -# webservices would require libsecret and webkitgtk3 built with deprecated libsoup2 -EXTRA_OEMESON += "-Dwebservices=false -Dlibsecret=false" - -inherit gnomebase gnome-help gsettings itstool mime-xdg - -SRC_URI[archive.sha256sum] = "ee12d24cf231010241f758d6c95b9d53a7381278fa76b6a518b3d09b371efaec" - -FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.18.0.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.18.0.bb deleted file mode 100644 index 75010a67b8b..00000000000 --- a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.18.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Portable C library for multiline text editing" -HOMEPAGE = "http://projects.gnome.org/gtksourceview/" - -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" - -DEPENDS = " \ - fribidi \ - glib-2.0-native \ - fontconfig \ - gtk4 \ - libxml2 \ - libpcre2 \ - pango \ -" - -inherit gnomebase lib_package gettext features_check gi-docgen gtk-icon-cache gobject-introspection vala - -REQUIRED_DISTRO_FEATURES = "opengl" - -GNOMEBN = "gtksourceview" - -SRC_URI[archive.sha256sum] = "051a78fe38f793328047e5bcd6d855c6425c0b480c20d9432179e356742c6ac0" -S = "${UNPACKDIR}/gtksourceview-${PV}" - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GIDOCGEN_MESON_OPTION = "documentation" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)}" -PACKAGECONFIG[vulkan] = ",,vulkan-loader vulkan-headers" - -FILES:${PN} += "${datadir}/gtksourceview-5" diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.19.0.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.19.0.bb new file mode 100644 index 00000000000..075fb754ecf --- /dev/null +++ b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.19.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "Portable C library for multiline text editing" +HOMEPAGE = "http://projects.gnome.org/gtksourceview/" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +DEPENDS = " \ + fribidi \ + glib-2.0-native \ + fontconfig \ + gtk4 \ + libxml2 \ + libpcre2 \ + pango \ +" + +inherit gnomebase lib_package gettext features_check gi-docgen gtk-icon-cache gobject-introspection vala + +REQUIRED_DISTRO_FEATURES = "opengl" + +GNOMEBN = "gtksourceview" + +SRC_URI[archive.sha256sum] = "242bf2c3dc51c44402294b584141399afe7cf87bfacf2b958685cece964301c5" +S = "${UNPACKDIR}/gtksourceview-${PV}" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GIDOCGEN_MESON_OPTION = "documentation" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)}" +PACKAGECONFIG[vulkan] = ",,vulkan-loader vulkan-headers" + +FILES:${PN} += "${datadir}/gtksourceview-5" diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.58.1.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.58.1.bb deleted file mode 100644 index 6dfed59d862..00000000000 --- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.58.1.bb +++ /dev/null @@ -1,87 +0,0 @@ -DESCRIPTION = "gvfs is a userspace virtual filesystem" -LICENSE = "LGPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" - -inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check - -DEPENDS += "\ - dbus \ - glib-2.0 \ - glib-2.0-native \ - gsettings-desktop-schemas \ - libgudev \ - libsecret \ - libxml2 \ - shadow-native \ -" - -RDEPENDS:${PN} += "gsettings-desktop-schemas" - -SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" -SRC_URI[archive.sha256sum] = "fc537d6bbab1ffa76972df7d4a1819b0c0fe19ebd1dfe82421d1f32e14b5dc3b" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -EXTRA_OEMESON = " \ - -Dbluray=false \ -" - -PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash" - -FILES:${PN} += " \ - ${datadir}/glib-2.0 \ - ${datadir}/GConf \ - ${datadir}/dbus-1/services \ - ${libdir}/gio/modules/*.so \ - ${libdir}/tmpfiles.d \ - ${systemd_user_unitdir} \ -" - -FILES:${PN}-dbg += "${libdir}/gio/modules/.debug/*" -FILES:${PN}-dev += "${libdir}/gio/modules/*.la" - -FILES:gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount" -FILES:gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount" -FILES:gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount" - -RRECOMMENDS:gvfsd-ftp += "openssh-sftp openssh-ssh" - -PACKAGECONFIG ?= "libgphoto2 \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \ - ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \ - " - -PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2" -PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit" -PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist" -PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive" -PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi" -PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr" -PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt" -PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts" -PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false, libgdata" -PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0" -PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp" -PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd" -PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2" -PACKAGECONFIG[nfs] = "-Dnfs=true, -Dnfs=false,libnfs" -PACKAGECONFIG[onedrive] = "-Donedrive=true, -Donedrive=false, msgraph" -PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba" -PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd" - -# needs meta-filesystems -PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3" - -# libcdio-paranoia recipe doesn't exist yet -PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia" - -do_install:append() { - # After rebuilds (not from scracth) it can happen that the executables in - # libexec ar missing executable permission flag. Not sure but it came up - # during transition to meson. Looked into build files and logs but could - # not find suspicious - for exe in `find ${D}/${libexecdir}`; do - chmod +x $exe - done -} diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.60.0.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.60.0.bb new file mode 100644 index 00000000000..2fda7cff75f --- /dev/null +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.60.0.bb @@ -0,0 +1,87 @@ +DESCRIPTION = "gvfs is a userspace virtual filesystem" +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" + +inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check + +DEPENDS += "\ + dbus \ + glib-2.0 \ + glib-2.0-native \ + gsettings-desktop-schemas \ + libgudev \ + libsecret \ + libxml2 \ + shadow-native \ +" + +RDEPENDS:${PN} += "gsettings-desktop-schemas" + +SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" +SRC_URI[archive.sha256sum] = "648273f069e92c7e3c013b92148e82c901f08044e2b3b14c6cfbd52269f6b646" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +EXTRA_OEMESON = " \ + -Dbluray=false \ + -Dgoogle=false \ +" + +PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash" + +FILES:${PN} += " \ + ${datadir}/glib-2.0 \ + ${datadir}/GConf \ + ${datadir}/dbus-1/services \ + ${libdir}/gio/modules/*.so \ + ${libdir}/tmpfiles.d \ + ${systemd_user_unitdir} \ +" + +FILES:${PN}-dbg += "${libdir}/gio/modules/.debug/*" +FILES:${PN}-dev += "${libdir}/gio/modules/*.la" + +FILES:gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount" +FILES:gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount" +FILES:gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount" + +RRECOMMENDS:gvfsd-ftp += "openssh-sftp openssh-ssh" + +PACKAGECONFIG ?= "libgphoto2 \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \ + ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \ + " + +PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2" +PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit" +PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist" +PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive" +PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi" +PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr" +PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt" +PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts" +PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0" +PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp" +PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd" +PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2" +PACKAGECONFIG[nfs] = "-Dnfs=true, -Dnfs=false,libnfs" +PACKAGECONFIG[onedrive] = "-Donedrive=true, -Donedrive=false, msgraph" +PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba" +PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd" + +# needs meta-filesystems +PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3" + +# libcdio-paranoia recipe doesn't exist yet +PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia" + +do_install:append() { + # After rebuilds (not from scracth) it can happen that the executables in + # libexec ar missing executable permission flag. Not sure but it came up + # during transition to meson. Looked into build files and logs but could + # not find suspicious + for exe in `find ${D}/${libexecdir}`; do + chmod +x $exe + done +} diff --git a/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb b/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb index 5aaf680e8ca..af2e31a04d7 100644 --- a/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb +++ b/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb @@ -8,7 +8,7 @@ inherit features_check gobject-introspection meson pkgconfig vala REQUIRED_DISTRO_FEATURES = "opengl" SRCREV = "941560af497148588783db991e8135f52a82574d" -SRC_URI = "git://github.com/gnome/libchamplain.git;branch=master;protocol=https" +SRC_URI = "git://github.com/gnome/libchamplain.git;branch=master;protocol=https;tag=${PV}" # Compilation fails on 32-bit targets, due to GTimeVal usage, which assumes that # time_t is always long, which is not always the case. diff --git a/meta-gnome/recipes-gnome/libgdata/libgdata/0001-Drop-usage-of-deprecated-GTimeVal.patch b/meta-gnome/recipes-gnome/libgdata/libgdata/0001-Drop-usage-of-deprecated-GTimeVal.patch deleted file mode 100644 index 6fb52d6d529..00000000000 --- a/meta-gnome/recipes-gnome/libgdata/libgdata/0001-Drop-usage-of-deprecated-GTimeVal.patch +++ /dev/null @@ -1,1134 +0,0 @@ -From ef8722baa444958601bfddfee3a977ccf4f7c02c Mon Sep 17 00:00:00 2001 -From: Daniel Kolesa -Date: Tue, 16 Mar 2021 17:22:08 +0100 -Subject: [PATCH] drop usage of deprecated GTimeVal - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libgdata/-/commit/ef8722baa444958601bfddfee3a977ccf4f7c02c] -Signed-off-by: Gyorgy Sarvari - ---- - demos/calendar/calendar-cli.c | 90 ++++++++++++------- - demos/tasks/tasks-cli.c | 31 ++++--- - demos/youtube/youtube-cli.c | 9 +- - gdata/gdata-access-rule.c | 4 +- - gdata/gdata-batch-operation.c | 8 +- - gdata/gdata-oauth1-authorizer.c | 6 +- - gdata/gdata-parser.c | 48 +++++----- - gdata/gdata-service.c | 5 +- - .../services/calendar/gdata-calendar-event.c | 18 ++-- - .../services/calendar/gdata-calendar-query.c | 6 +- - .../contacts/gdata-contacts-contact.c | 4 +- - .../services/contacts/gdata-contacts-group.c | 4 +- - .../documents/gdata-documents-query.c | 8 +- - .../picasaweb/gdata-picasaweb-album.c | 8 +- - .../services/picasaweb/gdata-picasaweb-file.c | 8 +- - gdata/services/youtube/gdata-youtube-query.c | 18 ++-- - .../services/youtube/gdata-youtube-service.c | 10 ++- - gdata/tests/calendar.c | 60 +++++++------ - gdata/tests/contacts.c | 22 +++-- - gdata/tests/general.c | 7 +- - gdata/tests/perf.c | 15 ++-- - gdata/tests/picasaweb.c | 14 +-- - gdata/tests/youtube.c | 14 +-- - 23 files changed, 231 insertions(+), 186 deletions(-) - -diff --git a/demos/calendar/calendar-cli.c b/demos/calendar/calendar-cli.c -index a1d84f67..4f601f48 100644 ---- a/demos/calendar/calendar-cli.c -+++ b/demos/calendar/calendar-cli.c -@@ -38,13 +38,13 @@ print_usage (char *argv[]) - return -1; - } - --/* Convert a GTimeVal to an ISO 8601 date string (without a time component). */ -+/* Convert a unix time to an ISO 8601 date string (without a time component). */ - static gchar * --tv_to_iso8601_date (GTimeVal *tv) -+tv_to_iso8601_date (gint64 tv) - { - struct tm *tm; - -- tm = gmtime (&tv->tv_sec); -+ tm = gmtime (&tv); - - return g_strdup_printf ("%04d-%02d-%02d", - tm->tm_year + 1900, -@@ -81,8 +81,9 @@ print_event (GDataCalendarEvent *event) - { - const gchar *title, *id, *description, *status, *visibility; - const gchar *transparency, *uid; -- GTimeVal date_published_tv = { 0, }; -- GTimeVal date_edited_tv = { 0, }; -+ GDateTime *tmp; -+ gint64 date_published_tv; -+ gint64 date_edited_tv; - gchar *date_published = NULL; /* owned */ - gchar *date_edited = NULL; /* owned */ - guint sequence; -@@ -95,10 +96,14 @@ print_event (GDataCalendarEvent *event) - title = gdata_entry_get_title (GDATA_ENTRY (event)); - id = gdata_entry_get_id (GDATA_ENTRY (event)); - description = gdata_entry_get_content (GDATA_ENTRY (event)); -- date_published_tv.tv_sec = gdata_entry_get_published (GDATA_ENTRY (event)); -- date_published = g_time_val_to_iso8601 (&date_published_tv); -- date_edited_tv.tv_sec = gdata_calendar_event_get_edited (event); -- date_edited = g_time_val_to_iso8601 (&date_edited_tv); -+ date_published_tv = gdata_entry_get_published (GDATA_ENTRY (event)); -+ tmp = g_date_time_new_from_unix_utc (date_published_tv); -+ date_published = g_date_time_format_iso8601 (tmp); -+ g_date_time_unref (tmp); -+ date_edited_tv = gdata_calendar_event_get_edited (event); -+ tmp = g_date_time_new_from_unix_utc (date_edited_tv); -+ date_edited = g_date_time_format_iso8601 (tmp); -+ g_date_time_unref (tmp); - status = gdata_calendar_event_get_status (event); - visibility = gdata_calendar_event_get_visibility (event); - transparency = gdata_calendar_event_get_transparency (event); -@@ -155,20 +160,25 @@ print_event (GDataCalendarEvent *event) - - for (; times != NULL; times = times->next) { - GDataGDWhen *when; -- GTimeVal start_time = { 0, }, end_time = { 0, }; -+ gint64 start_time, end_time; - gchar *start = NULL, *end = NULL; /* owned */ - - when = GDATA_GD_WHEN (times->data); - -- start_time.tv_sec = gdata_gd_when_get_start_time (when); -- end_time.tv_sec = gdata_gd_when_get_end_time (when); -+ start_time = gdata_gd_when_get_start_time (when); -+ end_time = gdata_gd_when_get_end_time (when); - - if (gdata_gd_when_is_date (when)) { -- start = tv_to_iso8601_date (&start_time); -- end = tv_to_iso8601_date (&end_time); -+ start = tv_to_iso8601_date (start_time); -+ end = tv_to_iso8601_date (end_time); - } else { -- start = g_time_val_to_iso8601 (&start_time); -- end = g_time_val_to_iso8601 (&end_time); -+ GDateTime *tmp; -+ tmp = g_date_time_new_from_unix_utc (start_time); -+ start = g_date_time_format_iso8601 (tmp); -+ g_date_time_unref (tmp); -+ tmp = g_date_time_new_from_unix_utc (end_time); -+ end = g_date_time_format_iso8601 (tmp); -+ g_date_time_unref (tmp); - } - - g_print (" • %s to %s (%s)\n", -@@ -416,8 +426,7 @@ command_insert_event (int argc, char *argv[]) - GDataAuthorizer *authorizer = NULL; - GDataGDWhen *when = NULL; - gboolean is_date; -- gchar *start_with_time = NULL, *end_with_time = NULL; -- GTimeVal start_tv = { 0, }, end_tv = { 0, }; -+ GDateTime *start_tv = NULL, *end_tv = NULL; - gint i; - - if (argc < 7) { -@@ -454,25 +463,38 @@ command_insert_event (int argc, char *argv[]) - event = gdata_calendar_event_new (NULL); - gdata_entry_set_title (GDATA_ENTRY (event), title); - -- start_with_time = g_strconcat (start, "T00:00:00Z", NULL); -- end_with_time = g_strconcat (end, "T00:00:00Z", NULL); -- -- if (g_time_val_from_iso8601 (start, &start_tv) && -- g_time_val_from_iso8601 (end, &end_tv)) { -+ start_tv = g_date_time_new_from_iso8601 (start, NULL); -+ end_tv = g_date_time_new_from_iso8601 (end, NULL); -+ if (start_tv && end_tv) { - /* Includes time. */ - is_date = FALSE; -- } else if (g_time_val_from_iso8601 (start_with_time, &start_tv) && -- g_time_val_from_iso8601 (end_with_time, &end_tv)) { -- /* Does not include time. */ -- is_date = TRUE; - } else { -- g_printerr ("%s: Could not parse start time ‘%s’ and end time " -- "‘%s’ as ISO 8601.\n", argv[0], start, end); -- retval = 1; -- goto done; -+ gchar *start_with_time, *end_with_time; -+ -+ g_clear_pointer (&start_tv, g_date_time_unref); -+ g_clear_pointer (&end_tv, g_date_time_unref); -+ -+ start_with_time = g_strconcat (start, "T00:00:00Z", NULL); -+ end_with_time = g_strconcat (end, "T00:00:00Z", NULL); -+ -+ start_tv = g_date_time_new_from_iso8601 (start_with_time, NULL); -+ end_tv = g_date_time_new_from_iso8601 (end_with_time, NULL); -+ -+ g_free (start_with_time); -+ g_free (end_with_time); -+ -+ if (start_tv && end_tv) { -+ /* Does not include time. */ -+ is_date = TRUE; -+ } else { -+ g_printerr ("%s: Could not parse start time ‘%s’ and end time " -+ "‘%s’ as ISO 8601.\n", argv[0], start, end); -+ retval = 1; -+ goto done; -+ } - } - -- when = gdata_gd_when_new (start_tv.tv_sec, end_tv.tv_sec, is_date); -+ when = gdata_gd_when_new (g_date_time_to_unix (start_tv), g_date_time_to_unix (end_tv), is_date); - gdata_calendar_event_add_time (event, when); - g_object_unref (when); - -@@ -507,8 +529,8 @@ command_insert_event (int argc, char *argv[]) - print_event (inserted_event); - - done: -- g_free (start_with_time); -- g_free (end_with_time); -+ g_clear_pointer (&start_tv, g_date_time_unref); -+ g_clear_pointer (&end_tv, g_date_time_unref); - g_clear_object (&inserted_event); - g_clear_object (&event); - g_clear_object (&authorizer); -diff --git a/demos/tasks/tasks-cli.c b/demos/tasks/tasks-cli.c -index c795761a..ef4ae900 100644 ---- a/demos/tasks/tasks-cli.c -+++ b/demos/tasks/tasks-cli.c -@@ -67,35 +67,42 @@ print_task (GDataTasksTask *task) - { - const gchar *title, *id, *description, *parent_id, *position, *notes; - const gchar *status; -- GTimeVal date_published_tv = { 0, }; -+ GDateTime *tmp; -+ gint64 date_published_tv; - gchar *date_published = NULL; /* owned */ -- GTimeVal due_tv = { 0, }; -+ gint64 due_tv; - gchar *due = NULL; /* owned */ -- GTimeVal completed_tv = { 0, }; -+ gint64 completed_tv; - gchar *completed = NULL; /* owned */ - gboolean is_deleted, is_hidden; - - title = gdata_entry_get_title (GDATA_ENTRY (task)); - id = gdata_entry_get_id (GDATA_ENTRY (task)); - description = gdata_entry_get_content (GDATA_ENTRY (task)); -- date_published_tv.tv_sec = gdata_entry_get_published (GDATA_ENTRY (task)); -- date_published = g_time_val_to_iso8601 (&date_published_tv); -+ date_published_tv = gdata_entry_get_published (GDATA_ENTRY (task)); -+ tmp = g_date_time_new_from_unix_utc (date_published_tv); -+ date_published = g_date_time_format_iso8601 (tmp); -+ g_date_time_unref (tmp); - parent_id = gdata_tasks_task_get_parent (task); - position = gdata_tasks_task_get_position (task); - notes = gdata_tasks_task_get_notes (task); - status = gdata_tasks_task_get_status (task); -- due_tv.tv_sec = gdata_tasks_task_get_due (task); -- due = g_time_val_to_iso8601 (&due_tv); -- completed_tv.tv_sec = gdata_tasks_task_get_completed (task); -- completed = g_time_val_to_iso8601 (&completed_tv); -+ due_tv = gdata_tasks_task_get_due (task); -+ tmp = g_date_time_new_from_unix_utc (due_tv); -+ due = g_date_time_format_iso8601 (tmp); -+ g_date_time_unref (tmp); -+ completed_tv = gdata_tasks_task_get_completed (task); -+ tmp = g_date_time_new_from_unix_utc (completed_tv); -+ completed = g_date_time_format_iso8601 (tmp); -+ g_date_time_unref (tmp); - is_deleted = gdata_tasks_task_is_deleted (task); - is_hidden = gdata_tasks_task_is_hidden (task); - - g_print ("%s — %s\n", id, title); -- g_print (" Published: %s\n", date_published_tv.tv_sec != 0 ? date_published : "unknown"); -+ g_print (" Published: %s\n", date_published_tv != 0 ? date_published : "unknown"); - g_print (" Status: %s\n", format_status (status)); -- g_print (" Due: %s\n", due_tv.tv_sec != 0 ? due : "not set"); -- g_print (" Completed: %s\n", completed_tv.tv_sec != 0 ? completed : "not yet"); -+ g_print (" Due: %s\n", due_tv != 0 ? due : "not set"); -+ g_print (" Completed: %s\n", completed_tv != 0 ? completed : "not yet"); - g_print (" Deleted? %s\n", is_deleted ? "Yes" : "No"); - g_print (" Hidden? %s\n", is_hidden ? "Yes" : "No"); - g_print (" Position: %s\n", position); -diff --git a/demos/youtube/youtube-cli.c b/demos/youtube/youtube-cli.c -index 37ff4afc..e3e0e3dc 100644 ---- a/demos/youtube/youtube-cli.c -+++ b/demos/youtube/youtube-cli.c -@@ -46,7 +46,8 @@ print_video (GDataYouTubeVideo *video) - { - const gchar *title, *player_uri, *id, *description; - GList/**/ *thumbnails; -- GTimeVal date_published_tv = { 0, }; -+ GDateTime *tmp; -+ gint64 date_published_tv; - gchar *date_published = NULL; /* owned */ - guint duration; /* seconds */ - guint rating_min = 0, rating_max = 0, rating_count = 0; -@@ -57,8 +58,10 @@ print_video (GDataYouTubeVideo *video) - id = gdata_entry_get_id (GDATA_ENTRY (video)); - description = gdata_youtube_video_get_description (video); - thumbnails = gdata_youtube_video_get_thumbnails (video); -- date_published_tv.tv_sec = gdata_entry_get_published (GDATA_ENTRY (video)); -- date_published = g_time_val_to_iso8601 (&date_published_tv); -+ date_published_tv = gdata_entry_get_published (GDATA_ENTRY (video)); -+ tmp = g_date_time_new_from_unix_utc (date_published_tv); -+ date_published = g_date_time_format_iso8601 (tmp); -+ g_date_time_unref (tmp); - duration = gdata_youtube_video_get_duration (video); - gdata_youtube_video_get_rating (video, &rating_min, &rating_max, - &rating_count, &rating_average); -diff --git a/gdata/gdata-access-rule.c b/gdata/gdata-access-rule.c -index 9fd1ce95..0064623f 100644 ---- a/gdata/gdata-access-rule.c -+++ b/gdata/gdata-access-rule.c -@@ -257,12 +257,10 @@ gdata_access_rule_constructor (GType type, guint n_construct_params, GObjectCons - /* We can't create these in init, or they would collide with the group and control created when parsing the XML */ - if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) { - GDataAccessRulePrivate *priv = GDATA_ACCESS_RULE (object)->priv; -- GTimeVal time_val; - - /* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause - * setting it from parse_xml() to fail (duplicate element). */ -- g_get_current_time (&time_val); -- priv->edited = time_val.tv_sec; -+ priv->edited = g_get_real_time () / G_USEC_PER_SEC; - - /* Set up the role and scope type */ - priv->role = g_strdup (GDATA_ACCESS_ROLE_NONE); -diff --git a/gdata/gdata-batch-operation.c b/gdata/gdata-batch-operation.c -index f78801ed..212fcb0b 100644 ---- a/gdata/gdata-batch-operation.c -+++ b/gdata/gdata-batch-operation.c -@@ -598,7 +598,7 @@ gdata_batch_operation_run (GDataBatchOperation *self, GCancellable *cancellable, - GDataBatchOperationPrivate *priv = self->priv; - SoupMessage *message; - GDataFeed *feed; -- GTimeVal updated; -+ gint64 updated; - gchar *upload_data; - guint status; - GHashTableIter iter; -@@ -638,9 +638,9 @@ gdata_batch_operation_run (GDataBatchOperation *self, GCancellable *cancellable, - message = _gdata_service_build_message (priv->service, priv->authorization_domain, SOUP_METHOD_POST, priv->feed_uri, NULL, TRUE); - - /* Build the request */ -- g_get_current_time (&updated); -+ updated = g_get_real_time () / G_USEC_PER_SEC; - feed = _gdata_feed_new (GDATA_TYPE_FEED, "Batch operation feed", -- "batch1", updated.tv_sec); -+ "batch1", updated); - - g_hash_table_iter_init (&iter, priv->operations); - while (g_hash_table_iter_next (&iter, &op_id, (gpointer*) &op) == TRUE) { -@@ -658,7 +658,7 @@ gdata_batch_operation_run (GDataBatchOperation *self, GCancellable *cancellable, - g_free (entry_uri); - - gdata_entry_set_title (entry, "Batch operation query"); -- _gdata_entry_set_updated (entry, updated.tv_sec); -+ _gdata_entry_set_updated (entry, updated); - - _gdata_entry_set_batch_data (entry, op->id, op->type); - _gdata_feed_add_entry (feed, entry); -diff --git a/gdata/gdata-oauth1-authorizer.c b/gdata/gdata-oauth1-authorizer.c -index 7b857ac0..6d5fd5ec 100644 ---- a/gdata/gdata-oauth1-authorizer.c -+++ b/gdata/gdata-oauth1-authorizer.c -@@ -471,7 +471,7 @@ sign_message (GDataOAuth1Authorizer *self, SoupMessage *message, const gchar *to - gchar *uri, *signature, *timestamp; - char *nonce; - gboolean is_first = TRUE; -- GTimeVal time_val; -+ gint64 time_val; - guchar signature_buf[HMAC_SHA1_LEN]; - gsize signature_buf_len; - GHmac *signature_hmac; -@@ -494,8 +494,8 @@ sign_message (GDataOAuth1Authorizer *self, SoupMessage *message, const gchar *to - - /* Add various standard parameters to the list (note: this modifies the hash table belonging to the caller) */ - nonce = oauth_gen_nonce (); -- g_get_current_time (&time_val); -- timestamp = g_strdup_printf ("%li", time_val.tv_sec); -+ time_val = g_get_real_time () / G_USEC_PER_SEC; -+ timestamp = g_strdup_printf ("%li", time_val); - - if (parameters == NULL) { - parameters = g_hash_table_new (g_str_hash, g_str_equal); -diff --git a/gdata/gdata-parser.c b/gdata/gdata-parser.c -index c1cfe00d..d6ab92e2 100644 ---- a/gdata/gdata-parser.c -+++ b/gdata/gdata-parser.c -@@ -207,21 +207,22 @@ gboolean - gdata_parser_int64_from_date (const gchar *date, gint64 *_time) - { - gchar *iso8601_date; -- gboolean success; -- GTimeVal time_val; -+ g_autoptr(GDateTime) time_val = NULL; - - if (strlen (date) != 10 && strlen (date) != 8) - return FALSE; - - /* Note: This doesn't need translating, as it's outputting an ISO 8601 time string */ - iso8601_date = g_strdup_printf ("%sT00:00:00Z", date); -- success = g_time_val_from_iso8601 (iso8601_date, &time_val); -+ time_val = g_date_time_new_from_iso8601 (iso8601_date, NULL); - g_free (iso8601_date); - -- if (success == TRUE) -- *_time = time_val.tv_sec; -+ if (time_val) { -+ *_time = g_date_time_to_unix (time_val); -+ return TRUE; -+ } - -- return success; -+ return FALSE; - } - - gchar * -@@ -240,21 +241,24 @@ gdata_parser_date_from_int64 (gint64 _time) - gchar * - gdata_parser_int64_to_iso8601 (gint64 _time) - { -- GTimeVal time_val; -+ g_autoptr(GDateTime) time_val = NULL; -+ -+ time_val = g_date_time_new_from_unix_utc (_time); - -- time_val.tv_sec = _time; -- time_val.tv_usec = 0; -+ if (!time_val) -+ return NULL; - -- return g_time_val_to_iso8601 (&time_val); -+ return g_date_time_format_iso8601 (time_val); - } - - gboolean - gdata_parser_int64_from_iso8601 (const gchar *date, gint64 *_time) - { -- GTimeVal time_val; -+ g_autoptr(GDateTime) time_val = NULL; - -- if (g_time_val_from_iso8601 (date, &time_val) == TRUE) { -- *_time = time_val.tv_sec; -+ time_val = g_date_time_new_from_iso8601 (date, NULL); -+ if (time_val) { -+ *_time = g_date_time_to_unix (time_val); - return TRUE; - } - -@@ -479,7 +483,7 @@ gdata_parser_int64_time_from_element (xmlNode *element, const gchar *element_nam - gint64 *output, gboolean *success, GError **error) - { - xmlChar *text; -- GTimeVal time_val; -+ g_autoptr(GDateTime) time_val = NULL; - - /* Check it's the right element */ - if (xmlStrcmp (element->name, (xmlChar*) element_name) != 0) -@@ -499,14 +503,15 @@ gdata_parser_int64_time_from_element (xmlNode *element, const gchar *element_nam - return TRUE; - } - -- /* Attempt to parse the string as a GTimeVal */ -- if (g_time_val_from_iso8601 ((gchar*) text, &time_val) == FALSE) { -+ /* Attempt to parse the string as a GDateTune */ -+ time_val = g_date_time_new_from_iso8601 ((gchar *) text, NULL); -+ if (!time_val) { - *success = gdata_parser_error_not_iso8601_format (element, (gchar*) text, error); - xmlFree (text); - return TRUE; - } - -- *output = time_val.tv_sec; -+ *output = g_date_time_to_unix (time_val); - - /* Success! */ - xmlFree (text); -@@ -911,7 +916,7 @@ gdata_parser_int64_time_from_json_member (JsonReader *reader, const gchar *membe - gint64 *output, gboolean *success, GError **error) - { - const gchar *text; -- GTimeVal time_val; -+ g_autoptr(GDateTime) time_val = NULL; - const GError *child_error = NULL; - - /* Check if there's such element */ -@@ -935,14 +940,15 @@ gdata_parser_int64_time_from_json_member (JsonReader *reader, const gchar *membe - return TRUE; - } - -- /* Attempt to parse the string as a GTimeVal */ -- if (g_time_val_from_iso8601 ((gchar*) text, &time_val) == FALSE) { -+ /* Attempt to parse the string as a GDateTime */ -+ time_val = g_date_time_new_from_iso8601 (text, NULL); -+ if (!time_val) { - *success = gdata_parser_error_not_iso8601_format_json (reader, text, error); - return TRUE; - } - - /* Success! */ -- *output = time_val.tv_sec; -+ *output = g_date_time_to_unix (time_val); - *success = TRUE; - - return TRUE; -diff --git a/gdata/gdata-service.c b/gdata/gdata-service.c -index fce970ec..40fbaf84 100644 ---- a/gdata/gdata-service.c -+++ b/gdata/gdata-service.c -@@ -956,12 +956,9 @@ __gdata_service_query (GDataService *self, GDataAuthorizationDomain *domain, con - - /* Are we off the end of the final page? */ - if (query != NULL && _gdata_query_is_finished (query)) { -- GTimeVal updated; -- - /* Build an empty dummy feed to signify the end of the list. */ -- g_get_current_time (&updated); - return _gdata_feed_new (klass->feed_type, "Empty feed", "feed1", -- updated.tv_sec); -+ g_get_real_time () / G_USEC_PER_SEC); - } - - /* Send the request. */ -diff --git a/gdata/services/calendar/gdata-calendar-event.c b/gdata/services/calendar/gdata-calendar-event.c -index a3a4d713..4cdf2700 100644 ---- a/gdata/services/calendar/gdata-calendar-event.c -+++ b/gdata/services/calendar/gdata-calendar-event.c -@@ -37,7 +37,7 @@ - * GDataGDWhere *where; - * GDataGDWho *who; - * GDataGDWhen *when; -- * GTimeVal current_time; -+ * gint64 current_time; - * GError *error = NULL; - * - * /* Create a service */ -@@ -58,8 +58,8 @@ - * gdata_calendar_event_add_person (event, who); - * g_object_unref (who); - * -- * g_get_current_time (¤t_time); -- * when = gdata_gd_when_new (current_time.tv_sec, current_time.tv_sec + 3600, FALSE); -+ * current_time = g_get_real_time () / G_USEC_PER_SEC; -+ * when = gdata_gd_when_new (current_time, current_time + 3600, FALSE); - * gdata_calendar_event_add_time (event, when); - * g_object_unref (when); - * -@@ -374,12 +374,10 @@ gdata_calendar_event_constructor (GType type, guint n_construct_params, GObjectC - - if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) { - GDataCalendarEventPrivate *priv = GDATA_CALENDAR_EVENT (object)->priv; -- GTimeVal time_val; - - /* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause - * setting it from parse_xml() to fail (duplicate element). */ -- g_get_current_time (&time_val); -- priv->edited = time_val.tv_sec; -+ priv->edited = g_get_real_time () / G_USEC_PER_SEC; - } - - return object; -@@ -554,7 +552,7 @@ date_object_from_json (JsonReader *reader, - if (json_reader_read_member (reader, "dateTime")) { - const gchar *date_string; - const GError *child_error; -- GTimeVal time_val; -+ GDateTime *time_val; - - date_string = json_reader_get_string_value (reader); - child_error = json_reader_get_error (reader); -@@ -567,13 +565,15 @@ date_object_from_json (JsonReader *reader, - return TRUE; - } - -- if (!g_time_val_from_iso8601 (date_string, &time_val)) { -+ time_val = g_date_time_new_from_iso8601 (date_string, NULL); -+ if (!time_val) { - *success = gdata_parser_error_not_iso8601_format_json (reader, date_string, error); - json_reader_end_member (reader); - return TRUE; - } - -- date_time = time_val.tv_sec; -+ date_time = g_date_time_to_unix (time_val); -+ g_date_time_unref (time_val); - is_date = FALSE; - found_member = TRUE; - } -diff --git a/gdata/services/calendar/gdata-calendar-query.c b/gdata/services/calendar/gdata-calendar-query.c -index 37779bbe..dd019529 100644 ---- a/gdata/services/calendar/gdata-calendar-query.c -+++ b/gdata/services/calendar/gdata-calendar-query.c -@@ -37,7 +37,7 @@ - * GDataCalendarCalendar *calendar; - * GDataCalendarQuery *query; - * GDataFeed *feed; -- * GTimeVal current_time; -+ * gint64 current_time; - * GList *i; - * GError *error = NULL; - * -@@ -47,8 +47,8 @@ - * - * /* Create the query to use. We're going to query for events within the next week which match the search term "party", - * * ordered by last modification time (descending). */ -- * g_get_current_time (¤t_time); -- * query = gdata_calendar_query_new_with_limits ("party", current_time.tv_sec, current_time.tv_sec + 7 * 24 * 60 * 60); -+ * current_time = g_get_real_time () / G_USEC_PER_SEC; -+ * query = gdata_calendar_query_new_with_limits ("party", current_time, current_time + 7 * 24 * 60 * 60); - * gdata_calendar_query_set_order_by (query, "lastmodified"); - * - * /* Execute the query */ -diff --git a/gdata/services/contacts/gdata-contacts-contact.c b/gdata/services/contacts/gdata-contacts-contact.c -index 4f511315..eb4148d0 100644 ---- a/gdata/services/contacts/gdata-contacts-contact.c -+++ b/gdata/services/contacts/gdata-contacts-contact.c -@@ -582,12 +582,10 @@ gdata_contacts_contact_constructor (GType type, guint n_construct_params, GObjec - - if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) { - GDataContactsContactPrivate *priv = GDATA_CONTACTS_CONTACT (object)->priv; -- GTimeVal time_val; - - /* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause - * setting it from parse_xml() to fail (duplicate element). */ -- g_get_current_time (&time_val); -- priv->edited = time_val.tv_sec; -+ priv->edited = g_get_real_time () / G_USEC_PER_SEC; - } - - return object; -diff --git a/gdata/services/contacts/gdata-contacts-group.c b/gdata/services/contacts/gdata-contacts-group.c -index 055f4255..2059369a 100644 ---- a/gdata/services/contacts/gdata-contacts-group.c -+++ b/gdata/services/contacts/gdata-contacts-group.c -@@ -266,12 +266,10 @@ gdata_contacts_group_constructor (GType type, guint n_construct_params, GObjectC - - if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) { - GDataContactsGroupPrivate *priv = GDATA_CONTACTS_GROUP (object)->priv; -- GTimeVal time_val; - - /* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause setting it from - * parse_xml() to fail (duplicate element). */ -- g_get_current_time (&time_val); -- priv->edited = time_val.tv_sec; -+ priv->edited = g_get_real_time () / G_USEC_PER_SEC; - } - - return object; -diff --git a/gdata/services/documents/gdata-documents-query.c b/gdata/services/documents/gdata-documents-query.c -index e589b524..4797718f 100644 ---- a/gdata/services/documents/gdata-documents-query.c -+++ b/gdata/services/documents/gdata-documents-query.c -@@ -37,7 +37,7 @@ - * GDataDocumentsService *service; - * GDataDocumentsQuery *query; - * GDataFeed *feed; -- * GTimeVal current_time; -+ * gint64 current_time; - * GList *i; - * GError *error = NULL; - * -@@ -51,9 +51,9 @@ - * gdata_documents_query_add_collaborator (query, "example@gmail.com"); - * gdata_documents_query_set_show_deleted (query, TRUE); - * -- * g_get_current_time (¤t_time); -- * gdata_query_set_updated_min (GDATA_QUERY (query), current_time.tv_sec - 7 * 24 * 60 * 60); -- * gdata_query_set_updated_max (GDATA_QUERY (query), current_time.tv_sec); -+ * current_time = g_get_real_time () / G_USEC_PER_SEC; -+ * gdata_query_set_updated_min (GDATA_QUERY (query), current_time - 7 * 24 * 60 * 60); -+ * gdata_query_set_updated_max (GDATA_QUERY (query), current_time); - * - * /* Execute the query */ - * feed = gdata_documents_service_query_documents (service, query, NULL, NULL, NULL, &error); -diff --git a/gdata/services/picasaweb/gdata-picasaweb-album.c b/gdata/services/picasaweb/gdata-picasaweb-album.c -index 40fd8cfb..fd6d0abc 100644 ---- a/gdata/services/picasaweb/gdata-picasaweb-album.c -+++ b/gdata/services/picasaweb/gdata-picasaweb-album.c -@@ -507,13 +507,13 @@ gdata_picasaweb_album_constructor (GType type, guint n_construct_params, GObject - - if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) { - GDataPicasaWebAlbumPrivate *priv = GDATA_PICASAWEB_ALBUM (object)->priv; -- GTimeVal time_val; -+ gint64 time_val; - - /* Set the edited and timestamp properties to the current time (creation time). bgo#599140 - * We don't do this in *_init() since that would cause setting it from parse_xml() to fail (duplicate element). */ -- g_get_current_time (&time_val); -- priv->timestamp = (gint64) time_val.tv_sec * 1000; -- priv->edited = time_val.tv_sec; -+ time_val = g_get_real_time () / G_USEC_PER_SEC; -+ priv->timestamp = time_val * 1000; -+ priv->edited = time_val; - } - - return object; -diff --git a/gdata/services/picasaweb/gdata-picasaweb-file.c b/gdata/services/picasaweb/gdata-picasaweb-file.c -index 53aab33b..96db23a6 100644 ---- a/gdata/services/picasaweb/gdata-picasaweb-file.c -+++ b/gdata/services/picasaweb/gdata-picasaweb-file.c -@@ -690,13 +690,13 @@ gdata_picasaweb_file_constructor (GType type, guint n_construct_params, GObjectC - - if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) { - GDataPicasaWebFilePrivate *priv = GDATA_PICASAWEB_FILE (object)->priv; -- GTimeVal time_val; -+ gint64 time_val; - - /* Set the edited and timestamp properties to the current time (creation time). bgo#599140 - * We don't do this in *_init() since that would cause setting it from parse_xml() to fail (duplicate element). */ -- g_get_current_time (&time_val); -- priv->timestamp = (gint64) time_val.tv_sec * 1000; -- priv->edited = time_val.tv_sec; -+ time_val = g_get_real_time () / G_USEC_PER_SEC; -+ priv->timestamp = time_val * 1000; -+ priv->edited = time_val; - } - - return object; -diff --git a/gdata/services/youtube/gdata-youtube-query.c b/gdata/services/youtube/gdata-youtube-query.c -index 212a0d10..bb5cff15 100644 ---- a/gdata/services/youtube/gdata-youtube-query.c -+++ b/gdata/services/youtube/gdata-youtube-query.c -@@ -572,22 +572,20 @@ get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboo - - if (priv->age != GDATA_YOUTUBE_AGE_ALL_TIME) { - gchar *after; -- GTimeVal tv = { 0, }; -+ GDateTime *tv, *tv2; - -- g_get_current_time (&tv); -- -- /* Squash the microseconds; they’re not useful. */ -- tv.tv_usec = 0; -+ /* don't use g_date_time_new_now_utc (squash microseconds) */ -+ tv2 = g_date_time_new_from_unix_utc (g_get_real_time () / G_USEC_PER_SEC); - - switch (priv->age) { - case GDATA_YOUTUBE_AGE_TODAY: -- tv.tv_sec -= 24 * 60 * 60; -+ tv = g_date_time_add_days (tv2, -1); - break; - case GDATA_YOUTUBE_AGE_THIS_WEEK: -- tv.tv_sec -= 7 * 24 * 60 * 60; -+ tv = g_date_time_add_weeks (tv2, -1); - break; - case GDATA_YOUTUBE_AGE_THIS_MONTH: -- tv.tv_sec -= 31 * 24 * 60 * 60; -+ tv = g_date_time_add_months (tv2, -1); - break; - case GDATA_YOUTUBE_AGE_ALL_TIME: - default: -@@ -596,9 +594,11 @@ get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboo - - APPEND_SEP - -- after = g_time_val_to_iso8601 (&tv); -+ after = g_date_time_format_iso8601 (tv); - g_string_append_printf (query_uri, "publishedAfter=%s", after); - g_free (after); -+ g_date_time_unref (tv); -+ g_date_time_unref (tv2); - } - - /* We don’t need to use APPEND_SEP below here, as this parameter is -diff --git a/gdata/services/youtube/gdata-youtube-service.c b/gdata/services/youtube/gdata-youtube-service.c -index 75134e57..35994c54 100644 ---- a/gdata/services/youtube/gdata-youtube-service.c -+++ b/gdata/services/youtube/gdata-youtube-service.c -@@ -684,14 +684,16 @@ standard_feed_type_to_feed_uri (GDataYouTubeStandardFeedType feed_type) - case GDATA_YOUTUBE_RECENTLY_FEATURED_FEED: - case GDATA_YOUTUBE_WATCH_ON_MOBILE_FEED: { - gchar *date, *out; -- GTimeVal tv; -+ GDateTime *tv, *tv2; - - /* All feed types except MOST_POPULAR have been deprecated for - * a while, and fall back to MOST_POPULAR on the server anyway. - * See: https://developers.google.com/youtube/2.0/developers_guide_protocol_video_feeds#Standard_feeds */ -- g_get_current_time (&tv); -- tv.tv_sec -= 24 * 60 * 60; /* 1 day ago */ -- date = g_time_val_to_iso8601 (&tv); -+ tv = g_date_time_new_now_utc (); -+ tv2 = g_date_time_add_days (tv, -1); -+ g_date_time_unref (tv); -+ date = g_date_time_format_iso8601 (tv2); -+ g_date_time_unref (tv2); - out = _gdata_service_build_uri ("https://www.googleapis.com/youtube/v3/videos" - "?part=snippet" - "&chart=mostPopular" -diff --git a/gdata/tests/calendar.c b/gdata/tests/calendar.c -index 4d70d1b7..87fb0b81 100644 ---- a/gdata/tests/calendar.c -+++ b/gdata/tests/calendar.c -@@ -495,7 +495,7 @@ test_event_insert (InsertEventData *data, gconstpointer service) - GDataGDWhere *where; - GDataGDWho *who; - GDataGDWhen *when; -- GTimeVal start_time, end_time; -+ GDateTime *start_time, *end_time; - GError *error = NULL; - - gdata_test_mock_server_start_trace (mock_server, "event-insert"); -@@ -512,11 +512,13 @@ test_event_insert (InsertEventData *data, gconstpointer service) - who = gdata_gd_who_new (GDATA_GD_WHO_EVENT_ORGANIZER, "John Smith‽", "john.smith@example.com"); - gdata_calendar_event_add_person (event, who); - g_object_unref (who); -- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &start_time); -- g_time_val_from_iso8601 ("2009-04-17T17:00:00.000Z", &end_time); -- when = gdata_gd_when_new (start_time.tv_sec, end_time.tv_sec, FALSE); -+ start_time = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL); -+ end_time = g_date_time_new_from_iso8601 ("2009-04-17T17:00:00.000Z", NULL); -+ when = gdata_gd_when_new (g_date_time_to_unix (start_time), g_date_time_to_unix (end_time), FALSE); - gdata_calendar_event_add_time (event, when); - g_object_unref (when); -+ g_date_time_unref (start_time); -+ g_date_time_unref (end_time); - - /* Insert the event */ - new_event = data->new_event = gdata_calendar_service_insert_calendar_event (GDATA_CALENDAR_SERVICE (service), -@@ -540,8 +542,8 @@ G_STMT_START { - GDataGDWhere *where; - GDataGDWho *who; - GDataGDWhen *when; -- GTimeVal start_time; -- GTimeVal end_time; -+ GDateTime *start_time; -+ GDateTime *end_time; - - event = gdata_calendar_event_new (NULL); - -@@ -555,11 +557,13 @@ G_STMT_START { - who = gdata_gd_who_new (GDATA_GD_WHO_EVENT_ORGANIZER, "John Smith‽", "john.smith@example.com"); - gdata_calendar_event_add_person (event, who); - g_object_unref (who); -- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &start_time); -- g_time_val_from_iso8601 ("2009-04-17T17:00:00.000Z", &end_time); -- when = gdata_gd_when_new (start_time.tv_sec, end_time.tv_sec, FALSE); -+ start_time = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL); -+ end_time = g_date_time_new_from_iso8601 ("2009-04-17T17:00:00.000Z", NULL); -+ when = gdata_gd_when_new (g_date_time_to_unix (start_time), g_date_time_to_unix (end_time), FALSE); - gdata_calendar_event_add_time (event, when); - g_object_unref (when); -+ g_date_time_unref (start_time); -+ g_date_time_unref (end_time); - - /* Insert the event */ - gdata_calendar_service_insert_calendar_event_async (GDATA_CALENDAR_SERVICE (service), -@@ -587,7 +591,7 @@ test_event_json (void) - GDataGDWhere *where; - GDataGDWho *who; - GDataGDWhen *when; -- GTimeVal start_time, end_time; -+ GDateTime *start_time, *end_time; - - event = gdata_calendar_event_new (NULL); - -@@ -601,11 +605,13 @@ test_event_json (void) - who = gdata_gd_who_new (GDATA_GD_WHO_EVENT_ORGANIZER, "John Smith‽", "john.smith@example.com"); - gdata_calendar_event_add_person (event, who); - g_object_unref (who); -- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &start_time); -- g_time_val_from_iso8601 ("2009-04-17T17:00:00.000Z", &end_time); -- when = gdata_gd_when_new (start_time.tv_sec, end_time.tv_sec, FALSE); -+ start_time = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL); -+ end_time = g_date_time_new_from_iso8601 ("2009-04-17T17:00:00.000Z", NULL); -+ when = gdata_gd_when_new (g_date_time_to_unix (start_time), g_date_time_to_unix (end_time), FALSE); - gdata_calendar_event_add_time (event, when); - g_object_unref (when); -+ g_date_time_unref (start_time); -+ g_date_time_unref (end_time); - - /* Check the JSON */ - gdata_test_assert_json (event, "{" -@@ -1099,7 +1105,7 @@ static void - test_query_uri (void) - { - gint64 _time; -- GTimeVal time_val; -+ GDateTime *time_val; - gchar *query_uri; - GDataCalendarQuery *query = gdata_calendar_query_new ("q"); - -@@ -1111,15 +1117,15 @@ test_query_uri (void) - g_assert_cmpstr (gdata_calendar_query_get_order_by (query), ==, "starttime"); - - G_GNUC_BEGIN_IGNORE_DEPRECATIONS -- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &time_val); -- gdata_calendar_query_set_recurrence_expansion_start (query, time_val.tv_sec); -+ time_val = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL); -+ gdata_calendar_query_set_recurrence_expansion_start (query, g_date_time_to_unix (time_val)); - _time = gdata_calendar_query_get_recurrence_expansion_start (query); -- g_assert_cmpint (_time, ==, time_val.tv_sec); -+ g_assert_cmpint (_time, ==, g_date_time_to_unix (time_val)); - -- g_time_val_from_iso8601 ("2010-04-17T15:00:00.000Z", &time_val); -- gdata_calendar_query_set_recurrence_expansion_end (query, time_val.tv_sec); -+ time_val = g_date_time_new_from_iso8601 ("2010-04-17T15:00:00.000Z", NULL); -+ gdata_calendar_query_set_recurrence_expansion_end (query, g_date_time_to_unix (time_val)); - _time = gdata_calendar_query_get_recurrence_expansion_end (query); -- g_assert_cmpint (_time, ==, time_val.tv_sec); -+ g_assert_cmpint (_time, ==, g_date_time_to_unix (time_val)); - G_GNUC_END_IGNORE_DEPRECATIONS - - gdata_calendar_query_set_single_events (query, TRUE); -@@ -1130,15 +1136,17 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS - g_assert_cmpstr (gdata_calendar_query_get_sort_order (query), ==, "descending"); - G_GNUC_END_IGNORE_DEPRECATIONS - -- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &time_val); -- gdata_calendar_query_set_start_min (query, time_val.tv_sec); -+ time_val = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL); -+ gdata_calendar_query_set_start_min (query, g_date_time_to_unix (time_val)); - _time = gdata_calendar_query_get_start_min (query); -- g_assert_cmpint (_time, ==, time_val.tv_sec); -+ g_assert_cmpint (_time, ==, g_date_time_to_unix (time_val)); -+ g_date_time_unref (time_val); - -- g_time_val_from_iso8601 ("2010-04-17T15:00:00.000Z", &time_val); -- gdata_calendar_query_set_start_max (query, time_val.tv_sec); -+ time_val = g_date_time_new_from_iso8601 ("2010-04-17T15:00:00.000Z", NULL); -+ gdata_calendar_query_set_start_max (query, g_date_time_to_unix (time_val)); - _time = gdata_calendar_query_get_start_max (query); -- g_assert_cmpint (_time, ==, time_val.tv_sec); -+ g_assert_cmpint (_time, ==, g_date_time_to_unix (time_val)); -+ g_date_time_unref (time_val); - - gdata_calendar_query_set_timezone (query, "America/Los Angeles"); - g_assert_cmpstr (gdata_calendar_query_get_timezone (query), ==, "America/Los_Angeles"); -diff --git a/gdata/tests/contacts.c b/gdata/tests/contacts.c -index e4f72deb..f70cee25 100644 ---- a/gdata/tests/contacts.c -+++ b/gdata/tests/contacts.c -@@ -304,14 +304,12 @@ test_contact_insert (InsertData *data, gconstpointer service) - GList *list; - GDate date; - GHashTable *properties; -- GTimeVal current_time; - gint64 edited, creation_time; - GError *error = NULL; - - gdata_test_mock_server_start_trace (mock_server, "contact-insert"); - - contact = gdata_contacts_contact_new (NULL); -- g_get_current_time (¤t_time); - - /* Check the kind is present and correct */ - g_assert (GDATA_IS_CONTACTS_CONTACT (contact)); -@@ -752,13 +750,13 @@ static void - test_group_insert (InsertGroupData *data, gconstpointer service) - { - GDataContactsGroup *group, *new_group; -- GTimeVal time_val; -+ gint64 time_val; - GHashTable *properties; - GError *error = NULL; - - gdata_test_mock_server_start_trace (mock_server, "group-insert"); - -- g_get_current_time (&time_val); -+ time_val = g_get_real_time () / G_USEC_PER_SEC; - - group = gdata_contacts_group_new (NULL); - -@@ -780,7 +778,7 @@ test_group_insert (InsertGroupData *data, gconstpointer service) - /* Check the properties. Time-based properties can't be checked when running against a mock server, since - * the trace files may be quite old. */ - if (uhm_server_get_enable_online (mock_server) == TRUE) { -- g_assert_cmpint (gdata_contacts_group_get_edited (new_group), >=, time_val.tv_sec); -+ g_assert_cmpint (gdata_contacts_group_get_edited (new_group), >=, time_val); - } - g_assert (gdata_contacts_group_is_deleted (new_group) == FALSE); - g_assert (gdata_contacts_group_get_system_group_id (new_group) == NULL); -@@ -850,12 +848,12 @@ test_contact_properties (void) - gchar *nickname, *file_as, *billing_information, *directory_server, *gender, *initials, *maiden_name, *mileage, *occupation; - gchar *priority, *sensitivity, *short_name, *subject, *photo_etag; - GDate date, *date2; -- GTimeVal current_time; -+ gint64 current_time; - gint64 edited; - gboolean deleted, birthday_has_year; - - contact = gdata_contacts_contact_new (NULL); -- g_get_current_time (¤t_time); -+ current_time = g_get_real_time () / G_USEC_PER_SEC; - - /* Check the kind is present and correct */ - g_assert (GDATA_IS_CONTACTS_CONTACT (contact)); -@@ -984,7 +982,7 @@ test_contact_properties (void) - "subject", &subject, - NULL); - -- g_assert_cmpint (edited, ==, current_time.tv_sec); -+ g_assert_cmpint (edited, ==, current_time); - g_assert (deleted == FALSE); - g_assert (photo_etag == NULL); - g_assert (name2 == name); -@@ -1751,7 +1749,7 @@ static void - test_group_properties (void) - { - GDataContactsGroup *group; -- GTimeVal time_val; -+ gint64 time_val; - GHashTable *properties; - gint64 edited; - gboolean deleted; -@@ -1768,8 +1766,8 @@ test_group_properties (void) - g_assert (gdata_contacts_group_set_extended_property (group, "foobar", "barfoo") == TRUE); - - /* Check various properties */ -- g_get_current_time (&time_val); -- g_assert_cmpint (gdata_contacts_group_get_edited (group), ==, time_val.tv_sec); -+ time_val = g_get_real_time () / G_USEC_PER_SEC; -+ g_assert_cmpint (gdata_contacts_group_get_edited (group), ==, time_val); - g_assert (gdata_contacts_group_is_deleted (group) == FALSE); - g_assert (gdata_contacts_group_get_system_group_id (group) == NULL); - -@@ -1785,7 +1783,7 @@ test_group_properties (void) - "system-group-id", &system_group_id, - NULL); - -- g_assert_cmpint (edited, ==, time_val.tv_sec); -+ g_assert_cmpint (edited, ==, time_val); - g_assert (deleted == FALSE); - g_assert (system_group_id == NULL); - -diff --git a/gdata/tests/general.c b/gdata/tests/general.c -index 30604ba1..39478713 100644 ---- a/gdata/tests/general.c -+++ b/gdata/tests/general.c -@@ -3502,11 +3502,12 @@ static void - test_gd_when_escaping (void) - { - GDataGDWhen *when; -- GTimeVal start_time; -+ GDateTime *start_time; - -- g_time_val_from_iso8601 ("2005-06-07T01:00:00Z", &start_time); -- when = gdata_gd_when_new (start_time.tv_sec, -1, FALSE); -+ start_time = g_date_time_new_from_iso8601 ("2005-06-07T01:00:00Z", NULL); -+ when = gdata_gd_when_new (g_date_time_to_unix (start_time), -1, FALSE); - gdata_gd_when_set_value_string (when, "Value string & stuff!"); -+ g_date_time_unref (start_time); - - /* Check the outputted XML is escaped properly */ - gdata_test_assert_xml (when, -diff --git a/gdata/tests/perf.c b/gdata/tests/perf.c -index 2749d40d..60f3dcc1 100644 ---- a/gdata/tests/perf.c -+++ b/gdata/tests/perf.c -@@ -78,23 +78,24 @@ test_parse_feed (void) - static void - test_perf_parsing (void) - { -- GTimeVal start_time, end_time; -+ GDateTime *start_time, *end_time; -+ GTimeSpan total_time, per_iteration_time; - guint i; -- guint64 total_time; /* microseconds */ -- guint64 per_iteration_time; /* microseconds */ - - #define ITERATIONS 10000 - - /* Test feed parsing time */ -- g_get_current_time (&start_time); -+ start_time = g_date_time_new_now_utc (); - for (i = 0; i < ITERATIONS; i++) - test_parse_feed (); -- g_get_current_time (&end_time); -+ end_time = g_date_time_new_now_utc (); - -- total_time = (end_time.tv_sec - start_time.tv_sec) * G_USEC_PER_SEC + -- (end_time.tv_usec - start_time.tv_usec); -+ total_time = g_date_time_difference (end_time, start_time); - per_iteration_time = total_time / ITERATIONS; - -+ g_date_time_unref (start_time); -+ g_date_time_unref (end_time); -+ - /* Prefix with hashes to avoid the output being misinterpreted as TAP - * commands. */ - printf ("# Parsing a feed %u times took:\n" -diff --git a/gdata/tests/picasaweb.c b/gdata/tests/picasaweb.c -index eecf1b78..19978e3c 100644 ---- a/gdata/tests/picasaweb.c -+++ b/gdata/tests/picasaweb.c -@@ -782,7 +782,7 @@ typedef struct { - static void - set_up_insert_album (InsertAlbumData *data, gconstpointer service) - { -- GTimeVal timestamp; -+ GDateTime *timestamp; - - data->album = gdata_picasaweb_album_new (NULL); - g_assert (GDATA_IS_PICASAWEB_ALBUM (data->album)); -@@ -791,8 +791,9 @@ set_up_insert_album (InsertAlbumData *data, gconstpointer service) - gdata_entry_set_summary (GDATA_ENTRY (data->album), "Family photos of the feast!"); - gdata_picasaweb_album_set_location (data->album, "Winnipeg, MN"); - -- g_time_val_from_iso8601 ("2002-10-14T09:58:59.643554Z", ×tamp); -- gdata_picasaweb_album_set_timestamp (data->album, (gint64) timestamp.tv_sec * 1000); -+ timestamp = g_date_time_new_from_iso8601 ("2002-10-14T09:58:59.643554Z", NULL); -+ gdata_picasaweb_album_set_timestamp (data->album, g_date_time_to_unix (timestamp) * 1000); -+ g_date_time_unref (timestamp); - } - - static void -@@ -1757,12 +1758,12 @@ test_album_new (void) - GRegex *regex; - GMatchInfo *match_info; - gint64 delta; -- GTimeVal timeval; -+ GDateTime *timeval; - - g_test_bug ("598893"); - - /* Get the current time */ -- g_get_current_time (&timeval); -+ timeval = g_date_time_new_now_utc (); - - /* Build a regex to match the timestamp from the XML, since we can't definitely say what it'll be. Note that we also assign any order to the - * namespace definitions, since due to a change in GLib's hashing algorithm, they could be in different orders with different GLib versions. */ -@@ -1795,9 +1796,10 @@ test_album_new (void) - xml = gdata_parsable_get_xml (GDATA_PARSABLE (album)); - g_assert (g_regex_match (regex, xml, 0, &match_info) == TRUE); - parsed_time_str = g_match_info_fetch (match_info, 2); -- delta = g_ascii_strtoull (parsed_time_str, NULL, 10) - (((guint64) timeval.tv_sec) * 1000 + ((guint64) timeval.tv_usec) / 1000); -+ delta = g_ascii_strtoull (parsed_time_str, NULL, 10) - (g_date_time_to_unix (timeval) * 1000 + ((guint64) g_date_time_get_microsecond (timeval)) / 1000); - g_assert_cmpuint (ABS (delta), <, 1000); - -+ g_date_time_unref (timeval); - g_free (parsed_time_str); - g_free (xml); - g_regex_unref (regex); -diff --git a/gdata/tests/youtube.c b/gdata/tests/youtube.c -index 5fefbaf8..b2732680 100644 ---- a/gdata/tests/youtube.c -+++ b/gdata/tests/youtube.c -@@ -1537,13 +1537,17 @@ test_comment_properties_parent_comment_uri (void) - static gchar * - build_this_week_date_str (void) - { -- GTimeVal tv; -+ GDateTime *tv, *tv2; -+ gchar *ret; - -- g_get_current_time (&tv); -- tv.tv_sec -= 7 * 24 * 60 * 60; /* this week */ -- tv.tv_usec = 0; /* pointless accuracy */ -+ /* don't use g_date_time_new_now_utc (squash microseconds) */ -+ tv = g_date_time_new_from_unix_utc (g_get_real_time () / G_USEC_PER_SEC); -+ tv2 = g_date_time_add_weeks (tv, -1); -+ g_date_time_unref (tv); - -- return g_time_val_to_iso8601 (&tv); -+ ret = g_date_time_format_iso8601 (tv2); -+ g_date_time_unref (tv2); -+ return ret; - } - - static void --- -GitLab - diff --git a/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb b/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb deleted file mode 100644 index 5f5d5834a7f..00000000000 --- a/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "GLib-based library for accessing online service APIs using the GData protocol" -HOMEPAGE = "http://live.gnome.org/libgdata" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ - file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \ - file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef" - -DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr3 json-glib" - -GTKDOC_MESON_OPTION = "gtk_doc" - -inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages features_check - -SRC_URI += "file://0001-Drop-usage-of-deprecated-GTimeVal.patch" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'goa', 'opengl', '', d)}" - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs" -} - -# goa is required for gnome-photos -PACKAGECONFIG ??= "goa gtk vala" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false" -PACKAGECONFIG[goa] = "-Dgoa=enabled,-Dgoa=disabled,gnome-online-accounts" -PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3" -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" - -EXTRA_OEMESON = "-Dalways_build_tests=false" - -SRC_URI[archive.sha256sum] = "dd8592eeb6512ad0a8cf5c8be8c72e76f74bfe6b23e4dd93f0756ee0716804c7" diff --git a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.54.bb b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.54.bb deleted file mode 100644 index 8973b3e656c..00000000000 --- a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.54.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "GNOME Structured File Library" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=61464cfe342798eeced82efe9ae55f63" - -SECTION = "libs" - -DEPENDS = "libxml2 bzip2 glib-2.0 zlib" - -GNOMEBASEBUILDCLASS = "autotools" -inherit gnomebase gobject-introspection gettext gtk-doc - -SRC_URI[archive.sha256sum] = "d18869264a2513cfb071712486d115dada064ff8a040265b49936bca06f17623" -SRC_URI += " file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf" - -EXTRA_OECONF = "\ - --with-bz2 \ -" - -FILES:${PN} += "${datadir}/thumbnailers" diff --git a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.56.bb b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.56.bb new file mode 100644 index 00000000000..e1e15784114 --- /dev/null +++ b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.56.bb @@ -0,0 +1,22 @@ +SUMMARY = "GNOME Structured File Library" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=61464cfe342798eeced82efe9ae55f63" + +SECTION = "libs" + +DEPENDS = "libxml2 bzip2 glib-2.0 zlib" + +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gobject-introspection gettext gtk-doc + +SRC_URI[archive.sha256sum] = "9d21d30df1d12feaf03e181afd6067f65e3048ab69cb6ad174a3c5b72b92d297" +SRC_URI += " file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf" + +EXTRA_OECONF = "\ + --with-bz2 \ +" + +FILES:${PN} += "${datadir}/thumbnailers" diff --git a/meta-gnome/recipes-gnome/libpanel/libpanel_1.10.3.bb b/meta-gnome/recipes-gnome/libpanel/libpanel_1.10.3.bb deleted file mode 100644 index 3fc58a9593a..00000000000 --- a/meta-gnome/recipes-gnome/libpanel/libpanel_1.10.3.bb +++ /dev/null @@ -1,22 +0,0 @@ -# your responsibility to verify that the values are complete and correct. -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase upstream-version-is-even gobject-introspection gtk-icon-cache - -DEPENDS += " \ - glib-2.0 \ - gtk4 \ - libadwaita \ -" - -SRC_URI[archive.sha256sum] = "42a01baf8b94440f194ea8342b244bd6992dfb024ca3160c9477ff498ec3a2b6" - -PACKAGECONFIG ?= "" -#EXTRA_OEMESON += "-Ddocs=disabled" -#GTKDOC_MESON_DISABLE_FLAG = "disabled" - -EXTRA_OEMESON += "-Ddocs=disabled -Dintrospection=enabled -Dvapi=false" - -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl" diff --git a/meta-gnome/recipes-gnome/libpanel/libpanel_1.10.4.bb b/meta-gnome/recipes-gnome/libpanel/libpanel_1.10.4.bb new file mode 100644 index 00000000000..68cff85f9e1 --- /dev/null +++ b/meta-gnome/recipes-gnome/libpanel/libpanel_1.10.4.bb @@ -0,0 +1,22 @@ +# your responsibility to verify that the values are complete and correct. +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase upstream-version-is-even gobject-introspection gtk-icon-cache + +DEPENDS += " \ + glib-2.0 \ + gtk4 \ + libadwaita \ +" + +SRC_URI[archive.sha256sum] = "593888a7691f0af8aaa6e193c9e14afa86a810c0c2f27515c6d813f18733b1cd" + +PACKAGECONFIG ?= "" +#EXTRA_OEMESON += "-Ddocs=disabled" +#GTKDOC_MESON_DISABLE_FLAG = "disabled" + +EXTRA_OEMESON += "-Ddocs=disabled -Dintrospection=enabled -Dvapi=false" + +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl" diff --git a/meta-gnome/recipes-gnome/libtimezonemap/files/port-to-libsoup3.patch b/meta-gnome/recipes-gnome/libtimezonemap/files/port-to-libsoup3.patch new file mode 100644 index 00000000000..7039be17951 --- /dev/null +++ b/meta-gnome/recipes-gnome/libtimezonemap/files/port-to-libsoup3.patch @@ -0,0 +1,95 @@ +From: Joshua Peisach +Date: Sat, 06 Aug 2022 11:37:51 +0200 +Subject: Port to libsoup3. + +Forwarded: not-yet +Last-Update: 2022-08-06 + +Upstream-Status: Backport [https://salsa.debian.org/cinnamon-team/libtimezonemap/-/commit/ed57d8331a7429487b9c8ea97cc7bd684ed5a2e1] +Signed-off-by: Changqing Li +--- +Index: libtimezonemap/configure.ac +=================================================================== +--- libtimezonemap.orig/configure.ac ++++ libtimezonemap/configure.ac +@@ -50,13 +50,13 @@ + GLIB_REQUIRED_VERSION=2.26 + GTK3_REQUIRED_VERSION=3.1.4 + GIO_REQUIRED_VERSION=2.5.11 +-SOUP_REQUIRED_VERSION=2.42.0 ++SOUP_REQUIRED_VERSION=3.0.7 + + AC_CHECK_LIBM + + PKG_CHECK_MODULES(LIBTIMEZONEMAP, gio-2.0 >= $GIO_REQUIRED_VERSION + gtk+-3.0 >= $GTK3_REQUIRED_VERSION +- libsoup-2.4 >= $SOUP_REQUIRED_VERSION ++ libsoup-3.0 >= $SOUP_REQUIRED_VERSION + json-glib-1.0) + LIBTIMEZONEMAP_LIBS="$LIBTIMEZONEMAP_LIBS $LIBM" + +Index: libtimezonemap/src/timezone-completion.c +=================================================================== +--- libtimezonemap.orig/src/timezone-completion.c ++++ libtimezonemap/src/timezone-completion.c +@@ -270,9 +270,10 @@ + CcTimezoneCompletionPrivate * priv = completion->priv; + GError * error = NULL; + GInputStream * stream; +- SoupMessage *message; ++ const gchar * reason_phrase; ++ SoupStatus status_code; + +- stream = soup_request_send_finish (SOUP_REQUEST (object), res, &error); ++ stream = soup_session_send_finish (priv->soup_session, res, &error); + if (stream == NULL) + { + if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) +@@ -283,8 +284,9 @@ + return; + } + +- message = soup_request_http_get_message (SOUP_REQUEST_HTTP (object)); +- if (message->status_code == SOUP_STATUS_OK) ++ reason_phrase = soup_message_get_reason_phrase (SOUP_MESSAGE (object)); ++ status_code = soup_message_get_status (SOUP_MESSAGE (object)); ++ if (status_code == SOUP_STATUS_OK) + { + JsonParser *parser; + +@@ -296,10 +298,10 @@ + else + { + g_warning ("Unable to fetch geonames (server responded with: %u %s)", +- message->status_code, message->reason_phrase); ++ status_code, reason_phrase); + } + +- g_object_unref (message); ++ g_object_unref (object); + g_object_unref (stream); + } + +@@ -362,7 +364,7 @@ + request_zones (CcTimezoneCompletion * completion) + { + CcTimezoneCompletionPrivate * priv = completion->priv; +- SoupRequest *req; ++ SoupMessage *req; + GError *error = NULL; + + priv->queued_request = 0; +@@ -391,10 +393,11 @@ + g_free (locale); + g_free (escaped); + +- req = soup_session_request (priv->soup_session, url, &error); ++ req = soup_message_new (NULL, url); + if (req) + { +- soup_request_send_async (req, priv->cancel, geonames_data_ready, completion); ++ soup_session_send_async (priv->soup_session, req, G_PRIORITY_DEFAULT, ++ priv->cancel, geonames_data_ready, completion); + g_object_unref (req); + } + else diff --git a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb index 7c8e410b091..cca9e632f85 100644 --- a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb +++ b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb @@ -5,13 +5,14 @@ LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz;downloadfilename=${BP}.tar.gz \ - file://0001-configure.ac-correct-the-version.patch" + file://0001-configure.ac-correct-the-version.patch \ + file://port-to-libsoup3.patch" SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195" UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/libt/libtimezonemap" UPSTREAM_CHECK_REGEX = "libtimezonemap_(?P\d+(\.\d+)+)" -DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native" +DEPENDS = "gtk+3 gdk-pixbuf libsoup json-glib gnome-common-native" B = "${S}" diff --git a/meta-gnome/recipes-gnome/libwnck/files/ef0e40d59c32d7ebeb94d242436e3144cefc174a.patch b/meta-gnome/recipes-gnome/libwnck/files/ef0e40d59c32d7ebeb94d242436e3144cefc174a.patch deleted file mode 100644 index 2d526e7aba6..00000000000 --- a/meta-gnome/recipes-gnome/libwnck/files/ef0e40d59c32d7ebeb94d242436e3144cefc174a.patch +++ /dev/null @@ -1,40 +0,0 @@ -From ef0e40d59c32d7ebeb94d242436e3144cefc174a Mon Sep 17 00:00:00 2001 -From: correctmost <136447-correctmost@users.noreply.gitlab.gnome.org> -Date: Thu, 20 Mar 2025 03:03:44 -0400 -Subject: [PATCH] build: fix -Wheader-guard warnings reported by clang - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libwnck/-/commit/ef0e40d59c32d7ebeb94d242436e3144cefc174a] ---- - libwnck/pager-accessible-factory.h | 2 +- - libwnck/workspace-accessible-factory.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libwnck/pager-accessible-factory.h b/libwnck/pager-accessible-factory.h -index 8e2fe30c..25220fc2 100644 ---- a/libwnck/pager-accessible-factory.h -+++ b/libwnck/pager-accessible-factory.h -@@ -17,7 +17,7 @@ - */ - - #ifndef __WNCK_PAGER_ACCESSIBLE_FACTORY_H__ --#define __WBCK_PAGER_ACCESSIBLE_FACTORY_H__ -+#define __WNCK_PAGER_ACCESSIBLE_FACTORY_H__ - - #include - -diff --git a/libwnck/workspace-accessible-factory.h b/libwnck/workspace-accessible-factory.h -index d2d4a84a..335b465b 100644 ---- a/libwnck/workspace-accessible-factory.h -+++ b/libwnck/workspace-accessible-factory.h -@@ -17,7 +17,7 @@ - */ - - #ifndef __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__ --#define __WBCK_WORKSPACE_ACCESSIBLE_FACTORY_H__ -+#define __WNCK_WORKSPACE_ACCESSIBLE_FACTORY_H__ - - #include - --- -GitLab - diff --git a/meta-gnome/recipes-gnome/libwnck/libwnck3_43.2.bb b/meta-gnome/recipes-gnome/libwnck/libwnck3_43.2.bb deleted file mode 100644 index 4342325f114..00000000000 --- a/meta-gnome/recipes-gnome/libwnck/libwnck3_43.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Window navigation construction toolkit" -LICENSE = "LGPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -BPN = "libwnck" - -SECTION = "x11/libs" -DEPENDS = "cairo glib-2.0 gtk+3" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG[x11] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification libxres" - -GTKDOC_MESON_OPTION = "gtk_doc" -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' - -inherit gnomebase gobject-introspection gtk-doc gettext features_check - -def gnome_verdir(v): - return oe.utils.trim_version(v, 1) - -SRC_URI += "file://ef0e40d59c32d7ebeb94d242436e3144cefc174a.patch;patch=1 \ - file://0001-Fix-build-issue-caused-by-OE-core-changes-to-startup.patch;patch=1" -SRC_URI[archive.sha256sum] = "55a7444ec1fbb95c086d40967388f231b5c0bbc8cffaa086bf9290ae449e51d5" - -# gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. -# cairo would at least needed to be built with xlib. -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/meta-gnome/recipes-gnome/libwnck/libwnck3_43.3.bb b/meta-gnome/recipes-gnome/libwnck/libwnck3_43.3.bb new file mode 100644 index 00000000000..3a49c0e2f3c --- /dev/null +++ b/meta-gnome/recipes-gnome/libwnck/libwnck3_43.3.bb @@ -0,0 +1,25 @@ +SUMMARY = "Window navigation construction toolkit" +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +GNOMEBN = "libwnck" + +SECTION = "x11/libs" +DEPENDS = "cairo glib-2.0 gtk+3" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification libxres" + +GTKDOC_MESON_OPTION = "gtk_doc" +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +inherit gnomebase gobject-introspection gtk-doc gettext features_check + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +SRC_URI += "file://0001-Fix-build-issue-caused-by-OE-core-changes-to-startup.patch;patch=1" +SRC_URI[archive.sha256sum] = "6af8ac41a8f067ade1d3caaed254a83423b5f61ad3f7a460fcacbac2e192bdf7" + +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch b/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch deleted file mode 100644 index cd46824c390..00000000000 --- a/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d36e65f3e31c882f62d5cfeb7b0e1441d5fdc821 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Sat, 14 Apr 2018 16:15:59 +0800 -Subject: [PATCH] drop zenity detection - -OE does not support zenity - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Hongxu Jia ---- - configure.ac | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index bbb4db8..2010d78 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -336,11 +336,6 @@ fi - - AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes") - --AC_PATH_PROG(ZENITY, zenity, no) --if test x"$ZENITY" = xno; then -- AC_MSG_ERROR([zenity not found in your path - needed for dialogs]) --fi -- - AC_SEARCH_LIBS([dlsym], [dl], [], [ - AC_MSG_ERROR([unable to find the dlsym() function]) - ]) diff --git a/meta-gnome/recipes-gnome/metacity/metacity_3.56.0.bb b/meta-gnome/recipes-gnome/metacity/metacity_3.56.0.bb deleted file mode 100644 index b8b248ba3ad..00000000000 --- a/meta-gnome/recipes-gnome/metacity/metacity_3.56.0.bb +++ /dev/null @@ -1,40 +0,0 @@ -SECTION = "x11/wm" -SUMMARY = "Metacity is the boring window manager for the adult in you" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \ - file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad" - -PE = "1" - -DEPENDS = " \ - gdk-pixbuf-native \ - gtk+3 \ - gsettings-desktop-schemas \ - startup-notification \ - libcanberra \ - libgtop \ - libxres \ - libxpresent \ -" - - -# depends on startup-notification which depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -GNOMEBASEBUILDCLASS = "autotools" -inherit gnomebase gsettings gettext upstream-version-is-even features_check - -SRC_URI[archive.sha256sum] = "7554997104b26ff0e79a02b37a2ba189bdf4e7ccd54226f0faf4b1a59006c901" -SRC_URI += "file://0001-drop-zenity-detection.patch" - -PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" -# enable as neccessary until new warnings are dealt with -PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,," - -FILES:${PN} += " \ - ${datadir}/themes \ - ${datadir}/gnome-control-center \ - ${datadir}/gnome\ -" - -RDEPENDS:${PN} += "gsettings-desktop-schemas" diff --git a/meta-gnome/recipes-gnome/metacity/metacity_3.58.1.bb b/meta-gnome/recipes-gnome/metacity/metacity_3.58.1.bb new file mode 100644 index 00000000000..f364b52b984 --- /dev/null +++ b/meta-gnome/recipes-gnome/metacity/metacity_3.58.1.bb @@ -0,0 +1,40 @@ +SECTION = "x11/wm" +SUMMARY = "Metacity is the boring window manager for the adult in you" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \ + file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad" + +PE = "1" + +DEPENDS = " \ + gdk-pixbuf-native \ + gtk+3 \ + gsettings-desktop-schemas \ + startup-notification \ + libcanberra \ + libgtop \ + libxres \ + libxpresent \ +" + + +# depends on startup-notification which depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gsettings gettext upstream-version-is-even features_check + +SRC_URI[archive.sha256sum] = "e430c8a92409ef2f91a4dabd50a71e3d3bbcc474a3dec1caec3813b381d7d1b0" + +PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" +# enable as neccessary until new warnings are dealt with +PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,," + +FILES:${PN} += " \ + ${datadir}/themes \ + ${datadir}/gnome-control-center \ + ${datadir}/gnome\ + ${systemd_user_unitdir} \ +" + +RDEPENDS:${PN} += "gsettings-desktop-schemas" diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_49.3.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_49.3.bb deleted file mode 100644 index b6c13dedb09..00000000000 --- a/meta-gnome/recipes-gnome/nautilus/nautilus_49.3.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "File manager for GNOME" -SECTION = "x11/gnome" - -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" - - -DEPENDS = " \ - appstream-glib-native \ - desktop-file-utils-native \ - glib-2.0 \ - gnome-autoar \ - gnome-desktop \ - gtk4 \ - libadwaita \ - libcloudproviders \ - libhandy \ - libportal \ - libxml2 \ - tinysparql \ - wayland \ - wayland-native \ -" - -inherit gnomebase gsettings gobject-introspection gi-docgen gettext features_check mime-xdg gtk-icon-cache - -SRC_URI[archive.sha256sum] = "aa6bf376f08992362805eae01890b1bf5ad148f356aa7ccfe1f664eda88d413e" - -REQUIRED_DISTRO_FEATURES = "x11 opengl gobject-introspection-data" - -GIDOCGEN_MESON_OPTION = "docs" -GIDOCGEN_MESON_ENABLE_FLAG = 'true' -GIDOCGEN_MESON_DISABLE_FLAG = 'false' - -EXTRA_OEMESON += " \ - -Dtests=none \ -" - -PACKAGECONFIG = "extensions" -PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base gdk-pixbuf" -PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,packagekit" - -do_install:prepend() { - sed -i -e 's|${B}/||g' ${B}/src/nautilus-enum-types.c -} - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/gnome-shell \ - ${datadir}/localsearch3 \ -" - -# mandatory - not checked during configuration: -# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed -RDEPENDS:${PN} += "localsearch bubblewrap" diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_49.5.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_49.5.bb new file mode 100644 index 00000000000..45e0969d666 --- /dev/null +++ b/meta-gnome/recipes-gnome/nautilus/nautilus_49.5.bb @@ -0,0 +1,56 @@ +SUMMARY = "File manager for GNOME" +SECTION = "x11/gnome" + +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" + + +DEPENDS = " \ + appstream-glib-native \ + desktop-file-utils-native \ + glib-2.0 \ + gnome-autoar \ + gnome-desktop \ + gtk4 \ + libadwaita \ + libcloudproviders \ + libhandy \ + libportal \ + libxml2 \ + tinysparql \ + wayland \ + wayland-native \ +" + +inherit gnomebase gsettings gobject-introspection gi-docgen gettext features_check mime-xdg gtk-icon-cache + +SRC_URI[archive.sha256sum] = "fa5655e73ee7953aecfe71fea67bfec0c67447e14e6df135aa3f80334386872c" + +REQUIRED_DISTRO_FEATURES = "x11 opengl gobject-introspection-data" + +GIDOCGEN_MESON_OPTION = "docs" +GIDOCGEN_MESON_ENABLE_FLAG = 'true' +GIDOCGEN_MESON_DISABLE_FLAG = 'false' + +EXTRA_OEMESON += " \ + -Dtests=none \ +" + +PACKAGECONFIG = "extensions" +PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base gdk-pixbuf" +PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,packagekit" + +do_install:prepend() { + sed -i -e 's|${B}/||g' ${B}/src/nautilus-enum-types.c +} + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/gnome-shell \ + ${datadir}/localsearch3 \ +" + +# mandatory - not checked during configuration: +# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed +RDEPENDS:${PN} += "localsearch bubblewrap" diff --git a/meta-gnome/recipes-gnome/tecla/tecla_49.0.bb b/meta-gnome/recipes-gnome/tecla/tecla_49.0.bb deleted file mode 100644 index 27b035dd830..00000000000 --- a/meta-gnome/recipes-gnome/tecla/tecla_49.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Tecla is a keyboard layout viewer that uses GTK/Libadwaita for UI, and libxkbcommon to deal with keyboard maps." -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=75859989545e37968a99b631ef42722e" - -DEPENDS = " \ - libxkbcommon \ - libadwaita \ - wayland \ - gtk4 \ -" - -REQUIRED_DISTRO_FEATURES = "wayland" - -inherit gnomebase pkgconfig features_check - -SRC_URI = "https://download.gnome.org/sources/tecla/${@oe.utils.trim_version('${PV}', 1)}/tecla-${PV}.tar.xz" -SRC_URI[sha256sum] = "2ca424e402baf60cd6b13777703b701ebb1faf8f3d0f2f971144d823f651249f" - diff --git a/meta-gnome/recipes-gnome/tecla/tecla_50.0.bb b/meta-gnome/recipes-gnome/tecla/tecla_50.0.bb new file mode 100644 index 00000000000..f0a4874eca7 --- /dev/null +++ b/meta-gnome/recipes-gnome/tecla/tecla_50.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Tecla is a keyboard layout viewer that uses GTK/Libadwaita for UI, and libxkbcommon to deal with keyboard maps." +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=75859989545e37968a99b631ef42722e" + +DEPENDS = " \ + libxkbcommon \ + libadwaita \ + wayland \ + gtk4 \ +" + +REQUIRED_DISTRO_FEATURES = "wayland" + +inherit gnomebase pkgconfig features_check + +SRC_URI = "https://download.gnome.org/sources/tecla/${@oe.utils.trim_version('${PV}', 1)}/tecla-${PV}.tar.xz" +SRC_URI[sha256sum] = "2542acb24850082e0ccf6aa17af9651db71d22f0e233fdbf5ed0cffe2e45bc06" + diff --git a/meta-gnome/recipes-gnome/tepl/tepl_6.14.0.bb b/meta-gnome/recipes-gnome/tepl/tepl_6.14.0.bb new file mode 100644 index 00000000000..4350f69068d --- /dev/null +++ b/meta-gnome/recipes-gnome/tepl/tepl_6.14.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "Tepl library eases the development of GtkSourceView-based projects" +LICENSE = "LGPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSES/LGPL-3.0-or-later.txt;md5=c51d3eef3be114124d11349ca0d7e117" + +DEPENDS = " \ + gsettings-desktop-schemas \ + glib-2.0 \ + gtk+3 \ + libgedit-amtk \ + libgedit-gfls \ + libgedit-gtksourceview \ + libhandy \ + libxml2 \ + uchardet \ + gtk-doc-native \ + libxslt-native \ + docbook-xsl-stylesheets-native \ + python3-pygments-native \ +" + +inherit meson gobject-introspection gettext features_check pkgconfig + + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +SRC_URI = "git://gitlab.gnome.org/World/gedit/libgedit-tepl.git;protocol=https;branch=main;tag=${PV}" +SRCREV = "d60f7ded17b52ea42091c073ea81090e91f38620" +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" +GIR_MESON_OPTION = "" + +GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-gnome/recipes-gnome/tepl/tepl_6.8.0.bb b/meta-gnome/recipes-gnome/tepl/tepl_6.8.0.bb deleted file mode 100644 index f4d027ebf7f..00000000000 --- a/meta-gnome/recipes-gnome/tepl/tepl_6.8.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Tepl library eases the development of GtkSourceView-based projects" -LICENSE = "LGPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSES/LGPL-3.0-or-later.txt;md5=c51d3eef3be114124d11349ca0d7e117" - -DEPENDS = " \ - gsettings-desktop-schemas \ - glib-2.0 \ - gtk+3 \ - libgedit-amtk \ - libgedit-gtksourceview \ - libxml2 \ - uchardet \ - gtk-doc-native \ - libxslt-native \ - docbook-xsl-stylesheets-native \ - python3-pygments-native \ -" - -inherit meson gobject-introspection gettext features_check pkgconfig - - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -SRC_URI = "git://gitlab.gnome.org/swilmet/tepl;protocol=https;branch=main" -SRCREV = "16ab2567257a053bd957699f89080fafd0999035" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" -GIR_MESON_OPTION = "" - -GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-gnome/recipes-gnome/tracker/localsearch/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch b/meta-gnome/recipes-gnome/tracker/localsearch/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch index 87589a0e64b..23675075f89 100644 --- a/meta-gnome/recipes-gnome/tracker/localsearch/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch +++ b/meta-gnome/recipes-gnome/tracker/localsearch/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch @@ -1,4 +1,4 @@ -From bad93f7aec96b1819f4027dbc06b337d2e2227f2 Mon Sep 17 00:00:00 2001 +From 78c089de4bef7d8f07cc6def1202dcec949521b5 Mon Sep 17 00:00:00 2001 From: Lei Maohui Date: Thu, 15 Sep 2022 16:35:39 +0900 Subject: [PATCH] Set header file to a fixed path instead of a host path. @@ -7,7 +7,7 @@ Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Lei Maohui --- - .../tracker-miners-enum-types.c.template | 2 +- + src/common/tracker-miners-enum-types.c.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/tracker-miners-enum-types.c.template b/src/common/tracker-miners-enum-types.c.template diff --git a/meta-gnome/recipes-gnome/tracker/localsearch/0001-fix-reproducibility.patch b/meta-gnome/recipes-gnome/tracker/localsearch/0001-fix-reproducibility.patch index 1bab34e1263..f90dafea828 100644 --- a/meta-gnome/recipes-gnome/tracker/localsearch/0001-fix-reproducibility.patch +++ b/meta-gnome/recipes-gnome/tracker/localsearch/0001-fix-reproducibility.patch @@ -1,4 +1,4 @@ -From 57f4279008394831826ea2ff449b06b29c08ce68 Mon Sep 17 00:00:00 2001 +From 7affd66ff09747ad95b2e6de0b86ab06c97ca8f1 Mon Sep 17 00:00:00 2001 From: Markus Volk Date: Tue, 12 Sep 2023 17:00:41 +0200 Subject: [PATCH] meson: fix reproducibility @@ -12,18 +12,14 @@ Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Markus Volk --- - meson.build | 8 ++++---- - src/common/tracker-landlock.c | 4 ++-- - src/miners/fs/meson.build | 4 ++-- - src/tracker-extract/meson.build | 2 +- - tests/tracker-miner-fs/meson.build | 2 +- - 5 files changed, 10 insertions(+), 10 deletions(-) + meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build -index 7ae103c..cc61e84 100644 +index fe65280b6..6af5abec9 100644 --- a/meson.build +++ b/meson.build -@@ -371,7 +371,7 @@ conf.set('PACKAGE_VERSION', '"@0@"'.format(meson.project_version())) +@@ -323,7 +323,7 @@ conf.set('PACKAGE_VERSION', '"@0@"'.format(meson.project_version())) conf.set('TRACKER_VERSION', '"@0@"'.format(meson.project_version())) # Config that goes in some other generated files (.desktop, .pc, etc) @@ -32,7 +28,7 @@ index 7ae103c..cc61e84 100644 conf.set('exec_prefix', get_option('prefix')) conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir'))) conf.set('datadir', datadir) -@@ -400,7 +400,7 @@ tracker_c_args = [ +@@ -353,7 +353,7 @@ tracker_c_args = [ configinc = include_directories('./') srcinc = include_directories('src/') @@ -41,22 +37,22 @@ index 7ae103c..cc61e84 100644 # We use tracker-miners-3.0 rather than tracker3-miners inside the lib64 # directory, following the existing convention in that directory. -@@ -430,8 +430,8 @@ subdir('data') +@@ -378,8 +378,8 @@ subdir('src') subdir('docs') test_c_args = tracker_c_args + [ -- '-DTOP_BUILDDIR="@0@/"'.format(meson.build_root()), -- '-DTOP_SRCDIR="@0@/"'.format(meson.source_root()), +- '-DTOP_BUILDDIR="@0@/"'.format(meson.project_build_root()), +- '-DTOP_SRCDIR="@0@/"'.format(meson.project_source_root()), + '-DTOP_BUILDDIR="@0@/"'.format(''), + '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'), ] if get_option('tests_tap_protocol') diff --git a/src/common/tracker-landlock.c b/src/common/tracker-landlock.c -index 0ad90d0..354f5d1 100644 ---- a/src/common/tracker-landlock.c -+++ b/src/common/tracker-landlock.c -@@ -283,7 +283,7 @@ tracker_landlock_init (const gchar * const *indexed_folders) +index a3f390585..778ae62d9 100644 +--- a/src/common/tracker-landlock.c 2026-03-15 01:40:56.000000000 +0100 ++++ b/src/common/tracker-landlock.c 2026-03-26 16:49:16.948259117 +0100 +@@ -299,7 +299,7 @@ LANDLOCK_ACCESS_FS_READ_DIR); } } @@ -65,7 +61,7 @@ index 0ad90d0..354f5d1 100644 current_dir = g_get_current_dir (); /* Detect running in-tree */ -@@ -303,7 +303,7 @@ tracker_landlock_init (const gchar * const *indexed_folders) +@@ -319,7 +319,7 @@ in_tree_rules[i].flags); } } @@ -74,43 +70,28 @@ index 0ad90d0..354f5d1 100644 /* Add user cache for readonly databases */ #ifdef MINER_FS_CACHE_LOCATION add_rule (landlock_fd, MINER_FS_CACHE_LOCATION, -diff --git a/src/miners/fs/meson.build b/src/miners/fs/meson.build -index 1e16618..286580a 100644 ---- a/src/indexer/meson.build -+++ b/src/indexer/meson.build -@@ -68,8 +68,8 @@ executable('localsearch-@0@'.format(tracker_api_major), +--- a/src/indexer/meson.build 2026-03-15 01:40:56.000000000 +0100 ++++ b/src/indexer/meson.build 2026-03-26 16:55:09.020362168 +0100 +@@ -91,9 +91,9 @@ executable('localsearch-@0@'.format(tracker_api_major), dependencies: tracker_miner_fs_deps, c_args: [ tracker_c_args, - '-DBUILDROOT="@0@"'.format(meson.global_build_root()), -- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.build_root() / 'src' / 'extractor'), +- '-DBUILDDIR="@0@"'.format(meson.current_build_dir()), +- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.project_build_root() / 'src' / 'extractor'), + '-DBUILDROOT="@0@"'.format(get_option('prefix') / 'src'), ++ '-DBUILDDIR="@0@"'.format(''), + '-DBUILD_EXTRACTDIR="@0@"'.format(get_option('prefix') / 'src' / 'extractor'), '-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')), ], install: true, -diff --git a/src/tracker-extract/meson.build b/src/tracker-extract/meson.build -index 2584881..31411f2 100644 ---- a/src/extractor/meson.build -+++ b/src/extractor/meson.build -@@ -158,7 +158,7 @@ endif - executable('localsearch-extractor-@0@'.format(tracker_api_major), - tracker_extract_sources, - # Manually add the root dir to work around https://github.com/mesonbuild/meson/issues/1387 -- c_args: tracker_c_args + ['-I' + meson.build_root()], -+ c_args: tracker_c_args, - export_dynamic: true, - dependencies: tracker_extract_dependencies, - install: true, -diff --git a/tests/tracker-miner-fs/meson.build b/tests/tracker-miner-fs/meson.build -index 8c081fd..9792082 100644 ---- a/tests/indexer/meson.build -+++ b/tests/indexer/meson.build -@@ -18,7 +18,7 @@ libtracker_miner_test_c_args = [ +--- a/tests/indexer/meson.build 2026-03-15 01:40:56.000000000 +0100 ++++ b/tests/indexer/meson.build 2026-03-26 17:01:29.686224071 +0100 +@@ -18,7 +18,7 @@ ] libtracker_miner_test_environment = environment() --libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) +-libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.project_build_root(), 'data')) +libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', '/usr/src/debug/tracker-miners/data') libtracker_miner_test_deps = [tracker_miners_common_dep, tracker_miner_dep, tracker_sparql] diff --git a/meta-gnome/recipes-gnome/tracker/localsearch_3.11.0.bb b/meta-gnome/recipes-gnome/tracker/localsearch_3.11.0.bb new file mode 100644 index 00000000000..d49482cfecc --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/localsearch_3.11.0.bb @@ -0,0 +1,84 @@ +SUMMARY = "Tracker miners and metadata extractors" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ + file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ +" + +DEPENDS = " \ + intltool-native \ + tinysparql \ + zlib \ +" + + +inherit gnomebase gsettings gobject-introspection vala bash-completion features_check + +SRC_URI:append = " \ + file://0001-fix-reproducibility.patch \ + file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ +" +SRC_URI[archive.sha256sum] = "c6774761a8b9f4a06f6812f1c8078bee2e937d65e376c3d2338b78993e5f4666" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +GIR_MESON_OPTION = "" +VALA_MESON_OPTION = "" + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg", "", d)} \ + gexiv2 \ + gstreamer \ + icu \ + libexif \ + libgsf \ + jpeg \ + pdf \ + png \ + tiff \ + raw \ + xml \ + zip \ + ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ + battery \ +" +# Needs tgkill API which musl does not support +# see https://www.openwall.com/lists/musl/2019/08/02/1 +PACKAGECONFIG:remove:libc-musl = "seccomp" + +PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower" +PACKAGECONFIG[cue] = "-Dcue=enabled,-Dcue=disabled,libcue" +PACKAGECONFIG[ffmpeg] = "-Dlibav=enabled,-Dlibav=disabled,ffmpeg" +PACKAGECONFIG[gexiv2] = ",,gexiv2" +PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[gupnp] = "-Dgstreamer_backend=gupnp,,gupnp-dlna" +PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" +PACKAGECONFIG[icu] = "-Dcharset_detection=icu,,icu" +PACKAGECONFIG[iso] = "-Diso=enabled,-Diso=disabled,libosinfo" +PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" +PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif" +PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf" +PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler" +PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" +PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" +PACKAGECONFIG[raw] = "-Draw=enabled,-Draw=disabled,libraw" +PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" +PACKAGECONFIG[zip] = "-Dzip=enabled,-Dzip=disabled,libzip" +PACKAGECONFIG[landlock] = "-Dlandlock=enabled,-Dlandlock=disabled" + +# For security reasons it is strongly recommended to set add meta-security in +# your layers and 'libseccomp + landlock' to PACKAGECONFIG". +PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" + +EXTRA_OEMESON += " \ + -Dman=false -Dfunctional_tests=false \ + -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ + -Dsystemd_user_services_dir=${systemd_user_unitdir} \ +" + + +FILES:${PN} += " \ + ${datadir} \ + ${libdir}/localsearch-3.0 \ + ${systemd_user_unitdir} \ +" diff --git a/meta-gnome/recipes-gnome/tracker/localsearch_3.9.0.bb b/meta-gnome/recipes-gnome/tracker/localsearch_3.9.0.bb deleted file mode 100644 index ffea1f76b3a..00000000000 --- a/meta-gnome/recipes-gnome/tracker/localsearch_3.9.0.bb +++ /dev/null @@ -1,82 +0,0 @@ -SUMMARY = "Tracker miners and metadata extractors" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ - file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ -" - -DEPENDS = " \ - intltool-native \ - tinysparql \ - zlib \ -" - - -inherit gnomebase gsettings gobject-introspection vala bash-completion features_check - -SRC_URI:append = " \ - file://0001-fix-reproducibility.patch \ - file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ -" -SRC_URI[archive.sha256sum] = "d42f408dc3fb28fe54f5a9abbf5f1decf5818db9c2e9ec51c09464bdfd0c14b9" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -GIR_MESON_OPTION = "" -VALA_MESON_OPTION = "" - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg", "", d)} \ - gexiv2 \ - gstreamer \ - icu \ - libexif \ - libgsf \ - jpeg \ - pdf \ - png \ - tiff \ - raw \ - xml \ - ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ - battery \ -" -# Needs tgkill API which musl does not support -# see https://www.openwall.com/lists/musl/2019/08/02/1 -PACKAGECONFIG:remove:libc-musl = "seccomp" - -PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower" -PACKAGECONFIG[cue] = "-Dcue=enabled,-Dcue=disabled,libcue" -PACKAGECONFIG[ffmpeg] = "-Dlibav=enabled,-Dlibav=disabled,ffmpeg" -PACKAGECONFIG[gexiv2] = ",,gexiv2" -PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[gupnp] = "-Dgstreamer_backend=gupnp,,gupnp-dlna" -PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" -PACKAGECONFIG[icu] = "-Dcharset_detection=icu,,icu" -PACKAGECONFIG[iso] = "-Diso=enabled,-Diso=disabled,libosinfo" -PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" -PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif" -PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf" -PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler" -PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" -PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" -PACKAGECONFIG[raw] = "-Draw=enabled,-Draw=disabled,libraw" -PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" -PACKAGECONFIG[landlock] = "-Dlandlock=enabled,-Dlandlock=disabled" - -# For security reasons it is strongly recommended to set add meta-security in -# your layers and 'libseccomp + landlock' to PACKAGECONFIG". -PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" - -EXTRA_OEMESON += " \ - -Dman=false \ - -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ - -Dsystemd_user_services_dir=${systemd_user_unitdir} \ -" - - -FILES:${PN} += " \ - ${datadir} \ - ${libdir}/localsearch-3.0 \ - ${systemd_user_unitdir} \ -" diff --git a/meta-gnome/recipes-gnome/tracker/tinysparql_3.10.1.bb b/meta-gnome/recipes-gnome/tracker/tinysparql_3.10.1.bb deleted file mode 100644 index aba8f12976a..00000000000 --- a/meta-gnome/recipes-gnome/tracker/tinysparql_3.10.1.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Tracker is a file search engine" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ - file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ -" - -DEPENDS = " \ - dbus-native \ - glib-2.0 \ - sqlite3 \ - dbus \ - icu \ - json-glib \ - libsoup \ - libstemmer \ -" - -inherit gettext gnomebase gobject-introspection vala gi-docgen bash-completion - -SRC_URI += "file://0001-fix-reproducibility.patch" -SRC_URI += "file://0001-src-libtracker-sparql-meson.build-dont-create-compat.patch" -SRC_URI[archive.sha256sum] = "5a7f3e789db6671a550ed6280ed4f60a60bea77368da92be68dc7d8d7e230265" - -# text search is not an option anymore and requires sqlite3 build with -# PACKAGECONFIG[fts5] set (default) - -# set required cross property sqlite3_has_fts5 -do_write_config[vardeps] += "PACKAGECONFIG" -do_write_config:append() { - echo "[properties]" > ${WORKDIR}/meson-tracker.cross - echo "sqlite3_has_fts5 = 'true'" >> ${WORKDIR}/meson-tracker.cross -} - -EXTRA_OEMESON = " \ - --cross-file ${WORKDIR}/meson-tracker.cross \ - -Dman=false \ - -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ - -Dsystemd_user_services_dir=${systemd_user_unitdir} \ - -Dtests=false \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=enabled', '-Dvapi=disabled', d)} \ -" - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GIDOCGEN_MESON_OPTION = "docs" - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains("DISTRO_FEATURES", "zeroconf", "avahi", "", d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "docs", "", d)} \ -" -PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi," -PACKAGECONFIG[docs] = ",,graphviz-native" - -do_install:prepend() { - sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtinysparql/tracker-sparql-enum-types.c - sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtinysparql/core/tracker-data-enum-types.c -} - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${libdir}/tinysparql-3.0 \ - ${systemd_user_unitdir} \ -" diff --git a/meta-gnome/recipes-gnome/tracker/tinysparql_3.11.0.bb b/meta-gnome/recipes-gnome/tracker/tinysparql_3.11.0.bb new file mode 100644 index 00000000000..522cfb3d23a --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tinysparql_3.11.0.bb @@ -0,0 +1,64 @@ +SUMMARY = "Tracker is a file search engine" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ + file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ +" + +DEPENDS = " \ + dbus-native \ + glib-2.0 \ + sqlite3 \ + dbus \ + icu \ + json-glib \ + libsoup \ + libstemmer \ +" + +inherit gettext gnomebase gobject-introspection vala gi-docgen bash-completion + +SRC_URI += "file://0001-fix-reproducibility.patch" +SRC_URI += "file://0001-src-libtracker-sparql-meson.build-dont-create-compat.patch" +SRC_URI[archive.sha256sum] = "011e758a53f31112a8c45700fd6039ae55617f0dac70119d9eddafc03cf68fe5" + +# text search is not an option anymore and requires sqlite3 build with +# PACKAGECONFIG[fts5] set (default) + +# set required cross property sqlite3_has_fts5 +do_write_config[vardeps] += "PACKAGECONFIG" +do_write_config:append() { + echo "[properties]" > ${WORKDIR}/meson-tracker.cross + echo "sqlite3_has_fts5 = 'true'" >> ${WORKDIR}/meson-tracker.cross +} + +EXTRA_OEMESON = " \ + --cross-file ${WORKDIR}/meson-tracker.cross \ + -Dman=false \ + -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ + -Dsystemd_user_services_dir=${systemd_user_unitdir} \ + -Dtests=false \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=enabled', '-Dvapi=disabled', d)} \ +" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GIDOCGEN_MESON_OPTION = "docs" + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains("DISTRO_FEATURES", "zeroconf", "avahi", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "docs", "", d)} \ +" +PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi," +PACKAGECONFIG[docs] = ",,graphviz-native" + +do_install:prepend() { + sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtinysparql/tracker-sparql-enum-types.c + sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtinysparql/core/tracker-data-enum-types.c +} + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${libdir}/tinysparql-3.0 \ + ${systemd_user_unitdir} \ +" diff --git a/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb b/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb index 14986f2650e..4ebb5bb3b36 100644 --- a/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb +++ b/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb @@ -7,7 +7,8 @@ GNOMEBASEBUILDCLASS = "autotools" inherit gnomebase itstool autotools-brokensep gsettings gettext gtk-doc features_check mime-xdg # for webkitgtk -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "opengl" +ANY_OF_DISTRO_FEATURES = "wayland x11" SRC_URI[archive.sha256sum] = "a2c5fd0787a9089c722cc66bd0f85cdf7088d870e7b6cc85799f8e5bff9eac4b" @@ -22,12 +23,6 @@ DEPENDS += " \ webkitgtk3 \ yelp-xsl \ " -PACKAGECONFIG_SOUP ?= "soup3" -PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}" - -PACKAGECONFIG[soup2] = "--with-webkit2gtk-4-0,," -PACKAGECONFIG[soup3] = ",--with-webkit2gtk-4-0," - do_configure:prepend() { export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool diff --git a/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb b/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb index c024ae3f920..f0c68ed62a3 100644 --- a/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb +++ b/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb @@ -24,7 +24,7 @@ SRC_URI:append:libc-musl = " \ file://0002-musl-add-missing-fgetspent_r.patch \ " -EXTRA_OEMESON:libc-musl += "-Dwtmpfile=/var/log/wtmp -Dtests=false" +EXTRA_OEMESON:append:libc-musl = " -Dwtmpfile=/var/log/wtmp -Dtests=false" SRC_URI[sha256sum] = "adda4cdeae24fa0992e7df3ffff9effa7090be3ac233a3edfdf69d5a9c9b924f" diff --git a/meta-gnome/recipes-support/libwacom/libwacom_2.18.0.bb b/meta-gnome/recipes-support/libwacom/libwacom_2.18.0.bb new file mode 100644 index 00000000000..7bbeb5583a2 --- /dev/null +++ b/meta-gnome/recipes-support/libwacom/libwacom_2.18.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "A tablet description library" +DESCRIPTION = "libwacom is a library to identify Wacom tablets and their model-specific features. \ + It provides easy access to information such as 'is this a built-in on-screen tablet\', \ + 'what is the size of this model', etc." +HOMEPAGE = "https://github.com/linuxwacom/libwacom" +BUGTRACKER = "https://github.com/linuxwacom/libwacom/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e" + +SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https;tag=${BP}" +SRCREV = "44df53b14b008a8252427aa6b41128efada43b3a" + +DEPENDS = " \ + libxml2-native \ + libgudev \ + libevdev \ +" + + +inherit meson pkgconfig + +EXTRA_OEMESON = " \ + -Dtests=disabled \ +" diff --git a/meta-gnome/recipes-support/libwacom/libwacom_2.8.0.bb b/meta-gnome/recipes-support/libwacom/libwacom_2.8.0.bb deleted file mode 100644 index f816cdf239d..00000000000 --- a/meta-gnome/recipes-support/libwacom/libwacom_2.8.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A tablet description library" -DESCRIPTION = "libwacom is a library to identify Wacom tablets and their model-specific features. \ - It provides easy access to information such as 'is this a built-in on-screen tablet\', \ - 'what is the size of this model', etc." -HOMEPAGE = "https://github.com/linuxwacom/libwacom" -BUGTRACKER = "https://github.com/linuxwacom/libwacom/issues" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e" - -SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https" -SRCREV = "f5b92814320d0a5745b50b7b36103843ad23e299" - -DEPENDS = " \ - libxml2-native \ - libgudev \ -" - - -inherit meson pkgconfig - -EXTRA_OEMESON = " \ - -Dtests=disabled \ -" diff --git a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch deleted file mode 100644 index 9fb2cd68145..00000000000 --- a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 71804c06c7179333f44b57e04ba268f37fe54f62 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 13 Jul 2017 09:01:04 -0700 -Subject: [PATCH] pypredict/lm: Define error API if platform does not have it - -error() API is not implemented across all libcs on linux -e.g. musl does not provide it. - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - Onboard/pypredict/lm/lm.cpp | 1 - - Onboard/pypredict/lm/lm.h | 13 +++++++++++++ - Onboard/pypredict/lm/lm_dynamic.cpp | 2 -- - 3 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp -index 2e642965..37ae241e 100644 ---- a/Onboard/pypredict/lm/lm.cpp -+++ b/Onboard/pypredict/lm/lm.cpp -@@ -19,7 +19,6 @@ - - #include - #include --#include - #include - #include - #include -diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h -index ed4164a4..b8b63ee8 100644 ---- a/Onboard/pypredict/lm/lm.h -+++ b/Onboard/pypredict/lm/lm.h -@@ -32,6 +32,19 @@ - #include - #include - -+#if defined(HAVE_ERROR_H) -+#include -+#else -+#include -+#define _onboard_error(S, E, F, ...) do { \ -+ if (E) \ -+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ -+ else \ -+ err(S, F, ##__VA_ARGS__); \ -+} while(0) -+ -+#define error _onboard_error -+#endif - - // break into debugger - // step twice to come back out of the raise() call into known code -diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp -index 7c628240..e7c7f40e 100644 ---- a/Onboard/pypredict/lm/lm_dynamic.cpp -+++ b/Onboard/pypredict/lm/lm_dynamic.cpp -@@ -17,8 +17,6 @@ - * along with this program. If not, see . - */ - --#include -- - #include "lm_dynamic.h" - - using namespace std; --- -2.34.1 - diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb deleted file mode 100644 index d544f169f8d..00000000000 --- a/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "An onscreen keyboard" -HOMEPAGE = "https://github.com/onboard-osk/onboard" -DESCRIPTION = "Onboard is an onscreen keyboard useful for everybody \ -that cannot use a hardware keyboard. It has been designed with simplicity \ -in mind and can be used right away without the need of any configuration, \ -as it can read the keyboard layout from the X server." - -LICENSE = "GPL-3.0-or-later & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e \ - file://COPYING.BSD3;md5=f56403ae5b2d6b82ad136d753c05a82e \ - " - -SRC_URI = "git://github.com/onboard-osk/onboard.git;protocol=https;branch=main \ - file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \ - file://0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch \ - " -SRCREV = "350f7643576bc8c5f2cff9c6ddce0e1e7cff995d" - -inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -DEPENDS = "gtk+3 hunspell libcanberra libxkbfile dconf hicolor-icon-theme python3-distutils-extra-native intltool-native glib-2.0-native" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/icons \ - ${datadir}/gnome-shell \ - ${datadir}/help \ -" - -RDEPENDS:${PN} += " \ - ncurses \ - librsvg-gtk \ - python3-dbus \ - python3-pycairo \ - python3-pygobject \ - python3-image \ -" diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.4-1.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.4-1.bb new file mode 100644 index 00000000000..a069fb692e2 --- /dev/null +++ b/meta-gnome/recipes-support/onboard/onboard_1.4.4-1.bb @@ -0,0 +1,38 @@ +SUMMARY = "An onscreen keyboard" +HOMEPAGE = "https://github.com/onboard-osk/onboard" +DESCRIPTION = "Onboard is an onscreen keyboard useful for everybody \ +that cannot use a hardware keyboard. It has been designed with simplicity \ +in mind and can be used right away without the need of any configuration, \ +as it can read the keyboard layout from the X server." + +LICENSE = "GPL-3.0-or-later & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e \ + file://COPYING.BSD3;md5=f56403ae5b2d6b82ad136d753c05a82e \ + " + +SRC_URI = "git://github.com/onboard-osk/onboard.git;protocol=https;branch=main;tag=${PV} \ + file://0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch \ + " +SRCREV = "02b19e2aee88e4bf2cdc7094813ddd4a6c05d1e7" + +inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS = "gtk+3 hunspell libcanberra libxkbfile dconf hicolor-icon-theme python3-distutils-extra-native intltool-native glib-2.0-native" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/icons \ + ${datadir}/gnome-shell \ + ${datadir}/help \ +" + +RDEPENDS:${PN} += " \ + ncurses \ + librsvg-gtk \ + python3-dbus \ + python3-pycairo \ + python3-pygobject \ + python3-image \ +" diff --git a/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.7.bb b/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.7.bb index 726139a6b3c..00cea42ca9e 100644 --- a/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.7.bb +++ b/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.7.bb @@ -12,7 +12,7 @@ inherit meson pkgconfig EXTRA_OEMESON = "-Dupdate_cache=true" -SRC_URI = "git://github.com/aruiz/webp-pixbuf-loader.git;protocol=https;branch=mainline" +SRC_URI = "git://github.com/aruiz/webp-pixbuf-loader.git;protocol=https;branch=mainline;tag=${PV}" SRCREV = "52232e4ba282b2fed68e8fcb4b5d45ed0eaa4ed3" diff --git a/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_49.0.bb b/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_49.0.bb deleted file mode 100644 index 21fe18039ff..00000000000 --- a/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_49.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "A xdg-desktop-portal backend for gnome." -HOMEPAGE = "https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = " \ - glib-2.0-native \ - gtk4\ - xdg-desktop-portal \ - xdg-desktop-portal-gtk \ - libadwaita \ - fontconfig \ - gsettings-desktop-schemas \ - gnome-desktop \ - dconf \ -" - -RDEPENDS:${PN} = "xdg-desktop-portal xdg-desktop-portal-gtk" - -inherit gnomebase pkgconfig gsettings features_check - -REQUIRED_DISTRO_FEATURES = "polkit" - -SRC_URI[archive.sha256sum] = "401dafcdf8cb911f09c08d2813f774dd864127abfca93ff4caf1fc4c9b5ec4d2" - -PACKAGECONFIG ?= "screenshot screencast ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" -PACKAGECONFIG[wayland] = ",,wayland-native" -PACKAGECONFIG[screenshot] = ",,,gnome-shell" -PACKAGECONFIG[screencast] = ",,,mutter" - -FILES:${PN} += "${systemd_user_unitdir} ${datadir}" diff --git a/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_50.0.bb b/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_50.0.bb new file mode 100644 index 00000000000..00ef8a5d97d --- /dev/null +++ b/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_50.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "A xdg-desktop-portal backend for gnome." +HOMEPAGE = "https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = " \ + glib-2.0-native \ + gtk4\ + xdg-desktop-portal \ + xdg-desktop-portal-gtk \ + libadwaita \ + fontconfig \ + gsettings-desktop-schemas \ + gnome-desktop \ + dconf \ +" + +RDEPENDS:${PN} = "xdg-desktop-portal xdg-desktop-portal-gtk" + +inherit gnomebase pkgconfig gsettings features_check + +REQUIRED_DISTRO_FEATURES = "polkit" + +SRC_URI[archive.sha256sum] = "ceeef2fb68b34b3f66a3def0a332a22a70af272641fb6c50065b7a2fde3d5759" + +PACKAGECONFIG ?= "screenshot screencast ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" +PACKAGECONFIG[wayland] = ",,wayland-native" +PACKAGECONFIG[screenshot] = ",,,gnome-shell" +PACKAGECONFIG[screencast] = ",,,mutter" + +FILES:${PN} += "${systemd_user_unitdir} ${datadir}" diff --git a/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.15.3.bb b/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.15.3.bb index 5e83a07a4b9..612eb4b8158 100644 --- a/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.15.3.bb +++ b/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.15.3.bb @@ -15,7 +15,7 @@ inherit gettext meson pkgconfig gsettings features_check REQUIRED_DISTRO_FEATURES = "polkit" -SRC_URI = "git://github.com/flatpak/xdg-desktop-portal-gtk.git;protocol=https;branch=main" +SRC_URI = "git://github.com/flatpak/xdg-desktop-portal-gtk.git;protocol=https;branch=main;tag=${PV}" SRCREV = "337202d4e7179857bc37b03c1a6d8c9d92e47c44" diff --git a/meta-initramfs/README.md b/meta-initramfs/README.md index 119293a741c..e074142be76 100644 --- a/meta-initramfs/README.md +++ b/meta-initramfs/README.md @@ -21,10 +21,10 @@ Maintenance Send patches / pull requests to openembedded-devel@lists.openembedded.org with '[meta-initramfs]' in the subject. -When sending single patches, please using something like: +When sending single patches, please use something like: git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-initramfs][PATCH' -Interm layer maintainer: Khem Raj +Interim layer maintainer: Khem Raj License diff --git a/meta-initramfs/conf/layer.conf b/meta-initramfs/conf/layer.conf index 6d495a6fb3b..b52f3fde802 100644 --- a/meta-initramfs/conf/layer.conf +++ b/meta-initramfs/conf/layer.conf @@ -16,7 +16,7 @@ BBFILE_PATTERN_meta-initramfs := "^${LAYERDIR}/" BBFILE_PRIORITY_meta-initramfs = "5" LAYERDEPENDS_meta-initramfs = "core" -LAYERSERIES_COMPAT_meta-initramfs = "walnascar whinlatter" +LAYERSERIES_COMPAT_meta-initramfs = "whinlatter wrynose" SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ dracut->virtual/kernel \ diff --git a/meta-initramfs/recipes-devtools/dracut/dracut/0002-fix-broken-symlink-in-dracut-config-examples.patch b/meta-initramfs/recipes-devtools/dracut/dracut/0002-fix-broken-symlink-in-dracut-config-examples.patch deleted file mode 100644 index e2c202a079e..00000000000 --- a/meta-initramfs/recipes-devtools/dracut/dracut/0002-fix-broken-symlink-in-dracut-config-examples.patch +++ /dev/null @@ -1,44 +0,0 @@ -From e01991f1d55d4d1327793790bad3724b89952704 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Thu, 22 May 2025 18:07:27 +0800 -Subject: [PATCH 2/2] fix broken symlink in dracut config examples - -Due to commit [1], it installs dracut config examples under /usr. -But while enable_test=no, the symlink of test in dracut config is broken -... -root@qemux86-64:~# ls /usr/lib/dracut/dracut.conf.d/test* -ahl -lrwxrwxrwx 1 root root 27 Apr 5 2011 /usr/lib/dracut/dracut.conf.d/test -> ../test/dracut.conf.d/test/ -lrwxrwxrwx 1 root root 36 Apr 5 2011 /usr/lib/dracut/dracut.conf.d/test-makeroot -> ../test/dracut.conf.d/test-makeroot/ -lrwxrwxrwx 1 root root 31 Apr 5 2011 /usr/lib/dracut/dracut.conf.d/test-root -> ../test/dracut.conf.d/test-root -root@qemux86-64:~# realpath /usr/lib/dracut/dracut.conf.d/test* -realpath: /usr/lib/dracut/dracut.conf.d/test: No such file or directory -realpath: /usr/lib/dracut/dracut.conf.d/test-makeroot: No such file or directory -realpath: /usr/lib/dracut/dracut.conf.d/test-root: No such file or directory -... - -This commit cleans up test symlink if enable_test=no - -[1] https://github.com/dracut-ng/dracut-ng/commit/0d369e3e30935dffe48dfff1e90463868e7f804a - -Upstream-Status: Submitted [https://github.com/dracut-ng/dracut-ng/pull/1344] - -Signed-off-by: Hongxu Jia ---- - Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile b/Makefile -index 3a40594b..df7956ab 100644 ---- a/Makefile -+++ b/Makefile -@@ -218,6 +218,7 @@ ifeq ($(enable_test),yes) - done - else - rm -rf $(DESTDIR)$(pkglibdir)/modules.d/70test* -+ rm -rf $(DESTDIR)$(pkglibdir)/dracut.conf.d/test* - endif - ifneq ($(enable_documentation),no) - for i in $(man1pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man1/$${i##*/}; done --- -2.47.3 - diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_109.bb b/meta-initramfs/recipes-devtools/dracut/dracut_109.bb deleted file mode 100644 index ee6dce45769..00000000000 --- a/meta-initramfs/recipes-devtools/dracut/dracut_109.bb +++ /dev/null @@ -1,102 +0,0 @@ -SUMMARY = "Initramfs generator using udev" -HOMEPAGE = "https://dracut.wiki.kernel.org/index.php/Main_Page" -DESCRIPTION = "Dracut is an event driven initramfs infrastructure. dracut (the tool) is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework, usually found in /usr/lib/dracut/modules.d." - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -PE = "1" - -SRCREV = "13c5e5feee9ba86b960d351f87aa0eb25f242ff0" -SRC_URI = "git://github.com/dracut-ng/dracut-ng.git;protocol=http;branch=main;tag=${PV} \ - file://0002-fix-broken-symlink-in-dracut-config-examples.patch \ - " - -DEPENDS += "kmod" -DEPENDS:append:libc-musl = " fts" - -inherit bash-completion pkgconfig - -EXTRA_OECONF = "--prefix=${prefix} \ - --libdir=${nonarch_libdir} \ - --datadir=${datadir} \ - --sysconfdir=${sysconfdir} \ - --sbindir=${sbindir} \ - --bindir=${bindir} \ - --includedir=${includedir} \ - --localstatedir=${localstatedir} \ - --disable-documentation \ - " - -# RDEPEND on systemd optionally -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd" - -EXTRA_OEMAKE += 'libdir=${nonarch_libdir} LDLIBS="${LDLIBS}" enable_test=no DRACUT_FULL_VERSION=${PV}' - -CFLAGS:append = " -fPIC" -LDLIBS:append:libc-musl = " -lfts" - -do_configure() { - ./configure ${EXTRA_OECONF} -} - -do_install() { - oe_runmake install DESTDIR=${D} - # Its Makefile uses cp -arx to install modules.d, so fix the owner - # to root:root - chown -R root:root ${D}/${nonarch_libdir}/dracut/modules.d \ - ${D}/${nonarch_libdir}/dracut/dracut.conf.d - - if ! ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - rm -rf ${D}${nonarch_libdir}/systemd - fi -} - -do_install:append:class-target () { - # Generate and install a config file listing where the DISTRO puts things, dracut - # is not always savvy enough to figure it out by itself - # Since this primarily fixes systemd issues, only install it when using systemd. - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - cat << EOF > ${B}/${DISTRO}.conf -stdloglvl=3 -sysloglvl=5 -sysctlconfdir=${sysconfdir}/sysctl.d -systemdutildir=${systemd_unitdir} -systemdutilconfdir=${sysconfdir}/systemd -systemdcatalog=${systemd_unitdir}catalog -systemdntpunits=${systemd_unitdir}ntp-units.d -systemdntpunitsconfdir=${sysconfdir}/systemd/ntp-units.d -systemdportable=${systemd_unitdir}/portable -systemdportableconfdir=${sysconfdir}/systemd/portable -systemdsystemunitdir=${systemd_system_unitdir} -systemdsystemconfdir=${sysconfdir}/systemd/system -systemduser=${systemd_user_unitdir} -systemduserconfdir=${sysconfdir}/systemd/user -EOF - install -m 0644 ${B}/${DISTRO}.conf ${D}${nonarch_libdir}/dracut/dracut.conf.d/ - fi -} - - -FILES:${PN} += "${nonarch_libdir}/kernel \ - ${nonarch_libdir}/dracut \ - ${systemd_unitdir} \ - " -FILES:${PN}-dbg += "${nonarch_libdir}/dracut/.debug" - -CONFFILES:${PN} += "${sysconfdir}/dracut.conf" - -# The native variant uses a non-ldd based method of getting library -# dependencies, so ldd is only needed on the target -RDEPENDS:${PN} = "findutils cpio util-linux-blkid util-linux-getopt util-linux bash" -RDEPENDS:${PN}:append:class-target = " ldd" - -# This could be optimized a bit, but let's avoid non-booting systems :) -RRECOMMENDS:${PN}:class-target = "kernel-modules \ - coreutils \ - " - -BBCLASSEXTEND = "native nativesdk" - -CVE_STATUS[CVE-2010-4176] = "not-applicable-platform: Applies only to Fedora" diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_110.bb b/meta-initramfs/recipes-devtools/dracut/dracut_110.bb new file mode 100644 index 00000000000..d5ca94add80 --- /dev/null +++ b/meta-initramfs/recipes-devtools/dracut/dracut_110.bb @@ -0,0 +1,100 @@ +SUMMARY = "Initramfs generator using udev" +HOMEPAGE = "https://dracut.wiki.kernel.org/index.php/Main_Page" +DESCRIPTION = "Dracut is an event driven initramfs infrastructure. dracut (the tool) is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework, usually found in /usr/lib/dracut/modules.d." + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +PE = "1" + +SRCREV = "25bf13842a5c55f4a5ab1523e005b3b11b9ac38e" +SRC_URI = "git://github.com/dracut-ng/dracut-ng.git;protocol=http;branch=main;tag=${PV}" + +DEPENDS += "kmod" +DEPENDS:append:libc-musl = " fts" + +inherit bash-completion pkgconfig + +EXTRA_OECONF = "--prefix=${prefix} \ + --libdir=${nonarch_libdir} \ + --datadir=${datadir} \ + --sysconfdir=${sysconfdir} \ + --sbindir=${sbindir} \ + --bindir=${bindir} \ + --includedir=${includedir} \ + --localstatedir=${localstatedir} \ + --disable-documentation \ + " + +# RDEPEND on systemd optionally +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd" + +EXTRA_OEMAKE += 'libdir=${nonarch_libdir} LDLIBS="${LDLIBS}" enable_test=no DRACUT_FULL_VERSION=${PV}' + +CFLAGS:append = " -fPIC" +LDLIBS:append:libc-musl = " -lfts" + +do_configure() { + ./configure ${EXTRA_OECONF} +} + +do_install() { + oe_runmake install DESTDIR=${D} + # Its Makefile uses cp -arx to install modules.d, so fix the owner + # to root:root + chown -R root:root ${D}/${nonarch_libdir}/dracut/modules.d \ + ${D}/${nonarch_libdir}/dracut/dracut.conf.d + + if ! ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + rm -rf ${D}${nonarch_libdir}/systemd + fi +} + +do_install:append:class-target () { + # Generate and install a config file listing where the DISTRO puts things, dracut + # is not always savvy enough to figure it out by itself + # Since this primarily fixes systemd issues, only install it when using systemd. + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + cat << EOF > ${B}/${DISTRO}.conf +stdloglvl=3 +sysloglvl=5 +sysctlconfdir=${sysconfdir}/sysctl.d +systemdutildir=${systemd_unitdir} +systemdutilconfdir=${sysconfdir}/systemd +systemdcatalog=${systemd_unitdir}catalog +systemdntpunits=${systemd_unitdir}ntp-units.d +systemdntpunitsconfdir=${sysconfdir}/systemd/ntp-units.d +systemdportable=${systemd_unitdir}/portable +systemdportableconfdir=${sysconfdir}/systemd/portable +systemdsystemunitdir=${systemd_system_unitdir} +systemdsystemconfdir=${sysconfdir}/systemd/system +systemduser=${systemd_user_unitdir} +systemduserconfdir=${sysconfdir}/systemd/user +EOF + install -m 0644 ${B}/${DISTRO}.conf ${D}${nonarch_libdir}/dracut/dracut.conf.d/ + fi +} + + +FILES:${PN} += "${nonarch_libdir}/kernel \ + ${nonarch_libdir}/dracut \ + ${systemd_unitdir} \ + " +FILES:${PN}-dbg += "${nonarch_libdir}/dracut/.debug" + +CONFFILES:${PN} += "${sysconfdir}/dracut.conf" + +# The native variant uses a non-ldd based method of getting library +# dependencies, so ldd is only needed on the target +RDEPENDS:${PN} = "findutils cpio util-linux-blkid util-linux-getopt util-linux bash" +RDEPENDS:${PN}:append:class-target = " ldd" + +# This could be optimized a bit, but let's avoid non-booting systems :) +RRECOMMENDS:${PN}:class-target = "kernel-modules \ + coreutils \ + " + +BBCLASSEXTEND = "native nativesdk" + +CVE_STATUS[CVE-2010-4176] = "not-applicable-platform: Applies only to Fedora" diff --git a/meta-multimedia/conf/layer.conf b/meta-multimedia/conf/layer.conf index a01984888de..c96fbcb27c7 100644 --- a/meta-multimedia/conf/layer.conf +++ b/meta-multimedia/conf/layer.conf @@ -31,7 +31,7 @@ LAYERVERSION_multimedia-layer = "1" LAYERDEPENDS_multimedia-layer = "core openembedded-layer meta-python" -LAYERSERIES_COMPAT_multimedia-layer = "walnascar whinlatter" +LAYERSERIES_COMPAT_multimedia-layer = "whinlatter wrynose" # List of known non-reproducible package of the meta-multimedia layer # Please keep this list sorted diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.13.1.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.13.1.bb index 141b02306db..b157dc79ec7 100644 --- a/meta-multimedia/recipes-multimedia/aom/aom_3.13.1.bb +++ b/meta-multimedia/recipes-multimedia/aom/aom_3.13.1.bb @@ -25,3 +25,5 @@ EXTRA_OECMAKE:append:riscv32 = " -DENABLE_RVV=OFF" do_generate_toolchain_file:append() { echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake } + +SYSROOT_DIRS += "${bindir}" diff --git a/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_4.3.0.bb b/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_4.3.0.bb index 162a51284e1..4f154653714 100644 --- a/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_4.3.0.bb +++ b/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_4.3.0.bb @@ -58,6 +58,7 @@ EXTRA_OECONF = "\ PACKAGE_BEFORE_PN = "${PN}-aplay" FILES:${PN}-aplay += "${bindir}/bluealsa-aplay" +FILES:${PN}-staticdev += "${libdir}/alsa-lib/*.a" FILES:${PN} += "${libdir}/alsa-lib/* ${datadir}/dbus-1/system.d" RRECOMMENDS:${PN} = "${PN}-aplay" diff --git a/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.2.bb b/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.2.bb deleted file mode 100644 index e8f4126a9af..00000000000 --- a/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.2.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "dav1d AV1 decoder" -DESCRIPTION = "Targeted to be small, portable and fast." -HOMEPAGE = "https://code.videolan.org/videolan/dav1d" -SECTION = "multimedia" -LICENSE = "BSD-2-Clause" - -LIC_FILES_CHKSUM = "file://COPYING;md5=48d9210a87a24f62609b5a4f777d8dfe" - -SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;nobranch=1" -SRCREV = "c720f4d3556a01916324aea155555d3efba842e8" - -DEPENDS:append:x86 = " nasm-native" -DEPENDS:append:x86-64 = " nasm-native" - -inherit meson pkgconfig - -# RVV assembler routines are not yet available for RISCV32 -EXTRA_OEMESON:append:riscv32 = " -Denable_asm=false" diff --git a/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.3.bb b/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.3.bb new file mode 100644 index 00000000000..6c092c1649a --- /dev/null +++ b/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.3.bb @@ -0,0 +1,18 @@ +SUMMARY = "dav1d AV1 decoder" +DESCRIPTION = "Targeted to be small, portable and fast." +HOMEPAGE = "https://code.videolan.org/videolan/dav1d" +SECTION = "multimedia" +LICENSE = "BSD-2-Clause" + +LIC_FILES_CHKSUM = "file://COPYING;md5=48d9210a87a24f62609b5a4f777d8dfe" + +SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;nobranch=1" +SRCREV = "b546257f770768b2c88258c533da38b91a06f737" + +DEPENDS:append:x86 = " nasm-native" +DEPENDS:append:x86-64 = " nasm-native" + +inherit meson pkgconfig + +# RVV assembler routines are not yet available for RISCV32 +EXTRA_OEMESON:append:riscv32 = " -Denable_asm=false" diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.4.8.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.4.8.bb deleted file mode 100644 index 9d765466418..00000000000 --- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.4.8.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Fluidsynth is a software synthesizer" -HOMEPAGE = "http://www.fluidsynth.org/" -SECTION = "libs/multimedia" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594" - -DEPENDS = "glib-2.0" - -SRC_URI = " \ - git://github.com/FluidSynth/fluidsynth.git;branch=master;protocol=https \ - file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \ -" -SRCREV = "70a10b365c707c73bd340e28970601d52d425d8c" - - -inherit cmake pkgconfig lib_package - -EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}" - -do_install:append() { - sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/pkgconfig/fluidsynth.pc - sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/cmake/fluidsynth/FluidSynthTargets.cmake -} - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio pipewire systemd alsa dbus', d)}" -PACKAGECONFIG[alsa] = "-Denable-alsa=ON,-Denable-alsa=OFF,alsa-lib" -PACKAGECONFIG[dbus] = "-Denable-dbus=ON,-Denable-dbus=OFF,dbus" -PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack" -PACKAGECONFIG[oss] = "-Denable-oss=ON,-Denable-oss=OFF" -PACKAGECONFIG[pipewire] = "-Denable-pipewire=ON,-Denable-pipewire=OFF,pipewire" -PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19" -PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF" -PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio" -PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline" -PACKAGECONFIG[sdl] = "-Denable-sdl2=ON,-Denable-sdl2=OFF,virtual/libsdl2" -PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1" -PACKAGECONFIG[systemd] = "-Denable-systemd=ON,-Denable-systemd=OFF,systemd" - diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.5.3.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.5.3.bb new file mode 100644 index 00000000000..4dbf4d1fc75 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.5.3.bb @@ -0,0 +1,42 @@ +SUMMARY = "Fluidsynth is a software synthesizer" +HOMEPAGE = "http://www.fluidsynth.org/" +SECTION = "libs/multimedia" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4bf661c1e3793e55c8d1051bc5e0ae21" + +DEPENDS = "glib-2.0" + +SRC_URI = " \ + git://github.com/FluidSynth/fluidsynth.git;name=fluidsynth;branch=master;protocol=https \ + git://github.com/kthohr/gcem.git;name=gcem;subdir=${S}/gcem;protocol=https;nobranch=1 \ + git://github.com/Signalsmith-Audio/basics.git;name=signalsmith-audio-basics;subdir=${S}/signalsmith-audio-basics;protocol=https;nobranch=1 \ + file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \ +" +SRCREV_FORMAT = "fluidsynth" +SRCREV_fluidsynth = "6b8fabbd60f0df3b6e2f5b5df8478a1b43315acd" +SRCREV_gcem = "012ae73c6d0a2cb09ffe86475f5c6fba3926e200" +SRCREV_signalsmith-audio-basics = "012d2be17b0eb6839628f8c73687c4ccccc1bb01" + +inherit cmake pkgconfig lib_package + +EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} -DGCEM_INCLUDE_DIR=${S}/gcem/include" + +do_install:append() { + sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/pkgconfig/fluidsynth.pc + sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/cmake/fluidsynth/FluidSynth-shared-targets.cmake +} + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio pipewire systemd alsa dbus', d)}" +PACKAGECONFIG[alsa] = "-Denable-alsa=ON,-Denable-alsa=OFF,alsa-lib" +PACKAGECONFIG[dbus] = "-Denable-dbus=ON,-Denable-dbus=OFF,dbus" +PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack" +PACKAGECONFIG[oss] = "-Denable-oss=ON,-Denable-oss=OFF" +PACKAGECONFIG[pipewire] = "-Denable-pipewire=ON,-Denable-pipewire=OFF,pipewire" +PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19" +PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF" +PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio" +PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline" +PACKAGECONFIG[sdl] = "-Denable-sdl3=ON,-Denable-sdl3=OFF,libsdl3" +PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1" +PACKAGECONFIG[systemd] = "-Denable-systemd=ON,-Denable-systemd=OFF,systemd" + diff --git a/meta-multimedia/recipes-multimedia/fswebcam/fswebcam_20200725.bb b/meta-multimedia/recipes-multimedia/fswebcam/fswebcam_20200725.bb new file mode 100644 index 00000000000..bc4f324da56 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/fswebcam/fswebcam_20200725.bb @@ -0,0 +1,24 @@ +SUMMARY = "Webcam image grabber and manipulation application" +DESCRIPTION = "\ + fswebcam captures images from a V4L1/V4L2 compatible device or file, \ + averages them to reduce noise and draws a caption using the GD Graphics \ + Library which also handles compressing the image to PNG or JPEG. The \ + resulting image is saved to a file or sent to stdio where it can be piped \ + to something like ncftpput or scp. \ +" +HOMEPAGE = "http://www.sanslogic.co.uk/fswebcam/" +BUGTRACKER = "https://codeberg.org/fsphil/fswebcam/issues" +SECTION = "graphics" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +DEPENDS = "gd" + +SRC_URI = "git://github.com/fsphil/fswebcam.git;protocol=https;branch=master;tag=${PV}" +SRCREV = "db35d4bbd336885a44f017ff142bc9523dbdce3c" + +# Compile gd with PACKAGECONFIG fontconfig for easier font selection +RRECOMMENDS:${PN} = "ttf-dejavu-sans" + +inherit autotools-brokensep diff --git a/meta-multimedia/recipes-multimedia/libavif/libavif_1.3.0.bb b/meta-multimedia/recipes-multimedia/libavif/libavif_1.3.0.bb deleted file mode 100644 index 44f5c1819a8..00000000000 --- a/meta-multimedia/recipes-multimedia/libavif/libavif_1.3.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "This library aims to be a friendly, portable C implementation of the AV1 Image File Format" -HOMEPAGE = "https://github.com/AOMediaCodec/libavif" -SECTION = "libs" -# Most is the code is under BSD-2, but libyuv is under BSD-3, and iccjpeg is under IJG -LICENSE = "BSD-2-Clause & BSD-3-Clause & IJG" -LIC_FILES_CHKSUM = "file://LICENSE;md5=51549db0941829faeedcc86efec2f4c0" - -SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=main;tag=v${PV}" - -SRCREV = "1aadfad932c98c069a1204261b1856f81f3bc199" - -DEPENDS = "dav1d" - -inherit cmake - -EXTRA_OECMAKE += "-DAVIF_CODEC_DAV1D=ON -DAVIF_LIBYUV=OFF" diff --git a/meta-multimedia/recipes-multimedia/libavif/libavif_1.4.1.bb b/meta-multimedia/recipes-multimedia/libavif/libavif_1.4.1.bb new file mode 100644 index 00000000000..77b81fffbf9 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libavif/libavif_1.4.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "This library aims to be a friendly, portable C implementation of the AV1 Image File Format" +HOMEPAGE = "https://github.com/AOMediaCodec/libavif" +SECTION = "libs" +# Most is the code is under BSD-2, but libyuv is under BSD-3, and iccjpeg is under IJG +LICENSE = "BSD-2-Clause & BSD-3-Clause & IJG" +LIC_FILES_CHKSUM = "file://LICENSE;md5=51549db0941829faeedcc86efec2f4c0" + +SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=main;tag=v${PV};name=libavif" +SRC_URI += "git://github.com/kmurray/libargparse.git;protocol=https;nobranch=1;name=libargparse;subdir=${S}/ext/libargparse" +SRC_URI += "git://chromium.googlesource.com/libyuv/libyuv;protocol=https;nobranch=1;name=libyuv;subdir=${S}/ext/libyuv" +SRCREV_libavif = "6543b22b5bc706c53f038a16fe515f921556d9b3" +SRCREV_libargparse = "ee74d1b53bd680748af14e737378de57e2a0a954" +SRCREV_libyuv = "6067afde563c3946eebd94f146b3824ab7a97a9c" +SRCREV_FORMAT = "libavif" + +DEPENDS = "nasm-native" + +inherit cmake pkgconfig + +EXTRA_OECMAKE += " \ + -DAVIF_BUILD_MAN_PAGES=OFF \ + -DAVIF_CODEC_RAV1E=OFF \ + -DAVIF_LIBYUV=LOCAL \ +" + +PACKAGECONFIG ?= "dav1d gdk-pixbuf" +PACKAGECONFIG[apps] = "-DAVIF_BUILD_APPS=ON -DAVIF_LIBXML2=SYSTEM,-DAVIF_BUILD_APPS=OFF -DAVIF_LIBXML2=OFF,zlib libjpeg-turbo libpng libwebp libxml2" +PACKAGECONFIG[gdk-pixbuf] = "-DAVIF_BUILD_GDK_PIXBUF=ON,-DAVIF_BUILD_GDK_PIXBUF=OFF,gdk-pixbuf" +PACKAGECONFIG[aom] = "-DAVIF_CODEC_AOM=SYSTEM,-DAVIF_CODEC_AOM=OFF,aom" +PACKAGECONFIG[dav1d] = "-DAVIF_CODEC_DAV1D=SYSTEM,-DAVIF_CODEC_DAV1D=OFF,dav1d" +PACKAGECONFIG[svt] = "-DAVIF_CODEC_SVT=SYSTEM,-DAVIF_CODEC_SVT=OFF,svt-av1" + +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" diff --git a/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.16.bb b/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.16.bb deleted file mode 100644 index 40910633e83..00000000000 --- a/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.16.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "libde265 is an open source implementation of the h.265 \ -video codec. It is written from scratch and has a plain C API to enable a \ -simple integration into other software." -HOMEPAGE = "http://www.libde265.org/" -SECTION = "libs/multimedia" - -LICENSE = "LGPL-3.0-only & MIT" -LICENSE_FLAGS = "commercial" -LIC_FILES_CHKSUM = "file://COPYING;md5=695b556799abb2435c97a113cdca512f" - -SRC_URI = "git://github.com/strukturag/libde265.git;branch=master;protocol=https;tag=v${PV}" -SRCREV = "7ba65889d3d6d8a0d99b5360b028243ba843be3a" - - -inherit cmake pkgconfig - -EXTRA_OECMAKE = "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" - -PACKAGECONFIG ?= "" -PACKAGECONFIG[libsdl] = "-DENABLE_SDL=ON,-DENABLE_SDL=OFF,virtual/libsdl2" - -FILES:${PN} += "${libdir}/libde265.so" -FILES:${PN}-dev = "${includedir} ${libdir}/cmake ${libdir}/pkgconfig" diff --git a/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.18.bb b/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.18.bb new file mode 100644 index 00000000000..00fc16c0ce9 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.18.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "libde265 is an open source implementation of the h.265 \ +video codec. It is written from scratch and has a plain C API to enable a \ +simple integration into other software." +HOMEPAGE = "http://www.libde265.org/" +SECTION = "libs/multimedia" + +LICENSE = "LGPL-3.0-only & MIT" +LICENSE_FLAGS = "commercial" +LIC_FILES_CHKSUM = "file://COPYING;md5=695b556799abb2435c97a113cdca512f" + +SRC_URI = "git://github.com/strukturag/libde265.git;branch=master;protocol=https;tag=v${PV}" +SRCREV = "36ad04841c209cb8b3577ec2723d431b6bf7efa0" + + +inherit cmake pkgconfig + +EXTRA_OECMAKE = "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[libsdl] = "-DENABLE_SDL=ON,-DENABLE_SDL=OFF,virtual/libsdl2" + +FILES:${PN} += "${libdir}/libde265.so" +FILES:${PN}-dev = "${includedir} ${libdir}/cmake ${libdir}/pkgconfig" +INSANE_SKIP:${PN} = "dev-so" + diff --git a/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb b/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb index 766ee02ca28..cc305f40415 100644 --- a/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb +++ b/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb @@ -4,7 +4,7 @@ LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" DEPENDS = "libdvdread" -SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.bz2" +SRC_URI = "https://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.bz2" SRC_URI[md5sum] = "46c46cb0294fbd1fcb8a0181818dad15" SRC_URI[sha256sum] = "c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48" diff --git a/meta-multimedia/recipes-multimedia/libfreeaptx/libfreeaptx_0.2.2.bb b/meta-multimedia/recipes-multimedia/libfreeaptx/libfreeaptx_0.2.2.bb new file mode 100644 index 00000000000..aa083efd37c --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libfreeaptx/libfreeaptx_0.2.2.bb @@ -0,0 +1,33 @@ +SUMMARY = "Free aptX / aptX-HD audio codec library (LGPL fork of openaptx 0.2.0)" +HOMEPAGE = "https://github.com/regularhunter/libfreeaptx" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +PV = "0.2.2" + +SRC_URI = "git://github.com/regularhunter/libfreeaptx.git;protocol=https;branch=master" +SRCREV = "6dee419f934ec781e531f885f7e8e740752e67d1" + +inherit pkgconfig + +EXTRA_OEMAKE = "\ + LIBDIR=${baselib} \ + CFLAGS='${CFLAGS}' \ + CPPFLAGS='${CPPFLAGS}' \ + LDFLAGS='${LDFLAGS}' \ + CP='cp -a --no-preserve=ownership' \ +" + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake DESTDIR=${D} PREFIX=${prefix} install +} + +PACKAGES =+ "${PN}-utils" + +FILES:${PN} += "${libdir}/libfreeaptx.so.*" +FILES:${PN}-dev += "${includedir}/freeaptx.h ${libdir}/libfreeaptx.so ${libdir}/pkgconfig/libfreeaptx.pc" +FILES:${PN}-utils += "${bindir}/freeaptxenc ${bindir}/freeaptxdec" diff --git a/meta-multimedia/recipes-multimedia/libheif/libheif/CVE-2026-3949.patch b/meta-multimedia/recipes-multimedia/libheif/libheif/CVE-2026-3949.patch new file mode 100644 index 00000000000..ef5d9c1ee44 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libheif/libheif/CVE-2026-3949.patch @@ -0,0 +1,50 @@ +From cba59e7671a36a78e31c0490efe74ec226918580 Mon Sep 17 00:00:00 2001 +From: Dirk Farin +Date: Tue, 24 Feb 2026 00:32:48 +0100 +Subject: [PATCH] vvdec: check that NAL size does not exceed data size (#1712) + +CVE: CVE-2026-3949 +Upstream-Status: Backport [https://github.com/strukturag/libheif/commit/b97c8b5f198b27f375127cd597a35f2113544d03] +Signed-off-by: Gyorgy Sarvari +--- + libheif/plugins/decoder_vvdec.cc | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/libheif/plugins/decoder_vvdec.cc b/libheif/plugins/decoder_vvdec.cc +index 09515720..14b3e9fd 100644 +--- a/libheif/plugins/decoder_vvdec.cc ++++ b/libheif/plugins/decoder_vvdec.cc +@@ -55,6 +55,7 @@ struct vvdec_decoder + std::string error_message; + }; + ++static const char kEmptyString[] = ""; + static const char kSuccess[] = "Success"; + + static const int VVDEC_PLUGIN_PRIORITY = 100; +@@ -179,9 +180,25 @@ heif_error vvdec_push_data2(void* decoder_raw, const void* frame_data, size_t fr + + const auto* data = (const uint8_t*) frame_data; + ++ if (frame_size < 4) { ++ return { ++ heif_error_Decoder_plugin_error, ++ heif_suberror_End_of_data, ++ kEmptyString ++ }; ++ } ++ + for (;;) { + uint32_t size = four_bytes_to_uint32(data[0], data[1], data[2], data[3]); + ++ if (frame_size < 4 + size) { ++ return { ++ heif_error_Decoder_plugin_error, ++ heif_suberror_End_of_data, ++ kEmptyString ++ }; ++ } ++ + data += 4; + + std::vector nalu; diff --git a/meta-multimedia/recipes-multimedia/libheif/libheif_1.20.2.bb b/meta-multimedia/recipes-multimedia/libheif/libheif_1.20.2.bb deleted file mode 100644 index b268b37d8ef..00000000000 --- a/meta-multimedia/recipes-multimedia/libheif/libheif_1.20.2.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file format decoder and encoder" -HOMEPAGE = "https://github.com/strukturag/libheif" -LICENSE = "LGPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=9c0edc7369719b2c47d44e80ba74b4b7" -LICENSE_FLAGS = "commercial" - -COMPATIBLE_MACHINE:powerpc64le = "null" - -SRC_URI = "git://github.com/strukturag/libheif.git;protocol=https;branch=v1.20.x-releases" - -SRCREV = "35dad50a9145332a7bfdf1ff6aef6801fb613d68" - -inherit cmake pkgconfig - -DEPENDS += "gdk-pixbuf x265 libde265 tiff zlib libpng libwebp" -PACKAGECONFIG += "dav1d jpeg jpeg2000 ffmpeg aom openh264" -PACKAGECONFIG:remove:riscv32 = "openh264" -PACKAGECONFIG[aom] = "-DWITH_AOM_ENCODER=ON -DWITH_AOM_DECODER=ON,-DWITH_AOM_ENCODER=OFF -DWITH_AOM_DECODER=OFF,aom" -PACKAGECONFIG[dav1d] = "-DWITH_DAV1D=ON, -DWITH_DAV1D=OFF,dav1d" -PACKAGECONFIG[svt-av1] = "-DWITH_SvtEnc=ON,-DWITH_SvtEnc=OFF,svt-av1" -PACKAGECONFIG[jpeg] = "-DWITH_JPEG_DECODER=ON -DWITH_JPEG_ENCODER=ON,-DWITH_JPEG_ENCODER=OFF -DWITH_JPEG_DECODER=OFF,jpeg" -PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG_DECODER=ON,-DWITH_FFMPEG_DECODER=OFF,ffmpeg" -PACKAGECONFIG[jpeg2000] = "-DWITH_OpenJPEG_ENCODER=ON -DWITH_OpenJPEG_DECODER=ON,-DWITH_OpenJPEG_ENCODER=OFF -DWITH_OpenJPEG_DECODER=OFF,openjpeg" -PACKAGECONFIG[openh264] = ",,openh264" - -FILES:${PN} += "${libdir}/libheif ${datadir}/thumbnailers ${libdir}/gdk-pixbuf*" diff --git a/meta-multimedia/recipes-multimedia/libheif/libheif_1.21.2.bb b/meta-multimedia/recipes-multimedia/libheif/libheif_1.21.2.bb new file mode 100644 index 00000000000..ab29fa3b02d --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libheif/libheif_1.21.2.bb @@ -0,0 +1,28 @@ +SUMMARY = "libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file format decoder and encoder" +HOMEPAGE = "https://github.com/strukturag/libheif" +LICENSE = "LGPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=9c0edc7369719b2c47d44e80ba74b4b7" +LICENSE_FLAGS = "commercial" + +COMPATIBLE_MACHINE:powerpc64le = "null" + +SRC_URI = "git://github.com/strukturag/libheif.git;protocol=https;branch=master;tag=v${PV} \ + file://CVE-2026-3949.patch \ + " + +SRCREV = "62f1b8c76ed4d8305071fdacbe74ef9717bacac5" + +inherit cmake pkgconfig + +DEPENDS += "gdk-pixbuf x265 libde265 tiff zlib libpng libwebp" +PACKAGECONFIG += "dav1d jpeg jpeg2000 ffmpeg aom openh264" +PACKAGECONFIG:remove:riscv32 = "openh264" +PACKAGECONFIG[aom] = "-DWITH_AOM_ENCODER=ON -DWITH_AOM_DECODER=ON,-DWITH_AOM_ENCODER=OFF -DWITH_AOM_DECODER=OFF,aom" +PACKAGECONFIG[dav1d] = "-DWITH_DAV1D=ON, -DWITH_DAV1D=OFF,dav1d" +PACKAGECONFIG[svt-av1] = "-DWITH_SvtEnc=ON,-DWITH_SvtEnc=OFF,svt-av1" +PACKAGECONFIG[jpeg] = "-DWITH_JPEG_DECODER=ON -DWITH_JPEG_ENCODER=ON,-DWITH_JPEG_ENCODER=OFF -DWITH_JPEG_DECODER=OFF,jpeg" +PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG_DECODER=ON,-DWITH_FFMPEG_DECODER=OFF,ffmpeg" +PACKAGECONFIG[jpeg2000] = "-DWITH_OpenJPEG_ENCODER=ON -DWITH_OpenJPEG_DECODER=ON,-DWITH_OpenJPEG_ENCODER=OFF -DWITH_OpenJPEG_DECODER=OFF,openjpeg" +PACKAGECONFIG[openh264] = ",,openh264" + +FILES:${PN} += "${libdir}/libheif ${datadir}/thumbnailers ${libdir}/gdk-pixbuf*" diff --git a/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb b/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb index bcf91b5453e..1baa84c3306 100644 --- a/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb +++ b/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb @@ -9,5 +9,7 @@ SRCREV = "1a5938ebaca4f13fe79ce074f5dee079783aa29f" inherit pkgconfig meson +TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc b/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc index cb2a1865e86..0dd297098cc 100644 --- a/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc +++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc @@ -43,3 +43,4 @@ SYSTEMD_SERVICE:${PN} = "minidlna.service" INITSCRIPT_NAME = "minidlna" INITSCRIPT_PARAMS = "defaults 90" +CVE_STATUS[CVE-2024-51442] = "not-applicable-config: vulnerability requires root access" diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.6.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.6.bb deleted file mode 100644 index 0d5a06931e7..00000000000 --- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.6.bb +++ /dev/null @@ -1,109 +0,0 @@ -SUMMARY = "Music Player Daemon" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -HOMEPAGE = "http://www.musicpd.org" - -inherit meson useradd systemd pkgconfig - -DEPENDS += " \ - curl \ - fmt \ - sqlite3 \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ - yajl \ - boost \ - icu \ - dbus \ - expat \ -" - -SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https;tag=v${PV} \ - file://mpd.conf.in \ - " -SRCREV = "c426749d4709e8d4ec4a6808c004625fae37b60d" - - -EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)} \ - -Dadplug=disabled \ - -Dsndio=disabled \ - -Dshine=disabled \ - -Dtremor=disabled \ -" - -PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "aac", "", d)} \ - alsa ao bzip2 daemon \ - ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg aac", "", d)} \ - fifo flac fluidsynth iso9660 \ - jack libsamplerate httpd \ - mms mpg123 modplug sndfile \ - upnp openal opus oss recorder \ - vorbis wavpack zlib" - -PACKAGECONFIG[aac] = "-Dfaad=enabled,-Dfaad=disabled,faad2" -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" -PACKAGECONFIG[ao] = "-Dao=enabled,-Dao=disabled,libao" -PACKAGECONFIG[audiofile] = "-Daudiofile=enabled,-Daudiofile=disabled,audiofile" -PACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2" -PACKAGECONFIG[cdioparanoia] = "-Dcdio_paranoia=enabled,-Dcdio_paranoia=disabled,libcdio-paranoia" -PACKAGECONFIG[daemon] = "-Ddaemon=true,-Ddaemon=false" -PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg" -PACKAGECONFIG[fifo] = "-Dfifo=true,-Dfifo=false" -PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac" -PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth" -PACKAGECONFIG[httpd] = "-Dhttpd=true,-Dhttpd=false" -PACKAGECONFIG[id3tag] = "-Did3tag=enabled,-Did3tag=disabled,libid3tag" -PACKAGECONFIG[iso9660] = "-Diso9660=enabled,-Diso9660=disabled,libcdio" -PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack" -PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame" -PACKAGECONFIG[libsamplerate] = "-Dlibsamplerate=enabled,-Dlibsamplerate=disabled,libsamplerate0" -PACKAGECONFIG[mad] = "-Dmad=enabled,-Dmad=disabled,libmad" -PACKAGECONFIG[mms] = "-Dmms=enabled,-Dmms=disabled,libmms" -PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug" -PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" -PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft" -PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus libogg" -PACKAGECONFIG[oss] = "-Doss=enabled,-Doss=disabled," -PACKAGECONFIG[recorder] = "-Drecorder=true,-Drecorder=false" -PACKAGECONFIG[smb] = "-Dsmbclient=enabled,-Dsmbclient=disabled,samba" -PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" -PACKAGECONFIG[upnp] = "-Dupnp=pupnp,-Dupnp=disabled,libupnp" -PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis libogg" -PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack" -PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib" - -do_install:append() { - install -o mpd -d \ - ${D}/${localstatedir}/lib/mpd \ - ${D}/${localstatedir}/lib/mpd/playlists - install -m775 -o mpd -g mpd -d \ - ${D}/${localstatedir}/lib/mpd/music - - install -d ${D}/${sysconfdir} - install -m 644 ${UNPACKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf - sed -i \ - -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \ - -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \ - -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \ - -e 's|%log_file%|${localstatedir}/log/mpd.log|' \ - -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \ - ${D}/${sysconfdir}/mpd.conf - - # we don't need the icon - rm -rf ${D}${datadir}/icons -} - -RPROVIDES:${PN} += "${PN}-systemd" -RREPLACES:${PN} += "${PN}-systemd" -RCONFLICTS:${PN} += "${PN}-systemd" -SYSTEMD_SERVICE:${PN} = "mpd.socket" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = " \ - --system --no-create-home \ - --home ${localstatedir}/lib/mpd \ - --groups audio \ - --user-group mpd" - -CVE_STATUS[CVE-2020-7465] = "cpe-incorrect: The recipe used in the meta-openembedded is a different mpd package compared to the one which has the CVE issue." -CVE_STATUS[CVE-2020-7466] = "cpe-incorrect: The recipe used in the meta-openembedded is a different mpd package compared to the one which has the CVE issue." diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.9.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.9.bb new file mode 100644 index 00000000000..0c3d672949b --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.9.bb @@ -0,0 +1,111 @@ +SUMMARY = "Music Player Daemon" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +HOMEPAGE = "http://www.musicpd.org" + +inherit meson useradd systemd pkgconfig + +DEPENDS += " \ + curl \ + fmt \ + sqlite3 \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ + yajl \ + boost \ + icu \ + dbus \ + expat \ +" + +SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https;tag=v${PV} \ + file://mpd.conf.in \ + " +SRCREV = "7a9afa059e95668c912f779219ee8fe1e44dd2aa" + + +EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_user_unitdir}', '-Dsystemd=disabled', d)} \ + -Dadplug=disabled \ + -Dsndio=disabled \ + -Dshine=disabled \ + -Dtremor=disabled \ +" + +PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "aac", "", d)} \ + alsa ao bzip2 daemon \ + ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg aac", "", d)} \ + fifo flac fluidsynth iso9660 \ + jack libsamplerate httpd \ + mms mpg123 modplug sndfile \ + upnp openal opus oss recorder \ + vorbis wavpack zlib" + +PACKAGECONFIG[aac] = "-Dfaad=enabled,-Dfaad=disabled,faad2" +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" +PACKAGECONFIG[ao] = "-Dao=enabled,-Dao=disabled,libao" +PACKAGECONFIG[audiofile] = "-Daudiofile=enabled,-Daudiofile=disabled,audiofile" +PACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2" +PACKAGECONFIG[cdioparanoia] = "-Dcdio_paranoia=enabled,-Dcdio_paranoia=disabled,libcdio-paranoia" +PACKAGECONFIG[daemon] = "-Ddaemon=true,-Ddaemon=false" +PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg" +PACKAGECONFIG[fifo] = "-Dfifo=true,-Dfifo=false" +PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac" +PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth" +PACKAGECONFIG[httpd] = "-Dhttpd=true,-Dhttpd=false" +PACKAGECONFIG[id3tag] = "-Did3tag=enabled,-Did3tag=disabled,libid3tag" +PACKAGECONFIG[iso9660] = "-Diso9660=enabled,-Diso9660=disabled,libcdio" +PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack" +PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame" +PACKAGECONFIG[libsamplerate] = "-Dlibsamplerate=enabled,-Dlibsamplerate=disabled,libsamplerate0" +PACKAGECONFIG[mad] = "-Dmad=enabled,-Dmad=disabled,libmad" +PACKAGECONFIG[mms] = "-Dmms=enabled,-Dmms=disabled,libmms" +PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug" +PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" +PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft" +PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus libogg" +PACKAGECONFIG[oss] = "-Doss=enabled,-Doss=disabled," +PACKAGECONFIG[recorder] = "-Drecorder=true,-Drecorder=false" +PACKAGECONFIG[smb] = "-Dsmbclient=enabled,-Dsmbclient=disabled,samba" +PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[upnp] = "-Dupnp=pupnp,-Dupnp=disabled,libupnp" +PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis libogg" +PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack" +PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib" + +do_install:append() { + install -o mpd -d \ + ${D}/${localstatedir}/lib/mpd \ + ${D}/${localstatedir}/lib/mpd/playlists + install -m775 -o mpd -g mpd -d \ + ${D}/${localstatedir}/lib/mpd/music + + install -d ${D}/${sysconfdir} + install -m 644 ${UNPACKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf + sed -i \ + -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \ + -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \ + -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \ + -e 's|%log_file%|${localstatedir}/log/mpd.log|' \ + -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \ + ${D}/${sysconfdir}/mpd.conf + + # we don't need the icon + rm -rf ${D}${datadir}/icons +} + +FILES:${PN} += "${systemd_user_unitdir}" + +RPROVIDES:${PN} += "${PN}-systemd" +RREPLACES:${PN} += "${PN}-systemd" +RCONFLICTS:${PN} += "${PN}-systemd" +SYSTEMD_SERVICE:${PN} = "mpd.socket" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = " \ + --system --no-create-home \ + --home ${localstatedir}/lib/mpd \ + --groups audio \ + --user-group mpd" + +CVE_STATUS[CVE-2020-7465] = "cpe-incorrect: The recipe used in the meta-openembedded is a different mpd package compared to the one which has the CVE issue." +CVE_STATUS[CVE-2020-7466] = "cpe-incorrect: The recipe used in the meta-openembedded is a different mpd package compared to the one which has the CVE issue." diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0002-spa-plugins-alsa-acp-compat.h-p-is-already-const-do-.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire/0002-spa-plugins-alsa-acp-compat.h-p-is-already-const-do-.patch new file mode 100644 index 00000000000..d6fc5866ec8 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire/0002-spa-plugins-alsa-acp-compat.h-p-is-already-const-do-.patch @@ -0,0 +1,25 @@ +From 1a37f445a20e67976c83360ab5830887fffe37e2 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Tue, 17 Mar 2026 03:17:15 +1100 +Subject: [PATCH] spa/plugins/alsa/acp/compat.h: p is already const do not + recast + +Upstream-Status: Backport [https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1a37f445a20e67976c83360ab5830887fffe37e2] +Signed-off-by: Peter Kjellerstedt +--- + spa/plugins/alsa/acp/compat.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/spa/plugins/alsa/acp/compat.h b/spa/plugins/alsa/acp/compat.h +index 0f7b959df..87151d197 100644 +--- a/spa/plugins/alsa/acp/compat.h ++++ b/spa/plugins/alsa/acp/compat.h +@@ -436,7 +436,7 @@ static inline const char *pa_path_get_filename(const char *p) + return NULL; + if ((fn = strrchr(p, PA_PATH_SEP_CHAR))) + return fn+1; +- return (char*) p; ++ return p; + } + + static inline bool pa_is_path_absolute(const char *fn) diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.10.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.10.bb deleted file mode 100644 index b7b87bef79d..00000000000 --- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.10.bb +++ /dev/null @@ -1,411 +0,0 @@ -SUMMARY = "Multimedia processing server for Linux" -DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices" -HOMEPAGE = "https://pipewire.org/" -BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues" -SECTION = "multimedia" - -LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \ - file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \ -" - -DEPENDS = "dbus ncurses" - -SRCREV = "ced36a5315135044a22c4b373be44368d312f9c8" -BRANCH = "${@oe.utils.trim_version('${PV}', 2)}" -SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https;tag=${PV}" - - -inherit meson pkgconfig systemd gettext useradd - -USERADD_PACKAGES = "${PN}" - -GROUPADD_PARAM:${PN} = "--system pipewire" - -USERADD_PARAM:${PN} = "--system --home / --no-create-home \ - --comment 'PipeWire multimedia daemon' \ - --gid pipewire --groups audio,video \ - pipewire" - -SYSTEMD_PACKAGES = "${PN}" - -# For "EVL", look up https://evlproject.org/ . It involves -# a specially prepared kernel, and is currently unavailable -# in Yocto. -# -# -# manpage generation requires xmltoman, which is not available. -# -# The session-managers list specifies which session managers Meson -# shall download (via git clone) and build as subprojects. In OE, -# this is not how a session manager should be built. Instead, they -# should be integrated as separate OE recipes. To prevent PipeWire -# from using this Meson feature, set an empty list. -# This does not disable support or the need for session managers, -# it just prevents this subproject feature. -# -# AptX and LDAC are not available in OE. Currently, neither -# are lv2, ROC, and libmysofa. -# -# The RTKit module is deprecated in favor of the newer RT module. -# It still exists for legacy setups that still include it in -# their PipeWire configuration files. -EXTRA_OEMESON += " \ - -Devl=disabled \ - -Dtests=disabled \ - -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ - -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ - -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ - -Dman=disabled \ - -Dsession-managers='[]' \ - -Dlv2=disabled \ - -Droc=disabled \ - -Dbluez5-codec-aptx=disabled \ - -Dbluez5-codec-ldac=disabled \ - -Dlegacy-rtkit=false \ - -Dlibmysofa=disabled \ -" - -# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature. -# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99 -# mode but it looks like clang still does -CFLAGS:append = " -Wno-typedef-redefinition" - -# Specify linking with -latomic on architectures missing 64bit atomics. -LDFLAGS += "${@bb.utils.contains_any('TUNE_FEATURES', 'riscv32 armv5 mips ppc32 m32', '-latomic', '', d)}" - -# According to wireplumber documentation only one session manager should be installed at a time -# Possible options are media-session, which has fewer dependencies but is very simple, -# or wireplumber, which is more powerful. -PIPEWIRE_SESSION_MANAGER ??= "wireplumber" - -FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}" -BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}" - -PACKAGECONFIG:class-target ??= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez bluez-opus ${BLUETOOTH_AAC}', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \ - ${PIPEWIRE_SESSION_MANAGER} \ - ${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera readline \ -" - -# "jack" and "pipewire-jack" packageconfigs cannot be both enabled, -# since "jack" imports libjack, and "pipewire-jack" generates -# libjack.so* files, thus colliding with the libpack package. This -# is why these two are marked in their respective packageconfigs -# as being in conflict. -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,${MLPREFIX}pipewire-alsa ${MLPREFIX}pipewire-alsa-card-profile" -PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" -PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc glib-2.0-native" -PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac" -PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus" -PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3" -# From the pipewire git log: -# "Some Linux phones doesn't use oFono but ModemManager to control the modem." -# This packageconfig enables modemmanager specific code in the BlueZ backend. -PACKAGECONFIG[bluez-backend-native-mm] = "-Dbluez5-backend-native-mm=enabled,-Dbluez5-backend-native-mm=disabled,modemmanager" -PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native" -PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg" -PACKAGECONFIG[flatpak] = "-Dflatpak=enabled,-Dflatpak=disabled,glib-2.0" -PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0" -PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,${MLPREFIX}gstreamer1.0-pipewire" -PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" -PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm" -PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra" -PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb" -PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber" -PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,${MLPREFIX}pipewire-pulse" -PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib" -PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,${MLPREFIX}pipewire-jack,jack" -PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled" -PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl" -# Starting with version 0.3.60, readline usage can be turned off in pw-cli. -# If it is disabled, getline() is used as a fallback. -PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline" -PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" -PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" -PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" -PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd" -# "systemd-user-service" packageconfig will only install service -# files to rootfs but not enable them as systemd.bbclass -# currently lacks the feature of enabling user services. -PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd" -# pw-cat needs sndfile packageconfig to be enabled -PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev" -PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" -PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled" -PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader" -PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing-2" -PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session" - -PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " -PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " - -SPA_SUBDIR = "spa-0.2" -PW_MODULE_SUBDIR = "pipewire-0.3" - -remove_unused_installed_files() { - # jack.conf is used by pipewire-jack (not the JACK SPA plugin). - # Remove it if pipewire-jack is not built to avoid creating the - # pipewire-jack package. - if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then - rm -f "${D}${datadir}/pipewire/jack.conf" - fi - - # minimal.conf is an example of how to minimally configure the - # daemon and is not meant to be used for production. - rm -f "${D}${datadir}/pipewire/minimal.conf" -} - -do_install:append:class-target() { - # The pipewire-alsa plugin needs the following files in /etc/alsa/conf.d/ to - # be picked up by alsa. - install -d ${D}${sysconfdir}/alsa/conf.d - ln -sf ${datadir}/alsa/alsa.conf.d/50-pipewire.conf ${D}${sysconfdir}/alsa/conf.d/50-pipewire.conf - ln -sf ${datadir}/alsa/alsa.conf.d/99-pipewire-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pipewire-default.conf -} - -do_install[postfuncs] += "remove_unused_installed_files" - -python split_dynamic_packages () { - # Create packages for each SPA plugin. These plugins are located - # in individual subdirectories, so a recursive search is needed. - spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}') - do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True) - - # Create packages for each PipeWire module. - pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}') - do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False) -} - -python set_dynamic_metapkg_rdepends () { - import os - import oe.utils - - if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('native', d): - return - - # Go through all generated SPA plugin and PipeWire module packages - # (excluding the main package and the -meta package itself) and - # add them to the -meta package as RDEPENDS. - - base_pn = d.getVar('PN') - - spa_pn = base_pn + '-spa-plugins' - spa_metapkg = spa_pn + '-meta' - - pw_module_pn = base_pn + '-modules' - pw_module_metapkg = pw_module_pn + '-meta' - - d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1") - d.setVar('FILES:' + spa_metapkg, "") - - d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1") - d.setVar('FILES:' + pw_module_metapkg, "") - - blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ] - spa_metapkg_rdepends = [] - pw_module_metapkg_rdepends = [] - pkgdest = d.getVar('PKGDEST') - - for pkg in oe.utils.packages_filter_out_system(d): - if pkg in blacklist: - continue - - is_spa_pkg = pkg.startswith(spa_pn) - is_pw_module_pkg = pkg.startswith(pw_module_pn) - if not is_spa_pkg and not is_pw_module_pkg: - continue - - if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends: - continue - - # See if the package is empty by looking at the contents of its - # PKGDEST subdirectory. If this subdirectory is empty, then then - # package is empty as well. Empty packages do not get added to - # the meta package's RDEPENDS. - pkgdir = os.path.join(pkgdest, pkg) - if os.path.exists(pkgdir): - dir_contents = os.listdir(pkgdir) or [] - else: - dir_contents = [] - is_empty = len(dir_contents) == 0 - if not is_empty: - if is_spa_pkg: - spa_metapkg_rdepends.append(pkg) - if is_pw_module_pkg: - pw_module_metapkg_rdepends.append(pkg) - - d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends)) - d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package') - - d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends)) - d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package') -} - -PACKAGES =+ "\ - libpipewire \ - ${PN}-tools \ - ${PN}-pulse \ - ${PN}-alsa \ - ${PN}-jack \ - ${PN}-spa-plugins \ - ${PN}-spa-plugins-meta \ - ${PN}-spa-tools \ - ${PN}-modules \ - ${PN}-modules-meta \ - ${PN}-alsa-card-profile \ - ${PN}-v4l2 \ - ${PN}-aes67 \ - gstreamer1.0-pipewire \ -" - -PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" -PACKAGES_DYNAMIC:class-native = "" - -SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}" -CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" -FILES:${PN} = " \ - ${datadir}/pipewire \ - ${systemd_system_unitdir}/pipewire* \ - ${systemd_user_unitdir} \ - ${bindir}/pipewire \ - ${bindir}/pipewire-avb \ - ${bindir}/pipewire-vulkan \ -" - -RRECOMMENDS:${PN}:class-target += " \ - pipewire-modules-meta \ - pipewire-spa-plugins-meta \ -" - -FILES:${PN}-dev += " \ - ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \ -" - -CONFFILES:libpipewire += "${datadir}/pipewire/client.conf" -FILES:libpipewire = " \ - ${datadir}/pipewire/client.conf \ - ${libdir}/libpipewire-*.so.* \ - ${libdir}/${SPA_SUBDIR}/libspa.so \ -" -# Add the bare minimum modules and plugins required to be able -# to use libpipewire. Without these, it is essentially unusable. -RDEPENDS:libpipewire += " \ - ${PN}-modules-client-node \ - ${PN}-modules-protocol-native \ - ${PN}-spa-plugins-support \ -" - -FILES:${PN}-tools = " \ - ${bindir}/pw-cat \ - ${bindir}/pw-cli \ - ${bindir}/pw-config \ - ${bindir}/pw-container \ - ${bindir}/pw-dot \ - ${bindir}/pw-dsdplay \ - ${bindir}/pw-dump \ - ${bindir}/pw-encplay \ - ${bindir}/pw-link \ - ${bindir}/pw-loopback \ - ${bindir}/pw-metadata \ - ${bindir}/pw-mididump \ - ${bindir}/pw-midiplay \ - ${bindir}/pw-midirecord \ - ${bindir}/pw-mon \ - ${bindir}/pw-play \ - ${bindir}/pw-profiler \ - ${bindir}/pw-record \ - ${bindir}/pw-reserve \ - ${bindir}/pw-top \ -" - -# This is a shim daemon that is intended to be used as a -# drop-in PulseAudio replacement, providing a pulseaudio-compatible -# socket that can be used by applications that use libpulse. -CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf" -FILES:${PN}-pulse = " \ - ${datadir}/pipewire/pipewire-pulse.conf \ - ${systemd_system_unitdir}/pipewire-pulse.* \ - ${systemd_user_unitdir}/pipewire-pulse.* \ - ${bindir}/pipewire-pulse \ -" -# This uses :append:class-target rather than += to avoid a dependency from -# pipewire-native to pipewire. -RDEPENDS:${PN}-pulse:append:class-target = " \ - ${PN}-modules-protocol-pulse \ -" - -# ALSA plugin to redirect audio to pipewire. -FILES:${PN}-alsa = "\ - ${libdir}/alsa-lib/* \ - ${datadir}/alsa/alsa.conf.d/* \ - ${sysconfdir}/alsa/conf.d/50-pipewire.conf \ - ${sysconfdir}/alsa/conf.d/99-pipewire-default.conf \ -" - -# JACK drop-in libraries to redirect audio to pipewire. -CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf" -FILES:${PN}-jack = "\ - ${bindir}/pw-jack \ - ${datadir}/pipewire/jack.conf \ - ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \ -" - -# Dynamic SPA plugin packages (see set_dynamic_metapkg_rdepends). -FILES:${PN}-spa-plugins = "" -RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta" - -FILES:${PN}-spa-plugins-bluez5 += " \ - ${datadir}/${SPA_SUBDIR}/bluez5/* \ -" - -FILES:${PN}-spa-tools = " \ - ${bindir}/spa-* \ -" - -# Dynamic PipeWire module packages (see set_dynamic_metapkg_rdepends). -FILES:${PN}-modules = "" -RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" - -CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf" -FILES:${PN}-modules-rt += " \ - ${datadir}/pipewire/client-rt.conf \ - ${sysconfdir}/security/limits.d/* \ - " - -CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*" -FILES:${PN}-modules-filter-chain += " \ - ${datadir}/pipewire/filter-chain/* \ -" - -FILES:${PN}-alsa-card-profile = " \ - ${datadir}/alsa-card-profile/* \ - ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \ -" - -# V4L2 interface emulator for sending/receiving data between PipeWire and V4L2 applications. -FILES:${PN}-v4l2 += " \ - ${bindir}/pw-v4l2 \ - ${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \ -" - -# AES67 is a standard for audio over IP, from the Audio Engineering Society (AES). -FILES:${PN}-aes67 += " \ - ${bindir}/pipewire-aes67 \ -" - -FILES:gstreamer1.0-pipewire = " \ - ${libdir}/gstreamer-1.0/* \ -" - -BBCLASSEXTEND = "native nativesdk" - -do_install:append() { - if ls ${D}${datadir}/doc/pipewire/html/dir_*html; then - sed -i "s,${WORKDIR},,g" ${D}${datadir}/doc/pipewire/html/dir_*html - fi -} diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.3.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.3.bb new file mode 100644 index 00000000000..82cd928b4ac --- /dev/null +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.3.bb @@ -0,0 +1,418 @@ +SUMMARY = "Multimedia processing server for Linux" +DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices" +HOMEPAGE = "https://pipewire.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues" +SECTION = "multimedia" + +LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \ + file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \ +" + +DEPENDS = "dbus ncurses" + +SRCREV = "cc3d0d1191266b263f6d0fa03fce1d1ef57151cc" +BRANCH = "${@oe.utils.trim_version('${PV}', 2)}" +SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https;tag=${PV}" +SRC_URI += "file://0002-spa-plugins-alsa-acp-compat.h-p-is-already-const-do-.patch" + +inherit meson pkgconfig systemd gettext useradd + +USERADD_PACKAGES = "${PN}" + +GROUPADD_PARAM:${PN} = "--system pipewire" + +USERADD_PARAM:${PN} = "--system --home / --no-create-home \ + --comment 'PipeWire multimedia daemon' \ + --gid pipewire --groups audio,video \ + pipewire" + +SYSTEMD_PACKAGES = "${PN}" + +# For "EVL", look up https://evlproject.org/ . It involves +# a specially prepared kernel, and is currently unavailable +# in Yocto. +# +# +# manpage generation requires xmltoman, which is not available. +# +# The session-managers list specifies which session managers Meson +# shall download (via git clone) and build as subprojects. In OE, +# this is not how a session manager should be built. Instead, they +# should be integrated as separate OE recipes. To prevent PipeWire +# from using this Meson feature, set an empty list. +# This does not disable support or the need for session managers, +# it just prevents this subproject feature. +# +# AptX and LDAC are not available in OE. Currently, neither +# are lv2, ROC, and libmysofa. +# +# AptX support is only available via freeaptx (libfreeaptx) +# for Bluetooth audio (A2DP). +# +# The RTKit module is deprecated in favor of the newer RT module. +# It still exists for legacy setups that still include it in +# their PipeWire configuration files. +EXTRA_OEMESON += " \ + -Devl=disabled \ + -Dtests=disabled \ + -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ + -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ + -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ + -Dman=disabled \ + -Dsession-managers='[]' \ + -Dlv2=disabled \ + -Droc=disabled \ + -Dbluez5-codec-ldac=disabled \ + -Dlegacy-rtkit=false \ + -Dlibmysofa=disabled \ +" + +# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature. +# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99 +# mode but it looks like clang still does +CFLAGS:append = " -Wno-typedef-redefinition" + +# Specify linking with -latomic on architectures missing 64bit atomics. +LDFLAGS += "${@bb.utils.contains_any('TUNE_FEATURES', 'riscv32 armv5 mips ppc32 m32', '-latomic', '', d)}" + +# According to wireplumber documentation only one session manager should be installed at a time +# Possible options are media-session, which has fewer dependencies but is very simple, +# or wireplumber, which is more powerful. +PIPEWIRE_SESSION_MANAGER ??= "wireplumber" + +FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}" +BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}" + +PACKAGECONFIG:class-target ??= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez bluez-opus ${BLUETOOTH_AAC} bluez-aptx', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \ + ${PIPEWIRE_SESSION_MANAGER} \ + ${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera readline \ +" + +# "jack" and "pipewire-jack" packageconfigs cannot be both enabled, +# since "jack" imports libjack, and "pipewire-jack" generates +# libjack.so* files, thus colliding with the libpack package. This +# is why these two are marked in their respective packageconfigs +# as being in conflict. +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,${MLPREFIX}pipewire-alsa ${MLPREFIX}pipewire-alsa-card-profile" +PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" +PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc glib-2.0-native" +PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac" +PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus" +PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3" +# Eneble libfreeaptx to support bluetooth audio codec +PACKAGECONFIG[bluez-aptx] = "-Dbluez5-codec-aptx=enabled,-Dbluez5-codec-aptx=disabled,libfreeaptx" +# From the pipewire git log: +# "Some Linux phones doesn't use oFono but ModemManager to control the modem." +# This packageconfig enables modemmanager specific code in the BlueZ backend. +PACKAGECONFIG[bluez-backend-native-mm] = "-Dbluez5-backend-native-mm=enabled,-Dbluez5-backend-native-mm=disabled,modemmanager" +PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native" +PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg" +PACKAGECONFIG[flatpak] = "-Dflatpak=enabled,-Dflatpak=disabled,glib-2.0" +PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0" +PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,${MLPREFIX}gstreamer1.0-pipewire" +PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" +PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm" +PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra" +PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb" +PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber" +PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,${MLPREFIX}pipewire-pulse" +PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib" +PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,${MLPREFIX}pipewire-jack,jack" +PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled" +PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl" +# Starting with version 0.3.60, readline usage can be turned off in pw-cli. +# If it is disabled, getline() is used as a fallback. +PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline" +PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" +PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[systemd] = "-Dlibsystemd=enabled,-Dlibsystemd=disabled,systemd" +PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd" +# "systemd-user-service" packageconfig will only install service +# files to rootfs but not enable them as systemd.bbclass +# currently lacks the feature of enabling user services. +PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd" +# pw-cat needs sndfile packageconfig to be enabled +PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev" +PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" +PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled" +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader" +PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing-2" +PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session" + +PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " +PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " + +SPA_SUBDIR = "spa-0.2" +PW_MODULE_SUBDIR = "pipewire-0.3" + +remove_unused_installed_files() { + # jack.conf is used by pipewire-jack (not the JACK SPA plugin). + # Remove it if pipewire-jack is not built to avoid creating the + # pipewire-jack package. + if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then + rm -f "${D}${datadir}/pipewire/jack.conf" + fi + + # minimal.conf is an example of how to minimally configure the + # daemon and is not meant to be used for production. + rm -f "${D}${datadir}/pipewire/minimal.conf" +} + +do_install:append:class-target() { + # The pipewire-alsa plugin needs the following files in /etc/alsa/conf.d/ to + # be picked up by alsa. + install -d ${D}${sysconfdir}/alsa/conf.d + ln -sf ${datadir}/alsa/alsa.conf.d/50-pipewire.conf ${D}${sysconfdir}/alsa/conf.d/50-pipewire.conf + ln -sf ${datadir}/alsa/alsa.conf.d/99-pipewire-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pipewire-default.conf +} + +do_install[postfuncs] += "remove_unused_installed_files" + +python split_dynamic_packages () { + # Create packages for each SPA plugin. These plugins are located + # in individual subdirectories, so a recursive search is needed. + spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}') + do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True) + + # Create packages for each PipeWire module. + pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}') + do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False) +} + +python set_dynamic_metapkg_rdepends () { + import os + import oe.utils + + if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('native', d): + return + + # Go through all generated SPA plugin and PipeWire module packages + # (excluding the main package and the -meta package itself) and + # add them to the -meta package as RDEPENDS. + + base_pn = d.getVar('PN') + + spa_pn = base_pn + '-spa-plugins' + spa_metapkg = spa_pn + '-meta' + + pw_module_pn = base_pn + '-modules' + pw_module_metapkg = pw_module_pn + '-meta' + + d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1") + d.setVar('FILES:' + spa_metapkg, "") + + d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1") + d.setVar('FILES:' + pw_module_metapkg, "") + + blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ] + spa_metapkg_rdepends = [] + pw_module_metapkg_rdepends = [] + pkgdest = d.getVar('PKGDEST') + + for pkg in oe.utils.packages_filter_out_system(d): + if pkg in blacklist: + continue + + is_spa_pkg = pkg.startswith(spa_pn) + is_pw_module_pkg = pkg.startswith(pw_module_pn) + if not is_spa_pkg and not is_pw_module_pkg: + continue + + if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends: + continue + + # See if the package is empty by looking at the contents of its + # PKGDEST subdirectory. If this subdirectory is empty, then then + # package is empty as well. Empty packages do not get added to + # the meta package's RDEPENDS. + pkgdir = os.path.join(pkgdest, pkg) + if os.path.exists(pkgdir): + dir_contents = os.listdir(pkgdir) or [] + else: + dir_contents = [] + is_empty = len(dir_contents) == 0 + if not is_empty: + if is_spa_pkg: + spa_metapkg_rdepends.append(pkg) + if is_pw_module_pkg: + pw_module_metapkg_rdepends.append(pkg) + + d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends)) + d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package') + + d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends)) + d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package') +} + +PACKAGES =+ "\ + libpipewire \ + ${PN}-tools \ + ${PN}-pulse \ + ${PN}-alsa \ + ${PN}-jack \ + ${PN}-spa-plugins \ + ${PN}-spa-plugins-meta \ + ${PN}-spa-tools \ + ${PN}-modules \ + ${PN}-modules-meta \ + ${PN}-alsa-card-profile \ + ${PN}-v4l2 \ + ${PN}-aes67 \ + gstreamer1.0-pipewire \ +" + +PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" +PACKAGES_DYNAMIC:class-native = "" + +SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}" +CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" +FILES:${PN} = " \ + ${datadir}/pipewire \ + ${systemd_system_unitdir}/pipewire* \ + ${systemd_user_unitdir} \ + ${bindir}/pipewire \ + ${bindir}/pipewire-avb \ + ${bindir}/pipewire-vulkan \ +" + +RRECOMMENDS:${PN}:append:class-target = " \ + pipewire-modules-meta \ + pipewire-spa-plugins-meta \ +" + +FILES:${PN}-dev += " \ + ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \ +" + +CONFFILES:libpipewire += "${datadir}/pipewire/client.conf" +FILES:libpipewire = " \ + ${datadir}/pipewire/client.conf \ + ${libdir}/libpipewire-*.so.* \ + ${libdir}/${SPA_SUBDIR}/libspa.so \ +" +# Add the bare minimum modules and plugins required to be able +# to use libpipewire. Without these, it is essentially unusable. +RDEPENDS:libpipewire += " \ + ${PN}-modules-client-node \ + ${PN}-modules-protocol-native \ + ${PN}-spa-plugins-support \ +" + +FILES:${PN}-tools = " \ + ${bindir}/pw-cat \ + ${bindir}/pw-cli \ + ${bindir}/pw-config \ + ${bindir}/pw-container \ + ${bindir}/pw-dot \ + ${bindir}/pw-dsdplay \ + ${bindir}/pw-dump \ + ${bindir}/pw-encplay \ + ${bindir}/pw-link \ + ${bindir}/pw-loopback \ + ${bindir}/pw-metadata \ + ${bindir}/pw-midi2play \ + ${bindir}/pw-midi2record \ + ${bindir}/pw-mididump \ + ${bindir}/pw-midiplay \ + ${bindir}/pw-midirecord \ + ${bindir}/pw-mon \ + ${bindir}/pw-play \ + ${bindir}/pw-profiler \ + ${bindir}/pw-record \ + ${bindir}/pw-reserve \ + ${bindir}/pw-sysex \ + ${bindir}/pw-top \ +" + +# This is a shim daemon that is intended to be used as a +# drop-in PulseAudio replacement, providing a pulseaudio-compatible +# socket that can be used by applications that use libpulse. +CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf" +FILES:${PN}-pulse = " \ + ${datadir}/pipewire/pipewire-pulse.conf \ + ${systemd_system_unitdir}/pipewire-pulse.* \ + ${systemd_user_unitdir}/pipewire-pulse.* \ + ${bindir}/pipewire-pulse \ +" +# This uses :append:class-target rather than += to avoid a dependency from +# pipewire-native to pipewire. +RDEPENDS:${PN}-pulse:append:class-target = " \ + ${PN}-modules-protocol-pulse \ +" + +# ALSA plugin to redirect audio to pipewire. +FILES:${PN}-alsa = "\ + ${libdir}/alsa-lib/* \ + ${datadir}/alsa/alsa.conf.d/* \ + ${sysconfdir}/alsa/conf.d/50-pipewire.conf \ + ${sysconfdir}/alsa/conf.d/99-pipewire-default.conf \ +" + +# JACK drop-in libraries to redirect audio to pipewire. +CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf" +FILES:${PN}-jack = "\ + ${bindir}/pw-jack \ + ${datadir}/pipewire/jack.conf \ + ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \ +" + +# Dynamic SPA plugin packages (see set_dynamic_metapkg_rdepends). +FILES:${PN}-spa-plugins = "" +RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta" + +FILES:${PN}-spa-plugins-bluez5 += " \ + ${datadir}/${SPA_SUBDIR}/bluez5/* \ +" + +FILES:${PN}-spa-tools = " \ + ${bindir}/spa-* \ +" + +# Dynamic PipeWire module packages (see set_dynamic_metapkg_rdepends). +FILES:${PN}-modules = "" +RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" + +CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf" +FILES:${PN}-modules-rt += " \ + ${datadir}/pipewire/client-rt.conf \ + ${sysconfdir}/security/limits.d/* \ + " + +CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*" +FILES:${PN}-modules-filter-chain += " \ + ${datadir}/pipewire/filter-chain/* \ +" + +FILES:${PN}-alsa-card-profile = " \ + ${datadir}/alsa-card-profile/* \ + ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \ +" + +# V4L2 interface emulator for sending/receiving data between PipeWire and V4L2 applications. +FILES:${PN}-v4l2 += " \ + ${bindir}/pw-v4l2 \ + ${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \ +" + +# AES67 is a standard for audio over IP, from the Audio Engineering Society (AES). +FILES:${PN}-aes67 += " \ + ${bindir}/pipewire-aes67 \ +" + +FILES:gstreamer1.0-pipewire = " \ + ${libdir}/gstreamer-1.0/* \ +" + +BBCLASSEXTEND = "native nativesdk" + +do_install:append() { + if ls ${D}${datadir}/doc/pipewire/html/dir_*html; then + sed -i "s,${WORKDIR},,g" ${D}${datadir}/doc/pipewire/html/dir_*html + fi +} diff --git a/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb b/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb index a176874bbad..f90b252d409 100644 --- a/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb +++ b/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb @@ -4,7 +4,7 @@ DESCRIPTION = "\ demodulates signals commonly used in telephony, such as the \"noise\" \ generated by a fax modem or DTMF touchpad. \ " -HOMEPAGE = "https://www.soft-switch.org/" +HOMEPAGE = "https://github.com/freeswitch/spandsp" BUGTRACKER = "https://github.com/freeswitch/spandsp/issues" SECTION = "libs" LICENSE = "LGPL-2.1-only" @@ -23,9 +23,6 @@ SRC_URI = "\ file://0001-configure-Replace-manual-search-for-libxml-by-AC_CHE.patch \ file://0002-configure-Use-AX_PROG_CC_FOR_BUILD-for-cross-compili.patch \ " -# Fails to build with Clang since 5394b2cae6c482ccb835335b769469977e6802ae -# https://github.com/freeswitch/spandsp/issues/67 -# https://lists.openembedded.org/g/openembedded-devel/message/109325 SRCREV = "797760168945c96e91af55bde9d4edaea2e654f9" inherit autotools diff --git a/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb b/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb index 60143268262..480c1324730 100644 --- a/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb +++ b/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb @@ -20,6 +20,8 @@ SRC_URI[sha256sum] = "c1d75f2e9c7b38fd4695be66eff4533395248132f3cc61f375196403c4 inherit autotools pkgconfig +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + EXTRA_OECONF += "--with-included-argv=yes --with-included-libmad=no" EXTRA_OECONF += "\ --with-ogg-includes=${STAGING_INCDIR} \ @@ -30,3 +32,5 @@ EXTRA_OECONF += "\ # the included argv library needs this CPPFLAGS:append = " -DANSI_PROTOTYPES" + +CVE_STATUS[CVE-2020-37065] = "cpe-incorrect: the vulnerability is about a Windows frontend, not the CLI" diff --git a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb index 42c771e0ff0..a8758b1e9bc 100644 --- a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb +++ b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb @@ -3,7 +3,7 @@ DESCRIPTION = "libdvdcss is a simple library designed for accessing DVDs like a LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "http://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2" +SRC_URI = "https://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2" inherit autotools diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch deleted file mode 100644 index 2dff9b63ce9..00000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 5b921009b0db2c5c15aef7ce241d3c81f9c272c9 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 9 Mar 2024 12:26:39 -0800 -Subject: [PATCH] taglib: Fix build on x86 32-bit - -While compiling with clang, there are errors seen such as -on function override signature mismatches - -meta_engine/taglib.cpp:240:10: error: virtual function 'tell' has a different return type ('long') than the function it overrides (which has return type 'offset_t' (aka 'long long')) - 240 | long tell() const - | ~~~~ ^ -/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/vlc/3.0.20/recipe-sysroot/usr/include/taglib/tiostream.h:156:22: note: overridden virtual function is here - 156 | virtual offset_t tell() const = 0; - | ~~~~~~~~ ^ -meta_engine/taglib.cpp:245:10: error: virtual function 'length' has a different return type ('long') than the function it overrides (which has return type 'offset_t' (aka 'long long')) - 245 | long length() - | ~~~~ ^ -/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/vlc/3.0.20/recipe-sysroot/usr/include/taglib/tiostream.h:161:22: note: overridden virtual function is here - 161 | virtual offset_t length() = 0; - | ~~~~~~~~ ^ - -Upstream-Status: Submitted [https://mailman.videolan.org/pipermail/vlc-devel/2024-March/143639.html] -Signed-off-by: Khem Raj ---- - modules/meta_engine/taglib.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp -index f371485008..129fdf55f1 100644 ---- a/modules/meta_engine/taglib.cpp -+++ b/modules/meta_engine/taglib.cpp -@@ -237,12 +237,12 @@ public: - return; - } - -- long tell() const -+ offset_t tell() const - { -- return m_previousPos; -+ return (offset_t)m_previousPos; - } - -- long length() -+ offset_t length() - { - uint64_t i_size; - if (vlc_stream_GetSize( m_stream, &i_size ) != VLC_SUCCESS) --- -2.44.0 - diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch deleted file mode 100644 index f238ff4244b..00000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch +++ /dev/null @@ -1,67 +0,0 @@ -Fix build with taglib 2.0 - -Source: https://gitlab.archlinux.org/archlinux/packaging/packages/vlc/-/blob/main/taglib-2.patch?ref_type=heads -Upstream-Status: Pending -Signed-off-by: Khem Raj - ---- a/modules/meta_engine/taglib.cpp -+++ b/modules/meta_engine/taglib.cpp -@@ -185,7 +185,7 @@ public: - ByteVector res(length, 0); - ssize_t i_read = vlc_stream_Read( m_stream, res.data(), length); - if (i_read < 0) -- return ByteVector::null; -+ return ByteVector(); - else if ((size_t)i_read != length) - res.resize(i_read); - return res; -@@ -465,7 +465,7 @@ static void ReadMetaFromASF( ASF::Tag* t - static void ReadMetaFromBasicTag(const Tag* tag, vlc_meta_t *dest) - { - #define SET( accessor, meta ) \ -- if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ -+ if( !tag->accessor().isEmpty() ) \ - vlc_meta_Set##meta( dest, tag->accessor().toCString(true) ) - #define SETINT( accessor, meta ) \ - if( tag->accessor() ) \ -@@ -806,15 +806,15 @@ static void ReadMetaFromMP4( MP4::Tag* t - { - MP4::Item list; - #define SET( keyName, metaName ) \ -- if( tag->itemListMap().contains(keyName) ) \ -+ if( tag->itemMap().contains(keyName) ) \ - { \ -- list = tag->itemListMap()[keyName]; \ -+ list = tag->itemMap()[keyName]; \ - vlc_meta_Set##metaName( p_meta, list.toStringList().front().toCString( true ) ); \ - } - #define SET_EXTRA( keyName, metaName ) \ -- if( tag->itemListMap().contains(keyName) ) \ -+ if( tag->itemMap().contains(keyName) ) \ - { \ -- list = tag->itemListMap()[keyName]; \ -+ list = tag->itemMap()[keyName]; \ - vlc_meta_AddExtra( p_meta, metaName, list.toStringList().front().toCString( true ) ); \ - } - -@@ -824,9 +824,9 @@ static void ReadMetaFromMP4( MP4::Tag* t - #undef SET - #undef SET_EXTRA - -- if( tag->itemListMap().contains("covr") ) -+ if( tag->itemMap().contains("covr") ) - { -- MP4::CoverArtList list = tag->itemListMap()["covr"].toCoverArtList(); -+ MP4::CoverArtList list = tag->itemMap()["covr"].toCoverArtList(); - const char *psz_format = list[0].format() == MP4::CoverArt::PNG ? "image/png" : "image/jpeg"; - - msg_Dbg( p_demux_meta, "Found embedded art (%s) is %i bytes", -@@ -1337,7 +1337,7 @@ static int WriteMeta( vlc_object_t *p_th - if( RIFF::AIFF::File* riff_aiff = dynamic_cast(f.file()) ) - WriteMetaToId3v2( riff_aiff->tag(), p_item ); - else if( RIFF::WAV::File* riff_wav = dynamic_cast(f.file()) ) -- WriteMetaToId3v2( riff_wav->tag(), p_item ); -+ WriteMetaToId3v2( riff_wav->ID3v2Tag(), p_item ); - } - else if( TrueAudio::File* trueaudio = dynamic_cast(f.file()) ) - { diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb deleted file mode 100644 index 2d2ecc63b95..00000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb +++ /dev/null @@ -1,136 +0,0 @@ -DESCRIPTION = "Video player and streamer - davinci edition" -HOMEPAGE = "http://www.videolan.org" -SECTION = "multimedia" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native bison-native \ - dbus libxml2 gnutls \ - tremor faad2 ffmpeg flac alsa-lib \ - lua-native lua libidn \ - avahi jpeg xz libmodplug \ - libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \ - tiff" - -LDFLAGS:append:riscv64 = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" - -SRC_URI = "https://get.videolan.org/${BPN}/${PV}/${BP}.tar.xz \ - file://0001-make-opencv-configurable.patch \ - file://0002-use-vorbisidec.patch \ - file://0003-fix-luaL-checkint.patch \ - file://0004-Use-packageconfig-to-detect-mmal-support.patch \ - file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \ - file://0006-configure-Disable-incompatible-function-pointer-type.patch \ - file://taglib-2.patch \ - file://0001-taglib-Fix-build-on-x86-32-bit.patch \ -" -SRC_URI[sha256sum] = "24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0" -inherit autotools-brokensep features_check gettext pkgconfig mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -export BUILDCC = "${BUILD_CC}" -EXTRA_OECONF = "\ - --enable-run-as-root \ - --enable-xvideo \ - --disable-screen --disable-caca \ - --enable-vlm \ - --enable-freetype \ - --enable-tremor \ - --enable-v4l2 --disable-aa --disable-faad \ - --enable-dbus \ - --without-contrib \ - --without-kde-solid \ - --enable-realrtsp \ - --disable-libtar \ - --enable-avcodec \ - ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \ - ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \ - ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/uic \ -" - -PACKAGECONFIG ?= " \ - live555 dc1394 dv1394 notify fontconfig fluidsynth freetype dvdread png \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ - x264 \ -" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)} - -PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal,,userland" -PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" -PACKAGECONFIG[fluidsynth] = ",,fluidsynth" -PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" -PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555" -PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" -PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc" -PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva" -PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" -PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" -PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx" -PACKAGECONFIG[qt5] = "--enable-qt,--disable-qt, qtbase-native qtx11extras qtsvg" -PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp" -PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi" -PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba" -PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp" -PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss" -PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2" -PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg" -PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg" -PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" -PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394" -PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg" -PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo" -PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3" -PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig" -PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype" -PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss" -PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver" -PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama" -PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" -PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native" - -do_configure:append() { - # moc needs support: precreate build paths - for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do - mkdir -p "${B}/modules/gui/qt/$qtpath" - done - sed -i -e 's|${WORKDIR}||g' ${B}/config.h -} - -# This recipe packages vlc as a library as well, so qt4 dependencies -# can be avoided when only the library is installed. -PACKAGES =+ "libvlc" - -LEAD_SONAME_libvlc = "libvlc.so.5" -FILES:libvlc = "${libdir}/lib*.so.*" - -FILES:${PN} += "\ - ${bindir}/vlc \ - ${libdir}/vlc/vlc/libvlc_vdpau.so \ - ${datadir}/applications \ - ${datadir}/vlc/ \ - ${datadir}/icons \ - ${datadir}/metainfo/vlc.appdata.xml \ -" - -FILES:${PN}-dbg += "\ - ${libdir}/vlc/*/.debug \ - ${libdir}/vlc/plugins/*/.debug \ -" - -FILES:${PN}-staticdev += "\ - ${libdir}/vlc/plugins/*/*.a \ -" - -INSANE_SKIP:${PN} = "dev-so" - -EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" - -SKIP_RECIPE[vlc] = "requires porting to ffmpeg >= 7 as of ffmpeg >= 5 it requires extensive changes disabling VAAPI (only supported with vlc >= 4)" diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.23.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.23.bb new file mode 100644 index 00000000000..8f728226c6e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.23.bb @@ -0,0 +1,139 @@ +DESCRIPTION = "Video player and streamer - davinci edition" +HOMEPAGE = "http://www.videolan.org" +SECTION = "multimedia" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native bison-native \ + dbus libxml2 gnutls \ + tremor faad2 ffmpeg flac alsa-lib \ + lua-native lua libidn \ + avahi jpeg xz libmodplug \ + libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \ + tiff" + +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +SRC_URI = "https://get.videolan.org/${BPN}/${PV}/${BP}.tar.xz \ + file://0001-make-opencv-configurable.patch \ + file://0002-use-vorbisidec.patch \ + file://0003-fix-luaL-checkint.patch \ + file://0004-Use-packageconfig-to-detect-mmal-support.patch \ + file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \ + file://0006-configure-Disable-incompatible-function-pointer-type.patch \ +" +SRC_URI[sha256sum] = "e891cae6aa3ccda69bf94173d5105cbc55c7a7d9b1d21b9b21666e69eff3e7e0" +inherit autotools-brokensep features_check gettext pkgconfig mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +export BUILDCC = "${BUILD_CC}" +EXTRA_OECONF = "\ + --enable-run-as-root \ + --enable-xvideo \ + --disable-screen --disable-caca \ + --enable-vlm \ + --enable-freetype \ + --enable-tremor \ + --enable-v4l2 --disable-aa --disable-faad \ + --enable-dbus \ + --without-contrib \ + --without-kde-solid \ + --enable-realrtsp \ + --enable-avcodec \ + --disable-opencv \ + --disable-freerdp \ + ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \ + ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \ + ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/uic \ +" + +PACKAGECONFIG ?= " \ + live555 dc1394 dv1394 notify fontconfig fluidsynth freetype dvdread png \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + x264 \ +" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)} + +PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal,,userland" +PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" +PACKAGECONFIG[fluidsynth] = ",,fluidsynth" +PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" +PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555" +PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" +PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc" +PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva" +PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" +PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" +PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx" +PACKAGECONFIG[qt5] = "--enable-qt,--disable-qt, qtbase-native qtx11extras qtsvg" +PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi" +PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba" +PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp" +PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss" +PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2" +PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg" +PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg" +PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" +PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394" +PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg" +PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo" +PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3" +PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig" +PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype" +PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss" +PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver" +PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama" +PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native wayland-protocols" + +do_configure:prepend() { + # use wayland-scanner from native sysroot instead of build host + sed -i 's,\(WAYLAND_SCANNER=\).*,\1${STAGING_BINDIR_NATIVE}/wayland-scanner,' configure.ac +} + +do_configure:append() { + # moc needs support: precreate build paths + for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do + mkdir -p "${B}/modules/gui/qt/$qtpath" + done + sed -i -e 's|${WORKDIR}||g' ${B}/config.h +} + +# This recipe packages vlc as a library as well, so qt4 dependencies +# can be avoided when only the library is installed. +PACKAGES =+ "libvlc" + +LEAD_SONAME_libvlc = "libvlc.so.5" +FILES:libvlc = "${libdir}/lib*.so.*" + +FILES:${PN} += "\ + ${bindir}/vlc \ + ${libdir}/vlc/vlc/libvlc_vdpau.so \ + ${datadir}/applications \ + ${datadir}/vlc/ \ + ${datadir}/icons \ + ${datadir}/metainfo/org.videolan.vlc.appdata.xml \ +" + +FILES:${PN}-dbg += "\ + ${libdir}/vlc/*/.debug \ + ${libdir}/vlc/plugins/*/.debug \ +" + +FILES:${PN}-staticdev += "\ + ${libdir}/vlc/plugins/*/*.a \ +" + +INSANE_SKIP:${PN} = "dev-so" + +EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" + +CVE_STATUS[CVE-2026-26227] = "not-applicable-platform: the vulnerability is Android-specific" +CVE_STATUS[CVE-2026-26228] = "not-applicable-platform: the vulnerability is Android-specific" diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.13.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.13.bb deleted file mode 100644 index abd54515ca1..00000000000 --- a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.13.bb +++ /dev/null @@ -1,173 +0,0 @@ -SUMMARY = "Session / policy manager implementation for PipeWire" -HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber" -BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues" -SECTION = "multimedia" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77" - -DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ - ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ -" - -SRCREV = "84429b47943d789389fbde17c06b82efb197d04e" -SRC_URI = " \ - git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https;tag=${PV} \ - file://run-ptest \ - file://90-OE-disable-session-dbus-dependent-features.lua \ -" - - -inherit meson pkgconfig gobject-introspection systemd bash-completion ptest - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' - -# Enable system-lua to let wireplumber use OE's lua. -# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now. -# elogind is not (yet) available in OE, so disable support. -EXTRA_OEMESON += " \ - -Ddoc=disabled \ - -Dsystem-lua=true \ - -Delogind=disabled \ - -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ - -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ -" - -PACKAGECONFIG ??= " dbus \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'test', '', d)} \ -" - -PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" -PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd" -# "systemd-user-service" packageconfig will only install service -# files to rootfs but not enable them as systemd.bbclass -# currently lacks the feature of enabling user services. -PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd" -PACKAGECONFIG[dbus] = "" -PACKAGECONFIG[test] = "-Dtests=true,-Dtests=false" - -PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " -PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " - -WP_MODULE_SUBDIR = "wireplumber-0.5" - -do_install:append() { - if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then - install -m 0644 ${UNPACKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d - fi -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/data/config - cd ${B}/tests - find . -maxdepth 2 -type f -executable -exec install -D {} ${D}${PTEST_PATH}/{} \; - - install -m 644 ${S}/tests/wp/component-loader.conf ${D}${PTEST_PATH}/data/ - cp -r ${S}/tests/scripts/scripts ${D}${PTEST_PATH}/scripts/ - cp -r ${S}/tests/wplua/scripts ${D}${PTEST_PATH}/wplua/ - cp -r ${S}/tests/wp/conf ${D}${PTEST_PATH}/data - cp -r ${S}/tests/wp/settings ${D}${PTEST_PATH}/data - install -m 644 ${S}/src/config/wireplumber.conf ${D}${PTEST_PATH}/data/config/ - install -Dm 644 ${S}/tests/wplua/scripts/lib/testlib.lua ${D}${datadir}/wireplumber/scripts/lib/testlib.lua - install -Dm 644 ${S}/tests/scripts/scripts/lib/test-utils.lua ${D}${datadir}/wireplumber/scripts/lib/test-utils.lua - - # this is not a test - rm -rf ${D}${PTEST_PATH}/examples - - # Beside regular bianry executables, this package comes with lua tests also - # which need to be executed with specific parameters. Take the parameters - # from the meson.build files, and read them from run-ptest script. - grep args ${S}/tests/wplua/meson.build | cut -d[ -f2 | cut -d] -f1 | tr -d ",'" > ${D}${PTEST_PATH}/wplua/ptest-list - grep args ${S}/tests/scripts/meson.build | cut -d[ -f2 | cut -d] -f1 | tr -d ",'" > ${D}${PTEST_PATH}/scripts/ptest-list -} - -python split_dynamic_packages () { - # Create packages for each WirePlumber module. - wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}') - do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False) -} - -python set_dynamic_metapkg_rdepends () { - import os - import oe.utils - - # Go through all generated WirePlumber module packages - # (excluding the main package and the -meta package itself) - # and add them to the -meta package as RDEPENDS. - - base_pn = d.getVar('PN') - - wp_module_pn = base_pn + '-modules' - wp_module_metapkg = wp_module_pn + '-meta' - - d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1") - d.setVar('FILES:' + wp_module_metapkg, "") - - blacklist = [ wp_module_pn, wp_module_metapkg ] - wp_module_metapkg_rdepends = [] - pkgdest = d.getVar('PKGDEST') - - for pkg in oe.utils.packages_filter_out_system(d): - if pkg in blacklist: - continue - - is_wp_module_pkg = pkg.startswith(wp_module_pn) - if not is_wp_module_pkg: - continue - - if pkg in wp_module_metapkg_rdepends: - continue - - # See if the package is empty by looking at the contents of its - # PKGDEST subdirectory. If this subdirectory is empty, then then - # package is empty as well. Empty packages do not get added to - # the meta package's RDEPENDS. - pkgdir = os.path.join(pkgdest, pkg) - if os.path.exists(pkgdir): - dir_contents = os.listdir(pkgdir) or [] - else: - dir_contents = [] - is_empty = len(dir_contents) == 0 - if not is_empty: - if is_wp_module_pkg: - wp_module_metapkg_rdepends.append(pkg) - - d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends)) - d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package') -} - -PACKAGES =+ "\ - libwireplumber \ - ${PN}-default-config \ - ${PN}-scripts \ - ${PN}-modules \ - ${PN}-modules-meta \ -" - -PACKAGES_DYNAMIC = "^${PN}-modules.*" - -CONFFILES:${PN} += " \ - ${datadir}/wireplumber/wireplumber.conf \ - ${datadir}/wireplumber/*.lua.d/* \ -" -# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to -# be present. While in theory any application that uses libpipewire can configure -# itself to become a daemon, in practice, the PipeWire daemon is used. -RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta" - -FILES:${PN} += "${systemd_user_unitdir} ${systemd_system_unitdir} ${datadir}/zsh" - -FILES:libwireplumber = " \ - ${libdir}/libwireplumber-*.so.* \ -" - -FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*" - -# Dynamic packages (see set_dynamic_metapkg_rdepends). -FILES:${PN}-modules = "" -RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" - -FILES:${PN}-ptest += "${datadir}/wireplumber/scripts/lib/test-utils.lua ${datadir}/wireplumber/scripts/testlib.lua" -RDEPENDS:${PN}-ptest += "pipewire-modules-protocol-native ${PN}-scripts" diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.14.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.14.bb new file mode 100644 index 00000000000..ad05a8bc873 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.14.bb @@ -0,0 +1,173 @@ +SUMMARY = "Session / policy manager implementation for PipeWire" +HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber" +BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues" +SECTION = "multimedia" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77" + +DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ + ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ +" + +SRCREV = "07e730b279ac7a520699ae9f6b0797848a731b30" +SRC_URI = " \ + git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https;tag=${PV} \ + file://run-ptest \ + file://90-OE-disable-session-dbus-dependent-features.lua \ +" + + +inherit meson pkgconfig gobject-introspection systemd bash-completion ptest + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +# Enable system-lua to let wireplumber use OE's lua. +# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now. +# elogind is not (yet) available in OE, so disable support. +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + -Dsystem-lua=true \ + -Delogind=disabled \ + -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ + -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ +" + +PACKAGECONFIG ??= " dbus \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'test', '', d)} \ +" + +PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" +PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd" +# "systemd-user-service" packageconfig will only install service +# files to rootfs but not enable them as systemd.bbclass +# currently lacks the feature of enabling user services. +PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd" +PACKAGECONFIG[dbus] = "" +PACKAGECONFIG[test] = "-Dtests=true,-Dtests=false" + +PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " +PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " + +WP_MODULE_SUBDIR = "wireplumber-0.5" + +do_install:append() { + if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then + install -m 0644 ${UNPACKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d + fi +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/data/config + cd ${B}/tests + find . -maxdepth 2 -type f -executable -exec install -D {} ${D}${PTEST_PATH}/{} \; + + install -m 644 ${S}/tests/wp/component-loader.conf ${D}${PTEST_PATH}/data/ + cp -r ${S}/tests/scripts/scripts ${D}${PTEST_PATH}/scripts/ + cp -r ${S}/tests/wplua/scripts ${D}${PTEST_PATH}/wplua/ + cp -r ${S}/tests/wp/conf ${D}${PTEST_PATH}/data + cp -r ${S}/tests/wp/settings ${D}${PTEST_PATH}/data + install -m 644 ${S}/src/config/wireplumber.conf ${D}${PTEST_PATH}/data/config/ + install -Dm 644 ${S}/tests/wplua/scripts/lib/testlib.lua ${D}${datadir}/wireplumber/scripts/lib/testlib.lua + install -Dm 644 ${S}/tests/scripts/scripts/lib/test-utils.lua ${D}${datadir}/wireplumber/scripts/lib/test-utils.lua + + # this is not a test + rm -rf ${D}${PTEST_PATH}/examples + + # Beside regular bianry executables, this package comes with lua tests also + # which need to be executed with specific parameters. Take the parameters + # from the meson.build files, and read them from run-ptest script. + grep args ${S}/tests/wplua/meson.build | cut -d[ -f2 | cut -d] -f1 | tr -d ",'" > ${D}${PTEST_PATH}/wplua/ptest-list + grep args ${S}/tests/scripts/meson.build | cut -d[ -f2 | cut -d] -f1 | tr -d ",'" > ${D}${PTEST_PATH}/scripts/ptest-list +} + +python split_dynamic_packages () { + # Create packages for each WirePlumber module. + wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}') + do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False) +} + +python set_dynamic_metapkg_rdepends () { + import os + import oe.utils + + # Go through all generated WirePlumber module packages + # (excluding the main package and the -meta package itself) + # and add them to the -meta package as RDEPENDS. + + base_pn = d.getVar('PN') + + wp_module_pn = base_pn + '-modules' + wp_module_metapkg = wp_module_pn + '-meta' + + d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1") + d.setVar('FILES:' + wp_module_metapkg, "") + + blacklist = [ wp_module_pn, wp_module_metapkg ] + wp_module_metapkg_rdepends = [] + pkgdest = d.getVar('PKGDEST') + + for pkg in oe.utils.packages_filter_out_system(d): + if pkg in blacklist: + continue + + is_wp_module_pkg = pkg.startswith(wp_module_pn) + if not is_wp_module_pkg: + continue + + if pkg in wp_module_metapkg_rdepends: + continue + + # See if the package is empty by looking at the contents of its + # PKGDEST subdirectory. If this subdirectory is empty, then then + # package is empty as well. Empty packages do not get added to + # the meta package's RDEPENDS. + pkgdir = os.path.join(pkgdest, pkg) + if os.path.exists(pkgdir): + dir_contents = os.listdir(pkgdir) or [] + else: + dir_contents = [] + is_empty = len(dir_contents) == 0 + if not is_empty: + if is_wp_module_pkg: + wp_module_metapkg_rdepends.append(pkg) + + d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends)) + d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package') +} + +PACKAGES =+ "\ + libwireplumber \ + ${PN}-default-config \ + ${PN}-scripts \ + ${PN}-modules \ + ${PN}-modules-meta \ +" + +PACKAGES_DYNAMIC = "^${PN}-modules.*" + +CONFFILES:${PN} += " \ + ${datadir}/wireplumber/wireplumber.conf \ + ${datadir}/wireplumber/*.lua.d/* \ +" +# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to +# be present. While in theory any application that uses libpipewire can configure +# itself to become a daemon, in practice, the PipeWire daemon is used. +RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta" + +FILES:${PN} += "${systemd_user_unitdir} ${systemd_system_unitdir} ${datadir}/zsh" + +FILES:libwireplumber = " \ + ${libdir}/libwireplumber-*.so.* \ +" + +FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*" + +# Dynamic packages (see set_dynamic_metapkg_rdepends). +FILES:${PN}-modules = "" +RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" + +FILES:${PN}-ptest += "${datadir}/wireplumber/scripts/lib/test-utils.lua ${datadir}/wireplumber/scripts/testlib.lua" +RDEPENDS:${PN}-ptest += "pipewire-modules-protocol-native ${PN}-scripts" diff --git a/meta-networking/README.md b/meta-networking/README.md index ab2640618f0..f8337b0c5b3 100644 --- a/meta-networking/README.md +++ b/meta-networking/README.md @@ -3,7 +3,7 @@ meta-networking This layer is intended to be a central point for networking-related packages and configuration. It should be useful directly on top of -oe-core and compliments meta-openembedded. It should be primarily useful +oe-core and complements meta-openembedded. It should be primarily useful to the following groups: - Anyone building a small networking device (eg. a home router / diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index 58126a575f1..18256167a3b 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -15,7 +15,7 @@ LAYERVERSION_networking-layer = "1" LAYERDEPENDS_networking-layer = "core meta-python openembedded-layer" -LAYERSERIES_COMPAT_networking-layer = "walnascar whinlatter" +LAYERSERIES_COMPAT_networking-layer = "whinlatter wrynose" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-networking/recipes-connectivity/daq/libdaq_3.0.23.bb b/meta-networking/recipes-connectivity/daq/libdaq_3.0.23.bb deleted file mode 100644 index 8e1d7071742..00000000000 --- a/meta-networking/recipes-connectivity/daq/libdaq_3.0.23.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "LibDAQ: The Data AcQuisition Library" -DESCRIPTION = "LibDAQ is a pluggable abstraction layer for interacting with a data source (traditionally a network interface or network data plane)." -HOMEPAGE = "http://www.snort.org" -SECTION = "libs" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=79258250506422d064560a7b95b2d53e" - -DEPENDS = "libdnet libpcap" - -inherit autotools pkgconfig - -SRC_URI = "git://github.com/snort3/libdaq.git;protocol=https;branch=master;tag=v${PV} \ - file://0001-example-Use-lm-for-the-fst-module.patch" - -SRCREV = "f14981a2f83a57c86d125ad926b9c7788737f52d" - - -FILES:${PN} += "${libdir}/daq/*.so" diff --git a/meta-networking/recipes-connectivity/daq/libdaq_3.0.27.bb b/meta-networking/recipes-connectivity/daq/libdaq_3.0.27.bb new file mode 100644 index 00000000000..fb45ad74b30 --- /dev/null +++ b/meta-networking/recipes-connectivity/daq/libdaq_3.0.27.bb @@ -0,0 +1,18 @@ +SUMMARY = "LibDAQ: The Data AcQuisition Library" +DESCRIPTION = "LibDAQ is a pluggable abstraction layer for interacting with a data source (traditionally a network interface or network data plane)." +HOMEPAGE = "http://www.snort.org" +SECTION = "libs" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=79258250506422d064560a7b95b2d53e" + +DEPENDS = "libdnet libpcap" + +inherit autotools pkgconfig + +SRC_URI = "git://github.com/snort3/libdaq.git;protocol=https;branch=master;tag=v${PV} \ + file://0001-example-Use-lm-for-the-fst-module.patch" + +SRCREV = "959b13d76aa3409acadfe22d1c30864698a297a7" + + +FILES:${PN} += "${libdir}/daq/*.so" diff --git a/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3p1.bb b/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3p1.bb index 707eeb0e267..04fe9b9acd7 100644 --- a/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3p1.bb +++ b/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.3p1.bb @@ -39,7 +39,7 @@ BIND_EXTRA_CONFIG = "\ --host=${HOST_SYS} \ --target=${TARGET_SYS} \ " - +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" EXTRA_OECONF = "--with-bind-extra-config="${BIND_EXTRA_CONFIG}" \ --enable-paranoia \ --disable-static \ diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb b/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb deleted file mode 100644 index 7a392b2c232..00000000000 --- a/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "daemon that sends updates when your IP changes" -HOMEPAGE = "http://sourceforge.net/projects/ez-ipupdate/" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=7783169b4be06b54e86730eb01bc3a31" - -SRC_URI = "http://sourceforge.net/projects/ez-ipupdate/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://Makefile.am.patch \ - file://cache_file.c.patch \ - file://conf_file.c.patch \ - file://wformat.patch \ - file://0001-ez-ipupdate-Include-time.h-for-time-API-prototype.patch \ - file://CVE-2003-0887.patch \ - " -SRC_URI[md5sum] = "525be4550b4461fdf105aed8e753b020" -SRC_URI[sha256sum] = "a15ec0dc0b78ec7578360987c68e43a67bc8d3591cbf528a323588830ae22c20" - -inherit autotools pkgconfig - -do_install:append(){ - install -m 0744 -d ${D}${localstatedir}/lib/ez-ipupdate -} - -FILES:${PN} += "${localstatedir}/lib/ez-ipupdate" diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b8.bb b/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b8.bb new file mode 100644 index 00000000000..eabf4027d61 --- /dev/null +++ b/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b8.bb @@ -0,0 +1,22 @@ +SUMMARY = "daemon that sends updates when your IP changes" +HOMEPAGE = "http://sourceforge.net/projects/ez-ipupdate/" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=7783169b4be06b54e86730eb01bc3a31" + +SRC_URI = "${DEBIAN_MIRROR}/main/e/${BPN}/${BPN}_${PV}.orig.tar.gz \ + file://Makefile.am.patch \ + file://wformat.patch \ + file://0001-ez-ipupdate-Include-time.h-for-time-API-prototype.patch \ + file://CVE-2003-0887.patch \ + file://0001-configure-Check-for-string.h-system-header.patch \ + " +SRC_URI[sha256sum] = "bf5b8d11ffe055c5891d0ab64bbfa86e99cbda645d40f346146b939fec8d962d" + +inherit autotools pkgconfig + +#do_install:append(){ +# install -m 0744 -d ${D}${localstatedir}/lib/ez-ipupdate +#} + +#FILES:${PN} += "${localstatedir}/lib/ez-ipupdate" diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/0001-configure-Check-for-string.h-system-header.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/0001-configure-Check-for-string.h-system-header.patch new file mode 100644 index 00000000000..e9995a35000 --- /dev/null +++ b/meta-networking/recipes-connectivity/ez-ipupdate/files/0001-configure-Check-for-string.h-system-header.patch @@ -0,0 +1,53 @@ +From 811f253c03464489d445ab6627bb4187d27e98ef Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 4 Apr 2026 19:12:37 +0000 +Subject: [PATCH] configure: Check for string.h system header + +This is needed for functions like memcpy in md5.c but +it only includes string.h when its detected by autotools +however the needed check for detecting it during configure +are missing. This patch adds them + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + config.h.in | 3 +++ + configure.in | 3 ++- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/config.h.in b/config.h.in +index 2ce447f..52a8d7d 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -129,6 +129,9 @@ + /* Define if you have the header file. */ + #undef HAVE_SIGNAL_H + ++/* Define if you have the header file. */ ++#undef HAVE_STRING_H ++ + /* Define if you have the header file. */ + #undef HAVE_STDARG_H + +diff --git a/configure.in b/configure.in +index c97b9fc..f5d0808 100644 +--- a/configure.in ++++ b/configure.in +@@ -62,6 +62,7 @@ AC_CHECK_HEADERS( arpa/inet.h \ + sys/stat.h \ + fcntl.h \ + signal.h \ ++ string.h \ + syslog.h \ + pwd.h \ + stdarg.h \ +@@ -104,7 +105,7 @@ AC_ARG_ENABLE(default-service, + dyndns, dyndns-static, ods, tzo, gnudip, easydns, easydns-partner, dyns, hn, zoneedit, heipv6tb], + [ use_SERVICE=$enableval; + AC_MSG_RESULT(yes) ], +- [ AC_MSG_RESULT(no) ++ [ AC_MSG_RESULT(no) + use_SERVICE=null + AC_MSG_WARN(not setting default service) ] ) + case "$use_SERVICE" in diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/CVE-2003-0887.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/CVE-2003-0887.patch index 53aa3550087..14abe27c00c 100644 --- a/meta-networking/recipes-connectivity/ez-ipupdate/files/CVE-2003-0887.patch +++ b/meta-networking/recipes-connectivity/ez-ipupdate/files/CVE-2003-0887.patch @@ -26,8 +26,6 @@ Signed-off-by: Gyorgy Sarvari example-tzo.conf | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) -diff --git a/example-dhs.conf b/example-dhs.conf -index 3fe9a04..f976ae5 100755 --- a/example-dhs.conf +++ b/example-dhs.conf @@ -11,7 +11,7 @@ host=mydomain.whatever.com @@ -39,8 +37,6 @@ index 3fe9a04..f976ae5 100755 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-dyndns.conf b/example-dyndns.conf -index f539dec..84b4807 100755 --- a/example-dyndns.conf +++ b/example-dyndns.conf @@ -19,7 +19,7 @@ max-interval=2073600 @@ -52,8 +48,6 @@ index f539dec..84b4807 100755 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-dyns.conf b/example-dyns.conf -index 868768d..856a4d7 100644 --- a/example-dyns.conf +++ b/example-dyns.conf @@ -11,7 +11,7 @@ host=myhost @@ -65,8 +59,6 @@ index 868768d..856a4d7 100644 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-easydns.conf b/example-easydns.conf -index 0ff20da..15d9b78 100755 --- a/example-easydns.conf +++ b/example-easydns.conf @@ -11,7 +11,7 @@ host=mydomain.whatever.com @@ -78,8 +70,6 @@ index 0ff20da..15d9b78 100755 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-gnudip.conf b/example-gnudip.conf -index 3b2fb63..d09df1f 100755 --- a/example-gnudip.conf +++ b/example-gnudip.conf @@ -15,7 +15,7 @@ max-interval=2073600 @@ -91,8 +81,6 @@ index 3b2fb63..d09df1f 100755 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-heipv6tb.conf b/example-heipv6tb.conf -index e31aa9c..3ebc822 100644 --- a/example-heipv6tb.conf +++ b/example-heipv6tb.conf @@ -18,7 +18,7 @@ max-interval=2073600 @@ -104,8 +92,6 @@ index e31aa9c..3ebc822 100644 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-justlinux.conf b/example-justlinux.conf -index 0afeb2c..28b3327 100755 --- a/example-justlinux.conf +++ b/example-justlinux.conf @@ -11,7 +11,7 @@ host=mydomain.penguinpowered.com @@ -117,8 +103,6 @@ index 0afeb2c..28b3327 100755 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-ods.conf b/example-ods.conf -index d0ff889..7b16f2c 100755 --- a/example-ods.conf +++ b/example-ods.conf @@ -11,7 +11,7 @@ host=mydomain.ods.org @@ -130,8 +114,6 @@ index d0ff889..7b16f2c 100755 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-pgpow.conf b/example-pgpow.conf -index 29a92d6..81e351b 100755 --- a/example-pgpow.conf +++ b/example-pgpow.conf @@ -11,7 +11,7 @@ host=mydomain.penguinpowered.com @@ -143,8 +125,6 @@ index 29a92d6..81e351b 100755 # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it -diff --git a/example-tzo.conf b/example-tzo.conf -index 2a71db3..10b8dc4 100755 --- a/example-tzo.conf +++ b/example-tzo.conf @@ -15,7 +15,7 @@ max-interval=2073600 diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch deleted file mode 100644 index 0199cb1278e..00000000000 --- a/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch +++ /dev/null @@ -1,34 +0,0 @@ -Upstream-Status: Pending - -Dont assume errno type - ---- ez-ipupdate-3.0.11b7/cache_file.c.orig 2014-07-02 14:01:07.126029412 -0600 -+++ ez-ipupdate-3.0.11b7/cache_file.c 2014-07-02 14:08:27.422026332 -0600 -@@ -43,11 +43,11 @@ - #include - - #if HAVE_STRERROR --extern int errno; -+# include - # define error_string strerror(errno) - #elif HAVE_SYS_ERRLIST - extern const char *const sys_errlist[]; --extern int errno; -+# include - # define error_string (sys_errlist[errno]) - #else - # define error_string "error message not found" -@@ -63,11 +63,11 @@ - # define dprintf(x) - #endif - #if HAVE_STRERROR --extern int errno; -+# include - # define error_string strerror(errno) - #elif HAVE_SYS_ERRLIST - extern const char *const sys_errlist[]; --extern int errno; -+# include - # define error_string (sys_errlist[errno]) - #else - # define error_string "error message not found" diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch deleted file mode 100644 index 6325c1873f5..00000000000 --- a/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch +++ /dev/null @@ -1,20 +0,0 @@ -Upstream-Status: Pending - -Dont assume errno type - ---- ez-ipupdate-3.0.11b7/conf_file.c.orig 2014-07-02 14:01:19.174029328 -0600 -+++ ez-ipupdate-3.0.11b7/conf_file.c 2014-07-02 14:08:42.982026223 -0600 -@@ -38,11 +38,11 @@ - #include - - #if HAVE_STRERROR --extern int errno; -+# include - # define error_string strerror(errno) - #elif HAVE_SYS_ERRLIST - extern const char *const sys_errlist[]; --extern int errno; -+# include - # define error_string (sys_errlist[errno]) - #else - # define error_string "error message not found" diff --git a/meta-networking/recipes-connectivity/ez-ipupdate/files/wformat.patch b/meta-networking/recipes-connectivity/ez-ipupdate/files/wformat.patch index 3b791559d54..7463e3c535c 100644 --- a/meta-networking/recipes-connectivity/ez-ipupdate/files/wformat.patch +++ b/meta-networking/recipes-connectivity/ez-ipupdate/files/wformat.patch @@ -1,4 +1,9 @@ -Upstream-Status: Pending + +This patch is used by Gentoo to mitigate CVE-2004-0980: +https://bugs.gentoo.org/69658 + +CVE: CVE-2004-0980 +Upstream-Status: Inactive-Upstream [last commit: 2002] Index: ez-ipupdate-3.0.11b7/ez-ipupdate.c =================================================================== diff --git a/meta-networking/recipes-connectivity/freeradius/files/0010-fix-error-for-expansion-of-macro-in-thread.h.patch b/meta-networking/recipes-connectivity/freeradius/files/0010-fix-error-for-expansion-of-macro-in-thread.h.patch deleted file mode 100644 index cae27ad3a4f..00000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0010-fix-error-for-expansion-of-macro-in-thread.h.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0475d948ceab91b22172f0fae3bc01e0a1502ae8 Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Wed, 18 Jan 2017 14:59:39 +0800 -Subject: [PATCH] fix error for expansion of macro in thread.h - -The parameter declaration is missing in expansion of macro -which cause the build error: -| In file included from src/freeradius-devel/libradius.h:80:0, -| from src/lib/log.c:26: -| src/lib/log.c: In function '__fr_thread_local_destroy_fr_strerror_buffer': -| src/lib/log.c:37:31: error: 'fr_strerror_buffer' undeclared (first use in this function) -| fr_thread_local_setup(char *, fr_strerror_buffer) /* macro */ -| ^ - -Add the missing declaration in macro. - -Upstream-Status: Pending - -Signed-off-by: Yi Zhao ---- - src/include/threads.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/include/threads.h b/src/include/threads.h -index f2aea776d6..1c4e526797 100644 ---- a/src/include/threads.h -+++ b/src/include/threads.h -@@ -92,7 +92,7 @@ static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\ - # define fr_thread_local_get(_n) _n - #elif defined(HAVE_PTHREAD_H) - # include --# define fr_thread_local_setup(_t, _n) \ -+# define fr_thread_local_setup(_t, _n) static __thread _t _n;\ - static pthread_key_t __fr_thread_local_key_##_n;\ - static pthread_once_t __fr_thread_local_once_##_n = PTHREAD_ONCE_INIT;\ - static pthread_destructor_t __fr_thread_local_destructor_##_n = NULL;\ -@@ -103,17 +103,17 @@ static void __fr_thread_local_destroy_##_n(UNUSED void *unused)\ - static void __fr_thread_local_key_init_##_n(void)\ - {\ - (void) pthread_key_create(&__fr_thread_local_key_##_n, __fr_thread_local_destroy_##_n);\ -- (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\ - }\ - static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\ - {\ - __fr_thread_local_destructor_##_n = func;\ - if (_n) return _n; \ - (void) pthread_once(&__fr_thread_local_once_##_n, __fr_thread_local_key_init_##_n);\ -+ (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\ - return _n;\ - } --# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f) --# define fr_thread_local_set(_n, _v) __fr_thread_local_set_##_n(_v) --# define fr_thread_local_get(_n) __fr_thread_local_get_##_n() -+# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f) -+# define fr_thread_local_set(_n, _v) ((int)!((_n = _v) || 1)) -+# define fr_thread_local_get(_n) _n - #endif - #endif --- -2.25.1 - diff --git a/meta-networking/recipes-connectivity/freeradius/files/0018-update-license-1.patch b/meta-networking/recipes-connectivity/freeradius/files/0018-update-license-1.patch deleted file mode 100644 index 8647c389abc..00000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0018-update-license-1.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 82d874c638c80fbbf1eca7c51aca095fbbf40024 Mon Sep 17 00:00:00 2001 -From: "Alan T. DeKok" -Date: Mon, 27 Oct 2025 06:31:22 -0400 -Subject: [PATCH] update license - -Upstream-Status: Backport -[https://github.com/FreeRADIUS/freeradius-server/commit/82d874c638c80fbbf1eca7c51aca095fbbf40024] - -Signed-off-by: Yi Zhao ---- - src/modules/rlm_dpsk/rlm_dpsk.c | 25 +++++++--------- - .../rlm_eap/types/rlm_eap_teap/eap_teap.c | 29 +++++++------------ - .../rlm_eap/types/rlm_eap_teap/eap_teap.h | 29 +++++++------------ - .../rlm_eap/types/rlm_eap_teap/rlm_eap_teap.c | 29 +++++++------------ - 4 files changed, 44 insertions(+), 68 deletions(-) - -diff --git a/src/modules/rlm_dpsk/rlm_dpsk.c b/src/modules/rlm_dpsk/rlm_dpsk.c -index 4b818d08a5..aa07415540 100644 ---- a/src/modules/rlm_dpsk/rlm_dpsk.c -+++ b/src/modules/rlm_dpsk/rlm_dpsk.c -@@ -1,20 +1,17 @@ - /* -- * Copyright (C) 2023 Network RADIUS SARL (legal@networkradius.com) -+ * This program is is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or (at -+ * your option) any later version. - * -- * This software may not be redistributed in any form without the prior -- * written consent of Network RADIUS. -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. - * -- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -- * SUCH DAMAGE. -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - - /** -diff --git a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.c b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.c -index 20646c5ba1..33512788c2 100644 ---- a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.c -+++ b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.c -@@ -1,24 +1,17 @@ - /* -- * eap_teap.c contains the interfaces that are called from the main handler -+ * This program is is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or (at -+ * your option) any later version. - * -- * Version: $Id$ -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. - * -- * Copyright (C) 2022 Network RADIUS SARL -- * -- * This software may not be redistributed in any form without the prior -- * written consent of Network RADIUS. -- * -- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -- * SUCH DAMAGE. -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - - RCSID("$Id$") -diff --git a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.h b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.h -index 59f7835a26..69f4b1ebba 100644 ---- a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.h -+++ b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.h -@@ -1,24 +1,17 @@ - /* -- * eap_teap.h -+ * This program is is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or (at -+ * your option) any later version. - * -- * Version: $Id$ -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. - * -- * Copyright (C) 2022 Network RADIUS SARL -- * -- * This software may not be redistributed in any form without the prior -- * written consent of Network RADIUS. -- * -- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -- * SUCH DAMAGE. -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - #ifndef _EAP_TEAP_H - #define _EAP_TEAP_H -diff --git a/src/modules/rlm_eap/types/rlm_eap_teap/rlm_eap_teap.c b/src/modules/rlm_eap/types/rlm_eap_teap/rlm_eap_teap.c -index fcf9717257..13c709b287 100644 ---- a/src/modules/rlm_eap/types/rlm_eap_teap/rlm_eap_teap.c -+++ b/src/modules/rlm_eap/types/rlm_eap_teap/rlm_eap_teap.c -@@ -1,24 +1,17 @@ - /* -- * rlm_eap_teap.c contains the interfaces that are called from eap -+ * This program is is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or (at -+ * your option) any later version. - * -- * Version: $Id$ -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. - * -- * Copyright (C) 2022 Network RADIUS SARL -- * -- * This software may not be redistributed in any form without the prior -- * written consent of Network RADIUS. -- * -- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -- * SUCH DAMAGE. -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - - RCSID("$Id$") --- -2.43.0 - diff --git a/meta-networking/recipes-connectivity/freeradius/files/0019-update-license-2.patch b/meta-networking/recipes-connectivity/freeradius/files/0019-update-license-2.patch deleted file mode 100644 index 4fa3ecd2653..00000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0019-update-license-2.patch +++ /dev/null @@ -1,52 +0,0 @@ -From a46e81a7764b57983ce6724524f745a06222dc0a Mon Sep 17 00:00:00 2001 -From: "Alan T. DeKok" -Date: Tue, 28 Oct 2025 11:33:44 -0400 -Subject: [PATCH] update license - -Upstream-Status: Backport -[https://github.com/FreeRADIUS/freeradius-server/commit/a46e81a7764b57983ce6724524f745a06222dc0a] - -Signed-off-by: Yi Zhao ---- - .../rlm_proxy_rate_limit.c | 25 ++++++++----------- - 1 file changed, 11 insertions(+), 14 deletions(-) - -diff --git a/src/modules/rlm_proxy_rate_limit/rlm_proxy_rate_limit.c b/src/modules/rlm_proxy_rate_limit/rlm_proxy_rate_limit.c -index 744b14a448..a855273784 100644 ---- a/src/modules/rlm_proxy_rate_limit/rlm_proxy_rate_limit.c -+++ b/src/modules/rlm_proxy_rate_limit/rlm_proxy_rate_limit.c -@@ -1,20 +1,17 @@ - /* -- * Copyright (C) 2024 Network RADIUS SAS (legal@networkradius.com) -+ * This program is is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or (at -+ * your option) any later version. - * -- * This software may not be redistributed in any form without the prior -- * written consent of Network RADIUS. -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. - * -- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -- * SUCH DAMAGE. -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - - /** --- -2.43.0 - diff --git a/meta-networking/recipes-connectivity/freeradius/files/0020-update-license-3.patch b/meta-networking/recipes-connectivity/freeradius/files/0020-update-license-3.patch deleted file mode 100644 index f77c585bda5..00000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0020-update-license-3.patch +++ /dev/null @@ -1,101 +0,0 @@ -From d00440f3290871aef667f80e15f256c64f9b7cd6 Mon Sep 17 00:00:00 2001 -From: "Alan T. DeKok" -Date: Wed, 29 Oct 2025 09:45:17 -0400 -Subject: [PATCH] update license - -Upstream-Status: Backport -[https://github.com/FreeRADIUS/freeradius-server/commit/d00440f3290871aef667f80e15f256c64f9b7cd6] - -Signed-off-by: Yi Zhao ---- - .../types/rlm_eap_teap/eap_teap_crypto.c | 30 +++++++------------ - .../types/rlm_eap_teap/eap_teap_crypto.h | 30 +++++++------------ - 2 files changed, 22 insertions(+), 38 deletions(-) - -diff --git a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.c b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.c -index 17f49f9dfc..aaa74837a9 100644 ---- a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.c -+++ b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.c -@@ -1,26 +1,18 @@ - /* -- * teap-crypto.c Cryptographic functions for EAP-TEAP. -+ * This program is is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or (at -+ * your option) any later version. - * -- * Version: $Id$ -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. - * -- * Copyright (C) 2022 Network RADIUS SARL -- * -- * This software may not be redistributed in any form without the prior -- * written consent of Network RADIUS. -- * -- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -- * SUCH DAMAGE. -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ -- - RCSID("$Id$") - USES_APPLE_DEPRECATED_API /* OpenSSL API has been deprecated by Apple */ - -diff --git a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.h b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.h -index b02f2b9083..f9403dcf93 100644 ---- a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.h -+++ b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.h -@@ -1,26 +1,18 @@ - /* -- * eap_teap_crypto.h -+ * This program is is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or (at -+ * your option) any later version. - * -- * Version: $Id$ -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. - * -- * Copyright (C) 2022 Network RADIUS SARL -- * -- * This software may not be redistributed in any form without the prior -- * written consent of Network RADIUS. -- * -- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -- * SUCH DAMAGE. -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ -- - #ifndef _EAP_TEAP_CRYPTO_H - #define _EAP_TEAP_CRYPTO_H - --- -2.43.0 - diff --git a/meta-networking/recipes-connectivity/freeradius/freeradius_3.2.8.bb b/meta-networking/recipes-connectivity/freeradius/freeradius_3.2.8.bb index 9b05968638e..d9b0bc9b1e4 100644 --- a/meta-networking/recipes-connectivity/freeradius/freeradius_3.2.8.bb +++ b/meta-networking/recipes-connectivity/freeradius/freeradius_3.2.8.bb @@ -15,7 +15,7 @@ DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc" PATCHTOOL = "git" -SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;lfs=0;;protocol=https \ +SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;lfs=0;protocol=https \ file://freeradius \ file://volatiles.58_radiusd \ file://radiusd.service \ @@ -29,7 +29,6 @@ SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;lfs=0 file://0007-rlm_python-add-PY_INC_DIR-in-search-dir.patch \ file://0008-libtool-do-not-use-jlibtool.patch \ file://0009-Fix-quoting-for-BUILD_WITH.patch \ - file://0010-fix-error-for-expansion-of-macro-in-thread.h.patch \ file://0011-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \ file://0012-raddb-certs-Makefile-fix-the-existed-certificate-err.patch \ file://0013-raddb-certs-Makefile-fix-the-occasional-verification.patch \ @@ -37,14 +36,13 @@ SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;lfs=0 file://0015-bootstrap-check-commands-of-openssl-exist.patch \ file://0016-version.c-don-t-print-build-flags.patch \ file://0017-Add-acinclude.m4-to-include-required-macros.patch \ - file://0018-update-license-1.patch \ - file://0019-update-license-2.patch \ - file://0020-update-license-3.patch \ " raddbdir = "${sysconfdir}/${MLPREFIX}raddb" -SRCREV = "032be31bb52646171099617928ec1703335bcf73" +SRCREV = "4e4cbbd93ff3b469a773c964c7b5b6f53d01457a" + +PV .= "+git" UPSTREAM_CHECK_GITTAGREGEX = "release_(?P\d+(\_\d+)+)" @@ -53,6 +51,8 @@ CVE_STATUS[CVE-2011-4966] = "fixed-version: The CPE in the NVD database doesn't PARALLEL_MAKE = "" +# autoconf 2.73+Clang does not detect it correctly so help out +CFLAGS += "-DTLS_STORAGE_CLASS=__thread" LDFLAGS:append:powerpc = " -latomic" LDFLAGS:append:mipsarch = " -latomic" @@ -114,6 +114,7 @@ PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl" PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast" PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd" PACKAGECONFIG[kafka] = "--with-rlm_kafka, --without-rlm_kafka, librdkafka" +PACKAGECONFIG[legacy-openssl] = ",--enable-fips-workaround,,openssl-ossl-module-legacy" inherit useradd autotools-brokensep update-rc.d systemd multilib_script multilib_header diff --git a/meta-networking/recipes-connectivity/libdnet/libdnet_1.18.0.bb b/meta-networking/recipes-connectivity/libdnet/libdnet_1.18.0.bb deleted file mode 100644 index f79121b142d..00000000000 --- a/meta-networking/recipes-connectivity/libdnet/libdnet_1.18.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "dumb networking library" -HOMEPAGE = "https://github.com/ofalk/libdnet" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9" - -SRC_URI = "git://github.com/ofalk/libdnet.git;nobranch=1;protocol=https" - -SRCREV = "3dfbe889b1f65077efe579da34fc1d6819fcb7f3" - -UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P\d+(\.\d+)+)" - - -inherit autotools multilib_script pkgconfig - -DEPENDS += "libcheck" - -EXTRA_AUTORECONF += "-I ./config" -BBCLASSEXTEND = "native" - -MULTILIB_SCRIPTS = "${PN}:${bindir}/dnet-config" diff --git a/meta-networking/recipes-connectivity/libdnet/libdnet_1.18.2.bb b/meta-networking/recipes-connectivity/libdnet/libdnet_1.18.2.bb new file mode 100644 index 00000000000..41745adbded --- /dev/null +++ b/meta-networking/recipes-connectivity/libdnet/libdnet_1.18.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "dumb networking library" +HOMEPAGE = "https://github.com/ofalk/libdnet" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9" + +SRC_URI = "git://github.com/ofalk/libdnet.git;nobranch=1;protocol=https;tag=${BPN}-${PV}" + +SRCREV = "024ab07d88a2f70ab161cfc0a41f460cb046133f" + +UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P\d+(\.\d+)+)" + + +inherit autotools multilib_script pkgconfig + +DEPENDS += "libcheck" + +EXTRA_AUTORECONF += "-I ./config" +BBCLASSEXTEND = "native" + +MULTILIB_SCRIPTS = "${PN}:${bindir}/dnet-config" diff --git a/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.10.bb b/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.10.bb deleted file mode 100644 index b126aee7db8..00000000000 --- a/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.10.bb +++ /dev/null @@ -1,79 +0,0 @@ -SUMMARY = "Lightweight crypto and SSL/TLS library" -DESCRIPTION = "mbedtls is a lean open source crypto library \ -for providing SSL and TLS support in your programs. It offers \ -an intuitive API and documented header files, so you can actually \ -understand what the code does. It features: \ - \ - - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \ - Camellia and XTEA \ - - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \ - - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \ - - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \ - ECDSA and ECDH \ - - SSL v3 and TLS 1.0, 1.1 and 1.2 \ - - Abstraction layers for ciphers, hashes, public key operations, \ - platform abstraction and threading \ -" - -HOMEPAGE = "https://tls.mbed.org/" - -LICENSE = "Apache-2.0 | GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" - -SECTION = "libs" - -SRCREV = "2fc8413bfcb51354c8e679141b17b3f1a5942561" -SRC_URI = "git://github.com/Mbed-TLS/mbedtls.git;protocol=https;branch=archive/mbedtls-2.28;tag=${BPN} \ - file://run-ptest \ - " - -inherit cmake update-alternatives ptest - -PACKAGECONFIG ??= "shared-libs programs ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" -PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF" -PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF" -PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF" -# Make X.509 and TLS calls use PSA -# https://github.com/Mbed-TLS/mbedtls/blob/development/docs/use-psa-crypto.md -PACKAGECONFIG[psa] = "" -PACKAGECONFIG[tests] = "-DENABLE_TESTING=ON,-DENABLE_TESTING=OFF" - -EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:STRING=${libdir}" - -# For now the only way to enable PSA is to explicitly pass a -D via CFLAGS -CFLAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'psa', ' -DMBEDTLS_USE_PSA_CRYPTO', '', d)}" - -PROVIDES += "polarssl" -RPROVIDES:${PN} = "polarssl" - -PACKAGES =+ "${PN}-programs" -FILES:${PN}-programs = "${bindir}/" - -ALTERNATIVE:${PN}-programs = "${@bb.utils.contains('PACKAGECONFIG', 'programs', 'hello', '', d)}" -ALTERNATIVE_LINK_NAME[hello] = "${bindir}/hello" - -BBCLASSEXTEND = "native nativesdk" - -CVE_PRODUCT = "mbed_tls" - -CVE_STATUS[CVE-2021-43666] = "backported-patch: Fix merged upstream https://github.com/Mbed-TLS/mbedtls/pull/5310" -CVE_STATUS[CVE-2021-45451] = "backported-patch: Fix merged upstream https://github.com/Mbed-TLS/mbedtls/commit/9a4a9c66a48edfe9ece03c7e4a53310adf73a86c" - -# Strip host paths from autogenerated test files -do_compile:append() { - sed -i 's+${S}/++g' ${B}/tests/*.c 2>/dev/null || : - sed -i 's+${B}/++g' ${B}/tests/*.c 2>/dev/null || : -} - -# Export source files/headers needed by Arm Trusted Firmware -sysroot_stage_all:append() { - sysroot_stage_dir "${S}/library" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/library" - sysroot_stage_dir "${S}/include" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/include" -} - -do_install_ptest () { - install -d ${D}${PTEST_PATH}/tests - cp -f ${B}/tests/test_suite_* ${D}${PTEST_PATH}/tests/ - find ${D}${PTEST_PATH}/tests/ -type f -name "*.c" -delete - cp -fR ${S}/tests/data_files ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.5.bb b/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.5.bb deleted file mode 100644 index e6dfe430925..00000000000 --- a/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.5.bb +++ /dev/null @@ -1,78 +0,0 @@ -SUMMARY = "Lightweight crypto and SSL/TLS library" -DESCRIPTION = "mbedtls is a lean open source crypto library \ -for providing SSL and TLS support in your programs. It offers \ -an intuitive API and documented header files, so you can actually \ -understand what the code does. It features: \ - \ - - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \ - Camellia and XTEA \ - - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \ - - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \ - - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \ - ECDSA and ECDH \ - - SSL v3 and TLS 1.0, 1.1 and 1.2 \ - - Abstraction layers for ciphers, hashes, public key operations, \ - platform abstraction and threading \ -" - -HOMEPAGE = "https://tls.mbed.org/" - -LICENSE = "Apache-2.0 | GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" - -SECTION = "libs" - -SRC_URI = "gitsm://github.com/Mbed-TLS/mbedtls.git;protocol=https;branch=mbedtls-3.6;tag=v${PV} \ - file://run-ptest \ - " - -SRCREV = "e185d7fd85499c8ce5ca2a54f5cf8fe7dbe3f8df" - -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -inherit cmake update-alternatives ptest - -PACKAGECONFIG ??= "shared-libs programs ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" -PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF" -PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF" -PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF" -# Make X.509 and TLS calls use PSA -# https://github.com/Mbed-TLS/mbedtls/blob/development/docs/use-psa-crypto.md -PACKAGECONFIG[psa] = "" -PACKAGECONFIG[tests] = "-DENABLE_TESTING=ON,-DENABLE_TESTING=OFF" - -# For now the only way to enable PSA is to explicitly pass a -D via CFLAGS -CFLAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'psa', ' -DMBEDTLS_USE_PSA_CRYPTO', '', d)}" - -PROVIDES += "polarssl" -RPROVIDES:${PN} = "polarssl" - -PACKAGES =+ "${PN}-programs" -FILES:${PN}-programs = "${bindir}/" - -ALTERNATIVE:${PN}-programs = "${@bb.utils.contains('PACKAGECONFIG', 'programs', 'hello', '', d)}" -ALTERNATIVE_LINK_NAME[hello] = "${bindir}/hello" - -BBCLASSEXTEND = "native nativesdk" - -CVE_PRODUCT = "mbed_tls" - -# Strip host paths from autogenerated test files -do_compile:append() { - sed -i 's+${S}/++g' ${B}/tests/*.c 2>/dev/null || : - sed -i 's+${B}/++g' ${B}/tests/*.c 2>/dev/null || : -} - -# Export source files/headers needed by Arm Trusted Firmware -sysroot_stage_all:append() { - sysroot_stage_dir "${S}/library" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/library" - sysroot_stage_dir "${S}/include" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/include" -} - -do_install_ptest () { - install -d ${D}${PTEST_PATH}/tests - install -d ${D}${PTEST_PATH}/framework - cp -f ${B}/tests/test_suite_* ${D}${PTEST_PATH}/tests/ - find ${D}${PTEST_PATH}/tests/ -type f -name "*.c" -delete - cp -fR ${S}/framework/data_files ${D}${PTEST_PATH}/framework/ -} diff --git a/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.6.bb b/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.6.bb new file mode 100644 index 00000000000..23d5c0878f6 --- /dev/null +++ b/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.6.bb @@ -0,0 +1,79 @@ +SUMMARY = "Lightweight crypto and SSL/TLS library" +DESCRIPTION = "mbedtls is a lean open source crypto library \ +for providing SSL and TLS support in your programs. It offers \ +an intuitive API and documented header files, so you can actually \ +understand what the code does. It features: \ + \ + - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \ + Camellia and XTEA \ + - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \ + - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \ + - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \ + ECDSA and ECDH \ + - SSL v3 and TLS 1.0, 1.1 and 1.2 \ + - Abstraction layers for ciphers, hashes, public key operations, \ + platform abstraction and threading \ +" + +HOMEPAGE = "https://www.trustedfirmware.org/projects/mbed-tls/" +BUGTRACKER = "https://github.com/Mbed-TLS/mbedtls/issues" + +LICENSE = "Apache-2.0 | GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" + +SECTION = "libs" + +SRC_URI = "gitsm://github.com/Mbed-TLS/mbedtls.git;protocol=https;branch=mbedtls-3.6;tag=v${PV} \ + file://run-ptest \ + " + +SRCREV = "0bebf8b8c7f07abe3571ded48a11aa907a1ffb20" + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +inherit cmake update-alternatives ptest + +PACKAGECONFIG ??= "shared-libs programs ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF" +PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF" +PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF" +# Make X.509 and TLS calls use PSA +# https://github.com/Mbed-TLS/mbedtls/blob/development/docs/use-psa-crypto.md +PACKAGECONFIG[psa] = "" +PACKAGECONFIG[tests] = "-DENABLE_TESTING=ON,-DENABLE_TESTING=OFF" + +# For now the only way to enable PSA is to explicitly pass a -D via CFLAGS +CFLAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'psa', ' -DMBEDTLS_USE_PSA_CRYPTO', '', d)}" + +PROVIDES += "polarssl" +RPROVIDES:${PN} = "polarssl" + +PACKAGES =+ "${PN}-programs" +FILES:${PN}-programs = "${bindir}/" + +ALTERNATIVE:${PN}-programs = "${@bb.utils.contains('PACKAGECONFIG', 'programs', 'hello', '', d)}" +ALTERNATIVE_LINK_NAME[hello] = "${bindir}/hello" + +BBCLASSEXTEND = "native nativesdk" + +CVE_PRODUCT = "mbed_tls" + +# Strip host paths from autogenerated test files +do_compile:append() { + sed -i 's+${S}/++g' ${B}/tests/*.c 2>/dev/null || : + sed -i 's+${B}/++g' ${B}/tests/*.c 2>/dev/null || : +} + +# Export source files/headers needed by Arm Trusted Firmware +sysroot_stage_all:append() { + sysroot_stage_dir "${S}/library" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/library" + sysroot_stage_dir "${S}/include" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/include" +} + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + install -d ${D}${PTEST_PATH}/framework + cp -f ${B}/tests/test_suite_* ${D}${PTEST_PATH}/tests/ + find ${D}${PTEST_PATH}/tests/ -type f -name "*.c" -delete + cp -fR ${S}/framework/data_files ${D}${PTEST_PATH}/framework/ +} diff --git a/meta-networking/recipes-connectivity/mosquitto/files/2895.patch b/meta-networking/recipes-connectivity/mosquitto/files/2895.patch deleted file mode 100644 index d9432e749ec..00000000000 --- a/meta-networking/recipes-connectivity/mosquitto/files/2895.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Joachim Zobel -Date: Wed, 13 Sep 2023 10:05:43 +0200 -Subject: [PATCH] Mosquitto now waits for network-online when starting - (Closes: #1036450) - -See: https://github.com/eclipse/mosquitto/issues/2878 ---- -Upstream-Status: Submitted [https://github.com/eclipse-mosquitto/mosquitto/pull/2895] - - service/systemd/mosquitto.service.simple | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/service/systemd/mosquitto.service.simple -+++ b/service/systemd/mosquitto.service.simple -@@ -1,8 +1,8 @@ - [Unit] - Description=Mosquitto MQTT Broker - Documentation=man:mosquitto.conf(5) man:mosquitto(8) --After=network.target --Wants=network.target -+After=network-online.target -+Wants=network-online.target - - [Service] - ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf ---- a/service/systemd/mosquitto.service.notify -+++ b/service/systemd/mosquitto.service.notify -@@ -1,8 +1,8 @@ - [Unit] - Description=Mosquitto MQTT Broker - Documentation=man:mosquitto.conf(5) man:mosquitto(8) --After=network.target --Wants=network.target -+After=network-online.target -+Wants=network-online.target - - [Service] - Type=notify diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.22.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.22.bb deleted file mode 100644 index 1bdf54eea1e..00000000000 --- a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.22.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Open source MQTT implementation" -DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ -that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ -5, providing both an MQTT broker and several command-line clients. MQTT \ -provides a lightweight method of carrying out messaging using a \ -publish/subscribe model. " -HOMEPAGE = "http://mosquitto.org/" -SECTION = "console/network" -LICENSE = "EPL-2.0 | EDL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \ - file://edl-v10;md5=9f6accb1afcb570f8be65039e2fcd49e \ - file://epl-v20;md5=2dd765ca47a05140be15ebafddbeadfe \ - file://NOTICE.md;md5=a7a91b4754c6f7995020d1b49bc829c6 \ -" -DEPENDS = "uthash cjson" - -SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ - file://mosquitto.init \ - file://2895.patch \ -" - -SRC_URI[sha256sum] = "2f752589ef7db40260b633fbdb536e9a04b446a315138d64a7ff3c14e2de6b68" - -inherit systemd update-rc.d useradd cmake pkgconfig - -PACKAGECONFIG ??= "ssl websockets \ - ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ - " - -PACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" -PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl" -PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" -PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets" -PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" - -EXTRA_OECMAKE = " \ - -DWITH_BUNDLED_DEPS=OFF \ - -DWITH_ADNS=ON \ -" - -do_install:append() { - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service - - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${UNPACKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto - sed -i -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ - -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - ${D}${sysconfdir}/init.d/mosquitto -} - -PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients" - -PACKAGE_BEFORE_PN = "${PN}-examples" - -FILES:${PN} = "${sbindir}/mosquitto \ - ${bindir}/mosquitto_passwd \ - ${bindir}/mosquitto_ctrl \ - ${libdir}/mosquitto_dynamic_security.so \ - ${sysconfdir}/mosquitto \ - ${sysconfdir}/init.d \ - ${systemd_unitdir}/system/mosquitto.service \ -" - -CONFFILES:${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" - -FILES:libmosquitto1 = "${libdir}/libmosquitto.so.*" - -FILES:libmosquittopp1 = "${libdir}/libmosquittopp.so.*" - -FILES:${PN}-clients = "${bindir}/mosquitto_pub \ - ${bindir}/mosquitto_sub \ - ${bindir}/mosquitto_rr \ -" - -FILES:${PN}-examples = "${sysconfdir}/mosquitto/*.example" - -SYSTEMD_SERVICE:${PN} = "mosquitto.service" - -INITSCRIPT_NAME = "mosquitto" -INITSCRIPT_PARAMS = "defaults 30" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --no-create-home --shell /bin/false \ - --user-group mosquitto" - -BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb new file mode 100644 index 00000000000..8bb6c9009d4 --- /dev/null +++ b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb @@ -0,0 +1,96 @@ +SUMMARY = "Open source MQTT implementation" +DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \ +that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \ +5, providing both an MQTT broker and several command-line clients. MQTT \ +provides a lightweight method of carrying out messaging using a \ +publish/subscribe model. " +HOMEPAGE = "http://mosquitto.org/" +SECTION = "console/network" +LICENSE = "EPL-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f6d64fd27a4071b14ef656a0e8a4f4cf \ + file://edl-v10;md5=9f6accb1afcb570f8be65039e2fcd49e \ + file://epl-v20;md5=2dd765ca47a05140be15ebafddbeadfe \ + file://NOTICE.md;md5=611234becddb76dca161d4ffce7ab420 \ +" +DEPENDS = "uthash cjson" + +SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ + file://mosquitto.init \ +" + +SRC_URI[sha256sum] = "fd905380691ac65ea5a93779e8214941829e3d6e038d5edff9eac5fd74cbed02" + +inherit systemd update-rc.d useradd cmake pkgconfig + +PACKAGECONFIG ??= "ssl websockets \ + ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ + " + +PACKAGECONFIG[manpages] = "-DWITH_DOCS=ON,-DWITH_DOCS=OFF,libxslt-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares" +PACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF,openssl" +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd" +PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON -DWITH_WEBSOCKETS_BUILTIN=OFF,-DWITH_WEBSOCKETS=OFF,libwebsockets" +PACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon" +PACKAGECONFIG[http-api] = "-DWITH_HTTP_API=ON,-DWITH_HTTP_API=OFF,libmicrohttpd" +PACKAGECONFIG[persist-sqlite] = "-DWITH_PLUGIN_PERSIST_SQLITE=ON,-DWITH_PLUGIN_PERSIST_SQLITE=OFF,sqlite3" +PACKAGECONFIG[ctrl-shell] = "-DWITH_CTRL_SHELL=ON,-DWITH_CTRL_SHELL=OFF,libedit" + +# Disable building/running tests to avoid GoogleTest discovery executing target binaries +# during cross-compilation (Yocto). This prevents CMake from calling gtest_discover_tests(). +# See: Yocto + GTest cross-compile issues and gtest_discover_tests execution failures. +# (Refs: SO example and googletest issue) +EXTRA_OECMAKE = " \ + -DWITH_BUNDLED_DEPS=OFF \ + -DWITH_ADNS=OFF \ + -DWITH_TESTS=OFF \ +" + +do_install:append() { + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service + + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${UNPACKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${sysconfdir}/init.d/mosquitto + + install -m 0644 ${S}/mosquitto.conf ${D}${sysconfdir}/mosquitto/mosquitto.conf +} + +PACKAGE_BEFORE_PN = "libmosquitto1 libmosquittopp1 ${PN}-clients ${PN}-examples" + +FILES:${PN} += " \ + ${libdir}/mosquitto_acl_file.so \ + ${libdir}/mosquitto_dynamic_security.so \ + ${libdir}/mosquitto_password_file.so \ + ${libdir}/mosquitto_sparkplug_aware.so \ + ${systemd_unitdir}/system/mosquitto.service \ +" + +CONFFILES:${PN} += "${sysconfdir}/mosquitto/mosquitto.conf" + +FILES:libmosquitto1 = "${libdir}/libmosquitto.so.*" + +FILES:libmosquittopp1 = "${libdir}/libmosquittopp.so.*" + +FILES:${PN}-clients = "${bindir}/mosquitto_pub \ + ${bindir}/mosquitto_sub \ + ${bindir}/mosquitto_rr \ +" + +FILES:${PN}-examples = "${sysconfdir}/mosquitto/*.example" + +SYSTEMD_SERVICE:${PN} = "mosquitto.service" + +INITSCRIPT_NAME = "mosquitto" +INITSCRIPT_PARAMS = "defaults 30" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --no-create-home --shell /bin/false \ + --user-group mosquitto" + +BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-meson-fix-cross-compilation-issues.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-meson-fix-cross-compilation-issues.patch new file mode 100644 index 00000000000..617c614958d --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-meson-fix-cross-compilation-issues.patch @@ -0,0 +1,69 @@ +From 49cc7ebaf3ed86b693ac80c76a28ba0db7406374 Mon Sep 17 00:00:00 2001 +From: Andrej Kozemcak +Date: Mon, 9 Mar 2026 15:50:26 +0100 +Subject: [PATCH] meson: fix cross-compilation issues + +Strip newline from GI_TYPELIB_PATH and LD_LIBRARY_PATH +run_command().stdout() returns the raw shell output including a trailing +newline. When the value is used to build a colon-separated path, the newline +gets embedded at the end of the last path component, making the directory +invalid and causing GObject Introspection to fail with: + + ImportError: Typelib file for namespace 'Gio', version '2.0' not found + +Use .strip() to remove leading/trailing whitespace from both env variable +reads. + +Fix jansson SONAME detection for cross-compilation +When cross-compiling, jansson's pkg-config 'libdir' variable returns a +path relative to the sysroot (e.g., /usr/lib) without the actual sysroot +prefix. The host readelf binary cannot find the library at that path. + +Fix this by using meson.get_external_property('sys_root', '') to obtain +the sysroot path set by the cross-compilation environment and prepend it +to the library path before calling readelf. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2380] +Signed-off-by: Andrej Kozemcak +--- + meson.build | 3 ++- + src/libnm-client-impl/meson.build | 4 ++-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 8b0334240d..75f6871dd2 100644 +--- a/meson.build ++++ b/meson.build +@@ -296,7 +296,8 @@ config_h.set10('WITH_JANSSON', jansson_dep.found()) + jansson_msg = 'no' + if jansson_dep.found() + jansson_libdir = jansson_dep.get_variable(pkgconfig: 'libdir') +- res = run_command(find_program('eu-readelf', 'readelf'), '-d', join_paths(jansson_libdir, 'libjansson.so'), check: false) ++ jansson_sysroot = meson.is_cross_build() ? meson.get_external_property('sys_root', '') : '' ++ res = run_command(find_program('eu-readelf', 'readelf'), '-d', jansson_sysroot + join_paths(jansson_libdir, 'libjansson.so'), check: false) + jansson_soname = '' + foreach line: res.stdout().split('\n') + if line.strip().contains('SONAME') +diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build +index 3352ebfee0..329078ab46 100644 +--- a/src/libnm-client-impl/meson.build ++++ b/src/libnm-client-impl/meson.build +@@ -167,13 +167,13 @@ if enable_introspection + install: true, + ) + +- gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH', check: false).stdout() ++ gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH', check: false).stdout().strip() + if gi_typelib_path != '' + gi_typelib_path = ':' + gi_typelib_path + endif + gi_typelib_path = meson.current_build_dir() + gi_typelib_path + +- ld_library_path = run_command('printenv', 'LD_LIBRARY_PATH', check: false).stdout() ++ ld_library_path = run_command('printenv', 'LD_LIBRARY_PATH', check: false).stdout().strip() + if ld_library_path != '' + ld_library_path = ':' + ld_library_path + endif +-- +2.47.3 + diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.52.2.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.52.2.bb deleted file mode 100644 index cafc6ce3f26..00000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.52.2.bb +++ /dev/null @@ -1,325 +0,0 @@ -SUMMARY = "NetworkManager is a program for providing detection and \ -configuration for systems to automatically connect to networks." - -DESCRIPTION = "NetworkManager is a program for providing detection and \ -configuration for systems to automatically connect to networks. \ -NetworkManager's functionality can be useful for both wireless and wired \ -networks. For wireless networks, NetworkManager prefers known wireless \ -networks and has the ability to switch to the most reliable network. \ -NetworkManager-aware applications can switch from online and offline mode. \ -NetworkManager also prefers wired connections over wireless ones, has support \ -for modem connections and certain types of VPN." - -HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" -SECTION = "net/misc" - -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = " \ - glib-2.0 \ - python3-pygobject-native \ - coreutils-native \ - intltool-native \ - libxslt-native \ - libnl \ - libnvme \ - udev \ - util-linux \ - util-linux-libuuid \ - libndp \ - curl \ - dbus \ -" -DEPENDS:append:class-target = " bash-completion" - -inherit meson gettext update-rc.d systemd gobject-introspection update-alternatives upstream-version-is-even pkgconfig - -SRC_URI = " \ - git://github.com/NetworkManager/NetworkManager.git;protocol=https;branch=nm-1-52;tag=${PV} \ - file://${BPN}.initd \ - file://enable-dhcpcd.conf \ - file://enable-iwd.conf \ -" -SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}" - -SRCREV = "57a409441bef013f636ac8e72836c19ecb27c1b9" - - -# ['auto', 'symlink', 'file', 'netconfig', 'resolvconf'] -NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT ??= "auto" - -# ['dhclient', 'dhcpcd', 'internal', 'nettools'] -NETWORKMANAGER_DHCP_DEFAULT ??= "internal" - -# The default gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed, with nftables preferred. -# ['', 'iptables', 'nftables'] -NETWORKMANAGER_FIREWALL_DEFAULT ??= "nftables" - -EXTRA_OEMESON = "\ - -Difcfg_rh=false \ - -Dtests=yes \ - -Dudev_dir=${nonarch_base_libdir}/udev \ - -Dlibpsl=false \ - -Dqt=false \ - -Dconfig_dns_rc_manager_default=${NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT} \ - -Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \ - -Diptables=${sbindir}/iptables \ - -Dnft=${sbindir}/nft \ -" - -# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template -# avoids: -# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? -CFLAGS:append:libc-musl = " \ - -DRTLD_DEEPBIND=0 \ -" - -# networkmanager-1.52.0/src/nmcli/agent.c:88:29: error: incompatible function pointer types assigning to 'rl_hook_func_t *' (aka 'int (*)(void)') from 'int (const char *, int)' [-Wincompatible-function-pointer-types] -# 88 | rl_startup_hook = set_deftext; -# | ^ ~~~~~~~~~~~ - -CFLAGS:append:toolchain-clang = " -Wno-error=incompatible-function-pointer-types" - -PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit ppp', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES_BACKFILL_CONSIDERED', 'gobject-introspection-data', '', 'vala', d)} \ -" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)} - -PACKAGECONFIG[systemd] = "\ - -Dsystemdsystemunitdir=${systemd_unitdir}/system -Dsession_tracking=systemd,\ - -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsession_tracking=no\ -" -PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit" -PACKAGECONFIG[bluez5] = "-Dbluez5_dun=true,-Dbluez5_dun=false,bluez5" -# consolekit is not picked by shlibs, so add it to RDEPENDS too -PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit" -PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info" -PACKAGECONFIG[ppp] = "-Dppp=true -Dpppd=${sbindir}/pppd,-Dppp=false,ppp" -PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq" -PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss" -PACKAGECONFIG[resolvconf] = "-Dresolvconf=${base_sbindir}/resolvconf,-Dresolvconf=no,,resolvconf" -PACKAGECONFIG[gnutls] = "-Dcrypto=gnutls,,gnutls" -PACKAGECONFIG[crypto-null] = "-Dcrypto=null" -PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false" -PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" -PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" -PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false" -PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" -PACKAGECONFIG[nmtui] = "-Dnmtui=true,-Dnmtui=false,libnewt" -PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" -PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" -PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" -PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no" -PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" -PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=${base_sbindir}/dhcpcd,-Ddhcpcd=no,,dhcpcd" -PACKAGECONFIG[dhclient] = "-Ddhclient=yes,-Ddhclient=no,,dhcp" -PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false" -PACKAGECONFIG[adsl] = ",," -PACKAGECONFIG[wwan] = ",," -# The following PACKAGECONFIG is used to determine whether NM is managing /etc/resolv.conf itself or not -PACKAGECONFIG[man-resolv-conf] = ",," - - -PACKAGES =+ " \ - libnm \ - ${PN}-adsl \ - ${PN}-bluetooth \ - ${PN}-cloud-setup \ - ${PN}-nmcli \ - ${PN}-nmcli-bash-completion \ - ${PN}-nmtui \ - ${PN}-wifi \ - ${PN}-wwan \ - ${PN}-ovs \ - ${PN}-ppp \ - ${PN}-daemon \ -" - -SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-cloud-setup" -INITSCRIPT_PACKAGES = "${PN}-daemon" - -NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV}" -NETWORKMANAGER_DISPATCHERDIR = "${nonarch_libdir}/NetworkManager/dispatcher.d" - - -SUMMARY:libnm = "Libraries for adding NetworkManager support to applications" -FILES:libnm = "\ - ${libdir}/libnm.so.* \ - ${libdir}/girepository-1.0/NM-1.0.typelib \ -" - -SUMMARY:${PN}-adsl = "ADSL device plugin for NetworkManager" -FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so" -RDEPENDS:${PN}-adsl += "${PN}-daemon" - -SUMMARY:${PN}-bluetooth = "Bluetooth device plugin for NetworkManager" -FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so" -RDEPENDS:${PN}-bluetooth += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG', 'bluez5', '${PN}-wwan bluez5', '', d)}" - -SUMMARY:${PN}-cloud-setup = "Automatically configure NetworkManager in cloud" -FILES:${PN}-cloud-setup = " \ - ${libexecdir}/nm-cloud-setup \ - ${systemd_system_unitdir}/nm-cloud-setup.service \ - ${systemd_system_unitdir}/nm-cloud-setup.timer \ - ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ - ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ -" -RDEPENDS:${PN}-cloud-setup += "${PN}-daemon" -ALLOW_EMPTY:${PN}-cloud-setup = "1" -SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" - -SUMMARY:${PN}-nmcli = "NetworkManager command line client" -FILES:${PN}-nmcli = " \ - ${bindir}/nmcli \ -" -RDEPENDS:${PN}-nmcli += "${PN}-daemon" - -SUMMARY:${PN}-nmcli-bash-completion = "NetworkManager command line client bash completion" -FILES:${PN}-nmcli-bash-completion = "${datadir}/bash-completion/completions/nmcli" -RDEPENDS:${PN}-nmcli-bash-completion = "bash-completion" - -SUMMARY:${PN}-nmtui = "NetworkManager curses-based UI" -FILES:${PN}-nmtui = " \ - ${bindir}/nmtui \ - ${bindir}/nmtui-edit \ - ${bindir}/nmtui-connect \ - ${bindir}/nmtui-hostname \ -" -RDEPENDS:${PN}-nmtui += "${PN}-daemon" - -SUMMARY:${PN}-wifi = "Wifi plugin for NetworkManager" -FILES:${PN}-wifi = "\ - ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so \ - ${libdir}/NetworkManager/conf.d/enable-iwd.conf \ -" -def get_wifi_deps(d): - packageconfig = (d.getVar('PACKAGECONFIG') or "").split() - if 'wifi' in packageconfig: - if 'iwd' in packageconfig: - return 'iwd' - else: - return 'wpa-supplicant' - else: - return '' -RDEPENDS:${PN}-wifi += "${PN}-daemon ${@get_wifi_deps(d)}" - -SUMMARY:${PN}-wwan = "Mobile broadband device plugin for NetworkManager" -FILES:${PN}-wwan = "\ - ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \ - ${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \ -" -RDEPENDS:${PN}-wwan += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','modemmanager','modemmanager','',d)}" - -SUMMARY:${PN}-ovs = "Open vSwitch device plugin for NetworkManager" -FILES:${PN}-ovs = "\ - ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \ - ${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \ -" -RDEPENDS:${PN}-ovs += "${PN}-daemon" - -SUMMARY:${PN}-ppp = "PPP plugin for NetworkManager" -FILES:${PN}-ppp = "\ - ${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \ - ${libdir}/pppd/*/nm-pppd-plugin.so \ -" -RDEPENDS:${PN}-ppp += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','ppp','ppp','',d)}" - -FILES:${PN}-dev += " \ - ${libdir}/pppd/*/*.la \ - ${libdir}/NetworkManager/*.la \ - ${NETWORKMANAGER_PLUGINDIR}/*.la \ - ${datadir}/dbus-1/interfaces/*.xml \ -" - -SUMMARY:${PN}-daemon += "The NetworkManager daemon" -FILES:${PN}-daemon += " \ - ${bindir}/nm-online \ - ${datadir}/dbus-1 \ - ${datadir}/polkit-1 \ - ${libdir}/NetworkManager \ - ${libexecdir} \ - ${localstatedir}/lib/NetworkManager \ - ${NETWORKMANAGER_DISPATCHERDIR} \ - ${nonarch_base_libdir}/udev/* \ - ${nonarch_libdir}/firewalld \ - ${nonarch_libdir}/NetworkManager/conf.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ - ${nonarch_libdir}/NetworkManager/system-connections \ - ${nonarch_libdir}/NetworkManager/VPN \ - ${sbindir}/NetworkManager \ - ${sysconfdir}/init.d/network-manager \ - ${sysconfdir}/NetworkManager \ - ${sysconfdir}/resolv-conf.NetworkManager \ - ${sysconfdir}/sysconfig/network-scripts \ - ${systemd_system_unitdir} \ -" -RDEPENDS:${PN}-daemon += "\ - ${@bb.utils.contains('PACKAGECONFIG', 'ifupdown', 'bash', '', d)} \ -" -RRECOMMENDS:${PN}-daemon += "\ - ${NETWORKMANAGER_FIREWALL_DEFAULT} \ - ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ -" -INITSCRIPT_NAME:${PN}-daemon = "network-manager" -SYSTEMD_SERVICE:${PN}-daemon = "\ - NetworkManager.service \ - NetworkManager-dispatcher.service \ -" -RCONFLICTS:${PN}-daemon += "connman" -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE:${PN}-daemon = "${@bb.utils.contains('PACKAGECONFIG','man-resolv-conf','resolv-conf','',d)}" -ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('PACKAGECONFIG','man-resolv-conf','${sysconfdir}/resolv-conf.NetworkManager','',d)}" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('PACKAGECONFIG','man-resolv-conf','${sysconfdir}/resolv.conf','',d)}" - - -# The networkmanager package is an empty meta package which weakly depends on all the compiled features. -# Install this package to get all plugins and related dependencies installed. Alternatively just install -# plugins and related dependencies e.g. by installing networkmanager-wifi or networkmanager-wwan -# packages to the firmware. -ALLOW_EMPTY:${PN} = "1" -RRECOMMENDS:${PN} += "\ - ${@bb.utils.contains('PACKAGECONFIG','adsl','${PN}-adsl','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','bluez5','${PN}-bluetooth','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','cloud-setup','${PN}-cloud-setup','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','nmcli','${PN}-nmcli','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','nmtui','${PN}-nmtui','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','wifi','${PN}-wifi','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','wwan','${PN}-wwan','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \ - ${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \ -" - -do_install:append() { - install -Dm 0755 ${UNPACKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager - - rm -rf ${D}/run ${D}${localstatedir}/run - - if ${@bb.utils.contains('PACKAGECONFIG','man-resolv-conf','true','false',d)}; then - # For read-only filesystem, do not create links during bootup - ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager - - # systemd v210 and newer do not need this rule file - rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules - fi - - # Enable iwd if compiled - if ${@bb.utils.contains('PACKAGECONFIG','iwd','true','false',d)}; then - install -Dm 0644 ${UNPACKDIR}/enable-iwd.conf ${D}${nonarch_libdir}/NetworkManager/conf.d/enable-iwd.conf - fi - - # Enable dhcpd if compiled - if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then - install -Dm 0644 ${UNPACKDIR}/enable-dhcpcd.conf ${D}${nonarch_libdir}/NetworkManager/conf.d/enable-dhcpcd.conf - fi -} diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb new file mode 100644 index 00000000000..138d7118ebf --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb @@ -0,0 +1,319 @@ +SUMMARY = "NetworkManager is a program for providing detection and \ +configuration for systems to automatically connect to networks." + +DESCRIPTION = "NetworkManager is a program for providing detection and \ +configuration for systems to automatically connect to networks. \ +NetworkManager's functionality can be useful for both wireless and wired \ +networks. For wireless networks, NetworkManager prefers known wireless \ +networks and has the ability to switch to the most reliable network. \ +NetworkManager-aware applications can switch from online and offline mode. \ +NetworkManager also prefers wired connections over wireless ones, has support \ +for modem connections and certain types of VPN." + +HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" +SECTION = "net/misc" + +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = " \ + glib-2.0 \ + python3-pygobject-native \ + coreutils-native \ + intltool-native \ + libxslt-native \ + libnl \ + libnvme \ + udev \ + util-linux \ + util-linux-libuuid \ + libndp \ + curl \ + dbus \ +" +DEPENDS:append:class-target = " bash-completion" + +inherit meson gettext update-rc.d systemd gobject-introspection update-alternatives upstream-version-is-even pkgconfig + +SRC_URI = " \ + git://github.com/NetworkManager/NetworkManager.git;protocol=https;branch=nm-1-56;tag=${PV} \ + file://${BPN}.initd \ + file://enable-dhcpcd.conf \ + file://enable-iwd.conf \ + file://0002-meson-fix-cross-compilation-issues.patch \ +" +SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}" + +SRCREV = "56b51b98fbb8627c4c09a483702e18fd8aee7ce1" + +# ['auto', 'symlink', 'file', 'netconfig', 'resolvconf'] +NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT ??= "auto" + +# ['dhclient', 'dhcpcd', 'internal', 'nettools'] +NETWORKMANAGER_DHCP_DEFAULT ??= "internal" + +# The default gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed, with nftables preferred. +# ['', 'iptables', 'nftables'] +NETWORKMANAGER_FIREWALL_DEFAULT ??= "nftables" + +EXTRA_OEMESON = "\ + -Difcfg_rh=false \ + -Dtests=yes \ + -Dudev_dir=${nonarch_base_libdir}/udev \ + -Dlibpsl=false \ + -Dqt=false \ + -Dconfig_dns_rc_manager_default=${NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT} \ + -Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \ + -Diptables=${sbindir}/iptables \ + -Dnft=${sbindir}/nft \ + -Dman=false \ +" + +PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit ppp', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', 'vala', '', d)} \ +" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)} + +PACKAGECONFIG[systemd] = "\ + -Dsystemdsystemunitdir=${systemd_unitdir}/system -Dsession_tracking=systemd,\ + -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsession_tracking=no\ +" +PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit" +PACKAGECONFIG[bluez5] = "-Dbluez5_dun=true,-Dbluez5_dun=false,bluez5" +# consolekit is not picked by shlibs, so add it to RDEPENDS too +PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit" +PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info" +PACKAGECONFIG[ppp] = "-Dppp=true -Dpppd=${sbindir}/pppd,-Dppp=false,ppp" +PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq" +PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss" +PACKAGECONFIG[resolvconf] = "-Dresolvconf=${base_sbindir}/resolvconf,-Dresolvconf=no,,resolvconf" +PACKAGECONFIG[gnutls] = "-Dcrypto=gnutls,,gnutls" +PACKAGECONFIG[crypto-null] = "-Dcrypto=null" +PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false" +PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false" +PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false" +PACKAGECONFIG[cloud-setup] = "-Dnm_cloud_setup=true,-Dnm_cloud_setup=false,jansson" +PACKAGECONFIG[nmcli] = "-Dnmcli=true,-Dnmcli=false" +PACKAGECONFIG[nmtui] = "-Dnmtui=true,-Dnmtui=false,libnewt" +PACKAGECONFIG[readline] = "-Dreadline=libreadline,,readline" +PACKAGECONFIG[libedit] = "-Dreadline=libedit,,libedit" +PACKAGECONFIG[ovs] = "-Dovs=true,-Dovs=false,jansson" +PACKAGECONFIG[audit] = "-Dlibaudit=yes,-Dlibaudit=no,audit" +PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux" +PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" +PACKAGECONFIG[dhcpcd] = "-Ddhcpcd=${base_sbindir}/dhcpcd,-Ddhcpcd=no,,dhcpcd" +PACKAGECONFIG[dhclient] = "-Ddhclient=yes,-Ddhclient=no,,dhcp" +PACKAGECONFIG[concheck] = "-Dconcheck=true,-Dconcheck=false" +PACKAGECONFIG[adsl] = ",," +PACKAGECONFIG[wwan] = ",," +# The following PACKAGECONFIG is used to determine whether NM is managing /etc/resolv.conf itself or not +PACKAGECONFIG[man-resolv-conf] = ",," +PACKAGECONFIG[nbft] = "-Dnbft=true,-Dnbft=false" + + +PACKAGES =+ " \ + libnm \ + ${PN}-adsl \ + ${PN}-bluetooth \ + ${PN}-cloud-setup \ + ${PN}-nmcli \ + ${PN}-nmcli-bash-completion \ + ${PN}-nmtui \ + ${PN}-wifi \ + ${PN}-wwan \ + ${PN}-ovs \ + ${PN}-ppp \ + ${PN}-daemon \ +" + +SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-cloud-setup" +INITSCRIPT_PACKAGES = "${PN}-daemon" + +NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV}" +NETWORKMANAGER_DISPATCHERDIR = "${nonarch_libdir}/NetworkManager/dispatcher.d" + + +SUMMARY:libnm = "Libraries for adding NetworkManager support to applications" +FILES:libnm = "\ + ${libdir}/libnm.so.* \ + ${libdir}/girepository-1.0/NM-1.0.typelib \ +" + +SUMMARY:${PN}-adsl = "ADSL device plugin for NetworkManager" +FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so" +RDEPENDS:${PN}-adsl += "${PN}-daemon" + +SUMMARY:${PN}-bluetooth = "Bluetooth device plugin for NetworkManager" +FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so" +RDEPENDS:${PN}-bluetooth += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG', 'bluez5', '${PN}-wwan bluez5', '', d)}" + +SUMMARY:${PN}-cloud-setup = "Automatically configure NetworkManager in cloud" +FILES:${PN}-cloud-setup = " \ + ${libexecdir}/nm-cloud-setup \ + ${systemd_system_unitdir}/nm-cloud-setup.service \ + ${systemd_system_unitdir}/nm-cloud-setup.timer \ + ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ + ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ +" +RDEPENDS:${PN}-cloud-setup += "${PN}-daemon" +ALLOW_EMPTY:${PN}-cloud-setup = "1" +SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" + +SUMMARY:${PN}-nmcli = "NetworkManager command line client" +FILES:${PN}-nmcli = " \ + ${bindir}/nmcli \ +" +RDEPENDS:${PN}-nmcli += "${PN}-daemon" + +SUMMARY:${PN}-nmcli-bash-completion = "NetworkManager command line client bash completion" +FILES:${PN}-nmcli-bash-completion = "${datadir}/bash-completion/completions/nmcli" +RDEPENDS:${PN}-nmcli-bash-completion = "bash-completion" + +SUMMARY:${PN}-nmtui = "NetworkManager curses-based UI" +FILES:${PN}-nmtui = " \ + ${bindir}/nmtui \ + ${bindir}/nmtui-edit \ + ${bindir}/nmtui-connect \ + ${bindir}/nmtui-hostname \ +" +RDEPENDS:${PN}-nmtui += "${PN}-daemon" + +SUMMARY:${PN}-wifi = "Wifi plugin for NetworkManager" +FILES:${PN}-wifi = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so \ + ${libdir}/NetworkManager/conf.d/enable-iwd.conf \ +" +def get_wifi_deps(d): + packageconfig = (d.getVar('PACKAGECONFIG') or "").split() + if 'wifi' in packageconfig: + if 'iwd' in packageconfig: + return 'iwd' + else: + return 'wpa-supplicant' + else: + return '' +RDEPENDS:${PN}-wifi += "${PN}-daemon ${@get_wifi_deps(d)}" + +SUMMARY:${PN}-wwan = "Mobile broadband device plugin for NetworkManager" +FILES:${PN}-wwan = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \ + ${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \ +" +RDEPENDS:${PN}-wwan += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','modemmanager','modemmanager','',d)}" + +SUMMARY:${PN}-ovs = "Open vSwitch device plugin for NetworkManager" +FILES:${PN}-ovs = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \ + ${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \ +" +RDEPENDS:${PN}-ovs += "${PN}-daemon" + +SUMMARY:${PN}-ppp = "PPP plugin for NetworkManager" +FILES:${PN}-ppp = "\ + ${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \ + ${libdir}/pppd/*/nm-pppd-plugin.so \ +" +RDEPENDS:${PN}-ppp += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','ppp','ppp','',d)}" + +FILES:${PN}-dev += " \ + ${libdir}/pppd/*/*.la \ + ${libdir}/NetworkManager/*.la \ + ${NETWORKMANAGER_PLUGINDIR}/*.la \ + ${datadir}/dbus-1/interfaces/*.xml \ +" + +SUMMARY:${PN}-daemon += "The NetworkManager daemon" +FILES:${PN}-daemon += " \ + ${bindir}/nm-online \ + ${datadir}/dbus-1 \ + ${datadir}/polkit-1 \ + ${libdir}/NetworkManager \ + ${libexecdir} \ + ${localstatedir}/lib/NetworkManager \ + ${NETWORKMANAGER_DISPATCHERDIR} \ + ${nonarch_base_libdir}/udev/* \ + ${nonarch_libdir}/firewalld \ + ${nonarch_libdir}/NetworkManager/conf.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ + ${nonarch_libdir}/NetworkManager/system-connections \ + ${nonarch_libdir}/NetworkManager/VPN \ + ${sbindir}/NetworkManager \ + ${sysconfdir}/init.d/network-manager \ + ${sysconfdir}/NetworkManager \ + ${sysconfdir}/resolv-conf.NetworkManager \ + ${sysconfdir}/sysconfig/network-scripts \ + ${systemd_system_unitdir} \ +" +RDEPENDS:${PN}-daemon += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'ifupdown', 'bash', '', d)} \ +" +RRECOMMENDS:${PN}-daemon += "\ + ${NETWORKMANAGER_FIREWALL_DEFAULT} \ + ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ +" +INITSCRIPT_NAME:${PN}-daemon = "network-manager" +SYSTEMD_SERVICE:${PN}-daemon = "\ + NetworkManager.service \ + NetworkManager-dispatcher.service \ +" +RCONFLICTS:${PN}-daemon += "connman" +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE:${PN}-daemon = "${@bb.utils.contains('PACKAGECONFIG','man-resolv-conf','resolv-conf','',d)}" +ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('PACKAGECONFIG','man-resolv-conf','${sysconfdir}/resolv-conf.NetworkManager','',d)}" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('PACKAGECONFIG','man-resolv-conf','${sysconfdir}/resolv.conf','',d)}" + + +# The networkmanager package is an empty meta package which weakly depends on all the compiled features. +# Install this package to get all plugins and related dependencies installed. Alternatively just install +# plugins and related dependencies e.g. by installing networkmanager-wifi or networkmanager-wwan +# packages to the firmware. +ALLOW_EMPTY:${PN} = "1" +RRECOMMENDS:${PN} += "\ + ${@bb.utils.contains('PACKAGECONFIG','adsl','${PN}-adsl','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','bluez5','${PN}-bluetooth','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','cloud-setup','${PN}-cloud-setup','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','nmcli','${PN}-nmcli','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','nmtui','${PN}-nmtui','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','wifi','${PN}-wifi','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','wwan','${PN}-wwan','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \ + ${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \ +" + +do_install:append() { + install -Dm 0755 ${UNPACKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager + + rm -rf ${D}/run ${D}${localstatedir}/run + + if ${@bb.utils.contains('PACKAGECONFIG','man-resolv-conf','true','false',d)}; then + # For read-only filesystem, do not create links during bootup + ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager + + # systemd v210 and newer do not need this rule file + rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules + fi + + # Enable iwd if compiled + if ${@bb.utils.contains('PACKAGECONFIG','iwd','true','false',d)}; then + install -Dm 0644 ${UNPACKDIR}/enable-iwd.conf ${D}${nonarch_libdir}/NetworkManager/conf.d/enable-iwd.conf + fi + + # Enable dhcpd if compiled + if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then + install -Dm 0644 ${UNPACKDIR}/enable-dhcpcd.conf ${D}${nonarch_libdir}/NetworkManager/conf.d/enable-dhcpcd.conf + fi + + # Don't ship initrd specific services into rootfs to avoid the conflict with the main services + rm -f ${D}${systemd_system_unitdir}/NetworkManager-config-initrd.service + rm -f ${D}${systemd_system_unitdir}/NetworkManager-initrd.service + rm -f ${D}${systemd_system_unitdir}/NetworkManager-wait-online-initrd.service +} diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch b/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch index a498348c207..afa11548276 100644 --- a/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch +++ b/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch @@ -9,25 +9,14 @@ Signed-off-by: Bian Naimeng Rebase to 4.14.4 Signed-off-by: Yi Zhao + +Rebase to 4.23.5 +Signed-off-by: Gyorgy Sarvari --- - lib/ldb/wscript | 2 +- lib/talloc/wscript | 2 +- lib/tdb/wscript | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) + 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/lib/ldb/wscript b/lib/ldb/wscript -index ed5d45f..de3c648 100644 ---- a/lib/ldb/wscript -+++ b/lib/ldb/wscript -@@ -144,7 +144,7 @@ def configure(conf): - conf.DEFINE('EXPECTED_SYSTEM_LDB_VERSION_RELEASE', int(v[2])) - - if conf.env.standalone_ldb: -- conf.CHECK_XSLTPROC_MANPAGES() -+ #conf.CHECK_XSLTPROC_MANPAGES() - - # we need this for the ldap backend - if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'): diff --git a/lib/talloc/wscript b/lib/talloc/wscript index 075f1ec..9bd9f73 100644 --- a/lib/talloc/wscript diff --git a/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch b/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch index 2c9d29c9fe7..70e7f28cc79 100644 --- a/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch +++ b/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch @@ -37,10 +37,10 @@ diff --git a/wscript b/wscript index 95ddd9e..6d9577a 100644 --- a/wscript +++ b/wscript -@@ -123,6 +123,13 @@ def options(opt): +@@ -131,6 +131,13 @@ help=('Disable kernely keyring support for credential storage'), action='store_false', dest='enable_keyring') - + + opt.add_option('--with-valgrind', + help=("Enable use of valgrind"), + action="store_true", dest='enable_valgrind') @@ -48,9 +48,6 @@ index 95ddd9e..6d9577a 100644 + help=("Disable use of valgrind"), + action="store_false", dest='enable_valgrind', default=False) + - gr = opt.option_group('developer options') - - opt.load('python') # options for disabling pyc or pyo compilation --- -2.25.1 + opt.samba_add_onoff_option('ldap') + opt.option_group('developer options') diff --git a/meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch b/meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch index a96cd062cd6..74ea1a7ab44 100644 --- a/meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch +++ b/meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch @@ -15,7 +15,7 @@ Signed-off-by: Khem Raj --- a/lib/replace/replace.h +++ b/lib/replace/replace.h -@@ -815,50 +815,50 @@ typedef unsigned long long ptrdiff_t ; +@@ -811,50 +811,50 @@ typedef unsigned long long ptrdiff_t ; /** * Zero a structure. */ @@ -74,7 +74,7 @@ Signed-off-by: Khem Raj /** * Explicitly zero data in string. This is guaranteed to be not optimized -@@ -867,7 +867,7 @@ typedef unsigned long long ptrdiff_t ; +@@ -863,7 +863,7 @@ typedef unsigned long long ptrdiff_t ; #define BURN_STR(x) do { \ if ((x) != NULL) { \ size_t s = strlen(x); \ @@ -193,116 +193,3 @@ Signed-off-by: Khem Raj talloc_free(mem_ctx); } ---- a/lib/cmdline/cmdline.c -+++ b/lib/cmdline/cmdline.c -@@ -358,7 +358,7 @@ bool samba_cmdline_burn(int argc, char * - p += ulen; - } - -- memset_s(p, strlen(p), '\0', strlen(p)); -+ memset_explicit(p, '\0', strlen(p)); - burnt = true; - } - } ---- a/lib/util/data_blob.c -+++ b/lib/util/data_blob.c -@@ -1,19 +1,19 @@ --/* -+/* - Unix SMB/CIFS implementation. - Easy management of byte-length data - Copyright (C) Andrew Tridgell 2001 - Copyright (C) Andrew Bartlett 2001 -- -+ - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. -- -+ - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. -- -+ - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ -@@ -67,7 +67,7 @@ _PUBLIC_ DATA_BLOB data_blob_talloc_name - } - - /** -- construct a zero data blob, using supplied TALLOC_CTX. -+ construct a zero data blob, using supplied TALLOC_CTX. - use this sparingly as it initialises data - better to initialise - yourself if you want specific data in the blob - **/ -@@ -95,7 +95,7 @@ clear a DATA_BLOB's contents - _PUBLIC_ void data_blob_clear(DATA_BLOB *d) - { - if (d->data) { -- memset_s(d->data, d->length, 0, d->length); -+ memset_explicit(d->data, 0, d->length); - } - } - -@@ -219,7 +219,7 @@ _PUBLIC_ DATA_BLOB data_blob_string_cons - } - - /** -- * Create a new data blob from const data -+ * Create a new data blob from const data - */ - - _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length) -@@ -266,7 +266,7 @@ _PUBLIC_ bool data_blob_append(TALLOC_CT - if ((const uint8_t *)p + length < (const uint8_t *)p) { - return false; - } -- -+ - if (!data_blob_realloc(mem_ctx, blob, new_len)) { - return false; - } ---- a/lib/util/talloc_keep_secret.c -+++ b/lib/util/talloc_keep_secret.c -@@ -22,27 +22,13 @@ - - static int talloc_keep_secret_destructor(void *ptr) - { -- int ret; - size_t size = talloc_get_size(ptr); - - if (unlikely(size == 0)) { - return 0; - } - -- ret = memset_s(ptr, size, 0, size); -- if (unlikely(ret != 0)) { -- char *msg = NULL; -- int ret2; -- ret2 = asprintf(&msg, -- "talloc_keep_secret_destructor: memset_s() failed: %s", -- strerror(ret)); -- if (ret2 != -1) { -- smb_panic(msg); -- } else { -- smb_panic("talloc_keep_secret_destructor: memset_s() failed"); -- } -- } -- -+ memset_explicit(ptr, 0, size); - return 0; - } - ---- a/librpc/ndr/util.c -+++ b/librpc/ndr/util.c -@@ -32,5 +32,5 @@ _PUBLIC_ void ndr_print_sockaddr_storage - - _PUBLIC_ void ndr_zero_memory(void *ptr, size_t len) - { -- memset_s(ptr, len, 0, len); -+ memset_explicit(ptr, 0, len); - } diff --git a/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch b/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch index c72bd133eef..88acfeef078 100644 --- a/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch +++ b/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch @@ -19,7 +19,7 @@ diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript index 30cb366..d167551 100644 --- a/buildtools/wafsamba/wscript +++ b/buildtools/wafsamba/wscript -@@ -145,6 +145,13 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''), +@@ -155,6 +155,13 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''), help=("Disable use of gettext"), action="store_true", dest='disable_gettext', default=False) @@ -37,40 +37,60 @@ diff --git a/lib/replace/wscript b/lib/replace/wscript index 9dd9b48..a22ae59 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript -@@ -444,20 +444,21 @@ def configure(conf): - +@@ -444,31 +444,32 @@ + strlcpy_in_bsd = False - + - # libbsd on some platforms provides strlcpy and strlcat - if not conf.CHECK_FUNCS('strlcpy strlcat'): - if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', - checklibc=True): - strlcpy_in_bsd = True -- if not conf.CHECK_FUNCS('getpeereid'): -- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') -- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): -- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') -- if not conf.CHECK_FUNCS('setproctitle_init'): -- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') -- -- if not conf.CHECK_FUNCS('closefrom'): -- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') +- elif conf.env.enable_fuzzing: +- # Just to complicate it more, some versions of Honggfuzz have +- # got strlcpy and strlcat in libc, but not in +- # (unless it is there coincidentally, on a BSD). Therefore we +- # can't use CHECK_FUNCS alone to decide whether to add the +- # headers to replace.h. +- # +- # As this is only known to happen on a fuzzing compiler, we'll +- # skip the check when not in fuzzing mode. +- conf.CHECK_HEADERS('bsd/string.h') + if Options.options.enable_libbsd: + # libbsd on some platforms provides strlcpy and strlcat + if not conf.CHECK_FUNCS('strlcpy strlcat'): + if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', + checklibc=True): + strlcpy_in_bsd = True ++ elif conf.env.enable_fuzzing: ++ # Just to complicate it more, some versions of Honggfuzz have ++ # got strlcpy and strlcat in libc, but not in ++ # (unless it is there coincidentally, on a BSD). Therefore we ++ # can't use CHECK_FUNCS alone to decide whether to add the ++ # headers to replace.h. ++ # ++ # As this is only known to happen on a fuzzing compiler, we'll ++ # skip the check when not in fuzzing mode. ++ conf.CHECK_HEADERS('bsd/string.h') + +- if not conf.CHECK_FUNCS('getpeereid'): +- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') +- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): +- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') +- if not conf.CHECK_FUNCS('setproctitle_init'): +- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') + if not conf.CHECK_FUNCS('getpeereid'): + conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') + if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): + conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') + if not conf.CHECK_FUNCS('setproctitle_init'): + conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') -+ + +- if not conf.CHECK_FUNCS('closefrom'): +- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') + if not conf.CHECK_FUNCS('closefrom'): + conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') - + conf.CHECK_CODE(''' struct ucred cred; diff --git a/lib/texpect/wscript b/lib/texpect/wscript diff --git a/meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch b/meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch index 409c36da7c2..6e01ae35e7d 100644 --- a/meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch +++ b/meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch @@ -24,7 +24,7 @@ diff --git a/lib/replace/README b/lib/replace/README index bb9d008..d8431e7 100644 --- a/lib/replace/README +++ b/lib/replace/README -@@ -74,7 +74,6 @@ realpath +@@ -73,7 +73,6 @@ realpath poll setproctitle memset_explicit @@ -36,219 +36,10 @@ diff --git a/lib/replace/replace.c b/lib/replace/replace.c index 8615899..a419837 100644 --- a/lib/replace/replace.c +++ b/lib/replace/replace.c -@@ -1,4 +1,4 @@ --/* -+/* - Unix SMB/CIFS implementation. - replacement routines for broken systems - Copyright (C) Andrew Tridgell 1992-1998 -@@ -8,7 +8,7 @@ - ** NOTE! The following LGPL license applies to the replace - ** library. This does NOT imply that all of Samba is released - ** under the LGPL -- -+ - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either -@@ -91,7 +91,7 @@ size_t rep_strlcpy(char *d, const char *s, size_t bufsize) - #endif - - #ifndef HAVE_STRLCAT --/* like strncat but does not 0 fill the buffer and always null -+/* like strncat but does not 0 fill the buffer and always null - terminates. bufsize is the length of the buffer, which should - be one more than the maximum resulting string length */ - size_t rep_strlcat(char *d, const char *s, size_t bufsize) -@@ -116,7 +116,7 @@ size_t rep_strlcat(char *d, const char *s, size_t bufsize) - - #ifndef HAVE_MKTIME - /******************************************************************* --a mktime() replacement for those who don't have it - contributed by -+a mktime() replacement for those who don't have it - contributed by - C.A. Lademann - Corrections by richard.kettlewell@kewill.com - ********************************************************************/ -@@ -137,7 +137,7 @@ time_t rep_mktime(struct tm *t) - return((time_t)-1); - - n = t->tm_year + 1900 - 1; -- epoch = (t->tm_year - 70) * YEAR + -+ epoch = (t->tm_year - 70) * YEAR + - ((n / 4 - n / 100 + n / 400) - (1969 / 4 - 1969 / 100 + 1969 / 400)) * DAY; - - y = t->tm_year + 1900; -@@ -147,7 +147,7 @@ time_t rep_mktime(struct tm *t) - epoch += mon [m] * DAY; - if(m == 1 && y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)) - epoch += DAY; -- -+ - if(++m > 11) { - m = 0; - y++; -@@ -156,7 +156,7 @@ time_t rep_mktime(struct tm *t) - - epoch += (t->tm_mday - 1) * DAY; - epoch += t->tm_hour * HOUR + t->tm_min * MINUTE + t->tm_sec; -- -+ - if((u = localtime(&epoch)) != NULL) { - t->tm_sec = u->tm_sec; - t->tm_min = u->tm_min; -@@ -176,7 +176,7 @@ time_t rep_mktime(struct tm *t) - - #ifndef HAVE_INITGROUPS - /**************************************************************************** -- some systems don't have an initgroups call -+ some systems don't have an initgroups call - ****************************************************************************/ - int rep_initgroups(char *name, gid_t id) - { -@@ -194,7 +194,7 @@ int rep_initgroups(char *name, gid_t id) - int i,j; - struct group *g; - char *gr; -- -+ - if((grouplst = malloc(sizeof(gid_t) * max_gr)) == NULL) { - errno = ENOMEM; - return -1; -@@ -250,9 +250,9 @@ void *rep_memmove(void *dest,const void *src,int size) - - if (d < s) { - /* we can forward copy */ -- if (s-d >= sizeof(int) && -- !(s%sizeof(int)) && -- !(d%sizeof(int)) && -+ if (s-d >= sizeof(int) && -+ !(s%sizeof(int)) && -+ !(d%sizeof(int)) && - !(size%sizeof(int))) { - /* do it all as words */ - int *idest = (int *)dest; -@@ -267,9 +267,9 @@ void *rep_memmove(void *dest,const void *src,int size) - } - } else { - /* must backward copy */ -- if (d-s >= sizeof(int) && -- !(s%sizeof(int)) && -- !(d%sizeof(int)) && -+ if (d-s >= sizeof(int) && -+ !(s%sizeof(int)) && -+ !(d%sizeof(int)) && - !(size%sizeof(int))) { - /* do it all as words */ - int *idest = (int *)dest; -@@ -281,7 +281,7 @@ void *rep_memmove(void *dest,const void *src,int size) - char *cdest = (char *)dest; - char *csrc = (char *)src; - for (i=size-1;i>=0;i--) cdest[i] = csrc[i]; -- } -+ } - } - return(dest); - } -@@ -334,16 +334,16 @@ void rep_vsyslog (int facility_priority, const char *format, va_list arglist) - size_t rep_strnlen(const char *s, size_t max) - { - size_t len; -- -+ - for (len = 0; len < max; len++) { - if (s[len] == '\0') { - break; - } - } -- return len; -+ return len; +@@ -965,37 +965,6 @@ } #endif -- -+ - #ifndef HAVE_STRNDUP - /** - Some platforms don't have strndup. -@@ -351,7 +351,7 @@ void rep_vsyslog (int facility_priority, const char *format, va_list arglist) - char *rep_strndup(const char *s, size_t n) - { - char *ret; -- -+ - n = strnlen(s, n); - ret = malloc(n+1); - if (!ret) -@@ -407,7 +407,7 @@ int rep_chroot(const char *dname) - - /***************************************************************** - Possibly replace mkstemp if it is broken. --*****************************************************************/ -+*****************************************************************/ - - #ifndef HAVE_SECURE_MKSTEMP - int rep_mkstemp(char *template) -@@ -425,7 +425,7 @@ int rep_mkstemp(char *template) - char *rep_mkdtemp(char *template) - { - char *dname; -- -+ - if ((dname = mktemp(template))) { - if (mkdir(dname, 0700) >= 0) { - return dname; -@@ -532,7 +532,7 @@ long long int rep_strtoll(const char *str, char **endptr, int base) - { - #ifdef HAVE_STRTOQ - return strtoq(str, endptr, base); --#elif defined(HAVE___STRTOLL) -+#elif defined(HAVE___STRTOLL) - return __strtoll(str, endptr, base); - #elif SIZEOF_LONG == SIZEOF_LONG_LONG - return (long long int) strtol(str, endptr, base); -@@ -568,7 +568,7 @@ unsigned long long int rep_strtoull(const char *str, char **endptr, int base) - { - #ifdef HAVE_STRTOUQ - return strtouq(str, endptr, base); --#elif defined(HAVE___STRTOULL) -+#elif defined(HAVE___STRTOULL) - return __strtoull(str, endptr, base); - #elif SIZEOF_LONG == SIZEOF_LONG_LONG - return (unsigned long long int) strtoul(str, endptr, base); -@@ -599,7 +599,7 @@ unsigned long long int rep_strtoull(const char *str, char **endptr, int base) - #endif /* HAVE_STRTOULL */ - - #ifndef HAVE_SETENV --int rep_setenv(const char *name, const char *value, int overwrite) -+int rep_setenv(const char *name, const char *value, int overwrite) - { - char *p; - size_t l1, l2; -@@ -644,10 +644,10 @@ int rep_unsetenv(const char *name) - for (i=0;environ[i];i++) /* noop */ ; - - count=i; -- -+ - for (i=0;i -Reviewed-by: Alexander Bokovoy - -Autobuild-User(master): Andreas Schneider -Autobuild-Date(master): Tue Jan 21 19:38:37 UTC 2025 on atb-devel-224 - -Upstream-Status: Backport [https://github.com/samba-team/samba/commit/9aa5c43315d83c19514251a11c4fba5a137f2821] - -Signed-off-by: Markus Volk ---- - lib/replace/system/readline.h | 4 +++- - libcli/smbreadline/wscript_configure | 8 +++++--- - 2 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/lib/replace/system/readline.h b/lib/replace/system/readline.h -index 9a9af266ca6d..ac3604fc12e0 100644 ---- a/lib/replace/system/readline.h -+++ b/lib/replace/system/readline.h -@@ -46,7 +46,9 @@ - #endif - - #ifdef HAVE_NEW_LIBREADLINE --#ifdef HAVE_CPPFUNCTION -+#if defined(HAVE_RL_COMPLETION_FUNC_T) -+# define RL_COMPLETION_CAST (rl_completion_func_t *) -+#elif defined(HAVE_CPPFUNCTION) - # define RL_COMPLETION_CAST (CPPFunction *) - #elif defined(HAVE_RL_COMPLETION_T) - # define RL_COMPLETION_CAST (rl_completion_t *) -diff --git a/libcli/smbreadline/wscript_configure b/libcli/smbreadline/wscript_configure -index 912ff53a150d..f5a401ebae00 100644 ---- a/libcli/smbreadline/wscript_configure -+++ b/libcli/smbreadline/wscript_configure -@@ -51,10 +51,12 @@ conf.CHECK_CODE(''' - # endif - # endif - #endif --int main(void) {rl_completion_t f; return 0;} -+int main(void) {rl_completion_func_t f; return 0;} - ''', --'HAVE_RL_COMPLETION_FUNC_T', execute=False, addmain=False, --msg='Checking for rl_completion_t') -+ 'HAVE_RL_COMPLETION_FUNC_T', -+ execute=False, -+ addmain=False, -+ msg='Checking for rl_completion_func_t') - - conf.CHECK_CODE(''' - #ifdef HAVE_READLINE_READLINE_H diff --git a/meta-networking/recipes-connectivity/samba/samba_4.19.9.bb b/meta-networking/recipes-connectivity/samba/samba_4.19.9.bb deleted file mode 100644 index 3ed1d467543..00000000000 --- a/meta-networking/recipes-connectivity/samba/samba_4.19.9.bb +++ /dev/null @@ -1,367 +0,0 @@ -HOMEPAGE = "https://www.samba.org/" -SECTION = "console/network" - -LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://${COREBASE}/meta/files/common-licenses/LGPL-3.0-or-later;md5=c51d3eef3be114124d11349ca0d7e117 \ - file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c" - -SAMBA_MIRROR = "http://samba.org/samba/ftp" -MIRRORS += "\ -${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ -${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ -" - -export PYTHONHASHSEED = "1" - -SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ - file://smb.conf \ - file://volatiles.03_samba \ - file://0001-Don-t-check-xsltproc-manpages.patch \ - file://0002-do-not-import-target-module-while-cross-compile.patch \ - file://0003-Add-config-option-without-valgrind.patch \ - file://0004-Add-options-to-configure-the-use-of-libbsd.patch \ - file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \ - file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \ - file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \ - file://9aa5c43315d83c19514251a11c4fba5a137f2821.patch \ - file://0001-lib-replace-Implement-memset_explicit.patch \ - file://0002-lib-replace-Add-test-for-memset_explicit.patch \ - file://0003-Replace-memset_s-with-memset_explicit.patch \ - file://0004-lib-replace-Remove-memset_s.patch \ - " - -SRC_URI:append:libc-musl = " \ - file://samba-pam.patch \ - file://samba-4.3.9-remove-getpwent_r.patch \ - " - -SRC_URI[sha256sum] = "71ed406444714c90bb9d36c576d807b67af15449f297e91106d42b3ca2fa5549" - -UPSTREAM_CHECK_REGEX = "samba\-(?P4\.19(\.\d+)+).tar.gz" - -inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig - -CVE_STATUS[CVE-2011-2411] = "not-applicable-platform: vulnerable only on HP NonStop Servers" - -# remove default added RDEPENDS on perl -RDEPENDS:${PN}:remove = "perl" - -DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 libtasn1-native jansson libparse-yapp-perl-native gnutls cmocka" - -inherit features_check -REQUIRED_DISTRO_FEATURES = "pam" - -DEPENDS:append:libc-musl = " libtirpc" -CFLAGS:append:libc-musl = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS:append:libc-musl = " -ltirpc" - -COMPATIBLE_HOST:riscv32 = "null" - -INITSCRIPT_NAME = "samba" -INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." - -SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind ctdb" -SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service" -SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" -SYSTEMD_SERVICE:winbind = "winbind.service" -SYSTEMD_SERVICE:ctdb = "ctdb.service" - -# There are prerequisite settings to enable ad-dc, so disable the service by default. -# Reference: -# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller -SYSTEMD_AUTO_ENABLE:${PN}-ad-dc = "disable" - -#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen -#to cross Popen -export WAF_NO_PREFORK = "yes" - -# Use krb5. Build active domain controller. -# -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ - acl cups ldap mitkrb5 \ -" - -PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" -PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" -PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" -PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" -PACKAGECONFIG[sasl] = ",,cyrus-sasl" -PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" -PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" -PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind" -PACKAGECONFIG[lttng] = "--with-lttng,--without-lttng,lttng-ust" -PACKAGECONFIG[archive] = "--with-libarchive,--without-libarchive,libarchive" -PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" -PACKAGECONFIG[gpgme] = "--with-gpgme,--without-gpgme,gpgme" -PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb" -PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd" -PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython,python3-markdown" -PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," - -SAMBA4_IDMAP_MODULES = "idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" -SAMBA4_PDB_MODULES = "pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" -SAMBA4_AUTH_MODULES = "auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" -SAMBA4_MODULES = "${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" - -# These libraries are supposed to replace others supplied by packages, but decorate the names of -# .so files so there will not be a conflict. This is not done consistantly, so be very careful -# when adding to this list. -# -SAMBA4_LIBS = "heimdal,NONE" - -EXTRA_OECONF += "--enable-fhs \ - --with-piddir=/run \ - --with-sockets-dir=/run/samba \ - --with-modulesdir=${libdir}/samba \ - --with-privatelibdir=${libdir}/samba \ - --with-lockdir=${localstatedir}/lib/samba \ - --with-cachedir=${localstatedir}/lib/samba \ - --disable-rpath-install \ - --disable-rpath \ - --with-shared-modules=${SAMBA4_MODULES} \ - --bundled-libraries=${SAMBA4_LIBS} \ - ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ - --with-cluster-support \ - --with-profiling-data \ - --with-libiconv=${STAGING_DIR_HOST}${prefix} \ - --with-pam --with-pammodulesdir=${base_libdir}/security \ - --pythondir=${PYTHON_SITEPACKAGES_DIR} \ - " - -LDFLAGS += "-Wl,-z,relro,-z,now" - -do_configure:append() { - cd ${S}/pidl/ - perl Makefile.PL PREFIX=${prefix} - sed -e 's,VENDORPREFIX)/lib/perl,VENDORPREFIX)/${baselib}/perl,g' \ - -e 's,PERLPREFIX)/lib/perl,PERLPREFIX)/${baselib}/perl,g' -i Makefile -} - -do_compile:append() { - oe_runmake -C ${S}/pidl -} - -do_install:append() { - for section in 1 5 7; do - install -d ${D}${mandir}/man$section - install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section - done - for section in 1 5 7 8; do - install -d ${D}${mandir}/man$section - install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section - done - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ - sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ - -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ - -i ${D}${systemd_system_unitdir}/*.service - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then - rm -f ${D}${systemd_system_unitdir}/samba.service - fi - - install -d ${D}${sysconfdir}/tmpfiles.d - install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf - echo "d ${localstatedir}/log/samba 0755 root root -" \ - >> ${D}${sysconfdir}/tmpfiles.d/samba.conf - install -d ${D}${sysconfdir}/init.d - install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba - sed -e 's,/opt/samba/bin,${sbindir},g' \ - -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ - -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ - -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ - -e 's,/usr/bin,${base_bindir},g' \ - -i ${D}${sysconfdir}/init.d/samba - - install -d ${D}${sysconfdir}/samba - echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts - install -m644 ${UNPACKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf - install -D -m 644 ${UNPACKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba - - install -d ${D}${sysconfdir}/default - install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba - - # the items are from ctdb/tests/run_tests.sh - for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do - testdir=${D}${datadir}/ctdb-tests/UNIT/$d - install -d $testdir - cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir - cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true - done - - # fix file-rdeps qa warning - if [ -f ${D}${bindir}/onnode ]; then - sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode - fi - - chmod 0750 ${D}${sysconfdir}/sudoers.d || true - rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log - - for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do - if [ -f "${D}${sbindir}/$f" ]; then - sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f - fi - done - if [ -f "${D}${bindir}/samba-tool" ]; then - sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool - fi - - oe_runmake -C ${S}/pidl DESTDIR=${D} install_vendor - find ${D}${libdir}/perl5/ -type f -name "perllocal.pod" -delete - find ${D}${libdir}/perl5/ -type f -name ".packlist" -delete - sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl -} - -PACKAGES =+ "${PN}-python3 ${PN}-pidl \ - ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ - winbind ctdb ctdb-tests \ - ${PN}-common ${PN}-base ${PN}-ad-dc \ - smbclient ${PN}-client ${PN}-server ${PN}-test" - -python samba_populate_packages() { - def module_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN') - d.appendVar('RRECOMMENDS:%s-base' % pn, ' %s' % pkg) - - mlprefix = d.getVar('MLPREFIX') or '' - pam_libdir = d.expand('${base_libdir}/security') - pam_pkgname = mlprefix + 'pam-plugin%s' - do_split_packages(d, pam_libdir, r'^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) - - libdir = d.getVar('libdir') - do_split_packages(d, libdir, r'^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) - pkglibdir = '%s/samba' % libdir - do_split_packages(d, pkglibdir, r'^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) - moduledir = '%s/samba/auth' % libdir - do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) - moduledir = '%s/samba/pdb' % libdir - do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) -} - -PACKAGESPLITFUNCS:prepend = "samba_populate_packages " -PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" - -RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" -RDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb" - -FILES:${PN}-base = "${sbindir}/nmbd \ - ${sbindir}/smbd \ - ${sysconfdir}/init.d \ - ${systemd_system_unitdir}/nmb.service \ - ${systemd_system_unitdir}/smb.service" - -FILES:${PN}-ad-dc = "${sbindir}/samba \ - ${systemd_system_unitdir}/samba.service \ - ${libdir}/krb5/plugins/kdb/samba.so \ -" - -RDEPENDS:${PN}-ad-dc = "krb5-kdc" - -FILES:ctdb = "${bindir}/ctdb \ - ${bindir}/ctdb_diagnostics \ - ${bindir}/ltdbtool \ - ${bindir}/onnode \ - ${bindir}/ping_pong \ - ${sbindir}/ctdbd \ - ${datadir}/ctdb \ - ${libexecdir}/ctdb \ - ${localstatedir}/lib/ctdb \ - ${sysconfdir}/ctdb \ - ${sysconfdir}/sudoers.d/ctdb \ - ${systemd_system_unitdir}/ctdb.service \ -" - -FILES:ctdb-tests = "${bindir}/ctdb_run_tests \ - ${bindir}/ctdb_run_cluster_tests \ - ${datadir}/ctdb-tests \ - ${datadir}/ctdb/tests \ -" - -RDEPENDS:ctdb-tests += "bash util-linux-getopt ctdb" - -FILES:${BPN}-common = "${sysconfdir}/default \ - ${sysconfdir}/samba \ - ${sysconfdir}/tmpfiles.d \ - ${localstatedir}/lib/samba \ - ${localstatedir}/spool/samba \ -" - -FILES:${PN} += "${libdir}/vfs/*.so \ - ${libdir}/charset/*.so \ - ${libdir}/*.dat \ - ${libdir}/auth/*.so \ -" - -FILES:${PN}-dsdb-modules = "${libdir}/samba/ldb" - -FILES:${PN}-testsuite = "${bindir}/gentest \ - ${bindir}/locktest \ - ${bindir}/masktest \ - ${bindir}/ndrdump \ - ${bindir}/smbtorture" - -FILES:registry-tools = "${bindir}/regdiff \ - ${bindir}/regpatch \ - ${bindir}/regshell \ - ${bindir}/regtree" - -FILES:winbind = "${sbindir}/winbindd \ - ${bindir}/wbinfo \ - ${bindir}/ntlm_auth \ - ${libdir}/samba/idmap \ - ${libdir}/samba/nss_info \ - ${libdir}/winbind_krb5_locator.so \ - ${libdir}/winbind-krb5-localauth.so \ - ${sysconfdir}/init.d/winbind \ - ${systemd_system_unitdir}/winbind.service" - -FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" - -FILES:smbclient = "${bindir}/cifsdd \ - ${bindir}/rpcclient \ - ${bindir}/smbcacls \ - ${bindir}/smbclient \ - ${bindir}/smbcquotas \ - ${bindir}/smbget \ - ${bindir}/smbspool \ - ${bindir}/smbtar \ - ${bindir}/smbtree \ - ${libexecdir}/samba/smbspool_krb5_wrapper" - -FILES:${PN}-pidl = "${bindir}/pidl \ - ${libdir}/perl5 \ - " -RDEPENDS:${PN}-pidl += "perl perl-modules libparse-yapp-perl" - -RDEPENDS:${PN}-client = "\ - smbclient \ - winbind \ - registry-tools \ - ${PN}-pidl \ - " - -ALLOW_EMPTY:${PN}-client = "1" - -RDEPENDS:${PN}-server = "\ - ${PN} \ - winbind \ - registry-tools \ - " - -ALLOW_EMPTY:${PN}-server = "1" - -RDEPENDS:${PN}-test = "\ - ctdb-tests \ - ${PN}-testsuite \ - " - -pkg_postinst:${PN}-common() { - if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi -} - -ALLOW_EMPTY:${PN}-test = "1" diff --git a/meta-networking/recipes-connectivity/samba/samba_4.23.5.bb b/meta-networking/recipes-connectivity/samba/samba_4.23.5.bb new file mode 100644 index 00000000000..ec3149562a7 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba_4.23.5.bb @@ -0,0 +1,386 @@ +HOMEPAGE = "https://www.samba.org/" +SECTION = "console/network" + +LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://${COREBASE}/meta/files/common-licenses/LGPL-3.0-or-later;md5=c51d3eef3be114124d11349ca0d7e117 \ + file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c" + +SAMBA_MIRROR = "http://samba.org/samba/ftp" +MIRRORS += "\ +${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ +${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ +" + +export PYTHONHASHSEED = "1" + +# If XML_CATALOG_FILES env var is not defined, waf defaults +# to build host folders looking for catalogs. +export XML_CATALOG_FILES = "" + +SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ + file://smb.conf \ + file://volatiles.03_samba \ + file://0001-Don-t-check-xsltproc-manpages.patch \ + file://0002-do-not-import-target-module-while-cross-compile.patch \ + file://0003-Add-config-option-without-valgrind.patch \ + file://0004-Add-options-to-configure-the-use-of-libbsd.patch \ + file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \ + file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \ + file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \ + file://0001-lib-replace-Implement-memset_explicit.patch \ + file://0002-lib-replace-Add-test-for-memset_explicit.patch \ + file://0003-Replace-memset_s-with-memset_explicit.patch \ + file://0004-lib-replace-Remove-memset_s.patch \ + " + +SRC_URI:append:libc-musl = " \ + file://samba-pam.patch \ + file://samba-4.3.9-remove-getpwent_r.patch \ + " + +SRC_URI[sha256sum] = "593a43ddd0d57902237dfa76888f7b02cb7fc7747111369cb31e126db4836b9f" + +UPSTREAM_CHECK_REGEX = "samba\-(?P4\.19(\.\d+)+).tar.gz" + +inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig + +CVE_STATUS[CVE-2011-2411] = "not-applicable-platform: vulnerable only on HP NonStop Servers" + +# remove default added RDEPENDS on perl +RDEPENDS:${PN}:remove = "perl" + +DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libaio libpam libtasn1 libtasn1-native jansson libparse-yapp-perl-native gnutls cmocka ngtcp2 bison-native" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "pam" + +DEPENDS:append:libc-musl = " libtirpc" +CFLAGS:append:libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDFLAGS:append:libc-musl = " -ltirpc" + +COMPATIBLE_HOST:riscv32 = "null" + +INITSCRIPT_NAME = "samba" +INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind ctdb" +SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service samba-bgqd.service" +SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" +SYSTEMD_SERVICE:winbind = "winbind.service" +SYSTEMD_SERVICE:ctdb = "ctdb.service" + +# There are prerequisite settings to enable ad-dc, so disable the service by default. +# Reference: +# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller +SYSTEMD_AUTO_ENABLE:${PN}-ad-dc = "disable" + +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +#to cross Popen +export WAF_NO_PREFORK = "yes" + +# Use krb5. Build active domain controller. +# +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ + acl cups ldap mitkrb5 \ +" + +PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" +PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" +PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[sasl] = ",,cyrus-sasl" +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" +PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" +PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind" +PACKAGECONFIG[lttng] = "--with-lttng,--without-lttng,lttng-ust" +PACKAGECONFIG[archive] = "--with-libarchive,--without-libarchive,libarchive" +PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" +PACKAGECONFIG[gpgme] = "--with-gpgme,--without-gpgme,gpgme" +PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb" +PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd" +PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython,python3-markdown" +PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," + +SAMBA4_IDMAP_MODULES = "idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" +SAMBA4_PDB_MODULES = "pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" +SAMBA4_AUTH_MODULES = "auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" +SAMBA4_MODULES = "${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" + +# These libraries are supposed to replace others supplied by packages, but decorate the names of +# .so files so there will not be a conflict. This is not done consistantly, so be very careful +# when adding to this list. +# +SAMBA4_LIBS = "heimdal,libquic,NONE" + +EXTRA_OECONF += "--enable-fhs \ + --with-piddir=/run \ + --with-sockets-dir=/run/samba \ + --with-modulesdir=${libdir}/samba \ + --with-privatelibdir=${libdir}/samba \ + --with-lockdir=${localstatedir}/lib/samba \ + --with-cachedir=${localstatedir}/lib/samba \ + --disable-rpath-install \ + --disable-rpath \ + --with-shared-modules=${SAMBA4_MODULES} \ + --bundled-libraries=${SAMBA4_LIBS} \ + ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ + --with-cluster-support \ + --with-profiling-data \ + --with-libiconv=${STAGING_DIR_HOST}${prefix} \ + --with-pam --with-pammodulesdir=${base_libdir}/security \ + --pythondir=${PYTHON_SITEPACKAGES_DIR} \ + " + +LDFLAGS += "-Wl,-z,relro,-z,now" + +do_configure:prepend() { + # The xsltproc tool is actually a wrapper script in OE, which exports its own XML_CATALOG_FILES env var + # However samba does that too. So here I'm trying to concatenate the variables. + # The original looks like this in the wrapper: + # export XML_CATALOG_FILES=oe-core-specific-thing + # and this sed prepends the value with $XML_CATALOG_FILES, and encloses it in quotes. So the end value is + # export XML_CATALOG_FILES="$XML_CATALOG FILES oe-core-specific-thing" + # The first grep just checks if it was already done, so it is not prepended multiple times. + + grep \$XML_CATALOG_FILES ${STAGING_BINDIR_NATIVE}/xsltproc || \ + sed -i 's,\(XML_CATALOG_FILES\)=\(.*\),\1="\$XML_CATALOG_FILES \2",' ${STAGING_BINDIR_NATIVE}/xsltproc +} + +do_configure:append() { + cd ${S}/pidl/ + perl Makefile.PL PREFIX=${prefix} + sed -e 's,VENDORPREFIX)/lib/perl,VENDORPREFIX)/${baselib}/perl,g' \ + -e 's,PERLPREFIX)/lib/perl,PERLPREFIX)/${baselib}/perl,g' -i Makefile +} + +do_compile:append() { + oe_runmake -C ${S}/pidl +} + +do_install:append() { + for section in 1 5 7; do + install -d ${D}${mandir}/man$section + install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section + done + for section in 1 5 7 8; do + install -d ${D}${mandir}/man$section + install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section + done + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ + sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ + -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ + -i ${D}${systemd_system_unitdir}/*.service + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then + rm -f ${D}${systemd_system_unitdir}/samba.service + fi + + install -d ${D}${sysconfdir}/tmpfiles.d + install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf + echo "d ${localstatedir}/log/samba 0755 root root -" \ + >> ${D}${sysconfdir}/tmpfiles.d/samba.conf + install -d ${D}${sysconfdir}/init.d + install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba + sed -e 's,/opt/samba/bin,${sbindir},g' \ + -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ + -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ + -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ + -e 's,/usr/bin,${base_bindir},g' \ + -i ${D}${sysconfdir}/init.d/samba + + install -d ${D}${sysconfdir}/samba + echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts + install -m644 ${UNPACKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf + install -D -m 644 ${UNPACKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba + + install -d ${D}${sysconfdir}/default + install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba + + # the items are from ctdb/tests/run_tests.sh + for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do + testdir=${D}${datadir}/ctdb-tests/UNIT/$d + install -d $testdir + cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir + cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true + done + + # fix file-rdeps qa warning + if [ -f ${D}${bindir}/onnode ]; then + sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode + fi + + chmod 0750 ${D}${sysconfdir}/sudoers.d || true + rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log + + for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do + if [ -f "${D}${sbindir}/$f" ]; then + sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f + fi + done + if [ -f "${D}${bindir}/samba-tool" ]; then + sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool + fi + + oe_runmake -C ${S}/pidl DESTDIR=${D} install_vendor + find ${D}${libdir}/perl5/ -type f -name "perllocal.pod" -delete + find ${D}${libdir}/perl5/ -type f -name ".packlist" -delete + sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl + + sed -i 's,${UNPACKDIR},,g' ${S}/bin/default/libcli/wsp/wsp_aqs_lexer.c + sed -i 's,${UNPACKDIR},,g' ${S}/bin/default/libcli/wsp/wsp_aqs_lexer.h +} + +PACKAGES =+ "${PN}-python3 ${PN}-pidl \ + ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ + winbind ctdb ctdb-tests \ + ${PN}-common ${PN}-base ${PN}-ad-dc \ + smbclient ${PN}-client ${PN}-server ${PN}-test" + +python samba_populate_packages() { + def module_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN') + d.appendVar('RRECOMMENDS:%s-base' % pn, ' %s' % pkg) + + mlprefix = d.getVar('MLPREFIX') or '' + pam_libdir = d.expand('${base_libdir}/security') + pam_pkgname = mlprefix + 'pam-plugin%s' + do_split_packages(d, pam_libdir, r'^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) + + libdir = d.getVar('libdir') + do_split_packages(d, libdir, r'^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) + pkglibdir = '%s/samba' % libdir + do_split_packages(d, pkglibdir, r'^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) + moduledir = '%s/samba/auth' % libdir + do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) + moduledir = '%s/samba/pdb' % libdir + do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) +} + +PACKAGESPLITFUNCS:prepend = "samba_populate_packages " +PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" + +RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" +RDEPENDS:${PN}-python3 += "pytalloc python3-tdb" + +FILES:${PN}-base = "${sbindir}/nmbd \ + ${sbindir}/smbd \ + ${sysconfdir}/init.d \ + ${systemd_system_unitdir}/nmb.service \ + ${systemd_system_unitdir}/smb.service" + +FILES:${PN}-ad-dc = "${sbindir}/samba \ + ${systemd_system_unitdir}/samba.service \ + ${libdir}/krb5/plugins/kdb/samba.so \ +" + +RDEPENDS:${PN}-ad-dc = "krb5-kdc" + +FILES:ctdb = "${bindir}/ctdb \ + ${bindir}/ctdb_diagnostics \ + ${bindir}/ltdbtool \ + ${bindir}/onnode \ + ${bindir}/ping_pong \ + ${sbindir}/ctdbd \ + ${datadir}/ctdb \ + ${libexecdir}/ctdb \ + ${localstatedir}/lib/ctdb \ + ${sysconfdir}/ctdb \ + ${sysconfdir}/sudoers.d/ctdb \ + ${systemd_system_unitdir}/ctdb.service \ +" + +FILES:ctdb-tests = "${bindir}/ctdb_run_tests \ + ${bindir}/ctdb_run_cluster_tests \ + ${datadir}/ctdb-tests \ + ${datadir}/ctdb/tests \ +" + +RDEPENDS:ctdb-tests += "bash util-linux-getopt ctdb" + +FILES:${BPN}-common = "${sysconfdir}/default \ + ${sysconfdir}/samba \ + ${sysconfdir}/tmpfiles.d \ + ${localstatedir}/lib/samba \ + ${localstatedir}/spool/samba \ +" + +FILES:${PN} += "${libdir}/vfs/*.so \ + ${libdir}/charset/*.so \ + ${libdir}/*.dat \ + ${libdir}/auth/*.so \ +" + +FILES:${PN}-dsdb-modules = "${libdir}/samba/ldb" + +FILES:${PN}-testsuite = "${bindir}/gentest \ + ${bindir}/locktest \ + ${bindir}/masktest \ + ${bindir}/ndrdump \ + ${bindir}/smbtorture" + +FILES:registry-tools = "${bindir}/regdiff \ + ${bindir}/regpatch \ + ${bindir}/regshell \ + ${bindir}/regtree" + +FILES:winbind = "${sbindir}/winbindd \ + ${bindir}/wbinfo \ + ${bindir}/ntlm_auth \ + ${libdir}/samba/idmap \ + ${libdir}/samba/nss_info \ + ${libdir}/winbind_krb5_locator.so \ + ${libdir}/winbind-krb5-localauth.so \ + ${sysconfdir}/init.d/winbind \ + ${systemd_system_unitdir}/winbind.service" + +FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" + +FILES:smbclient = "${bindir}/cifsdd \ + ${bindir}/rpcclient \ + ${bindir}/smbcacls \ + ${bindir}/smbclient \ + ${bindir}/smbcquotas \ + ${bindir}/smbget \ + ${bindir}/smbspool \ + ${bindir}/smbtar \ + ${bindir}/smbtree \ + ${libexecdir}/samba/smbspool_krb5_wrapper" + +FILES:${PN}-pidl = "${bindir}/pidl \ + ${libdir}/perl5 \ + " +RDEPENDS:${PN}-pidl += "perl perl-modules libparse-yapp-perl" + +RDEPENDS:${PN}-client = "\ + smbclient \ + winbind \ + registry-tools \ + ${PN}-pidl \ + " + +ALLOW_EMPTY:${PN}-client = "1" + +RDEPENDS:${PN}-server = "\ + ${PN} \ + winbind \ + registry-tools \ + " + +ALLOW_EMPTY:${PN}-server = "1" + +RDEPENDS:${PN}-test = "\ + ctdb-tests \ + ${PN}-testsuite \ + " + +pkg_postinst:${PN}-common() { + if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi +} + +ALLOW_EMPTY:${PN}-test = "1" diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc b/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc index 3cfea84a55e..1f9bff8c393 100644 --- a/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc +++ b/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc @@ -1,43 +1,54 @@ -SRC_URI += " \ + +# This file has been generated by go-mod-update-modules.bbclass +# +# Do not modify it by hand, as the contents will be replaced when +# running the update-modules task. + +SRC_URI += "\ gomod://filippo.io/edwards25519;version=v1.1.0;sha256sum=9ac43a686d06fdebd719f7af3866c87eb069302272dfb131007adf471c308b65 \ + gomod://fyne.io/systray;version=v1.11.1-0.20250812065214-4856ac3adc3c;sha256sum=7782bef2e30904a5e34477f713a4c598b1ddf3b3a70deead056549ad22248311 \ + gomod://github.com/Kodeworks/golang-image-ico;version=v0.0.0-20141118225523-73f0f4cfade9;sha256sum=1d677069e35c4a3e4f290e68c6e2391f6237aee9ce3f39448ed09a2ddab274b0 \ gomod://github.com/anmitsu/go-shlex;version=v0.0.0-20200514113438-38f4b401e2be;sha256sum=2a5cf7c9a2709f649fd508cbacb2be96e4fba4d534a28a122ee4d7574af40b5e \ - gomod://github.com/aws/aws-sdk-go-v2;version=v1.36.0;sha256sum=ec276e274bbe39c35d3c2c8c1ec5cba494d6449cd8166d741676cdf0a9d1697b \ + gomod://github.com/atotto/clipboard;version=v0.1.4;sha256sum=d67b2c36c662751309fd2ec351df3651584bea840bd27be9a90702c3a238b43f \ + gomod://github.com/aws/aws-sdk-go-v2;version=v1.41.0;sha256sum=869834493118f72f9349f5493959bcd8fc951fa236eecd0095c16322f5b2f53c \ gomod://github.com/aws/aws-sdk-go-v2/config;version=v1.29.5;sha256sum=ce165d37c7b1dfee2047137f1176c197dc397a5553ef6fc0dba799b21908475b \ gomod://github.com/aws/aws-sdk-go-v2/credentials;version=v1.17.58;sha256sum=238cc4a98dde7bc3e94dc0f0005c4d988a244daaa9fe4fda706a781ec62bf7e2 \ gomod://github.com/aws/aws-sdk-go-v2/feature/ec2/imds;version=v1.16.27;sha256sum=408958244a10036461c3a3b27fcdaf20efa3af19168bd527b6617319a754309c \ - gomod://github.com/aws/aws-sdk-go-v2/internal/configsources;version=v1.3.31;sha256sum=7929b44beec37b00c9ee5269b0f109d7ccc2bb26a8528ab14e0f172076a41205 \ - gomod://github.com/aws/aws-sdk-go-v2/internal/endpoints/v2;version=v2.6.31;sha256sum=6ae31e302c828ecf80310e85059c49ce44668b8c62aa52fa964b0d745a6f62b1 \ + gomod://github.com/aws/aws-sdk-go-v2/internal/configsources;version=v1.4.16;sha256sum=5bd82543507e01fab6a9344a995a431682f4061770b25005f9116f43ae539ac4 \ + gomod://github.com/aws/aws-sdk-go-v2/internal/endpoints/v2;version=v2.7.16;sha256sum=0a4cc94f6843c9c50a1839783123b4664a07d5a67d8a49157304f8550c0c2e39 \ gomod://github.com/aws/aws-sdk-go-v2/internal/ini;version=v1.8.2;sha256sum=53d1a9a401283711118c91e6e9fdb8193ce6430ca4bbe6b5454bcaaa51e81de0 \ - gomod://github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding;version=v1.12.2;sha256sum=6ab252b3b962a6b34f0107583f6ff8e4a68e02dcd8df9573e895e5ca60ff139c \ - gomod://github.com/aws/aws-sdk-go-v2/service/internal/presigned-url;version=v1.12.12;sha256sum=a92f4383630fa976eeb484b051a6224a8d1d277c4b3ca93a40cce57d06cbbec2 \ + gomod://github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding;version=v1.13.4;sha256sum=e9b9e131812d339f4ac2b20bb504caf1cde680e048e15688bd8126ecd300e5e2 \ + gomod://github.com/aws/aws-sdk-go-v2/service/internal/presigned-url;version=v1.13.16;sha256sum=1ba321f470ad6ce8673c303386f15136b8fa2f86b23e6a181dbf5c74cb84ef7b \ gomod://github.com/aws/aws-sdk-go-v2/service/ssm;version=v1.44.7;sha256sum=e09b97aa37ffd7c003a8a2e7574668e92eabd267d2a78d22fb440bcd93a61e46 \ gomod://github.com/aws/aws-sdk-go-v2/service/sso;version=v1.24.14;sha256sum=9196a430068584c9d1e621aff0a45b32adaf190b4363dddda8b341901e188f51 \ gomod://github.com/aws/aws-sdk-go-v2/service/ssooidc;version=v1.28.13;sha256sum=acaeca3476410d64512a4d9feefd6c8d16effa76718f72db4ba7b786c7fcc398 \ - gomod://github.com/aws/aws-sdk-go-v2/service/sts;version=v1.33.13;sha256sum=1800e76ad35287ca7067374b7489ebd7f1d25426c93ae9e40fd73e2a78f29e75 \ - gomod://github.com/aws/smithy-go;version=v1.22.2;sha256sum=e5701b5798a3ff01b7139ec07e5bc2010f76cab82523e8989602003d61d82324 \ + gomod://github.com/aws/aws-sdk-go-v2/service/sts;version=v1.41.5;sha256sum=de6f3748c40c13e10b790a7c02023aa559b153c251856e3b3940ee47cc0bc007 \ + gomod://github.com/aws/smithy-go;version=v1.24.0;sha256sum=655a1e00489bcf29a94cf26878c2f0b3b74c8bfb5d3c566baa3b94e088fbf417 \ gomod://github.com/coder/websocket;version=v1.8.12;sha256sum=ad8d323970c04679f4566ee7db98946508c37cdd21a46a875d5257d631a9e990 \ gomod://github.com/coreos/go-iptables;version=v0.7.1-0.20240112124308-65c67c9f46e6;sha256sum=6d0ae6344f1d355f72e6aaba583ce73822861511337ca92cc1c4727fc8ba66dd \ + gomod://github.com/creachadair/msync;version=v0.7.1;sha256sum=ee8dd1d2cc8a1e555fcfaecc7407425216ee87cd4414093d9a3d8d50fc622e5d \ gomod://github.com/creack/pty;version=v1.1.23;sha256sum=2151b7121020954864de83eacf854634866cca0a3bfe33a2ebffa2edebc25df3 \ gomod://github.com/digitalocean/go-smbios;version=v0.0.0-20180907143718-390a4f403a8e;sha256sum=2bc498a09aa55b3417bebacce448b2d2ab757981e59b6b016d08cf97e4a7bdde \ gomod://github.com/djherbis/times;version=v1.6.0;sha256sum=21d69060967bc03ea3c39ff8c0b1a95511e96eccd3749a2daef1a02af1bc0a85 \ - gomod://github.com/fxamacker/cbor/v2;version=v2.7.0;sha256sum=b48771460405bab6896c85e21ebc5ff287d4018c6db5c8d822c55769c80dde03 \ + gomod://github.com/fogleman/gg;version=v1.3.0;sha256sum=792f7a3ea9eea31b7947dabaf9d5a307389245069078e4bf435d76cb0505439c \ + gomod://github.com/fxamacker/cbor/v2;version=v2.9.0;sha256sum=5b0ec6424bd522aeeeab30cbdcad6f40bf976a9a2ddf125ab27b97826140d97a \ gomod://github.com/gaissmai/bart;version=v0.18.0;sha256sum=566f2401988b2536055d87f6851ea596518377ee4592176375b84a5ca791fc77 \ - gomod://github.com/go-json-experiment/json;version=v0.0.0-20250223041408-d3c622f1b874;sha256sum=96edf3942a5665ff2b27f0da4586e2602fe4816dc31e184d3bcd6fbf4cdb13e4 \ + gomod://github.com/go-json-experiment/json;version=v0.0.0-20250813024750-ebf49471dced;sha256sum=e20ad9cf462e43db906cd2dc237061d6a5b575d10bd4ece52f1857b15a107006 \ gomod://github.com/godbus/dbus/v5;version=v5.1.1-0.20230522191255-76236955d466;sha256sum=262f43ec87570238a0e770e7fa656dda70fe6050a7edf5addc30287cb64b21a6 \ - gomod://github.com/golang/groupcache;version=v0.0.0-20210331224755-41bb18bfe9da;sha256sum=b27034e8fc013627543e1ad098cfc65329f2896df3da5cf3266cc9166f93f3a5 \ - gomod://github.com/google/btree;version=v1.1.2;sha256sum=faee8550c5fffb4ae1dadde5ccaccb13298726f9fad226bb4eed0c03c90a481d \ + gomod://github.com/golang/freetype;version=v0.0.0-20170609003504-e2365dfdc4a0;sha256sum=cdcb9e6a14933dcbf167b44dcd5083fc6a2e52c4fae8fb79747c691efeb7d84e \ + gomod://github.com/golang/groupcache;version=v0.0.0-20241129210726-2c02b8208cf8;sha256sum=163367355442a630b12b0b452892cd98e99fcfdf7e40b68d358be73479cc1c23 \ + gomod://github.com/google/btree;version=v1.1.3;sha256sum=11b736bc8252b52fecdf346d3707ccf3a2b6d458ba21b4f843616fc12eeb30b2 \ gomod://github.com/google/go-tpm;version=v0.9.4;sha256sum=a8a5e504fbd78284a50e6ab625f6248cfbb89421fafdfee71d66abc6e1dfc192 \ gomod://github.com/google/nftables;version=v0.2.1-0.20240414091927-5e242ec57806;sha256sum=ceb96b39a6f9004d8c217a6ae61b91a69c250bc30fbf3a04cd87cbbfddea73c8 \ - gomod://github.com/gorilla/csrf;version=v1.7.3;sha256sum=39923b0dde0b8be30d3572589a8cc2ea515ca36a3e542269645db36aff7d6842 \ - gomod://github.com/gorilla/securecookie;version=v1.1.2;sha256sum=fd7c0de7000c2e6a123d73e1249e1dce892ba29d2d03b00dc81d5fcee41d5895 \ gomod://github.com/hdevalence/ed25519consensus;version=v0.2.0;sha256sum=111cafade3ba9c7c3adf66b6a424386e30829c46c60b80dabe288e1837d30e33 \ + gomod://github.com/huin/goupnp;version=v1.3.0;sha256sum=df663b90b9b3bf16e1cfa810a6c3dd904993e8c1155dbf65566ce0361f163dce \ gomod://github.com/illarion/gonotify/v3;version=v3.0.2;sha256sum=fef3e17f676c8ce98b60f0e2180fc4e3331e6e1604eaf96ab8791e073f96a7af \ gomod://github.com/insomniacslk/dhcp;version=v0.0.0-20231206064809-8c70d406f6d2;sha256sum=be28971fb642a9c4cf9f16e07332310af05c291584b6440b32849ca058dd345d \ gomod://github.com/jellydator/ttlcache/v3;version=v3.1.0;sha256sum=278dfc9b4882eaeb9b56e925b574028f3e9cc4436645b93f56ccb69de134a898 \ gomod://github.com/jmespath/go-jmespath;version=v0.4.0;sha256sum=d1f77b6790d7c4321a74260f3675683d3ac06b0a614b5f83e870beae0a8b2867 \ gomod://github.com/jsimonetti/rtnetlink;version=v1.4.0;sha256sum=81625291f4d0a08718dfd2170873d1adfd8fc2248657584f520c4de6de9e2e4d \ gomod://github.com/kballard/go-shellquote;version=v0.0.0-20180428030007-95032a82bc51;sha256sum=ae4cb7b097dc4eb0c248dff00ed3bbf0f36984c4162ad1d615266084e58bd6cc \ - gomod://github.com/klauspost/compress;version=v1.17.11;sha256sum=88dea800cc6a11ccb9dd2f0dd487f30e8701870abdfc11245e41dcfc9f3d428e \ + gomod://github.com/klauspost/compress;version=v1.18.2;sha256sum=f6f550ecff746f6585db9529a29109e70da0038a8e0e142959567f2207183490 \ gomod://github.com/kortschak/wol;version=v0.0.0-20200729010619-da482cc4850a;sha256sum=09c15500a0ef54af0796f37282dd5377d2b866e4c36c87dcb6b2894cf3114dc5 \ gomod://github.com/kr/fs;version=v0.1.0;sha256sum=d376bd98e81aea34585fc3b04bab76363e9e87cde69383964e57e9779f2af81e \ gomod://github.com/mattn/go-colorable;version=v0.1.13;sha256sum=08be322dcc584a9fcfde5caf0cf878b4e11cd98f252e32bc704e92c5a4ba9d15 \ @@ -46,38 +57,39 @@ SRC_URI += " \ gomod://github.com/mdlayher/netlink;version=v1.7.3-0.20250113171957-fbb4dce95f42;sha256sum=b427c8c746e87c2f8033678fb87cdcf5cefb21ce16f35930eff91683661395f0 \ gomod://github.com/mdlayher/sdnotify;version=v1.0.0;sha256sum=26f4efbcba73eaec323973c8ae335bad430e5d6947097976cfbe7c9547f68c90 \ gomod://github.com/mdlayher/socket;version=v0.5.0;sha256sum=931626341956178fe6015b128fdda22283480d05dc964675307eb61ed39c29fe \ - gomod://github.com/miekg/dns;version=v1.1.58;sha256sum=179bd419d011fd90802355756f59fff70ddf9a5886a4db6336a6d05783552b16 \ gomod://github.com/mitchellh/go-ps;version=v1.0.0;sha256sum=f2f0400b1d5e136419daed275c27a930b0f5447ac12bb8acd3ddbe39547b2834 \ gomod://github.com/peterbourgon/ff/v3;version=v3.4.0;sha256sum=b49537268ce67eb755d773fdd2a3e1c9c6dec0731993a4f742080416eb9b12a6 \ gomod://github.com/pierrec/lz4/v4;version=v4.1.21;sha256sum=bd2e8ef13800ca42205b0d4085a927a6d012b82cfa831769be4830036e953bec \ + gomod://github.com/pires/go-proxyproto;version=v0.8.1;sha256sum=a979a2f26160bfcb6f3829dd546d5f53c8b1879e7ad84466e359cf3f6237aa4c \ gomod://github.com/pkg/sftp;version=v1.13.6;sha256sum=0cdf6bd0edef9db8137ce398c9bbe514713e42cf2d4d415b5025f4a3c33f249d \ gomod://github.com/safchain/ethtool;version=v0.3.0;sha256sum=bfa1a3fe314a3f2ac4c4385a6c4694708e4881bfd86c34668eca92656e398590 \ gomod://github.com/skip2/go-qrcode;version=v0.0.0-20200617195104-da1b6568686e;sha256sum=3fc1c4d11c79001d1cc2df0de87493b324b9af141cc59ae8c212612dd2c90e90 \ - gomod://github.com/tailscale/goupnp;version=v1.0.1-0.20210804011211-c64d0f06ea05;sha256sum=1c7ed6ecc16b6f402c225bae88a067a8bc1574cded894638b820c5da751823cc \ gomod://github.com/tailscale/hujson;version=v0.0.0-20221223112325-20486734a56a;sha256sum=8e65bacebfc0a1edc067fd97f839fcfeb93c1e7b8cc0186d1773cff4e125d9d5 \ gomod://github.com/tailscale/netlink;version=v1.1.1-0.20240822203006-4d49adab4de7;sha256sum=a5195ef600f8d9a0fb8501eea85e4fe0321a74bd57dec88f07b8569d0ee4f55e \ gomod://github.com/tailscale/peercred;version=v0.0.0-20250107143737-35a0c7bd7edc;sha256sum=87d0f4f3b1d59ea45c9a87b775b615bebd721a5870dafedc63cc860ec4aac281 \ gomod://github.com/tailscale/web-client-prebuilt;version=v0.0.0-20250124233751-d4cd19a26976;sha256sum=1d02f0804bb41e0743b7d889b8e2dbd8466a89793f03997f4c1fd10f9e8974c3 \ - gomod://github.com/tailscale/wireguard-go;version=v0.0.0-20250304000100-91a0587fb251;sha256sum=7b82eb990f2f3686d335cdff5e988f8d4e27e031d563fb0e37bce1a3b0c5a83f \ + gomod://github.com/tailscale/wireguard-go;version=v0.0.0-20250716170648-1d0488a3d7da;sha256sum=1f2957ab7cac9bc031c570ce8420b100171f5068bd5feee084bf6bccdfc9740d \ gomod://github.com/tailscale/xnet;version=v0.0.0-20240729143630-8497ac4dab2e;sha256sum=438abf28ce5fb03adf529c2cb57a451f9b243c4a2a181d9d06cdb61bb10960e7 \ gomod://github.com/toqueteos/webbrowser;version=v1.2.0;sha256sum=1227d3ebeab16d8232a304a10b087984a96ad30f7439b6687bab2f5747d308cf \ gomod://github.com/u-root/u-root;version=v0.14.0;sha256sum=a65c0a06236b10a0cea50e603fef0ced0c7e343a66ef957a45ebcd51f304d286 \ gomod://github.com/u-root/uio;version=v0.0.0-20240224005618-d2acac8f3701;sha256sum=f6e8f912e968744999d508c3df54f0308aaf337052a8d0bd3edd72583adfd9cd \ - gomod://github.com/vishvananda/netns;version=v0.0.4;sha256sum=cdaebcd80614800a74537e59855730d42393ffc109ebd47e5b8437dcc4d7f429 \ + gomod://github.com/vishvananda/netns;version=v0.0.5;sha256sum=07804b88c922c2a6780efe392ffef9d126eac584384eb3eb17bcadd34cfa9422 \ gomod://github.com/x448/float16;version=v0.8.4;sha256sum=73b24a41037ea999ab66851e3798a0973dbb1f214925915b01f0820f7b2f1500 \ + gomod://go.yaml.in/yaml/v2;version=v2.4.2;sha256sum=ed63e181cbb5a991c104639b0e6d48d45fd951f22b47d4c5d1a36156d8ed06ee \ gomod://go4.org/mem;version=v0.0.0-20240501181205-ae6ca9944745;sha256sum=9b5037a57122457fdc5c2c0a31e3996b44cf9dfcdee5c53ed72adfd88d077795 \ gomod://go4.org/netipx;version=v0.0.0-20231129151722-fdeea329fbba;sha256sum=e15f57de368c92b826010181906f26112ba3a0d7fde7d94c8a8c60c525dc4044 \ - gomod://golang.org/x/crypto;version=v0.37.0;sha256sum=7ce6b2be21be1ce9e04dc784830e08931f09b5903596b8017839322c9e828667 \ - gomod://golang.org/x/exp;version=v0.0.0-20250210185358-939b2ce775ac;sha256sum=de413a97994a7b97541cb1f867439fa20b60361d79dc35e8e2faf847a2a188df \ - gomod://golang.org/x/net;version=v0.36.0;sha256sum=e823a351657b349cd8a705079778769534d90a5c3a6c7caed174a79608257d12 \ - gomod://golang.org/x/oauth2;version=v0.26.0;sha256sum=d4c1bfc661b8ff3ccb3d5d30babf5f67798b59e2bfa932b6f1f739e67e45dcda \ - gomod://golang.org/x/sync;version=v0.13.0;sha256sum=4bdaaffe69cc7c997cff97cd81dc9c6777777bd311175f100f76b049bbbe7ed9 \ - gomod://golang.org/x/sys;version=v0.32.0;sha256sum=85d47075d21fd7ef35d9a47fc73f2356fb3cd2e7fab7f45c874b814bf312127d \ - gomod://golang.org/x/term;version=v0.31.0;sha256sum=bdeda753791b44f6815ccf3367ff57ffaca9bb100bfe8ebe112c8da133e78aec \ - gomod://golang.org/x/text;version=v0.24.0;sha256sum=f585335a57a6fa5fa0c0bf319b45f0909e5ff1aba91e8567187ba8e423084c00 \ - gomod://golang.org/x/time;version=v0.10.0;sha256sum=7420a12017bb47bd85ccab81f9d1f7a3ff6daf8da768256292bc1dbb3bf9ba63 \ + gomod://golang.org/x/crypto;version=v0.46.0;sha256sum=5f2921ccdf7252ffbe26046948c6044ab0917e500a34710e0ba6664260d6a460 \ + gomod://golang.org/x/exp;version=v0.0.0-20250620022241-b7579e27df2b;sha256sum=fdaae8f1b98727b49d10228492b2dee1b8c68d12f640a4f17f0fb175581bf547 \ + gomod://golang.org/x/image;version=v0.27.0;sha256sum=db4846c8edb8cdcb556d205840361f62382df9bd5946b756e700c5fb43d90332 \ + gomod://golang.org/x/net;version=v0.48.0;sha256sum=cf5206797e66bbe72fc13542d53a57d069a563cebb6d045c07a870eb4fd888c9 \ + gomod://golang.org/x/oauth2;version=v0.32.0;sha256sum=64c855b335cc2e90b2d88c1fe6c3a31de53c3ca76fc9c89e6ce266c7334b768b \ + gomod://golang.org/x/sync;version=v0.19.0;sha256sum=25211fe2cffd8020bb405b9adb7a90f5e06760f2818b8fb2e74aaaa21a66ed9e \ + gomod://golang.org/x/sys;version=v0.40.0;sha256sum=d7f9fe44300fc8d47b30d06cd001d9c62c54c6119818a19a2e33a93538971669 \ + gomod://golang.org/x/term;version=v0.38.0;sha256sum=00cec8beae98bb5a15c9ee9e8e705b7cab9c50269e7858bff98df0533b317363 \ + gomod://golang.org/x/text;version=v0.32.0;sha256sum=bc6c70d37c37bc625a83abd48ee32372b459a8c559a1cf5f25dfbf7c7941f81b \ + gomod://golang.org/x/time;version=v0.12.0;sha256sum=cdcb04c43b112919c5e0d0fa1d90769124ad56918a44e6cb0747876ed7e5015c \ gomod://gvisor.dev/gvisor;version=v0.0.0-20250205023644-9414b50a5633;sha256sum=b373e677e77f28c095b43ed976f5d9ca885d3b1b5407a71a5691e4a47e813bd0 \ - gomod://k8s.io/client-go;version=v0.32.0;sha256sum=74ee50d42da263c0743212c17a12f16d8a3283f31f7c9209c6327b6656ac1550 \ - gomod://sigs.k8s.io/yaml;version=v1.4.0;sha256sum=ef031ff78ff9b7036e174eef49dfbd77468dc4f0afb73a639b61f8ab3a1cc425 \ + gomod://k8s.io/client-go;version=v0.34.0;sha256sum=3ede34d9df9dcb02779a631ca9c653f92db3714ee887c6fdd86a66bc4889d2c0 \ + gomod://sigs.k8s.io/yaml;version=v1.6.0;sha256sum=cf88648a471581817b00a42ee8d24fd73eb0e3503998cf46d8e63787e11e5052 \ gomod://software.sslmate.com/src/go-pkcs12;version=v0.4.0;sha256sum=55019a391e5302a51ba62e98909e006224b81207866da90beaf582ec0dee036f \ " diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc b/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc index 53d46dd45ca..f1adacfc092 100644 --- a/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc +++ b/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc @@ -1,43 +1,60 @@ -LIC_FILES_CHKSUM += " \ + +# This file has been generated by go-mod-update-modules.bbclass +# +# Unknown licenses have been checked manually and completed. +# + +LICENSE += "& Apache-2.0 & BSD-2-Clause & BSD-3-Clause & ISC & MIT" + +LIC_FILES_CHKSUM += "\ file://pkg/mod/filippo.io/edwards25519@v1.1.0/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707;spdx=BSD-3-Clause \ + file://pkg/mod/fyne.io/systray@v1.11.1-0.20250812065214-4856ac3adc3c/LICENSE;md5=a2be13cb34e811436f5388f0a19cc0b0;spdx=Apache-2.0 \ + file://pkg/mod/github.com/!kodeworks/golang-image-ico@v0.0.0-20141118225523-73f0f4cfade9/LICENSE;md5=591778525c869cdde0ab5a1bf283cd81;spdx=BSD-3-Clause \ file://pkg/mod/github.com/anmitsu/go-shlex@v0.0.0-20200514113438-38f4b401e2be/LICENSE;md5=45a47c50f5b33ff9ab3347c7db1bfb6a;spdx=MIT \ - file://pkg/mod/github.com/aws/aws-sdk-go-v2@v1.36.0/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/atotto/clipboard@v0.1.4/LICENSE;md5=489200b65f13bcbcb890a96b99a58a6f;spdx=BSD-3-Clause \ file://pkg/mod/github.com/aws/aws-sdk-go-v2/config@v1.29.5/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ file://pkg/mod/github.com/aws/aws-sdk-go-v2/credentials@v1.17.58/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ file://pkg/mod/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.16.27/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ - file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.3.31/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ - file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.6.31/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.16/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.16/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.2/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ - file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.12.2/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ - file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.12.12/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.4/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.16/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/ssm@v1.44.7/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/sso@v1.24.14/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.28.13/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ - file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/sts@v1.33.13/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ - file://pkg/mod/github.com/aws/smithy-go@v1.22.2/LICENSE;md5=34400b68072d710fecd0a2940a0d1658;spdx=Apache-2.0 \ + file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.5/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/aws/aws-sdk-go-v2@v1.41.0/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/aws/aws-sdk-go-v2@v1.41.0/internal/sync/singleflight/LICENSE;md5=bdc234595bc2fe370918f5de5077c8e9;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/aws/smithy-go@v1.24.0/LICENSE;md5=34400b68072d710fecd0a2940a0d1658;spdx=Apache-2.0 \ + file://pkg/mod/github.com/aws/smithy-go@v1.24.0/internal/sync/singleflight/LICENSE;md5=bdc234595bc2fe370918f5de5077c8e9;spdx=BSD-3-Clause \ file://pkg/mod/github.com/coder/websocket@v1.8.12/LICENSE.txt;md5=bc0b6f68116166556efe7184edfda3e9;spdx=ISC \ file://pkg/mod/github.com/coreos/go-iptables@v0.7.1-0.20240112124308-65c67c9f46e6/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ + file://pkg/mod/github.com/creachadair/msync@v0.7.1/LICENSE;md5=b8be277519c5ee121454d43de171668a;spdx=BSD-3-Clause \ file://pkg/mod/github.com/creack/pty@v1.1.23/LICENSE;md5=93958070863d769117fa33b129020050;spdx=MIT \ file://pkg/mod/github.com/digitalocean/go-smbios@v0.0.0-20180907143718-390a4f403a8e/LICENSE.md;md5=c1653934903ab2785c09c2bdd7344526;spdx=Apache-2.0 \ file://pkg/mod/github.com/djherbis/times@v1.6.0/LICENSE;md5=3cafd141825e7a44b1c6a047b2320012;spdx=MIT \ - file://pkg/mod/github.com/fxamacker/cbor/v2@v2.7.0/LICENSE;md5=827f5a2fa861382d35a3943adf9ebb86;spdx=MIT \ + file://pkg/mod/github.com/fogleman/gg@v1.3.0/LICENSE.md;md5=1630f0e1bac38694fdc4dcb6a9218f4a;spdx=MIT \ + file://pkg/mod/github.com/fxamacker/cbor/v2@v2.9.0/LICENSE;md5=827f5a2fa861382d35a3943adf9ebb86;spdx=MIT \ file://pkg/mod/github.com/gaissmai/bart@v0.18.0/LICENSE;md5=05779e437ec35570aca43cc66a95e056;spdx=MIT \ - file://pkg/mod/github.com/go-json-experiment/json@v0.0.0-20250223041408-d3c622f1b874/LICENSE;md5=9d210c7471ce08e3db5261f33bf8fce6;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/go-json-experiment/json@v0.0.0-20250813024750-ebf49471dced/LICENSE;md5=9d210c7471ce08e3db5261f33bf8fce6;spdx=BSD-3-Clause \ file://pkg/mod/github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/LICENSE;md5=09042bd5c6c96a2b9e45ddf1bc517eed;spdx=BSD-2-Clause \ - file://pkg/mod/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ - file://pkg/mod/github.com/google/btree@v1.1.2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/LICENSE;md5=8e050e4860234723098ceeefa49edd05;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/golang/groupcache@v0.0.0-20241129210726-2c02b8208cf8/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ + file://pkg/mod/github.com/google/btree@v1.1.3/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ file://pkg/mod/github.com/google/go-tpm@v0.9.4/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ file://pkg/mod/github.com/google/nftables@v0.2.1-0.20240414091927-5e242ec57806/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ - file://pkg/mod/github.com/gorilla/csrf@v1.7.3/LICENSE;md5=c30eee78985cf2584cded5f89ba3d787;spdx=BSD-3-Clause \ - file://pkg/mod/github.com/gorilla/securecookie@v1.1.2/LICENSE;md5=c30eee78985cf2584cded5f89ba3d787;spdx=BSD-3-Clause \ file://pkg/mod/github.com/hdevalence/ed25519consensus@v0.2.0/LICENSE;md5=4041895a1f717acb5be52e24edb19917;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/huin/goupnp@v1.3.0/LICENSE;md5=3d7eee8afacfccb446c1ac30289c965d;spdx=BSD-2-Clause \ file://pkg/mod/github.com/illarion/gonotify/v3@v3.0.2/LICENSE;md5=6b631a3123c7c679195702a8a35c9f21;spdx=MIT \ file://pkg/mod/github.com/insomniacslk/dhcp@v0.0.0-20231206064809-8c70d406f6d2/LICENSE;md5=ceaf33b8b657b2d342dbd3bb59578d8a;spdx=BSD-3-Clause \ file://pkg/mod/github.com/jellydator/ttlcache/v3@v3.1.0/LICENSE;md5=4cea77626c625d583c98a85a8658f9d2;spdx=MIT \ file://pkg/mod/github.com/jmespath/go-jmespath@v0.4.0/LICENSE;md5=9abfa8353fce3f2cb28364e1e9016852;spdx=Apache-2.0 \ file://pkg/mod/github.com/jsimonetti/rtnetlink@v1.4.0/LICENSE.md;md5=75a8090d4c02945ad9d61c7cce77ed48;spdx=MIT \ file://pkg/mod/github.com/kballard/go-shellquote@v0.0.0-20180428030007-95032a82bc51/LICENSE;md5=9d95d1ad917c814c23909addb8692eeb;spdx=MIT \ - file://pkg/mod/github.com/klauspost/compress@v1.17.11/LICENSE;md5=d0fd9ebda39468b51ff4539c9fbb13a8;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/klauspost/compress@v1.18.2/LICENSE;md5=d0fd9ebda39468b51ff4539c9fbb13a8;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/klauspost/compress@v1.18.2/internal/snapref/LICENSE;md5=b8b79c7d4cda128290b98c6a21f9aac6;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/klauspost/compress@v1.18.2/zstd/internal/xxhash/LICENSE.txt;md5=802da049c92a99b4387d3f3d91b00fa9;spdx=MIT \ file://pkg/mod/github.com/kortschak/wol@v0.0.0-20200729010619-da482cc4850a/LICENSE;md5=5a0acdb344844a21e2df8bc2e1fe5f2d;spdx=BSD-3-Clause \ file://pkg/mod/github.com/kr/fs@v0.1.0/LICENSE;md5=591778525c869cdde0ab5a1bf283cd81;spdx=BSD-3-Clause \ file://pkg/mod/github.com/mattn/go-colorable@v0.1.13/LICENSE;md5=24ce168f90aec2456a73de1839037245;spdx=MIT \ @@ -46,40 +63,39 @@ LIC_FILES_CHKSUM += " \ file://pkg/mod/github.com/mdlayher/netlink@v1.7.3-0.20250113171957-fbb4dce95f42/LICENSE.md;md5=e08504321a9b3e86ee07433c231b33f1;spdx=MIT \ file://pkg/mod/github.com/mdlayher/sdnotify@v1.0.0/LICENSE.md;md5=a57b2e272a0c75c413c784bb877cda50;spdx=MIT \ file://pkg/mod/github.com/mdlayher/socket@v0.5.0/LICENSE.md;md5=bdcb2fcb7aea8a34d189ef572a59ff88;spdx=MIT \ - file://pkg/mod/github.com/miekg/dns@v1.1.58/LICENSE;md5=b5215dfec2c591290f399a181669bef7;spdx=BSD-3-Clause \ file://pkg/mod/github.com/mitchellh/go-ps@v1.0.0/LICENSE.md;md5=56da355a12d4821cda57b8f23ec34bc4;spdx=MIT \ file://pkg/mod/github.com/peterbourgon/ff/v3@v3.4.0/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e;spdx=Apache-2.0 \ file://pkg/mod/github.com/pierrec/lz4/v4@v4.1.21/LICENSE;md5=09ece85f3c312a63b522bfc6ebd44943;spdx=BSD-3-Clause \ + file://pkg/mod/github.com/pires/go-proxyproto@v0.8.1/LICENSE;md5=ebfe2201eab4c067477cc534908ac12f;spdx=Apache-2.0 \ file://pkg/mod/github.com/pkg/sftp@v1.13.6/LICENSE;md5=452fc5cc5a9127a0e828d73423d45035;spdx=BSD-2-Clause \ file://pkg/mod/github.com/safchain/ethtool@v0.3.0/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc;spdx=Apache-2.0 \ file://pkg/mod/github.com/skip2/go-qrcode@v0.0.0-20200617195104-da1b6568686e/LICENSE;md5=515c25e1450ede2834397875c18439d4;spdx=MIT \ - file://pkg/mod/github.com/tailscale/goupnp@v1.0.1-0.20210804011211-c64d0f06ea05/LICENSE;md5=3d7eee8afacfccb446c1ac30289c965d;spdx=BSD-2-Clause \ file://pkg/mod/github.com/tailscale/hujson@v0.0.0-20221223112325-20486734a56a/LICENSE;md5=073f7ac93b9172ac4e1d258584fc0271;spdx=BSD-3-Clause \ file://pkg/mod/github.com/tailscale/netlink@v1.1.1-0.20240822203006-4d49adab4de7/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ file://pkg/mod/github.com/tailscale/peercred@v0.0.0-20250107143737-35a0c7bd7edc/LICENSE;md5=94eaeed21686fd9816f57f86b9914071;spdx=BSD-3-Clause \ file://pkg/mod/github.com/tailscale/web-client-prebuilt@v0.0.0-20250124233751-d4cd19a26976/LICENSE;md5=a672713a9eb730050e491c92edf7984d;spdx=BSD-3-Clause \ - file://pkg/mod/github.com/tailscale/wireguard-go@v0.0.0-20250304000100-91a0587fb251/LICENSE;md5=995598bc9de2b4c987c2cb87fc24f341;spdx=MIT \ + file://pkg/mod/github.com/tailscale/wireguard-go@v0.0.0-20250716170648-1d0488a3d7da/LICENSE;md5=995598bc9de2b4c987c2cb87fc24f341;spdx=MIT \ file://pkg/mod/github.com/tailscale/xnet@v0.0.0-20240729143630-8497ac4dab2e/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707;spdx=BSD-3-Clause \ file://pkg/mod/github.com/toqueteos/webbrowser@v1.2.0/LICENSE.md;md5=6072d29ffa4b14338ff8fd68f17f6851;spdx=MIT \ file://pkg/mod/github.com/u-root/u-root@v0.14.0/LICENSE;md5=bf431bf303eaf01f17bef6624d9f2208;spdx=BSD-3-Clause \ file://pkg/mod/github.com/u-root/uio@v0.0.0-20240224005618-d2acac8f3701/LICENSE;md5=52bf39fc1e426b6459f5c9a142e5bfbd;spdx=BSD-3-Clause \ - file://pkg/mod/github.com/vishvananda/netns@v0.0.4/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ + file://pkg/mod/github.com/vishvananda/netns@v0.0.5/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ file://pkg/mod/github.com/x448/float16@v0.8.4/LICENSE;md5=de8f8e025d57fe7ee0b67f30d571323b;spdx=MIT \ + file://pkg/mod/go.yaml.in/yaml/v2@v2.4.2/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e;spdx=Apache-2.0 \ file://pkg/mod/go4.org/mem@v0.0.0-20240501181205-ae6ca9944745/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc;spdx=Apache-2.0 \ file://pkg/mod/go4.org/netipx@v0.0.0-20231129151722-fdeea329fbba/LICENSE;md5=628df198dc9e033b86b8eedff039ff86;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/crypto@v0.37.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/exp@v0.0.0-20250210185358-939b2ce775ac/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/net@v0.36.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/oauth2@v0.26.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/sync@v0.13.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/sys@v0.32.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/term@v0.31.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/text@v0.24.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ - file://pkg/mod/golang.org/x/time@v0.10.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/crypto@v0.46.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/exp@v0.0.0-20250620022241-b7579e27df2b/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/image@v0.27.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/net@v0.48.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/oauth2@v0.32.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/sync@v0.19.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/sys@v0.40.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/term@v0.38.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/text@v0.32.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ + file://pkg/mod/golang.org/x/time@v0.12.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ file://pkg/mod/gvisor.dev/gvisor@v0.0.0-20250205023644-9414b50a5633/LICENSE;md5=fbbaf7613c100c84b8f20701859dee2d;spdx=MIT+%26+Apache-2.0 \ - file://pkg/mod/k8s.io/client-go@v0.32.0/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ - file://pkg/mod/sigs.k8s.io/yaml@v1.4.0/LICENSE;md5=b5d30dd5bc47d1b56b678ac06dead1c7;spdx=MIT+%26+Apache-2.0+%26+BSD-3-Clause \ + file://pkg/mod/k8s.io/client-go@v0.34.0/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ + file://pkg/mod/sigs.k8s.io/yaml@v1.6.0/LICENSE;md5=b5d30dd5bc47d1b56b678ac06dead1c7;spdx=BSD-3-Clause \ file://pkg/mod/software.sslmate.com/src/go-pkcs12@v0.4.0/LICENSE;md5=259f3802525423b1a33efb1b85f64e18;spdx=BSD-3-Clause \ " - -LICENSE += " & Apache-2.0 & BSD-2-Clause & BSD-3-Clause & ISC & MIT" diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale_1.84.3.bb b/meta-networking/recipes-connectivity/tailscale/tailscale_1.84.3.bb deleted file mode 100644 index 33ae1925d5a..00000000000 --- a/meta-networking/recipes-connectivity/tailscale/tailscale_1.84.3.bb +++ /dev/null @@ -1,87 +0,0 @@ -SUMMARY = "Tailscale client and daemon" -DESCRIPTION = "The easiest, most secure way to use WireGuard and 2FA." -HOMEPAGE = "https://github.com/tailscale/tailscale" -SECTION = "networking" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=a672713a9eb730050e491c92edf7984d" -require ${BPN}-licenses.inc - -MAJOR_MINOR = "${@oe.utils.trim_version('${PV}', 2)}" -SRC_URI = "git://github.com/tailscale/tailscale.git;protocol=https;branch=release-branch/${MAJOR_MINOR};destsuffix=${GO_SRCURI_DESTSUFFIX} \ - file://default \ - file://tailscaled.init \ - " -SRCREV = "7648989bc54738b1e40dde74fa822984a63cbc05" -SRCREV_SHORT = "${@d.getVar('SRCREV')[:8]}" -require ${BPN}-go-mods.inc - -GO_IMPORT = "tailscale.com" -GO_INSTALL = "${GO_IMPORT}/cmd/tailscaled" -GO_LINKSHARED = "" -GOBUILDFLAGS:prepend = "-tags=${@','.join(d.getVar('PACKAGECONFIG_CONFARGS').split())} " -GO_EXTRA_LDFLAGS = "-X tailscale.com/version.longStamp=${PV}-${SRCREV_SHORT} -X tailscale.com/version.shortStamp=${PV}" - -inherit go-mod \ - ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'update-rc.d', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} - -PACKAGECONFIG ??= "aws bird capture cli kube ssh tap wakeonlan" -PACKAGECONFIG[aws] = "ts_aws,ts_omit_aws" -PACKAGECONFIG[bird] = "ts_bird,ts_omit_bird" -PACKAGECONFIG[capture] = "ts_capture,ts_omit_capture" -PACKAGECONFIG[cli] = "ts_include_cli,ts_omit_include_cli" -PACKAGECONFIG[completion] = "ts_completion,ts_omit_completion" -PACKAGECONFIG[kube] = "ts_kube,ts_omit_kube" -PACKAGECONFIG[ssh] = "ts_ssh,ts_omit_ssh" -PACKAGECONFIG[tap] = "ts_tap,ts_omit_tap" -PACKAGECONFIG[wakeonlan] = "ts_wakeonlan,ts_omit_wakeonlan" - -INITSCRIPT_PACKAGES = "${PN}d" -INITSCRIPT_NAME:${PN}d = "tailscaled" -INITSCRIPT_PARAMS:${PN}d = "defaults 91 9" - -SYSTEMD_PACKAGES = "${BPN}d" -SYSTEMD_SERVICE:${BPN}d = "${BPN}d.service" - -# override do_install, since it installs in bin instead of sbin -do_install() { - install -d ${D}/${sbindir} - install -m 0755 ${B}/${GO_BUILD_BINDIR}/tailscaled ${D}/${sbindir}/tailscaled - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'cli', 'true', 'false', d)}" = 'true' ]; then - install -d ${D}/${bindir} - ln -sr ${D}${sbindir}/tailscaled ${D}${bindir}/tailscale - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/tailscaled.init ${D}${sysconfdir}/init.d/tailscaled - install -d ${D}${sysconfdir}/default - install -m 644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/${BPN}d - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 644 ${B}/src/tailscale.com/cmd/tailscaled/tailscaled.service ${D}${systemd_system_unitdir}/${BPN}d.service - install -d ${D}${sysconfdir}/default - install -m 644 ${B}/src/tailscale.com/cmd/tailscaled/tailscaled.defaults ${D}${sysconfdir}/default/${BPN}d - fi - -} - -PACKAGES =+ "${PN}d" - -# mark these as src, since there are bash script etc in there and QA will complain otherwise -FILES:${PN}-src += "${libdir}/go/src" -FILES:${PN}d = "${sysconfdir} ${systemd_system_unitdir}" - -RDEPENDS:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'completion', 'bash-completion', '', d)}" -RDEPENDS:${PN}d = "iptables" - -RRECOMMENDS:${PN}d = "\ - kernel-module-wireguard \ - kernel-module-tun \ - kernel-module-xt-mark \ - kernel-module-xt-tcpudp \ - kernel-module-xt-masquerade" diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale_1.94.2.bb b/meta-networking/recipes-connectivity/tailscale/tailscale_1.94.2.bb new file mode 100644 index 00000000000..7a60d6833cf --- /dev/null +++ b/meta-networking/recipes-connectivity/tailscale/tailscale_1.94.2.bb @@ -0,0 +1,90 @@ +SUMMARY = "Tailscale client and daemon" +DESCRIPTION = "The easiest, most secure way to use WireGuard and 2FA." +HOMEPAGE = "https://github.com/tailscale/tailscale" +SECTION = "networking" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=a672713a9eb730050e491c92edf7984d" +require ${BPN}-licenses.inc + +MAJOR_MINOR = "${@oe.utils.trim_version('${PV}', 2)}" +SRC_URI = "git://github.com/tailscale/tailscale.git;protocol=https;branch=release-branch/${MAJOR_MINOR};destsuffix=${GO_SRCURI_DESTSUFFIX} \ + file://default \ + file://tailscaled.init \ + " +SRCREV = "2de4d317a8c2595904f1563ebd98fdcf843da275" +SRCREV_SHORT = "${@d.getVar('SRCREV')[:8]}" +require ${BPN}-go-mods.inc + +GO_IMPORT = "tailscale.com" +GO_INSTALL = "${GO_IMPORT}/cmd/tailscaled" +GO_LINKSHARED = "" +GOBUILDFLAGS:prepend = "-tags=${@','.join(d.getVar('PACKAGECONFIG_CONFARGS').split())} " +GO_EXTRA_LDFLAGS = "-X tailscale.com/version.longStamp=${PV}-${SRCREV_SHORT} -X tailscale.com/version.shortStamp=${PV}" + +# Pass build tags so go list in update-modules discovers all conditional deps +export GOFLAGS = "-tags=${@','.join(d.getVar('PACKAGECONFIG_CONFARGS').split())}" + +inherit go-mod go-mod-update-modules \ + ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'update-rc.d', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} + +PACKAGECONFIG ??= "aws bird capture cli kube ssh tap wakeonlan" +PACKAGECONFIG[aws] = "ts_aws,ts_omit_aws" +PACKAGECONFIG[bird] = "ts_bird,ts_omit_bird" +PACKAGECONFIG[capture] = "ts_capture,ts_omit_capture" +PACKAGECONFIG[cli] = "ts_include_cli,ts_omit_include_cli" +PACKAGECONFIG[completion] = "ts_completion,ts_omit_completion" +PACKAGECONFIG[kube] = "ts_kube,ts_omit_kube" +PACKAGECONFIG[ssh] = "ts_ssh,ts_omit_ssh" +PACKAGECONFIG[tap] = "ts_tap,ts_omit_tap" +PACKAGECONFIG[wakeonlan] = "ts_wakeonlan,ts_omit_wakeonlan" + +INITSCRIPT_PACKAGES = "${PN}d" +INITSCRIPT_NAME:${PN}d = "tailscaled" +INITSCRIPT_PARAMS:${PN}d = "defaults 91 9" + +SYSTEMD_PACKAGES = "${BPN}d" +SYSTEMD_SERVICE:${BPN}d = "${BPN}d.service" + +# override do_install, since it installs in bin instead of sbin +do_install() { + install -d ${D}/${sbindir} + install -m 0755 ${B}/${GO_BUILD_BINDIR}/tailscaled ${D}/${sbindir}/tailscaled + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'cli', 'true', 'false', d)}" = 'true' ]; then + install -d ${D}/${bindir} + ln -sr ${D}${sbindir}/tailscaled ${D}${bindir}/tailscale + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/tailscaled.init ${D}${sysconfdir}/init.d/tailscaled + install -d ${D}${sysconfdir}/default + install -m 644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/${BPN}d + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 644 ${B}/src/tailscale.com/cmd/tailscaled/tailscaled.service ${D}${systemd_system_unitdir}/${BPN}d.service + install -d ${D}${sysconfdir}/default + install -m 644 ${B}/src/tailscale.com/cmd/tailscaled/tailscaled.defaults ${D}${sysconfdir}/default/${BPN}d + fi + +} + +PACKAGES =+ "${PN}d" + +# mark these as src, since there are bash script etc in there and QA will complain otherwise +FILES:${PN}-src += "${libdir}/go/src" +FILES:${PN}d = "${sysconfdir} ${systemd_system_unitdir}" + +RDEPENDS:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'completion', 'bash-completion', '', d)}" +RDEPENDS:${PN}d = "iptables" + +RRECOMMENDS:${PN}d = "\ + kernel-module-wireguard \ + kernel-module-tun \ + kernel-module-xt-mark \ + kernel-module-xt-tcpudp \ + kernel-module-xt-masquerade" diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.8.4.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.8.4.bb deleted file mode 100644 index f16c8c1e68a..00000000000 --- a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.8.4.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" -DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ - in C and optimized for embedded and RTOS environments. It can \ - be up to 20 times smaller than OpenSSL while still supporting \ - a full TLS client and server, up to TLS 1.3" -HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" -BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" -SECTION = "libs" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -PROVIDES += "cyassl" -RPROVIDES:${PN} = "cyassl" - -SRC_URI = " \ - git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master;tag=v${PV}-stable \ - file://run-ptest \ -" - -SRCREV = "59f4fa568615396fbf381b073b220d1e8d61e4c2" - - -inherit autotools ptest - -EXTRA_OECONF += "--enable-certreq --enable-dtls --enable-opensslextra --enable-certext --enable-certgen" - -PACKAGECONFIG ?= "reproducible-build" - -PACKAGECONFIG[reproducible-build] = "--enable-reproducible-build,--disable-reproducible-build," -BBCLASSEXTEND += "native nativesdk" - -CFLAGS += '-fPIC -DCERT_REL_PREFIX=\\"./\\"' - -RDEPENDS:${PN}-ptest += " bash" - -do_install_ptest() { - # Prevent QA Error "package contains reference to TMPDIR [buildpaths]" for unit.test script - # Replace the occurences of ${B}/src with '${PTEST_PATH}' - sed -i 's|${B}/src|${PTEST_PATH}|g' ${B}/tests/unit.test - - install -d ${D}${PTEST_PATH}/test - - # create an empty folder examples, needed in wolfssl's tests/api.c to "Test loading path with no files" - install -d ${D}${PTEST_PATH}/examples - cp -rf ${B}/tests/. ${D}${PTEST_PATH}/test - cp -rf ${S}/certs ${D}${PTEST_PATH} - cp -rf ${S}/tests ${D}${PTEST_PATH} -} - -CVE_STATUS[CVE-2025-11931] = "fixed-version: The currently used version (5.8.4) contains the fix already." -CVE_STATUS[CVE-2025-12889] = "fixed-version: The currently used version (5.8.4) contains the fix already." diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.9.1.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.9.1.bb new file mode 100644 index 00000000000..2978ff1cc12 --- /dev/null +++ b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.9.1.bb @@ -0,0 +1,71 @@ +SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" +DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ + in C and optimized for embedded and RTOS environments. It can \ + be up to 20 times smaller than OpenSSL while still supporting \ + a full TLS client and server, up to TLS 1.3" +HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" +BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" +SECTION = "libs" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +PROVIDES += "cyassl" +RPROVIDES:${PN} = "cyassl" + +SRC_URI = " \ + git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master;tag=v${PV}-stable \ + file://run-ptest \ +" + +SRCREV = "1d363f3adceba9d1478230ede476a37b0dcdef24" + + +inherit autotools ptest + +EXTRA_OECONF += "--enable-certreq --enable-dtls --enable-opensslextra --enable-certext --enable-certgen" + +PACKAGECONFIG ?= "reproducible-build" + +PACKAGECONFIG[reproducible-build] = "--enable-reproducible-build,--disable-reproducible-build," +BBCLASSEXTEND += "native nativesdk" + +CFLAGS += '-fPIC -DCERT_REL_PREFIX=\\"./\\"' + +RDEPENDS:${PN}-ptest += " bash" + +do_install_ptest() { + # Prevent QA Error "package contains reference to TMPDIR [buildpaths]" for unit.test script + # Replace the occurences of ${B}/src with '${PTEST_PATH}' + sed -i 's|${B}/src|${PTEST_PATH}|g' ${B}/tests/unit.test + + install -d ${D}${PTEST_PATH}/test + + # create an empty folder examples, needed in wolfssl's tests/api.c to "Test loading path with no files" + install -d ${D}${PTEST_PATH}/examples + cp -rf ${B}/tests/. ${D}${PTEST_PATH}/test + cp -rf ${S}/certs ${D}${PTEST_PATH} + cp -rf ${S}/tests ${D}${PTEST_PATH} +} + +CVE_STATUS[CVE-2026-0819] = "fixed-version: fixed in 5.9.0" +CVE_STATUS[CVE-2026-2646] = "fixed-version: fixed in 5.9.0" +CVE_STATUS[CVE-2026-3503] = "fixed-version: fixed in 5.9.0" +CVE_STATUS[CVE-2026-3548] = "fixed-version: fixed in 5.9.0" +CVE_STATUS[CVE-2026-5188] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5194] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5263] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5264] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5392] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5393] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5446] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5447] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5448] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5460] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5466] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5479] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5500] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5503] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5504] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5507] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5772] = "fixed-version: fixed in 5.9.1" +CVE_STATUS[CVE-2026-5778] = "fixed-version: fixed in 5.9.1" diff --git a/meta-networking/recipes-connectivity/wowlan-udev/files/99-wowlan.rules b/meta-networking/recipes-connectivity/wowlan-udev/files/99-wowlan.rules new file mode 100644 index 00000000000..ba41eef8965 --- /dev/null +++ b/meta-networking/recipes-connectivity/wowlan-udev/files/99-wowlan.rules @@ -0,0 +1,4 @@ +# Enable WoWLAN when Wi-Fi PHY is registered +ACTION=="add", SUBSYSTEM=="ieee80211", KERNEL=="phy*", \ + RUN+="/usr/sbin/iw %k wowlan enable magic-packet" + diff --git a/meta-networking/recipes-connectivity/wowlan-udev/wowlan-udev.bb b/meta-networking/recipes-connectivity/wowlan-udev/wowlan-udev.bb new file mode 100644 index 00000000000..61cba47e334 --- /dev/null +++ b/meta-networking/recipes-connectivity/wowlan-udev/wowlan-udev.bb @@ -0,0 +1,16 @@ +SUMMARY = "Enable WoWLAN via udev on Wi-Fi PHY registration" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://99-wowlan.rules" + +S = "${UNPACKDIR}" + +do_install() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${UNPACKDIR}/99-wowlan.rules \ + ${D}${sysconfdir}/udev/rules.d/ +} + +INHIBIT_DEFAULT_DEPS = "1" +RDEPENDS:${PN} = "iw udev" diff --git a/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb index cc0445aaedc..21c9dce4e12 100644 --- a/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb +++ b/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb @@ -216,7 +216,6 @@ RDEPENDS:packagegroup-meta-networking-support = "\ ndisc6 \ tcpdump \ tcpslice \ - netcf \ tnftp \ traceroute \ tunctl \ diff --git a/meta-networking/recipes-daemons/atftp/atftp_0.8.0.bb b/meta-networking/recipes-daemons/atftp/atftp_0.8.0.bb deleted file mode 100644 index 9db0aebccbf..00000000000 --- a/meta-networking/recipes-daemons/atftp/atftp_0.8.0.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "Advanced TFTP server and client" -SECTION = "net" -HOMEPAGE = "http://packages.debian.org/atftp" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f65159f73e603f89d6867d43191900e5" - -SRCREV = "d5c27eb7a9695d83569767e27ef69674173db39a" - -SRC_URI = "git://git.code.sf.net/p/atftp/code;branch=master;protocol=https \ - file://atftpd.init \ - file://atftpd.service \ -" - - -inherit autotools update-rc.d systemd - -PACKAGECONFIG ??= "" -PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre" -PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline" - -INITSCRIPT_PACKAGES = "${PN}d" -INITSCRIPT_NAME:${PN}d = "atftpd" -INITSCRIPT_PARAMS:${PN}d = "defaults 80" - - -EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'" - -do_install:append() { - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/atftpd.init ${D}${sysconfdir}/init.d/atftpd - - install -d ${D}/srv/tftp - - rm ${D}${sbindir}/in.tftpd - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/atftpd.service ${D}${systemd_unitdir}/system -} - -PACKAGES =+ "${PN}d" - -FILES:${PN} = "${bindir}/*" - -FILES:${PN}d = "${sbindir}/* \ - ${sysconfdir} \ - /srv/tftp \ - ${systemd_unitdir}/system/atftpd.service \ -" - -SYSTEMD_PACKAGES = "${PN}d" -SYSTEMD_SERVICE:${PN}d = "atftpd.service" -RPROVIDES:${PN}d += "${PN}d-systemd" -RREPLACES:${PN}d += "${PN}d-systemd" -RCONFLICTS:${PN}d += "${PN}d-systemd" diff --git a/meta-networking/recipes-daemons/atftp/atftp_0.8.1.bb b/meta-networking/recipes-daemons/atftp/atftp_0.8.1.bb new file mode 100644 index 00000000000..ecd55684f53 --- /dev/null +++ b/meta-networking/recipes-daemons/atftp/atftp_0.8.1.bb @@ -0,0 +1,54 @@ +SUMMARY = "Advanced TFTP server and client" +SECTION = "net" +HOMEPAGE = "http://packages.debian.org/atftp" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=570a9b3749dd0463a1778803b12a6dce" + +SRCREV = "7238b7b6753157d0c4ad739df3d87a958f78d70b" + +SRC_URI = "git://git.code.sf.net/p/atftp/code;branch=master;protocol=https \ + file://atftpd.init \ + file://atftpd.service \ +" + + +inherit autotools update-rc.d systemd + +PACKAGECONFIG ??= "" +PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre" +PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline" + +INITSCRIPT_PACKAGES = "${PN}d" +INITSCRIPT_NAME:${PN}d = "atftpd" +INITSCRIPT_PARAMS:${PN}d = "defaults 80" + + +EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'" + +do_install:append() { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/atftpd.init ${D}${sysconfdir}/init.d/atftpd + + install -d ${D}/srv/tftp + + rm ${D}${sbindir}/in.tftpd + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/atftpd.service ${D}${systemd_unitdir}/system +} + +PACKAGES =+ "${PN}d" + +FILES:${PN} = "${bindir}/*" + +FILES:${PN}d = "${sbindir}/* \ + ${sysconfdir} \ + /srv/tftp \ + ${systemd_unitdir}/system/atftpd.service \ +" + +SYSTEMD_PACKAGES = "${PN}d" +SYSTEMD_SERVICE:${PN}d = "atftpd.service" +RPROVIDES:${PN}d += "${PN}d-systemd" +RREPLACES:${PN}d += "${PN}d-systemd" +RCONFLICTS:${PN}d += "${PN}d-systemd" diff --git a/meta-networking/recipes-daemons/lldpd/lldpd_1.0.20.bb b/meta-networking/recipes-daemons/lldpd/lldpd_1.0.20.bb deleted file mode 100644 index 044f1e07459..00000000000 --- a/meta-networking/recipes-daemons/lldpd/lldpd_1.0.20.bb +++ /dev/null @@ -1,81 +0,0 @@ -SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments" -SECTION = "net/misc" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" - -DEPENDS = "libbsd libevent" - -SRC_URI = "\ - http://media.luffy.cx/files/${BPN}/${BP}.tar.gz \ - file://lldpd.init.d \ - file://lldpd.default \ - file://run-ptest \ - " - -SRC_URI[sha256sum] = "61b8cb22d4879e68f7825a2fb8e1e92abb4aba4773977cf0258bc32ed9f55450" - -inherit autotools update-rc.d useradd systemd pkgconfig bash-completion github-releases ptest - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system -g lldpd --shell /bin/false lldpd" -GROUPADD_PARAM:${PN} = "--system lldpd" - -EXTRA_OECONF += "--without-embedded-libevent \ - --disable-oldies \ - --with-privsep-user=lldpd \ - --with-privsep-group=lldpd \ - --with-systemdsystemunitdir=${systemd_system_unitdir} \ - --without-sysusersdir \ -" - -PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" -PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2" -PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp" -PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" -PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp" -PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp" -PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp" -PACKAGECONFIG[edp] = "--enable-edp,--disable-edp" -PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp" -PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed" -PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1" -PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3" -PACKAGECONFIG[custom] = "--enable-custom,--disable-custom" - -INITSCRIPT_NAME = "lldpd" -INITSCRIPT_PARAMS = "defaults" - -SYSTEMD_SERVICE:${PN} = "lldpd.service" - -do_install:append() { - install -Dm 0755 ${UNPACKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd - install -Dm 0644 ${UNPACKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd - # Make an empty configuration file - touch ${D}${sysconfdir}/lldpd.conf -} - -PACKAGES =+ "${PN}-zsh-completion" - -FILES:${PN} += "${libdir}/sysusers.d" -RDEPENDS:${PN} += "os-release" - -FILES:${PN}-zsh-completion += "${datadir}/zsh/" -# FIXME: zsh is broken in meta-oe so this cannot be enabled for now -#RDEPENDS:${PN}-zsh-completion += "zsh" - -RDEPENDS:${PN}-ptest = "libcheck" -DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}" - -TESTDIR = "tests" -do_compile_ptest () { - # hack to remove the call to `make check-TESTS` - sed -i 's/$(MAKE) $(AM_MAKEFLAGS) check-TESTS//g' ${TESTDIR}/Makefile - oe_runmake check -} - -do_install_ptest () { - # install the tests - cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} - # remove the object files - rm ${D}${PTEST_PATH}/${TESTDIR}/*.o -} diff --git a/meta-networking/recipes-daemons/lldpd/lldpd_1.0.21.bb b/meta-networking/recipes-daemons/lldpd/lldpd_1.0.21.bb new file mode 100644 index 00000000000..73f7ac68a32 --- /dev/null +++ b/meta-networking/recipes-daemons/lldpd/lldpd_1.0.21.bb @@ -0,0 +1,81 @@ +SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments" +SECTION = "net/misc" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d" + +DEPENDS = "libbsd libevent" + +SRC_URI = "\ + http://media.luffy.cx/files/${BPN}/${BP}.tar.gz \ + file://lldpd.init.d \ + file://lldpd.default \ + file://run-ptest \ + " + +SRC_URI[sha256sum] = "5b1b0106079a0785b55e1be45cec40b66b41779f3ee6f1a8d2dbd75d389df091" + +inherit autotools update-rc.d useradd systemd pkgconfig bash-completion github-releases ptest + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system -g lldpd --shell /bin/false lldpd" +GROUPADD_PARAM:${PN} = "--system lldpd" + +EXTRA_OECONF += "--without-embedded-libevent \ + --disable-oldies \ + --with-privsep-user=lldpd \ + --with-privsep-group=lldpd \ + --with-systemdsystemunitdir=${systemd_system_unitdir} \ + --without-sysusersdir \ +" + +PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3" +PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxml2" +PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" +PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp" +PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp" +PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp" +PACKAGECONFIG[edp] = "--enable-edp,--disable-edp" +PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp" +PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed" +PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1" +PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3" +PACKAGECONFIG[custom] = "--enable-custom,--disable-custom" + +INITSCRIPT_NAME = "lldpd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_SERVICE:${PN} = "lldpd.service" + +do_install:append() { + install -Dm 0755 ${UNPACKDIR}/lldpd.init.d ${D}${sysconfdir}/init.d/lldpd + install -Dm 0644 ${UNPACKDIR}/lldpd.default ${D}${sysconfdir}/default/lldpd + # Make an empty configuration file + touch ${D}${sysconfdir}/lldpd.conf +} + +PACKAGES =+ "${PN}-zsh-completion" + +FILES:${PN} += "${libdir}/sysusers.d" +RDEPENDS:${PN} += "os-release" + +FILES:${PN}-zsh-completion += "${datadir}/zsh/" +# FIXME: zsh is broken in meta-oe so this cannot be enabled for now +#RDEPENDS:${PN}-zsh-completion += "zsh" + +RDEPENDS:${PN}-ptest = "libcheck" +DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}" + +TESTDIR = "tests" +do_compile_ptest () { + # hack to remove the call to `make check-TESTS` + sed -i 's/$(MAKE) $(AM_MAKEFLAGS) check-TESTS//g' ${TESTDIR}/Makefile + oe_runmake check +} + +do_install_ptest () { + # install the tests + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + # remove the object files + rm ${D}${PTEST_PATH}/${TESTDIR}/*.o +} diff --git a/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.2.4.bb b/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.2.4.bb index e7db8a948b0..aa7c9b8736b 100644 --- a/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.2.4.bb +++ b/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.2.4.bb @@ -2,20 +2,20 @@ SUMMARY = "Dispatcher service for systemd-networkd connection status changes" DESCRIPTION = "This daemon is similar to NetworkManager-dispatcher, but is much \ more limited in the types of events it supports due to the limited nature of \ systemd-networkd(8)." +HOMEPAGE = "https://gitlab.com/craftyguy/networkd-dispatcher" +BUGTRACKER = "https://gitlab.com/craftyguy/networkd-dispatcher/-/issues" +SECTION = "network" LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d" -inherit features_check systemd +inherit allarch features_check systemd -RDEPENDS:${PN} = "python3-pygobject python3-dbus python3-json" REQUIRED_DISTRO_FEATURES = "systemd gobject-introspection-data" +SRC_URI = "git://gitlab.com/craftyguy/networkd-dispatcher;protocol=https;nobranch=1;tag=${PV}" SRCREV = "dfd26d72793914eb3da910ef8c71de6d7c8942a2" -SRC_URI = "git://gitlab.com/craftyguy/networkd-dispatcher;protocol=https;nobranch=1" - -SYSTEMD_PACKAGES = "${PN}" SYSTEMD_SERVICE:${PN} = "networkd-dispatcher.service" SYSTEMD_AUTO_ENABLE = "disable" @@ -28,3 +28,5 @@ do_install() { install -D -m 0644 ${S}/networkd-dispatcher.service ${D}/${systemd_system_unitdir}/networkd-dispatcher.service install -D -m 0644 ${S}/networkd-dispatcher.conf ${D}/${sysconfdir}/conf.d/networkd-dispatcher.conf } + +RDEPENDS:${PN} = "python3-dbus python3-json python3-pygobject" diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-build-with-fno-common.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-build-with-fno-common.patch deleted file mode 100644 index b581c571bb2..00000000000 --- a/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-build-with-fno-common.patch +++ /dev/null @@ -1,311 +0,0 @@ -From 9a46462f08535e946d97fd40c79229a7ee8b7336 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 17 Aug 2020 00:00:00 -0700 -Subject: [PATCH] Fix build with -fno-common - -Mark the declarations with extern where needed in header files - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - src/ckpt/agent/cpa_cb.h | 2 +- - src/ckpt/ckptd/cpd_init.h | 2 +- - src/evt/agent/eda.h | 2 +- - src/evt/evtd/eds.h | 2 +- - src/evt/evtd/eds_amf.c | 2 ++ - src/evt/evtd/eds_amf.h | 2 +- - src/evt/evtd/eds_cb.h | 2 +- - src/imm/immd/immd.h | 2 +- - src/lck/lckd/gld_dl_api.h | 4 ++-- - src/lck/lcknd/glnd_cb.h | 4 ++-- - src/mds/mds_core.h | 34 +++++++++++++++++++--------------- - src/mds/mds_dt_tcp.c | 2 ++ - src/mds/mds_dt_tcp.h | 2 +- - src/mds/mds_main.c | 2 +- - src/msg/msgnd/mqnd_db.h | 2 +- - 15 files changed, 37 insertions(+), 29 deletions(-) - -diff --git a/src/ckpt/agent/cpa_cb.h b/src/ckpt/agent/cpa_cb.h -index ac48c6c..d633583 100644 ---- a/src/ckpt/agent/cpa_cb.h -+++ b/src/ckpt/agent/cpa_cb.h -@@ -119,7 +119,7 @@ typedef struct cpa_cb { - - } CPA_CB; - --uint32_t gl_cpa_hdl; -+extern uint32_t gl_cpa_hdl; - - typedef struct cpa_prcess_evt_sync { - NCS_QELEM qelem; -diff --git a/src/ckpt/ckptd/cpd_init.h b/src/ckpt/ckptd/cpd_init.h -index 0c02642..cf3466b 100644 ---- a/src/ckpt/ckptd/cpd_init.h -+++ b/src/ckpt/ckptd/cpd_init.h -@@ -33,7 +33,7 @@ - #include - #include "cpd_cb.h" - --uint32_t gl_cpd_cb_hdl; -+extern uint32_t gl_cpd_cb_hdl; - - /* Macro to get the component name for the component type */ - #define m_CPD_TASKNAME "CPD" -diff --git a/src/evt/agent/eda.h b/src/evt/agent/eda.h -index 4d1991c..138c910 100644 ---- a/src/evt/agent/eda.h -+++ b/src/evt/agent/eda.h -@@ -39,7 +39,7 @@ - #include "base/logtrace.h" - - /* EDA CB global handle declaration */ --uint32_t gl_eda_hdl; -+extern uint32_t gl_eda_hdl; - - /* EDA Default MDS timeout value */ - #define EDA_MDS_DEF_TIMEOUT 100 -diff --git a/src/evt/evtd/eds.h b/src/evt/evtd/eds.h -index bc9c429..3545d77 100644 ---- a/src/evt/evtd/eds.h -+++ b/src/evt/evtd/eds.h -@@ -72,6 +72,6 @@ - #include "base/daemon.h" - - /* EDS CB global handle declaration */ --uint32_t gl_eds_hdl; -+extern uint32_t gl_eds_hdl; - - #endif // EVT_EVTD_EDS_H_ -diff --git a/src/evt/evtd/eds_amf.c b/src/evt/evtd/eds_amf.c -index 97b71a5..adebf0c 100644 ---- a/src/evt/evtd/eds_amf.c -+++ b/src/evt/evtd/eds_amf.c -@@ -30,6 +30,8 @@ stuff. - #include "eds.h" - #include "eds_dl_api.h" - -+struct next_HAState nextStateInfo; -+ - /* HA AMF statemachine & State handler definitions */ - - /**************************************************************************** -diff --git a/src/evt/evtd/eds_amf.h b/src/evt/evtd/eds_amf.h -index e9aeaa6..f9803b4 100644 ---- a/src/evt/evtd/eds_amf.h -+++ b/src/evt/evtd/eds_amf.h -@@ -49,7 +49,7 @@ uint32_t eds_quiesced_state_handler(EDS_CB *cb, SaInvocationT invocation); - struct next_HAState { - uint8_t nextState1; - uint8_t nextState2; --} nextStateInfo; /* AMF HA state can transit to a maximum of the two defined -+}; /* AMF HA state can transit to a maximum of the two defined - states */ - - #define VALIDATE_STATE(curr, next) \ -diff --git a/src/evt/evtd/eds_cb.h b/src/evt/evtd/eds_cb.h -index c127ead..19c48cd 100644 ---- a/src/evt/evtd/eds_cb.h -+++ b/src/evt/evtd/eds_cb.h -@@ -40,7 +40,7 @@ - #include "base/ncssysf_tmr.h" - - /* global variables */ --uint32_t gl_eds_hdl; -+extern uint32_t gl_eds_hdl; - - struct eda_reg_list_tag; - -diff --git a/src/imm/immd/immd.h b/src/imm/immd/immd.h -index 7dc1da6..bab3945 100644 ---- a/src/imm/immd/immd.h -+++ b/src/imm/immd/immd.h -@@ -42,7 +42,7 @@ - #include "immd_sbedu.h" - #include "base/ncs_mda_pvt.h" - --IMMD_CB *immd_cb; -+extern IMMD_CB *immd_cb; - - extern uint32_t initialize_for_assignment(IMMD_CB *cb, SaAmfHAStateT ha_state); - -diff --git a/src/lck/lckd/gld_dl_api.h b/src/lck/lckd/gld_dl_api.h -index 6476a71..3a67fd1 100644 ---- a/src/lck/lckd/gld_dl_api.h -+++ b/src/lck/lckd/gld_dl_api.h -@@ -33,7 +33,7 @@ - #include "base/ncsgl_defs.h" - #include "base/ncs_lib.h" - --uint32_t gl_gld_hdl; --uint32_t gld_lib_req(NCS_LIB_REQ_INFO *req_info); -+extern uint32_t gl_gld_hdl; -+extern uint32_t gld_lib_req(NCS_LIB_REQ_INFO *req_info); - - #endif // LCK_LCKD_GLD_DL_API_H_ -diff --git a/src/lck/lcknd/glnd_cb.h b/src/lck/lcknd/glnd_cb.h -index 3b82f60..77a1f88 100644 ---- a/src/lck/lcknd/glnd_cb.h -+++ b/src/lck/lcknd/glnd_cb.h -@@ -28,8 +28,8 @@ extern "C" { - #endif - - /* global variables */ --uint32_t gl_glnd_hdl; --NCSCONTEXT gl_glnd_task_hdl; -+extern uint32_t gl_glnd_hdl; -+extern NCSCONTEXT gl_glnd_task_hdl; - - /* macros for the global varibales */ - #define m_GLND_RETRIEVE_GLND_CB_HDL gl_glnd_hdl -diff --git a/src/mds/mds_core.h b/src/mds/mds_core.h -index dad62cd..ed69d3a 100644 ---- a/src/mds/mds_core.h -+++ b/src/mds/mds_core.h -@@ -26,6 +26,10 @@ - #ifndef MDS_MDS_CORE_H_ - #define MDS_MDS_CORE_H_ - -+#ifndef EXTERN -+#define EXTERN extern -+#endif -+ - #include - #include "base/ncsgl_defs.h" - #include "mds/mds_papi.h" -@@ -600,65 +604,65 @@ extern "C" { - /* ******************************************** */ - - /* Initialization of MDTM Module */ --uint32_t (*mds_mdtm_init)(NODE_ID node_id, uint32_t *mds_tipc_ref); -+EXTERN uint32_t (*mds_mdtm_init)(NODE_ID node_id, uint32_t *mds_tipc_ref); - - /* Destroying the MDTM Module*/ --uint32_t (*mds_mdtm_destroy)(void); -+EXTERN uint32_t (*mds_mdtm_destroy)(void); - --uint32_t (*mds_mdtm_send)(MDTM_SEND_REQ *req); -+EXTERN uint32_t (*mds_mdtm_send)(MDTM_SEND_REQ *req); - - /* SVC Install */ --uint32_t (*mds_mdtm_svc_install)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id, -+EXTERN uint32_t (*mds_mdtm_svc_install)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id, - NCSMDS_SCOPE_TYPE install_scope, - V_DEST_RL role, MDS_VDEST_ID vdest_id, - NCS_VDEST_TYPE vdest_policy, - MDS_SVC_PVT_SUB_PART_VER mds_svc_pvt_ver); - - /* SVC Uninstall */ --uint32_t (*mds_mdtm_svc_uninstall)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id, -+EXTERN uint32_t (*mds_mdtm_svc_uninstall)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id, - NCSMDS_SCOPE_TYPE install_scope, - V_DEST_RL role, MDS_VDEST_ID vdest_id, - NCS_VDEST_TYPE vdest_policy, - MDS_SVC_PVT_SUB_PART_VER mds_svc_pvt_ver); - - /* SVC Subscribe */ --uint32_t (*mds_mdtm_svc_subscribe)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id, -+EXTERN uint32_t (*mds_mdtm_svc_subscribe)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id, - NCSMDS_SCOPE_TYPE subscribe_scope, - MDS_SVC_HDL local_svc_hdl, - MDS_SUBTN_REF_VAL *subtn_ref_val); - - /* added svc_hdl */ - /* SVC Unsubscribe */ --uint32_t (*mds_mdtm_svc_unsubscribe)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id, -+EXTERN uint32_t (*mds_mdtm_svc_unsubscribe)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id, - NCSMDS_SCOPE_TYPE subscribe_scope, - MDS_SUBTN_REF_VAL subtn_ref_val); - - /* VDEST Install */ --uint32_t (*mds_mdtm_vdest_install)(MDS_VDEST_ID vdest_id); -+EXTERN uint32_t (*mds_mdtm_vdest_install)(MDS_VDEST_ID vdest_id); - - /* VDEST Uninstall */ --uint32_t (*mds_mdtm_vdest_uninstall)(MDS_VDEST_ID vdest_id); -+EXTERN uint32_t (*mds_mdtm_vdest_uninstall)(MDS_VDEST_ID vdest_id); - - /* VDEST Subscribe */ --uint32_t (*mds_mdtm_vdest_subscribe)(MDS_VDEST_ID vdest_id, -+EXTERN uint32_t (*mds_mdtm_vdest_subscribe)(MDS_VDEST_ID vdest_id, - MDS_SUBTN_REF_VAL *subtn_ref_val); - - /* VDEST Unsubscribe */ --uint32_t (*mds_mdtm_vdest_unsubscribe)(MDS_VDEST_ID vdest_id, -+EXTERN uint32_t (*mds_mdtm_vdest_unsubscribe)(MDS_VDEST_ID vdest_id, - MDS_SUBTN_REF_VAL subtn_ref_val); - - /* Tx Register (For incrementing the use count) */ --uint32_t (*mds_mdtm_tx_hdl_register)(MDS_DEST adest); -+EXTERN uint32_t (*mds_mdtm_tx_hdl_register)(MDS_DEST adest); - - /* Tx Unregister (For decrementing the use count) */ --uint32_t (*mds_mdtm_tx_hdl_unregister)(MDS_DEST adest); -+EXTERN uint32_t (*mds_mdtm_tx_hdl_unregister)(MDS_DEST adest); - - /* Node subscription */ --uint32_t (*mds_mdtm_node_subscribe)(MDS_SVC_HDL svc_hdl, -+EXTERN uint32_t (*mds_mdtm_node_subscribe)(MDS_SVC_HDL svc_hdl, - MDS_SUBTN_REF_VAL *subtn_ref_val); - - /* Node unsubscription */ --uint32_t (*mds_mdtm_node_unsubscribe)(MDS_SUBTN_REF_VAL subtn_ref_val); -+EXTERN uint32_t (*mds_mdtm_node_unsubscribe)(MDS_SUBTN_REF_VAL subtn_ref_val); - - #ifdef __cplusplus - } -diff --git a/src/mds/mds_dt_tcp.c b/src/mds/mds_dt_tcp.c -index 4a37246..e73cef4 100644 ---- a/src/mds/mds_dt_tcp.c -+++ b/src/mds/mds_dt_tcp.c -@@ -70,6 +70,8 @@ NCS_PATRICIA_TREE mdtm_reassembly_list; - - /* Get the pid of the process */ - pid_t mdtm_pid; -+ -+MDTM_TCP_CB *tcp_cb; - - static void mds_mdtm_enc_init(MDS_MDTM_DTM_MSG *init, uint8_t *buff); - static uint32_t mdtm_create_rcv_task(void); -diff --git a/src/mds/mds_dt_tcp.h b/src/mds/mds_dt_tcp.h -index 1065464..350d534 100644 ---- a/src/mds/mds_dt_tcp.h -+++ b/src/mds/mds_dt_tcp.h -@@ -50,7 +50,7 @@ typedef struct mdtm_tcp_cb { - - } MDTM_TCP_CB; - --MDTM_TCP_CB *tcp_cb; -+extern MDTM_TCP_CB *tcp_cb; - - typedef enum mds_mdtm_dtm_msg_types { - MDS_MDTM_DTM_PID_TYPE = 1, -diff --git a/src/mds/mds_main.c b/src/mds/mds_main.c -index 0bcb2f9..5671ed3 100644 ---- a/src/mds/mds_main.c -+++ b/src/mds/mds_main.c -@@ -20,7 +20,7 @@ - #endif - - #include "osaf/configmake.h" -- -+#define EXTERN - /***************************************************************************** - .............................................................................. - -diff --git a/src/msg/msgnd/mqnd_db.h b/src/msg/msgnd/mqnd_db.h -index b78024e..fee43e5 100644 ---- a/src/msg/msgnd/mqnd_db.h -+++ b/src/msg/msgnd/mqnd_db.h -@@ -33,7 +33,7 @@ - #include - #include - /* Decleration for global variable */ --uint32_t gl_mqnd_cb_hdl; -+extern uint32_t gl_mqnd_cb_hdl; - - /* Macros for reading global database */ - #define m_MQND_STORE_HDL(hdl) (gl_mqnd_cb_hdl = (hdl)) --- -2.28.0 - diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0001-To-fix-Werror-discarded-qualifiers-error.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0001-To-fix-Werror-discarded-qualifiers-error.patch new file mode 100644 index 00000000000..d27c783cded --- /dev/null +++ b/meta-networking/recipes-daemons/opensaf/opensaf/0001-To-fix-Werror-discarded-qualifiers-error.patch @@ -0,0 +1,81 @@ +From ac79c1da91f51b10059a266bf4db068a01963b01 Mon Sep 17 00:00:00 2001 +From: Liu Yiding +Date: Wed, 18 Mar 2026 03:35:16 +0000 +Subject: [PATCH] To fix [-Werror=discarded-qualifiers] error to build with glibc 2.43 + +| ../sources/opensaf-5.22.01/src/osaf/immutil/immutil.c:339:12: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] +| 339 | cp = strstr(buffer, key); + +Upstream-Status: Pending + +Signed-off-by: Liu Yiding +--- + src/amf/common/util.c | 8 ++++---- + src/ckpt/ckptd/cpd_imm.c | 4 ++-- + src/osaf/immutil/immutil.c | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/amf/common/util.c b/src/amf/common/util.c +index d17b766..56c1a50 100644 +--- a/src/amf/common/util.c ++++ b/src/amf/common/util.c +@@ -252,8 +252,8 @@ void avsv_sanamet_init_from_association_dn(const SaNameT *haystack, SaNameT *dn, + const char *needle, + const char *parent) + { +- char *p; +- char *pp; ++ const char *p; ++ const char *pp; + int i = 0; + + osaf_extended_name_clear(dn); +@@ -270,8 +270,8 @@ void avsv_sanamet_init_from_association_dn(const SaNameT *haystack, SaNameT *dn, + + /* copy the value upto parent but skip escape chars */ + int size = 0; +- char *p1 = p; +- char *pp1 = pp; ++ const char *p1 = p; ++ const char *pp1 = pp; + while (p != pp) { + if (*p != '\\') + size++; +diff --git a/src/ckpt/ckptd/cpd_imm.c b/src/ckpt/ckptd/cpd_imm.c +index e2dee0c..7c25d02 100644 +--- a/src/ckpt/ckptd/cpd_imm.c ++++ b/src/ckpt/ckptd/cpd_imm.c +@@ -117,7 +117,7 @@ cpd_saImmOiRtAttrUpdateCallback(SaImmOiHandleT immOiHandle, + /* Extract ckpt_name and node_name */ + if (strncmp(object_name, "safReplica=", 11) == 0) { + /* Extract ckpt_name */ +- char *p_char = strchr(object_name, ','); ++ const char *p_char = strchr(object_name, ','); + if (p_char) { + p_char++; /* escaping first ',' of the associated class + DN name */ +@@ -657,7 +657,7 @@ SaAisErrorT create_runtime_ckpt_object(CPD_CKPT_INFO_NODE *ckpt_node, + SaNameT parentName; + SaAisErrorT rc = SA_AIS_OK; + char *dndup = strdup(ckpt_node->ckpt_name); +- char *parent_name = strchr(ckpt_node->ckpt_name, ','); ++ const char *parent_name = strchr(ckpt_node->ckpt_name, ','); + char *rdnstr; + const SaImmAttrValuesT_2 *attrValues[7]; + SaImmAttrValueT dn[1], create_time[1], creat_flags[1], max_sections[1], +diff --git a/src/osaf/immutil/immutil.c b/src/osaf/immutil/immutil.c +index 1ca1fbb..d3a5b63 100644 +--- a/src/osaf/immutil/immutil.c ++++ b/src/osaf/immutil/immutil.c +@@ -336,7 +336,7 @@ char const *immutil_getStringValue(char const *key, SaNameT const *name) + klen = strlen(key); + assert(klen > 1 || key[klen - 1] == '='); + +- cp = strstr(buffer, key); ++ cp = (char*)strstr(buffer, key); + while (cp != NULL) { + if (cp == buffer || cp[-1] == ',') { + char *value = cp + klen; +-- +2.43.0 + diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-cstdint-for-uintXX_t-types.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-cstdint-for-uintXX_t-types.patch deleted file mode 100644 index e36d4e0cdcb..00000000000 --- a/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-cstdint-for-uintXX_t-types.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 225891675b80beaa9d74ce56809e52c4451df72c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 25 Jan 2023 21:46:22 -0800 -Subject: [PATCH 1/2] include cstdint for uintXX_t types - -GCC-13 needs it [1] - -[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/imm/immnd/ImmModel.h | 1 + - src/osaf/consensus/consensus_env.h | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/imm/immnd/ImmModel.h b/src/imm/immnd/ImmModel.h -index 44da470..0660431 100644 ---- a/src/imm/immnd/ImmModel.h -+++ b/src/imm/immnd/ImmModel.h -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/osaf/consensus/consensus_env.h b/src/osaf/consensus/consensus_env.h -index df4f93a..89ccf46 100644 ---- a/src/osaf/consensus/consensus_env.h -+++ b/src/osaf/consensus/consensus_env.h -@@ -15,6 +15,7 @@ - #ifndef OSAF_CONSENSUS_CONSENSUS_ENV_H_ - #define OSAF_CONSENSUS_CONSENSUS_ENV_H_ - -+#include - #include - #include "base/mutex.h" - --- -2.39.1 - diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch deleted file mode 100644 index e735d432a79..00000000000 --- a/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6168d43ddd353b92ad8bcd5c49dc68f18caa8a00 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 12 Apr 2022 17:07:49 -0700 -Subject: [PATCH 1/2] include missing header - -Fixes -src/osaf/consensus/key_value.cc:25:30: error: aggregate 'std::array buffer' has incomplete type and cannot be defined - 25 | std::array buffer; - | ^~~~~~ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/osaf/consensus/key_value.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/osaf/consensus/key_value.cc b/src/osaf/consensus/key_value.cc -index 692dd3f..6e16cbf 100644 ---- a/src/osaf/consensus/key_value.cc -+++ b/src/osaf/consensus/key_value.cc -@@ -18,7 +18,7 @@ - #include "base/getenv.h" - #include "base/logtrace.h" - #include "osaf/consensus/consensus.h" -- -+#include - int KeyValue::Execute(const std::string& command, std::string& output) { - TRACE_ENTER(); - constexpr size_t buf_size = 128; --- -2.35.1 - diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-Werror-enum-int-mismatch-with-gcc13.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-Werror-enum-int-mismatch-with-gcc13.patch deleted file mode 100644 index a6aa2c3d076..00000000000 --- a/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-Werror-enum-int-mismatch-with-gcc13.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 5e5686de677c884d5d785254412ced3c9d2d1b08 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 25 Jan 2023 21:47:45 -0800 -Subject: [PATCH 2/2] Fix -Werror=enum-int-mismatch with gcc13 - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - src/evt/agent/eda_hdl.h | 5 +++-- - src/evt/evtd/eds_mds.h | 3 +-- - src/smf/smfnd/smfnd.h | 8 ++++---- - 3 files changed, 8 insertions(+), 8 deletions(-) - ---- a/src/evt/agent/eda_hdl.h -+++ b/src/evt/agent/eda_hdl.h -@@ -31,6 +31,7 @@ - #define EVT_AGENT_EDA_HDL_H_ - - #include "evt/agent/eda.h" -+#include "ais/include/saAis.h" - - uint32_t eda_hdl_cbk_dispatch(EDA_CB *, EDA_CLIENT_HDL_REC *, SaDispatchFlagsT); - -@@ -68,11 +69,11 @@ EDA_CHANNEL_HDL_REC *eda_find_chan_hdl_r - - void eda_msg_destroy(EDSV_MSG *msg); - --uint32_t eda_extract_pattern_from_event( -+SaAisErrorT eda_extract_pattern_from_event( - SaEvtEventPatternArrayT *from_pattern_array, - SaEvtEventPatternArrayT **to_pattern_array); - --uint32_t eda_allocate_and_extract_pattern_from_event( -+SaAisErrorT eda_allocate_and_extract_pattern_from_event( - SaEvtEventPatternArrayT *from_pattern_array, - SaEvtEventPatternArrayT **to_pattern_array); - ---- a/src/evt/evtd/eds_mds.h -+++ b/src/evt/evtd/eds_mds.h -@@ -49,8 +49,7 @@ uint32_t eds_mds_msg_send(EDS_CB *cb, ED - MDS_SEND_PRIORITY_TYPE prio); - - uint32_t eds_mds_ack_send(EDS_CB *cb, EDSV_MSG *msg, MDS_DEST dest, -- SaTimeT timeout, MDS_SEND_PRIORITY_TYPE prio); -- -+ SaTimeT timeout, uint32_t prio); - uint32_t eds_dec_subscribe_msg(NCS_UBAID *uba, long msg_hdl, uint8_t ckpt_flag); - - uint32_t eds_dec_publish_msg(NCS_UBAID *uba, long msg_hdl, uint8_t ckpt_flag); ---- a/src/smf/smfnd/smfnd.h -+++ b/src/smf/smfnd/smfnd.h -@@ -76,7 +76,7 @@ extern "C" { - #endif - - /* smfnd_amf.c */ --extern uint32_t smfnd_amf_init(smfnd_cb_t *cb); -+extern SaAisErrorT smfnd_amf_init(smfnd_cb_t *cb); - - /* smfnd_mds.c */ - extern uint32_t smfnd_mds_init(smfnd_cb_t *cb); diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb b/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb deleted file mode 100644 index 3dd950c720a..00000000000 --- a/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb +++ /dev/null @@ -1,99 +0,0 @@ -SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification" -DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \ -middleware consistent with Service Availability Forum (SA Forum) \ -specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \ -established by leading Communications and Enterprise Computing Companies to \ -facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \ -code base in commercial products. \ -The OpenSAF project was launched in mid 2007 and has been under development by \ -an informal group of supporters of the OpenSAF initiative. The OpenSAF \ -Foundation was founded on January 22nd 2008 with Emerson Network Power, \ -Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members." -HOMEPAGE = "http://www.opensaf.org" -SECTION = "admin" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" - -DEPENDS = "libxml2 python3" -TOOLCHAIN = "gcc" - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ - file://0001-configure-Pass-linker-specific-options-with-Wl.patch \ - file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \ - file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \ - file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \ - file://0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch \ - file://0001-immom_python-convert-to-python3.patch \ - file://0001-Fix-build-with-fno-common.patch \ - file://0001-Use-correct-printf-format-for-__fsblkcnt_t.patch \ - file://0001-include-missing-array-header.patch \ - file://0002-configure-Disable-selected-warnings.patch \ - file://0001-include-cstdint-for-uintXX_t-types.patch \ - file://0002-Fix-Werror-enum-int-mismatch-with-gcc13.patch \ - " -SRC_URI[sha256sum] = "f008d53c83087ce2014c6089bc4ef08e14c1b4091298b943f4ceade1aa6bf61e" - -UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/opensaf/files/releases" - -inherit autotools useradd systemd pkgconfig - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "-f -r opensaf" -USERADD_PARAM:${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf" - -SYSTEMD_SERVICE:${PN} += "opensafd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -PACKAGECONFIG[systemd] = ",,systemd" -PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03,,openhpi" -PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi" - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}" - -CPPFLAGS += "-Wno-error" -CXXFLAGS += "-Wno-error" -LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" - -do_install:append() { - rm -fr "${D}${localstatedir}/lock" - rm -fr "${D}${localstatedir}/run" - rmdir "${D}${localstatedir}/log/${BPN}/saflog" - rmdir "${D}${localstatedir}/log/${BPN}" - rmdir "${D}${localstatedir}/log" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" - rmdir --ignore-fail-on-non-empty "${D}${datadir}/java" - - # Rename /etc/init.d/opensafd to /usr/lib/opensaf/opensafd-init as it is - # needed by opensafd.service, but /etc/init.d is removed by systemd.bbclass - # if sysvinit is not in DISTRO_FEATURES. - mv ${D}${sysconfdir}/init.d/opensafd ${D}${libdir}/${BPN}/opensafd-init - ln -srf ${D}${libdir}/${BPN}/opensafd-init ${D}${sysconfdir}/init.d/opensafd - [ ! -f ${D}${systemd_system_unitdir}/opensafd.service ] || - sed -ri -e "s|/etc/init.d/opensafd|${libdir}/${BPN}/opensafd-init|" ${D}${systemd_system_unitdir}/opensafd.service - - # Create /var/log/opensaf/saflog in runtime. - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then - install -d ${D}${nonarch_libdir}/tmpfiles.d - echo "d ${localstatedir}/log/${BPN}/saflog - - - -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf - fi - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then - install -d ${D}${sysconfdir}/default/volatiles - echo "d root root 0755 ${localstatedir}/log/${BPN}/saflog none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} - fi -} - -FILES:${PN} += "${libdir}/libSa*.so ${systemd_unitdir}/system/*.service" -FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" -FILES:${PN}-dev += "${libdir}/libopensaf_core.so" -FILES:${PN}-staticdev += "${PKGLIBDIR}/*.a" - -INSANE_SKIP:${PN} = "dev-so" - -RDEPENDS:${PN} += "bash python3-core" - -# http://errors.yoctoproject.org/Errors/Details/186970/ -COMPATIBLE_HOST:libc-musl = 'null' - -FILES_SOLIBSDEV = "" diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_5.26.02.bb b/meta-networking/recipes-daemons/opensaf/opensaf_5.26.02.bb new file mode 100644 index 00000000000..eede11515bc --- /dev/null +++ b/meta-networking/recipes-daemons/opensaf/opensaf_5.26.02.bb @@ -0,0 +1,96 @@ +SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification" +DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \ +middleware consistent with Service Availability Forum (SA Forum) \ +specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \ +established by leading Communications and Enterprise Computing Companies to \ +facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \ +code base in commercial products. \ +The OpenSAF project was launched in mid 2007 and has been under development by \ +an informal group of supporters of the OpenSAF initiative. The OpenSAF \ +Foundation was founded on January 22nd 2008 with Emerson Network Power, \ +Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members." +HOMEPAGE = "http://www.opensaf.org" +SECTION = "admin" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" + +DEPENDS = "libxml2 python3" +TOOLCHAIN = "gcc" + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ + file://0001-configure-Pass-linker-specific-options-with-Wl.patch \ + file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \ + file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \ + file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \ + file://0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch \ + file://0001-immom_python-convert-to-python3.patch \ + file://0001-Use-correct-printf-format-for-__fsblkcnt_t.patch \ + file://0002-configure-Disable-selected-warnings.patch \ + file://0001-To-fix-Werror-discarded-qualifiers-error.patch \ + " +SRC_URI[sha256sum] = "c51603bc486ce6db271a7023a75963bfc6f277f4d4486df2fe004a51c81cfdee" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/opensaf/files/releases" + +inherit autotools useradd systemd pkgconfig + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "-f -r opensaf" +USERADD_PARAM:${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf" + +SYSTEMD_SERVICE:${PN} += "opensafd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +PACKAGECONFIG[systemd] = ",,systemd" +PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03,,openhpi" +PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}" + +CPPFLAGS += "-Wno-error" +CXXFLAGS += "-Wno-error" +LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" + +do_install:append() { + rm -fr "${D}${localstatedir}/lock" + rm -fr "${D}${localstatedir}/run" + rmdir "${D}${localstatedir}/log/${BPN}/saflog" + rmdir "${D}${localstatedir}/log/${BPN}" + rmdir "${D}${localstatedir}/log" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + rmdir --ignore-fail-on-non-empty "${D}${datadir}/java" + + # Rename /etc/init.d/opensafd to /usr/lib/opensaf/opensafd-init as it is + # needed by opensafd.service, but /etc/init.d is removed by systemd.bbclass + # if sysvinit is not in DISTRO_FEATURES. + mv ${D}${sysconfdir}/init.d/opensafd ${D}${libdir}/${BPN}/opensafd-init + ln -srf ${D}${libdir}/${BPN}/opensafd-init ${D}${sysconfdir}/init.d/opensafd + [ ! -f ${D}${systemd_system_unitdir}/opensafd.service ] || + sed -ri -e "s|/etc/init.d/opensafd|${libdir}/${BPN}/opensafd-init|" ${D}${systemd_system_unitdir}/opensafd.service + + # Create /var/log/opensaf/saflog in runtime. + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then + install -d ${D}${nonarch_libdir}/tmpfiles.d + echo "d ${localstatedir}/log/${BPN}/saflog - - - -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf + fi + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then + install -d ${D}${sysconfdir}/default/volatiles + echo "d root root 0755 ${localstatedir}/log/${BPN}/saflog none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} + fi +} + +FILES:${PN} += "${libdir}/libSa*.so ${systemd_unitdir}/system/*.service" +FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" +FILES:${PN}-dev += "${libdir}/libopensaf_core.so" +FILES:${PN}-staticdev += "${PKGLIBDIR}/*.a" + +INSANE_SKIP:${PN} = "dev-so" + +RDEPENDS:${PN} += "bash python3-core" + +# http://errors.yoctoproject.org/Errors/Details/186970/ +COMPATIBLE_HOST:libc-musl = 'null' + +FILES_SOLIBSDEV = "" diff --git a/meta-networking/recipes-daemons/postfix/files/0001-Fix-build-with-musl.patch b/meta-networking/recipes-daemons/postfix/files/0001-Fix-build-with-musl.patch new file mode 100644 index 00000000000..d09418eaace --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/0001-Fix-build-with-musl.patch @@ -0,0 +1,50 @@ +From cbe5ba0deeba6329eed63eade06bb8c062d0d445 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Fri, 8 May 2026 22:39:54 +0800 +Subject: [PATCH] Fix build with musl + +Guard glibc-specific version check with __GLIBC__ macro. When building +with musl, __GLIBC__ is not defined, so the preprocessor previously fell +through to the #else branch and defined NO_SNPRINTF, causing a build +error: + +vbuf_print.c: In function 'vbuf_print': +vbuf_print.c:208:46: error: macro 'VBUF_SNPRINTF' passed 5 arguments, but takes just 4 + 208 | VSTRING_ADDNUM(fmt, width); + | ^ +vbuf_print.c:126:9: note: macro 'VBUF_SNPRINTF' defined here + 126 | #define VBUF_SNPRINTF(bp, sz, fmt, arg) do { \ + | ^~~~~~~~~~~~~ + +Wrap the entire block in #ifdef __GLIBC__ so that neither branch +is entered on musl. + +Upstream-Status: Pending + +Signed-off-by: Yi Zhao +--- + src/util/sys_defs.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h +index 74319f2..6d3c7d2 100644 +--- a/src/util/sys_defs.h ++++ b/src/util/sys_defs.h +@@ -794,12 +794,14 @@ extern int initgroups(const char *, int); + #define NATIVE_NEWALIAS_PATH "/usr/bin/newaliases" + #define NATIVE_COMMAND_DIR "/usr/sbin" + #define NATIVE_DAEMON_DIR "/usr/libexec/postfix" ++#ifdef __GLIBC__ + #if HAVE_GLIBC_API_VERSION_SUPPORT(2, 1) + #define SOCKADDR_SIZE socklen_t + #define SOCKOPT_SIZE socklen_t + #else + #define NO_SNPRINTF + #endif ++#endif + #ifndef NO_IPV6 + #define HAS_IPV6 + #if HAVE_GLIBC_API_VERSION_SUPPORT(2, 4) +-- +2.34.1 + diff --git a/meta-networking/recipes-daemons/postfix/files/0001-makedefs-Account-for-linux-7.x-version.patch b/meta-networking/recipes-daemons/postfix/files/0001-makedefs-Account-for-linux-7.x-version.patch new file mode 100644 index 00000000000..4bc59ace7d9 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/0001-makedefs-Account-for-linux-7.x-version.patch @@ -0,0 +1,47 @@ +From 5466d510dfbc2b7a81dcf766f83d2c89066c0446 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Mon, 11 May 2026 18:16:07 +0000 +Subject: [PATCH] makedefs: Account for linux 7.x version + +Major version has bumped to 7, update the scripts + +Upstream-Status: Backport [The latest stable version 3.11 already fixed] + +Refer: +https://www.ftp.saix.net/MTA/postfix/index.html + +Signed-off-by: Changqing Li +--- + makedefs | 2 +- + src/util/sys_defs.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/makedefs b/makedefs +index 74b103d..fe8c618 100644 +--- a/makedefs ++++ b/makedefs +@@ -625,7 +625,7 @@ EOF + : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} + : ${PLUGIN_LD="${CC-gcc} -shared"} + ;; +- Linux.[3456].*) ++ Linux.[34567].*) + SYSTYPE=LINUX$RELEASE_MAJOR + case "$CCARGS" in + *-DNO_DB*) ;; +diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h +index 70aab23..c5472eb 100644 +--- a/src/util/sys_defs.h ++++ b/src/util/sys_defs.h +@@ -763,7 +763,7 @@ extern int initgroups(const char *, int); + * LINUX. + */ + #if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) \ +- || defined(LINUX6) ++ || defined(LINUX6) || defined(LINUX7) + #define SUPPORTED + #define UINT32_TYPE unsigned int + #define UINT16_TYPE unsigned short +-- +2.53.0 + diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.10.6.bb b/meta-networking/recipes-daemons/postfix/postfix_3.10.6.bb deleted file mode 100644 index 647680bf257..00000000000 --- a/meta-networking/recipes-daemons/postfix/postfix_3.10.6.bb +++ /dev/null @@ -1,250 +0,0 @@ -SUMMARY = "Postfix Mail Transport Agent" -DESCRIPTION = "Postfix is Wietse Venema's mail server that started life at \ -IBM research as an alternative to the widely-used Sendmail program. \ -Postfix attempts to be fast, easy to administer, and secure. The outsidei \ -has a definite Sendmail-ish flavor, but the inside is completely different." - -HOMEPAGE = "http://www.postfix.org" -SECTION = "mail" -DEPENDS = "db icu libpcre2 libnsl2 m4-native openssl postfix-native \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \ -" - -LICENSE = "IPL-1.0 | EPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b181651ad99a7dc4cc8c4ce2f491ed1a" - -SRC_URI = "http://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ - file://main.cf \ - file://postfix \ - file://internal_recipient \ - file://postfix.service \ - file://aliasesdb \ - file://check_hostname.sh \ - file://0001-Fix-makedefs.patch \ - file://0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch \ - file://0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ - file://0004-Fix-icu-config.patch \ - file://0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ - " - -SRC_URI[sha256sum] = "71b383f57d4cb363201be8a301bcbafe304aadbe7f38ebde41cd5b952248465b" - -UPSTREAM_CHECK_URI = "https://www.postfix.org/announcements.html" -UPSTREAM_CHECK_REGEX = "postfix-(?P\d+(\.\d+)+)" - -S = "${UNPACKDIR}/postfix-${PV}" - -CLEANBROKEN = "1" - -BBCLASSEXTEND = "native" - -inherit pkgconfig update-rc.d useradd update-alternatives systemd lib_package - -INITSCRIPT_NAME = "postfix" -INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ." -USERADD_PACKAGES = "${PN}-bin" -USERADD_PARAM:${PN}-bin = \ -"-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \ - -d /var/spool/vmail -r -g vmail --shell /bin/false vmail \ -" -GROUPADD_PARAM:${PN}-bin = "--system postfix;--system postdrop;--system vmail" - -export SYSLIBS = "${LDFLAGS}" - -# CCARGS specifies includes, defines -# AUXLIBS specifies libraries -# Linux2/Linux3 has HAS_DB defined -# makedefs will make CC to be CC+CCARGS - -# ldap support -export CCARGS-ldap = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}" -export AUXLIBS-ldap = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}" - -# no native openldap -export CCARGS-ldap:class-native = "" -export AUXLIBS-ldap:class-native = "" - -export CCARGS-nonis:libc-musl = "-DNO_NIS" -export CCARGS-nonis = "" - -# SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH -# current openldap didn't enable SASL -export CCARGS-sasl = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${STAGING_INCDIR}/sasl', '', d)}" -export AUXLIBS-sasl = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}" -export CCARGS-sasl:class-native = "" -export AUXLIBS-sasl:class-native = "" - -# PCRE, TLS support default -export CCARGS = "${CFLAGS} -DHAS_PCRE=2 -DUSE_TLS -I${STAGING_INCDIR}/openssl ${CCARGS-ldap} ${CCARGS-sasl} ${CCARGS-nonis}" -export AUXLIBS = "-lpcre2-8 -lssl -lcrypto ${AUXLIBS-sasl} ${AUXLIBS-ldap}" -export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf" - -# OPT,DEBUG is aready in CFLAGS -# ignore the OPTS="CC=$CC" in Makefile it will not use the CC=$CC $CCARGS -EXTRA_OEMAKE += "OPT= DEBUG= OPTS= " - -# use gnu17 for now as recommended in: -# https://marc.info/?l=postfix-users&m=173542420611213 -CFLAGS += "-std=gnu17" - -do_compile () { - unset CFLAGS CPPFLAGS CXXFLAGS - local native_build - - native_build="${@['0', '1'][bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d)]}" - - # if not native build, then pass SYSTEM and RELEASE to makedefs - if [ "${native_build}" != "1" ]; then - # uname -s for target - SYSTEM="Linux" - - # uname -r, use 2.6 as bottomline, even target kernel ver > 2.6 - RELEASE="2.6.34" - sed -i -e \ - "s:\$(SHELL) makedefs):\$(SHELL) makedefs $SYSTEM $RELEASE):" \ - ${S}/Makefile.in - export BUILD_SYSROOT="${STAGING_DIR_HOST}" - else - # native build - export BUILD_SYSROOT="${STAGING_DIR_NATIVE}" - fi - - oe_runmake makefiles - oe_runmake -} - -do_install:prepend:class-native() { - export POSTCONF="bin/postconf" -} - -SYSTEMD_SERVICE:${PN} = "postfix.service" - -do_install () { - sh ./postfix-install 'install_root=${D}' \ - 'config_directory=${sysconfdir}/postfix' \ - 'daemon_directory=${libexecdir}/postfix' \ - 'command_directory=${sbindir}' \ - 'queue_directory=${localstatedir}/spool/postfix' \ - 'sendmail_path=${sbindir}/sendmail.postfix' \ - 'newaliases_path=${bindir}/newaliases' \ - 'mailq_path=${bindir}/mailq' \ - 'manpage_directory=${mandir}' \ - 'readme_directory=${datadir}/doc/postfix' \ - 'data_directory=${localstatedir}/lib/postfix' \ - -non-interactive - rm -rf ${D}${localstatedir}/spool/postfix - mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/${MLPREFIX}sample-main.cf - install -m 755 ${S}/bin/smtp-sink ${D}/${sbindir}/ - install -m 644 ${UNPACKDIR}/main.cf ${D}${sysconfdir}/postfix/main.cf - sed -i 's#@LIBEXECDIR@#${libexecdir}#' ${D}${sysconfdir}/postfix/main.cf - - install -m 755 ${UNPACKDIR}/check_hostname.sh ${D}${sbindir}/ - - install -m 644 ${UNPACKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 755 ${UNPACKDIR}/postfix ${D}${sysconfdir}/init.d/postfix - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/postfix.service ${D}${systemd_unitdir}/system - sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_unitdir}/system/postfix.service - sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/postfix.service - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/postfix.service - fi - - install -m 0755 ${UNPACKDIR}/aliasesdb ${D}${libexecdir}/postfix - - install -m 770 -d ${D}${localstatedir}/spool/postfix - chown postfix:postfix ${D}${localstatedir}/spool/postfix - - install -m 0755 -d ${D}${localstatedir}/lib/postfix - chown postfix:nogroup ${D}${localstatedir}/lib/postfix - install -m 0755 -d ${D}${localstatedir}/spool/postfix - chown root:postfix ${D}${localstatedir}/spool/postfix - install -m 0700 -d ${D}${localstatedir}/spool/postfix/active - chown postfix:root ${D}${localstatedir}/spool/postfix/active - install -m 0700 -d ${D}${localstatedir}/spool/postfix/bounce - chown postfix:root ${D}${localstatedir}/spool/postfix/bounce - install -m 0700 -d ${D}${localstatedir}/spool/postfix/corrupt - chown postfix:root ${D}${localstatedir}/spool/postfix/corrupt - install -m 0700 -d ${D}${localstatedir}/spool/postfix/defer - chown postfix:root ${D}${localstatedir}/spool/postfix/defer - install -m 0700 -d ${D}${localstatedir}/spool/postfix/deferred - chown postfix:root ${D}${localstatedir}/spool/postfix/deferred - install -m 0700 -d ${D}${localstatedir}/spool/postfix/flush - chown postfix:root ${D}${localstatedir}/spool/postfix/flush - install -m 0700 -d ${D}${localstatedir}/spool/postfix/hold - chown postfix:root ${D}${localstatedir}/spool/postfix/hold - install -m 0700 -d ${D}${localstatedir}/spool/postfix/incoming - chown postfix:root ${D}${localstatedir}/spool/postfix/incoming - install -m 0700 -d ${D}${localstatedir}/spool/postfix/saved - chown postfix:root ${D}${localstatedir}/spool/postfix/saved - install -m 0700 -d ${D}${localstatedir}/spool/postfix/trace - chown postfix:root ${D}${localstatedir}/spool/postfix/trace - install -m 0730 -d ${D}${localstatedir}/spool/postfix/maildrop - chown postfix:postdrop ${D}${localstatedir}/spool/postfix/maildrop - install -m 0755 -d ${D}${localstatedir}/spool/postfix/pid - chown root:root ${D}${localstatedir}/spool/postfix/pid - install -m 0700 -d ${D}${localstatedir}/spool/postfix/private - chown postfix:root ${D}${localstatedir}/spool/postfix/private - install -m 0710 -d ${D}${localstatedir}/spool/postfix/public - chown postfix:postdrop ${D}${localstatedir}/spool/postfix/public - install -m 0755 -d ${D}${localstatedir}/spool/vmail - chown vmail:vmail ${D}${localstatedir}/spool/vmail - - chown :postdrop ${D}${sbindir}/postqueue - chown :postdrop ${D}${sbindir}/postdrop - chmod g+s ${D}${sbindir}/postqueue - chmod g+s ${D}${sbindir}/postdrop - - rm -rf ${D}/etc/postfix/makedefs.out -} - -do_install:append:class-native() { - ln -sf ../sbin/sendmail.postfix ${D}${bindir}/newaliases - ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq -} - -ALTERNATIVE:${PN}-bin = "sendmail mailq newaliases" -# /usr/lib/sendmial is required by LSB core test -ALTERNATIVE:${PN}-bin:linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail" -ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq" -ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases" -ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix" -ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" -ALTERNATIVE_TARGET[usr-lib-sendmail] = "${sbindir}/sendmail.postfix" -ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail" - -ALTERNATIVE_PRIORITY = "120" - -ALTERNATIVE:${PN}-doc += "mailq.1 newaliases.1 sendmail.1" -ALTERNATIVE_LINK_NAME[mailq.1] = "${mandir}/man1/mailq.1" -ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1" -ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1" - -pkg_postinst_ontarget:${PN}-cfg () { - touch /etc/aliases - newaliases - - # generate virtual_alias, default is hash - touch /etc/postfix/virtual_alias - postmap /etc/postfix/virtual_alias -} - -PACKAGES =+ "${PN}-cfg" -RDEPENDS:${PN}-cfg:class-target += "${PN}-bin" -RDEPENDS:${PN}:class-target += "${PN}-cfg" -# Exclude .debug directories from the main package -FILES:${PN}-bin += "${localstatedir} ${bindir}/* ${sbindir}/* \ - ${libexecdir}/* ${systemd_unitdir}/*" -FILES:${PN}-cfg = "${sysconfdir}" -FILES:${PN}-dbg += "${libexecdir}/postfix/.debug" -ALLOW_EMPTY:${PN} = "1" diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.10.9.bb b/meta-networking/recipes-daemons/postfix/postfix_3.10.9.bb new file mode 100644 index 00000000000..633e4a7a0d5 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/postfix_3.10.9.bb @@ -0,0 +1,252 @@ +SUMMARY = "Postfix Mail Transport Agent" +DESCRIPTION = "Postfix is Wietse Venema's mail server that started life at \ +IBM research as an alternative to the widely-used Sendmail program. \ +Postfix attempts to be fast, easy to administer, and secure. The outsidei \ +has a definite Sendmail-ish flavor, but the inside is completely different." + +HOMEPAGE = "http://www.postfix.org" +SECTION = "mail" +DEPENDS = "db icu libpcre2 libnsl2 m4-native openssl postfix-native \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \ +" + +LICENSE = "IPL-1.0 | EPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b181651ad99a7dc4cc8c4ce2f491ed1a" + +SRC_URI = "http://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ + file://main.cf \ + file://postfix \ + file://internal_recipient \ + file://postfix.service \ + file://aliasesdb \ + file://check_hostname.sh \ + file://0001-Fix-makedefs.patch \ + file://0002-Change-fixed-postconf-to-a-variable-for-cross-compil.patch \ + file://0003-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ + file://0004-Fix-icu-config.patch \ + file://0005-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ + file://0001-makedefs-Account-for-linux-7.x-version.patch \ + file://0001-Fix-build-with-musl.patch \ + " + +SRC_URI[sha256sum] = "d4b4daab0af2e0c16c0d2d5ac3c7680d5ebd2001ea054f7f2a601c759801bc13" + +UPSTREAM_CHECK_URI = "https://www.postfix.org/announcements.html" +UPSTREAM_CHECK_REGEX = "postfix-(?P\d+(\.\d+)+)" + +S = "${UNPACKDIR}/postfix-${PV}" + +CLEANBROKEN = "1" + +BBCLASSEXTEND = "native" + +inherit pkgconfig update-rc.d useradd update-alternatives systemd lib_package + +INITSCRIPT_NAME = "postfix" +INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ." +USERADD_PACKAGES = "${PN}-bin" +USERADD_PARAM:${PN}-bin = \ +"-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \ + -d /var/spool/vmail -r -g vmail --shell /bin/false vmail \ +" +GROUPADD_PARAM:${PN}-bin = "--system postfix;--system postdrop;--system vmail" + +export SYSLIBS = "${LDFLAGS}" + +# CCARGS specifies includes, defines +# AUXLIBS specifies libraries +# Linux2/Linux3 has HAS_DB defined +# makedefs will make CC to be CC+CCARGS + +# ldap support +export CCARGS-ldap = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}" +export AUXLIBS-ldap = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}" + +# no native openldap +export CCARGS-ldap:class-native = "" +export AUXLIBS-ldap:class-native = "" + +export CCARGS-nonis:libc-musl = "-DNO_NIS" +export CCARGS-nonis = "" + +# SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH +# current openldap didn't enable SASL +export CCARGS-sasl = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${STAGING_INCDIR}/sasl', '', d)}" +export AUXLIBS-sasl = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}" +export CCARGS-sasl:class-native = "" +export AUXLIBS-sasl:class-native = "" + +# PCRE, TLS support default +export CCARGS = "${CFLAGS} -DHAS_PCRE=2 -DUSE_TLS -I${STAGING_INCDIR}/openssl ${CCARGS-ldap} ${CCARGS-sasl} ${CCARGS-nonis}" +export AUXLIBS = "-lpcre2-8 -lssl -lcrypto ${AUXLIBS-sasl} ${AUXLIBS-ldap}" +export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf" + +# OPT,DEBUG is aready in CFLAGS +# ignore the OPTS="CC=$CC" in Makefile it will not use the CC=$CC $CCARGS +EXTRA_OEMAKE += "OPT= DEBUG= OPTS= " + +# use gnu17 for now as recommended in: +# https://marc.info/?l=postfix-users&m=173542420611213 +CFLAGS += "-std=gnu17" + +do_compile () { + unset CFLAGS CPPFLAGS CXXFLAGS + local native_build + + native_build="${@['0', '1'][bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d)]}" + + # if not native build, then pass SYSTEM and RELEASE to makedefs + if [ "${native_build}" != "1" ]; then + # uname -s for target + SYSTEM="Linux" + + # uname -r, use 2.6 as bottomline, even target kernel ver > 2.6 + RELEASE="2.6.34" + sed -i -e \ + "s:\$(SHELL) makedefs):\$(SHELL) makedefs $SYSTEM $RELEASE):" \ + ${S}/Makefile.in + export BUILD_SYSROOT="${STAGING_DIR_HOST}" + else + # native build + export BUILD_SYSROOT="${STAGING_DIR_NATIVE}" + fi + + oe_runmake makefiles + oe_runmake +} + +do_install:prepend:class-native() { + export POSTCONF="bin/postconf" +} + +SYSTEMD_SERVICE:${PN} = "postfix.service" + +do_install () { + sh ./postfix-install 'install_root=${D}' \ + 'config_directory=${sysconfdir}/postfix' \ + 'daemon_directory=${libexecdir}/postfix' \ + 'command_directory=${sbindir}' \ + 'queue_directory=${localstatedir}/spool/postfix' \ + 'sendmail_path=${sbindir}/sendmail.postfix' \ + 'newaliases_path=${bindir}/newaliases' \ + 'mailq_path=${bindir}/mailq' \ + 'manpage_directory=${mandir}' \ + 'readme_directory=${datadir}/doc/postfix' \ + 'data_directory=${localstatedir}/lib/postfix' \ + -non-interactive + rm -rf ${D}${localstatedir}/spool/postfix + mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/${MLPREFIX}sample-main.cf + install -m 755 ${S}/bin/smtp-sink ${D}/${sbindir}/ + install -m 644 ${UNPACKDIR}/main.cf ${D}${sysconfdir}/postfix/main.cf + sed -i 's#@LIBEXECDIR@#${libexecdir}#' ${D}${sysconfdir}/postfix/main.cf + + install -m 755 ${UNPACKDIR}/check_hostname.sh ${D}${sbindir}/ + + install -m 644 ${UNPACKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 755 ${UNPACKDIR}/postfix ${D}${sysconfdir}/init.d/postfix + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/postfix.service ${D}${systemd_unitdir}/system + sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_unitdir}/system/postfix.service + sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/postfix.service + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/postfix.service + fi + + install -m 0755 ${UNPACKDIR}/aliasesdb ${D}${libexecdir}/postfix + + install -m 770 -d ${D}${localstatedir}/spool/postfix + chown postfix:postfix ${D}${localstatedir}/spool/postfix + + install -m 0755 -d ${D}${localstatedir}/lib/postfix + chown postfix:nogroup ${D}${localstatedir}/lib/postfix + install -m 0755 -d ${D}${localstatedir}/spool/postfix + chown root:postfix ${D}${localstatedir}/spool/postfix + install -m 0700 -d ${D}${localstatedir}/spool/postfix/active + chown postfix:root ${D}${localstatedir}/spool/postfix/active + install -m 0700 -d ${D}${localstatedir}/spool/postfix/bounce + chown postfix:root ${D}${localstatedir}/spool/postfix/bounce + install -m 0700 -d ${D}${localstatedir}/spool/postfix/corrupt + chown postfix:root ${D}${localstatedir}/spool/postfix/corrupt + install -m 0700 -d ${D}${localstatedir}/spool/postfix/defer + chown postfix:root ${D}${localstatedir}/spool/postfix/defer + install -m 0700 -d ${D}${localstatedir}/spool/postfix/deferred + chown postfix:root ${D}${localstatedir}/spool/postfix/deferred + install -m 0700 -d ${D}${localstatedir}/spool/postfix/flush + chown postfix:root ${D}${localstatedir}/spool/postfix/flush + install -m 0700 -d ${D}${localstatedir}/spool/postfix/hold + chown postfix:root ${D}${localstatedir}/spool/postfix/hold + install -m 0700 -d ${D}${localstatedir}/spool/postfix/incoming + chown postfix:root ${D}${localstatedir}/spool/postfix/incoming + install -m 0700 -d ${D}${localstatedir}/spool/postfix/saved + chown postfix:root ${D}${localstatedir}/spool/postfix/saved + install -m 0700 -d ${D}${localstatedir}/spool/postfix/trace + chown postfix:root ${D}${localstatedir}/spool/postfix/trace + install -m 0730 -d ${D}${localstatedir}/spool/postfix/maildrop + chown postfix:postdrop ${D}${localstatedir}/spool/postfix/maildrop + install -m 0755 -d ${D}${localstatedir}/spool/postfix/pid + chown root:root ${D}${localstatedir}/spool/postfix/pid + install -m 0700 -d ${D}${localstatedir}/spool/postfix/private + chown postfix:root ${D}${localstatedir}/spool/postfix/private + install -m 0710 -d ${D}${localstatedir}/spool/postfix/public + chown postfix:postdrop ${D}${localstatedir}/spool/postfix/public + install -m 0755 -d ${D}${localstatedir}/spool/vmail + chown vmail:vmail ${D}${localstatedir}/spool/vmail + + chown :postdrop ${D}${sbindir}/postqueue + chown :postdrop ${D}${sbindir}/postdrop + chmod g+s ${D}${sbindir}/postqueue + chmod g+s ${D}${sbindir}/postdrop + + rm -rf ${D}/etc/postfix/makedefs.out +} + +do_install:append:class-native() { + ln -sf ../sbin/sendmail.postfix ${D}${bindir}/newaliases + ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq +} + +ALTERNATIVE:${PN}-bin = "sendmail mailq newaliases" +# /usr/lib/sendmial is required by LSB core test +ALTERNATIVE:${PN}-bin:linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail" +ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq" +ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases" +ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix" +ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" +ALTERNATIVE_TARGET[usr-lib-sendmail] = "${sbindir}/sendmail.postfix" +ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail" + +ALTERNATIVE_PRIORITY = "120" + +ALTERNATIVE:${PN}-doc += "mailq.1 newaliases.1 sendmail.1" +ALTERNATIVE_LINK_NAME[mailq.1] = "${mandir}/man1/mailq.1" +ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1" +ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1" + +pkg_postinst_ontarget:${PN}-cfg () { + touch /etc/aliases + newaliases + + # generate virtual_alias, default is hash + touch /etc/postfix/virtual_alias + postmap /etc/postfix/virtual_alias +} + +PACKAGES =+ "${PN}-cfg" +RDEPENDS:${PN}-cfg:append:class-target = " ${PN}-bin" +RDEPENDS:${PN}:append:class-target = " ${PN}-cfg" +# Exclude .debug directories from the main package +FILES:${PN}-bin += "${localstatedir} ${bindir}/* ${sbindir}/* \ + ${libexecdir}/* ${systemd_unitdir}/*" +FILES:${PN}-cfg = "${sysconfdir}" +FILES:${PN}-dbg += "${libexecdir}/postfix/.debug" +ALLOW_EMPTY:${PN} = "1" diff --git a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.9.bb b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.9.bb deleted file mode 100644 index d64e0a0495a..00000000000 --- a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.9.bb +++ /dev/null @@ -1,158 +0,0 @@ -SUMMARY = "Secure and configurable FTP server" -SECTION = "net" -HOMEPAGE = "http://www.proftpd.org" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184" - -SRCREV = "ae25959adb05ae1d6ebfa1f36bf778c9c34e9410" -BRANCH = "${PV}" - -SRC_URI = "git://github.com/proftpd/proftpd.git;branch=${BRANCH};protocol=https;tag=v${PV} \ - file://basic.conf.patch \ - file://proftpd-basic.init \ - file://default \ - file://close-RequireValidShell-check.patch \ - file://contrib.patch \ - file://build_fixup.patch \ - file://proftpd.service \ - " - - -inherit autotools-brokensep useradd update-rc.d systemd multilib_script - -# patch releases have character after version -UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+\w?))" -CVE_VERSION_SUFFIX = "alphabetical" - -CVE_STATUS[CVE-2001-0027] = "fixed-version: version 1.2.0rc3 removed affected module" -CVE_STATUS[CVE-2021-47865] = "upstream-wontfix: it is not a vulnerability but inproper configuration" - -EXTRA_OECONF += "--enable-largefile INSTALL=install" - -PACKAGECONFIG ??= "shadow \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ - static \ - " - -PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses" -PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl" -PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam" -PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6" -PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow" -PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre " -PACKAGECONFIG[static] = "--enable-static=yes, --enable-static=no" - -# enable POSIX.1e capabilities -PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap" - -#enable support for POSIX ACLs -PACKAGECONFIG[acl] = "--enable-facl, --disable-facl" - -#enable proftpd controls via ftpdct -PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls" - -#prevent proftpd from using its bundled getopt implementation. -PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt" - -#do not strip debugging symbols from installed code -PACKAGECONFIG[strip] = "--enable-strip, --disable-strip" - -#enable SIA authentication support (Tru64) -PACKAGECONFIG[sia] = "--enable-sia, --disable-sia" -PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile" - -#enable Native Language Support (NLS) -PACKAGECONFIG[nls] = "--enable-nls, --disable-nls" - -#add mod_dso to core modules -PACKAGECONFIG[dso] = "--enable-dso, --disable-dso" - -#omit mod_auth_file from core modules -PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file" - -# proftpd uses libltdl which currently makes configuring using -# autotools.bbclass a pain... -do_configure () { - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} - oe_runconf - sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \ - -e 's|${STAGING_DIR_NATIVE}||g' \ - -e 's|-ffile-prefix-map=[^ ]*||g' \ - -e 's|-fdebug-prefix-map=[^ ]*||g' \ - -e 's|-fmacro-prefix-map=[^ ]*||g' \ - -i ${B}/config.h -} - -FTPUSER = "ftp" -FTPGROUP = "ftp" - -do_install () { - oe_runmake DESTDIR=${D} install - rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale - [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir} - sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf - sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd - - install -d ${D}${sysconfdir}/default - install -m 0755 ${UNPACKDIR}/default ${D}${sysconfdir}/default/proftpd - - # create the pub directory - mkdir -p ${D}/home/${FTPUSER}/pub/ - chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub - if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then - # install proftpd pam configuration - install -d ${D}${sysconfdir}/pam.d - install -m 644 ${S}/contrib/dist/rpm/ftp.pamd ${D}${sysconfdir}/pam.d/proftpd - sed -i '/ftpusers/d' ${D}${sysconfdir}/pam.d/proftpd - # specify the user Authentication config - sed -i '/^MaxInstances/a\AuthPAM on\nAuthPAMConfig proftpd' \ - ${D}${sysconfdir}/proftpd.conf - fi - - install -d ${D}/${systemd_unitdir}/system - install -m 644 ${UNPACKDIR}/proftpd.service ${D}/${systemd_unitdir}/system - sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - -i ${D}${systemd_unitdir}/system/*.service - - sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \ - -e 's|${STAGING_DIR_NATIVE}||g' \ - -e 's|-ffile-prefix-map=[^ ]*||g' \ - -e 's|-fdebug-prefix-map=[^ ]*||g' \ - -e 's|-fmacro-prefix-map=[^ ]*||g' \ - -i ${D}/${bindir}/prxs ${D}${includedir}/proftpd/Make.rules ${D}${includedir}/proftpd/config.h - - # ftpmail perl script, which reads the proftpd log file and sends - # automatic email notifications once an upload finishs, - # depends on an old perl Mail::Sendmail - # The Mail::Sendmail has not been maintained for almost 10 years - # Other distribution not ship with ftpmail, so do the same to - # avoid confusion about having it fails to run - rm -rf ${D}${bindir}/ftpmail - rm -rf ${D}${mandir}/man1/ftpmail.1 -} - -INITSCRIPT_NAME = "proftpd" -INITSCRIPT_PARAM = "defaults 85 15" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "proftpd.service" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "--system ${FTPGROUP}" -USERADD_PARAM:${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \ - --shell /bin/false ${FTPUSER}" - -MULTILIB_SCRIPTS = "${PN}:${bindir}/prxs" - -FILES:${PN} += "/home/${FTPUSER}" - -RDEPENDS:${PN} += "perl" diff --git a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.9a.bb b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.9a.bb new file mode 100644 index 00000000000..2e164a574bb --- /dev/null +++ b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.9a.bb @@ -0,0 +1,158 @@ +SUMMARY = "Secure and configurable FTP server" +SECTION = "net" +HOMEPAGE = "http://www.proftpd.org" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184" + +SRCREV = "ec8a5544e81df54e202f52f1f70d206439389577" +BRANCH = "1.3.9" + +SRC_URI = "git://github.com/proftpd/proftpd.git;branch=${BRANCH};protocol=https;tag=v${PV} \ + file://basic.conf.patch \ + file://proftpd-basic.init \ + file://default \ + file://close-RequireValidShell-check.patch \ + file://contrib.patch \ + file://build_fixup.patch \ + file://proftpd.service \ + " + + +inherit autotools-brokensep useradd update-rc.d systemd multilib_script + +# patch releases have character after version +UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+\w?))" +CVE_VERSION_SUFFIX = "alphabetical" + +CVE_STATUS[CVE-2001-0027] = "fixed-version: version 1.2.0rc3 removed affected module" +CVE_STATUS[CVE-2021-47865] = "upstream-wontfix: it is not a vulnerability but inproper configuration" + +EXTRA_OECONF += "--enable-largefile INSTALL=install" + +PACKAGECONFIG ??= "shadow \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ + static \ + " + +PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses" +PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl" +PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam" +PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6" +PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow" +PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre " +PACKAGECONFIG[static] = "--enable-static=yes, --enable-static=no" + +# enable POSIX.1e capabilities +PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap" + +#enable support for POSIX ACLs +PACKAGECONFIG[acl] = "--enable-facl, --disable-facl" + +#enable proftpd controls via ftpdct +PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls" + +#prevent proftpd from using its bundled getopt implementation. +PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt" + +#do not strip debugging symbols from installed code +PACKAGECONFIG[strip] = "--enable-strip, --disable-strip" + +#enable SIA authentication support (Tru64) +PACKAGECONFIG[sia] = "--enable-sia, --disable-sia" +PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile" + +#enable Native Language Support (NLS) +PACKAGECONFIG[nls] = "--enable-nls, --disable-nls" + +#add mod_dso to core modules +PACKAGECONFIG[dso] = "--enable-dso, --disable-dso" + +#omit mod_auth_file from core modules +PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file" + +# proftpd uses libltdl which currently makes configuring using +# autotools.bbclass a pain... +do_configure () { + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf + sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \ + -e 's|${STAGING_DIR_NATIVE}||g' \ + -e 's|-ffile-prefix-map=[^ ]*||g' \ + -e 's|-fdebug-prefix-map=[^ ]*||g' \ + -e 's|-fmacro-prefix-map=[^ ]*||g' \ + -i ${B}/config.h +} + +FTPUSER = "ftp" +FTPGROUP = "ftp" + +do_install () { + oe_runmake DESTDIR=${D} install + rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale + [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir} + sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf + sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd + + install -d ${D}${sysconfdir}/default + install -m 0755 ${UNPACKDIR}/default ${D}${sysconfdir}/default/proftpd + + # create the pub directory + mkdir -p ${D}/home/${FTPUSER}/pub/ + chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub + if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + # install proftpd pam configuration + install -d ${D}${sysconfdir}/pam.d + install -m 644 ${S}/contrib/dist/rpm/ftp.pamd ${D}${sysconfdir}/pam.d/proftpd + sed -i '/ftpusers/d' ${D}${sysconfdir}/pam.d/proftpd + # specify the user Authentication config + sed -i '/^MaxInstances/a\AuthPAM on\nAuthPAMConfig proftpd' \ + ${D}${sysconfdir}/proftpd.conf + fi + + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${UNPACKDIR}/proftpd.service ${D}/${systemd_unitdir}/system + sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -i ${D}${systemd_unitdir}/system/*.service + + sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \ + -e 's|${STAGING_DIR_NATIVE}||g' \ + -e 's|-ffile-prefix-map=[^ ]*||g' \ + -e 's|-fdebug-prefix-map=[^ ]*||g' \ + -e 's|-fmacro-prefix-map=[^ ]*||g' \ + -i ${D}/${bindir}/prxs ${D}${includedir}/proftpd/Make.rules ${D}${includedir}/proftpd/config.h + + # ftpmail perl script, which reads the proftpd log file and sends + # automatic email notifications once an upload finishs, + # depends on an old perl Mail::Sendmail + # The Mail::Sendmail has not been maintained for almost 10 years + # Other distribution not ship with ftpmail, so do the same to + # avoid confusion about having it fails to run + rm -rf ${D}${bindir}/ftpmail + rm -rf ${D}${mandir}/man1/ftpmail.1 +} + +INITSCRIPT_NAME = "proftpd" +INITSCRIPT_PARAM = "defaults 85 15" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "proftpd.service" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "--system ${FTPGROUP}" +USERADD_PARAM:${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \ + --shell /bin/false ${FTPUSER}" + +MULTILIB_SCRIPTS = "${PN}:${bindir}/prxs" + +FILES:${PN} += "/home/${FTPUSER}" + +RDEPENDS:${PN} += "perl" diff --git a/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch index 3aa08f84da1..39392e1cc7b 100644 --- a/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch +++ b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch @@ -12,31 +12,9 @@ Signed-off-by: Jim Somerville Signed-off-by: Jackie Huang --- - acinclude/krb5.m4 | 10 +++++++++- acinclude/lib-checks.m4 | 8 ++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) -diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4 -index e0286fa..b3e4bc7 100644 ---- a/acinclude/krb5.m4 -+++ b/acinclude/krb5.m4 -@@ -98,7 +98,15 @@ main(void) - krb5_init_context(&context); - return 0; - } --]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ]) -+]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ], -+[ -+ dnl Can't test in cross compiled env - so assume good -+ squid_cv_broken_heimdal_krb5_h=no -+]) -+ ], -+ [ -+ dnl Can't test in cross compiled env - so assume good -+ squid_cv_broken_heimdal_krb5_h=no - ]) - SQUID_STATE_ROLLBACK(squid_krb5_heimdal_test) - ]) diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4 index 9793b9a..4f2dc83 100644 --- a/acinclude/lib-checks.m4 diff --git a/meta-networking/recipes-daemons/squid/squid_7.3.bb b/meta-networking/recipes-daemons/squid/squid_7.3.bb deleted file mode 100644 index 8d1d84c04e6..00000000000 --- a/meta-networking/recipes-daemons/squid/squid_7.3.bb +++ /dev/null @@ -1,153 +0,0 @@ -SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" -DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ -Squid offers a rich access control, authorization and logging environment to \ -develop web proxy and content serving applications. \ -Squid offers a rich set of traffic optimization options, most of which are \ -enabled by default for simpler installation and high performance. \ -" -HOMEPAGE = "http://www.squid-cache.org" -SECTION = "web" -LICENSE = "GPL-2.0-or-later" - -PV_U = "${@d.getVar('PV').replace('.', '_')}" - -SRC_URI = "https://github.com/squid-cache/${BPN}/releases/download/SQUID_${PV_U}/${BPN}-${PV}.tar.xz \ - file://Set-up-for-cross-compilation.patch \ - file://Skip-AC_RUN_IFELSE-tests.patch \ - file://squid-use-serial-tests-config-needed-by-ptest.patch \ - file://run-ptest \ - file://volatiles.03_squid \ - file://0002-squid-make-squid-conf-tests-run-on-target-device.patch \ - file://0001-libltdl-remove-reference-to-nonexisting-directory.patch \ - file://squid.nm \ - " - -SRC_URI[sha256sum] = "dadc2a9a3926ce1b3babeaa7a7d7b21cbb089025876daa3f5c19e7eb6391ddcd" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://errors/COPYRIGHT;md5=c2a0e15750d3a9743af9109fecc05622 \ - " - -UPSTREAM_CHECK_URI = "https://github.com/squid-cache/${BPN}/releases/" -UPSTREAM_CHECK_REGEX = "v?(?P\d+(\.\d+)+)" - -DEPENDS = "libtool" - -inherit autotools pkgconfig useradd ptest perlnative systemd - -LDFLAGS:append:mipsarch = " -latomic" -LDFLAGS:append:powerpc = " -latomic" -LDFLAGS:append:riscv64 = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" - -PACKAGECONFIG ??= "auth url-rewrite-helpers \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" - -PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," -PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" -PACKAGECONFIG[auth] = "--enable-auth-basic='${BASIC_AUTH}',--disable-auth --disable-auth-basic,krb5 openldap db cyrus-sasl" -PACKAGECONFIG[url-rewrite-helpers] = "--enable-url-rewrite-helpers,--disable-url-rewrite-helpers," -PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" - -PACKAGES =+ " \ - ${PN}-conf \ - ${PN}-networkmanager \ -" - -BASIC_AUTH = "DB SASL LDAP" - -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" - -EXTRA_OECONF += "--with-default-user=squid \ - --sysconfdir=${sysconfdir}/${BPN} \ - --with-logdir=${localstatedir}/log/${BPN} \ - 'PERL=${USRBINPATH}/env perl' \ - --disable-esi \ -" - -# Workaround a build failure when using a native compiler that need -std=c++17 -# with a cross-compiler that doesn't. -# Upstream issue closed as invalid : https://bugs.squid-cache.org/show_bug.cgi?id=5376 -BUILD_CXXFLAGS += "-std=c++17" - -export BUILDCXXFLAGS = "${BUILD_CXXFLAGS}" - -TESTDIR = "test-suite" - -do_configure:prepend() { - export SYSROOT=$PKG_CONFIG_SYSROOT_DIR -} - -do_configure:append() { - sed -i -e 's|${WORKDIR}||g' ${B}/include/autoconf.h -} - -do_compile_ptest() { - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} - cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} - - # Install default config - install -d ${D}${PTEST_PATH}/src - install -m 0644 ${B}/src/squid.conf.default ${D}${PTEST_PATH}/src - - # autoconf.h is needed during squid-conf-tests - install -d ${D}${PTEST_PATH}/include - install -m 0644 ${B}/include/autoconf.h ${D}${PTEST_PATH}/include - - # do NOT need to rebuild Makefile itself - sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # Ensure the path for command true is correct - sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile -} - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - # Install service unit file - install -d ${D}/${systemd_unitdir}/system - install ${S}/tools/systemd/squid.service ${D}/${systemd_unitdir}/system - sed -i 's:/var/run/:/run/:g' ${D}/${systemd_unitdir}/system/squid.service - - # Configure tmpfiles.d - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - fi - - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${UNPACKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid - - rmdir "${D}${localstatedir}/run/${BPN}" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" - - rmdir "${D}${localstatedir}/log/${BPN}" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" - - # Install NetworkManager dispatcher reload hooks - install -d ${D}${libdir}/NetworkManager/dispatcher.d - install -m 0755 ${UNPACKDIR}/squid.nm ${D}${libdir}/NetworkManager/dispatcher.d/20-squid -} - -SYSTEMD_AUTO_ENABLE = "disable" -SYSTEMD_SERVICE:${PN} = "squid.service" - -FILES:${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" -FILES:${PN}-dbg += "/usr/src/debug" -FILES:${PN}-doc += "${datadir}/*.txt" -FILES:${PN}-conf += "${sysconfdir}/squid" -FILES:${PN}-networkmanager = "${libdir}/NetworkManager/dispatcher.d" - -RDEPENDS:${PN} += "perl ${PN}-conf" -RDEPENDS:${PN}-ptest += "perl make bash" diff --git a/meta-networking/recipes-daemons/squid/squid_7.5.bb b/meta-networking/recipes-daemons/squid/squid_7.5.bb new file mode 100644 index 00000000000..3364c1f7464 --- /dev/null +++ b/meta-networking/recipes-daemons/squid/squid_7.5.bb @@ -0,0 +1,153 @@ +SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" +DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ +Squid offers a rich access control, authorization and logging environment to \ +develop web proxy and content serving applications. \ +Squid offers a rich set of traffic optimization options, most of which are \ +enabled by default for simpler installation and high performance. \ +" +HOMEPAGE = "http://www.squid-cache.org" +SECTION = "web" +LICENSE = "GPL-2.0-or-later" + +PV_U = "${@d.getVar('PV').replace('.', '_')}" + +SRC_URI = "https://github.com/squid-cache/${BPN}/releases/download/SQUID_${PV_U}/${BPN}-${PV}.tar.xz \ + file://Set-up-for-cross-compilation.patch \ + file://Skip-AC_RUN_IFELSE-tests.patch \ + file://squid-use-serial-tests-config-needed-by-ptest.patch \ + file://run-ptest \ + file://volatiles.03_squid \ + file://0002-squid-make-squid-conf-tests-run-on-target-device.patch \ + file://0001-libltdl-remove-reference-to-nonexisting-directory.patch \ + file://squid.nm \ + " + +SRC_URI[sha256sum] = "f6058907db0150d2f5d228482b5a9e5678920cf368ae0ccbcecceb2ff4c35106" + +LIC_FILES_CHKSUM = "file://COPYING;md5=570a9b3749dd0463a1778803b12a6dce \ + file://errors/COPYRIGHT;md5=41d117978dbffedc893e8eeca12537d0 \ + " + +UPSTREAM_CHECK_URI = "https://github.com/squid-cache/${BPN}/releases/" +UPSTREAM_CHECK_REGEX = "SQUID_(?P\d+(_\d+)+)" + +DEPENDS = "libtool" + +inherit autotools pkgconfig useradd ptest perlnative systemd + +LDFLAGS:append:mipsarch = " -latomic" +LDFLAGS:append:powerpc = " -latomic" +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" + +PACKAGECONFIG ??= "auth url-rewrite-helpers \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" + +PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," +PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" +PACKAGECONFIG[auth] = "--enable-auth-basic='${BASIC_AUTH}',--disable-auth --disable-auth-basic,krb5 openldap db cyrus-sasl" +PACKAGECONFIG[url-rewrite-helpers] = "--enable-url-rewrite-helpers,--disable-url-rewrite-helpers," +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" + +PACKAGES =+ " \ + ${PN}-conf \ + ${PN}-networkmanager \ +" + +BASIC_AUTH = "DB SASL LDAP" + +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" + +EXTRA_OECONF += "--with-default-user=squid \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-logdir=${localstatedir}/log/${BPN} \ + 'PERL=${USRBINPATH}/env perl' \ + --disable-esi \ +" + +# Workaround a build failure when using a native compiler that need -std=c++17 +# with a cross-compiler that doesn't. +# Upstream issue closed as invalid : https://bugs.squid-cache.org/show_bug.cgi?id=5376 +BUILD_CXXFLAGS += "-std=c++17" + +export BUILDCXXFLAGS = "${BUILD_CXXFLAGS}" + +TESTDIR = "test-suite" + +do_configure:prepend() { + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +do_configure:append() { + sed -i -e 's|${WORKDIR}||g' ${B}/include/autoconf.h +} + +do_compile_ptest() { + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + + # Install default config + install -d ${D}${PTEST_PATH}/src + install -m 0644 ${B}/src/squid.conf.default ${D}${PTEST_PATH}/src + + # autoconf.h is needed during squid-conf-tests + install -d ${D}${PTEST_PATH}/include + install -m 0644 ${B}/include/autoconf.h ${D}${PTEST_PATH}/include + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Ensure the path for command true is correct + sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile +} + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + # Install service unit file + install -d ${D}/${systemd_unitdir}/system + install ${S}/tools/systemd/squid.service ${D}/${systemd_unitdir}/system + sed -i 's:/var/run/:/run/:g' ${D}/${systemd_unitdir}/system/squid.service + + # Configure tmpfiles.d + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${UNPACKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid + + rmdir "${D}${localstatedir}/run/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" + + rmdir "${D}${localstatedir}/log/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" + + # Install NetworkManager dispatcher reload hooks + install -d ${D}${libdir}/NetworkManager/dispatcher.d + install -m 0755 ${UNPACKDIR}/squid.nm ${D}${libdir}/NetworkManager/dispatcher.d/20-squid +} + +SYSTEMD_AUTO_ENABLE = "disable" +SYSTEMD_SERVICE:${PN} = "squid.service" + +FILES:${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" +FILES:${PN}-dbg += "/usr/src/debug" +FILES:${PN}-doc += "${datadir}/*.txt" +FILES:${PN}-conf += "${sysconfdir}/squid" +FILES:${PN}-networkmanager = "${libdir}/NetworkManager/dispatcher.d" + +RDEPENDS:${PN} += "perl ${PN}-conf" +RDEPENDS:${PN}-ptest += "perl make bash" diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch b/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch deleted file mode 100644 index 66c15b5f8b9..00000000000 --- a/meta-networking/recipes-daemons/tftp-hpa/files/0001-__progname-is-provided-by-libc.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 941038fc05be21202cab7a7a9434097fb55ecbe0 Mon Sep 17 00:00:00 2001 -From: Thorsten Glaser -Date: Thu, 31 Jul 2014 16:29:41 +0930 -Subject: [PATCH] __progname[] is provided by libc - -Rename local variable to tftpd_progname to avoid a clash with glibc -global symbols and work around Debian bug #519006 (Closes: #564052). - -[ hpa: specifically, double-underscore symbols in C are reserved for - the implementation, i.e. compiler/libc. ] - -Signed-off-by: Ron Lee -Signed-off-by: H. Peter Anvin ---- -Upstream-Status: Pending - - tftpd/tftpd.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c -index e247b97..5fec7bf 100644 ---- a/tftpd/tftpd.c -+++ b/tftpd/tftpd.c -@@ -76,7 +76,7 @@ static int ai_fam = AF_INET; - #define TRIES 6 /* Number of attempts to send each packet */ - #define TIMEOUT_LIMIT ((1 << TRIES)-1) - --const char *__progname; -+const char *tftpd_progname; - static int peer; - static unsigned long timeout = TIMEOUT; /* Current timeout value */ - static unsigned long rexmtval = TIMEOUT; /* Basic timeout value */ -@@ -395,9 +395,9 @@ int main(int argc, char **argv) - /* basename() is way too much of a pain from a portability standpoint */ - - p = strrchr(argv[0], '/'); -- __progname = (p && p[1]) ? p + 1 : argv[0]; -+ tftpd_progname = (p && p[1]) ? p + 1 : argv[0]; - -- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); -+ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); - - srand(time(NULL) ^ getpid()); - -@@ -946,14 +946,14 @@ int main(int argc, char **argv) - syslog daemon gets restarted by the time we get here. */ - if (secure && standalone) { - closelog(); -- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); -+ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); - } - - #ifdef HAVE_TCPWRAPPERS - /* Verify if this was a legal request for us. This has to be - done before the chroot, while /etc is still accessible. */ - request_init(&wrap_request, -- RQ_DAEMON, __progname, -+ RQ_DAEMON, tftpd_progname, - RQ_FILE, fd, - RQ_CLIENT_SIN, &from, RQ_SERVER_SIN, &myaddr, 0); - sock_methods(&wrap_request); --- -2.14.1 - diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Mark-toplevel-definition-as-external.patch b/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Mark-toplevel-definition-as-external.patch deleted file mode 100644 index 646757c7832..00000000000 --- a/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Mark-toplevel-definition-as-external.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 2a12174a5059e84d4ff6fad8f983a4d0f2127e73 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 12 Aug 2020 12:17:31 -0700 -Subject: [PATCH] tftp: Mark toplevel definition as external - -Fixes -multiple definition of `toplevel'; tftp.o:/usr/src/debug/tftp-hpa/5.2-r0/tftp-hpa-5.2/tftp/tftp.c:51: first defined here - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - tftp/tftp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tftp/tftp.c b/tftp/tftp.c -index 9d15022..109848c 100644 ---- a/tftp/tftp.c -+++ b/tftp/tftp.c -@@ -48,7 +48,7 @@ extern int maxtimeout; - #define PKTSIZE SEGSIZE+4 - char ackbuf[PKTSIZE]; - int timeout; --sigjmp_buf toplevel; -+extern sigjmp_buf toplevel; - sigjmp_buf timeoutbuf; - - static void nak(int, const char *); --- -2.28.0 - diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Remove-double-inclusion-of-signal.h.patch b/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Remove-double-inclusion-of-signal.h.patch deleted file mode 100644 index 84658d667bd..00000000000 --- a/meta-networking/recipes-daemons/tftp-hpa/files/0001-tftp-Remove-double-inclusion-of-signal.h.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e9ed48d91642d384ce07cbb9bec788f07fc6354c Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 6 Sep 2022 14:51:42 -0700 -Subject: [PATCH] tftp: Remove double inclusion of signal.h - -Undefine __USE_XOPEN2K8 so we can get bsd_signal definition from system -headers - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - config.h | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/config.h b/config.h -index 3ff2915..ae1a14b 100644 ---- a/config.h -+++ b/config.h -@@ -93,7 +93,6 @@ - #endif - - #include --#include - - #ifdef HAVE_SYS_SOCKET_H - #include -@@ -296,6 +295,9 @@ char *xstrdup(const char *); - - #ifndef HAVE_BSD_SIGNAL - void (*bsd_signal(int, void (*)(int))) (int); -+#else -+#undef __USE_XOPEN2K8 -+#include - #endif - #ifndef HAVE_DUP2 - int dup2(int, int); --- -2.37.3 - diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/add-error-check-for-disk-filled-up.patch b/meta-networking/recipes-daemons/tftp-hpa/files/add-error-check-for-disk-filled-up.patch index e4acd099ab4..0f324a3265f 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/add-error-check-for-disk-filled-up.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/add-error-check-for-disk-filled-up.patch @@ -1,19 +1,19 @@ -From bd5773947af5ca80ca546ad5625818fc912bdd60 Mon Sep 17 00:00:00 2001 +From 0b89c5bd9723ebd5207590016a14e5f2c6a0bdc9 Mon Sep 17 00:00:00 2001 From: "Roy.Li" Date: Thu, 22 Aug 2013 08:56:09 +0800 Subject: [PATCH] tftp-hpa: add error check for disk filled up -Upstream-Status: Pending [Sent to http://www.syslinux.org/archives/2013-August/020765.html] - Add error check when the write-buffer is finally flushed to the file, the caller can detect if the disk filled up (or had an i/o error) and return a NOSAPCE nak to the other side. +Upstream-Status: Pending [Sent to http://www.syslinux.org/archives/2013-August/020765.html] + Signed-off-by: Ming Liu Signed-off-by: Roy.Li --- - common/tftpsubs.c | 8 +++++--- - tftpd/tftpd.c | 12 ++++++++++-- + common/tftpsubs.c | 8 +++++--- + tftpd/tftpd.c | 12 ++++++++++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/common/tftpsubs.c b/common/tftpsubs.c @@ -47,10 +47,10 @@ index 8c999f6..b4d4ffe 100644 /* When an error has occurred, it is possible that the two sides diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c -index 1873e70..c2adbda 100644 +index 3158c6d..001237b 100644 --- a/tftpd/tftpd.c +++ b/tftpd/tftpd.c -@@ -1681,7 +1681,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac +@@ -1690,7 +1690,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac syslog(LOG_WARNING, "tftpd: write(ack): %m"); goto abort; } @@ -63,7 +63,7 @@ index 1873e70..c2adbda 100644 for (;;) { n = recv_time(peer, dp, PKTSIZE, 0, &r_timeout); if (n < 0) { /* really? */ -@@ -1712,7 +1716,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac +@@ -1721,7 +1725,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac goto abort; } } while (size == segsize); @@ -77,5 +77,5 @@ index 1873e70..c2adbda 100644 ap->th_opcode = htons((u_short) ACK); /* send the "final" ack */ -- -1.7.10.4 +2.34.1 diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch b/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch index 4f3dcd7767f..0b235361c57 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch @@ -1,6 +1,7 @@ -[PATCH] fix the empty file writting - -Upstream-Status: Pending +From 1ce974f1cf6afbc528c941a8cdf0817a3fd7c5a7 Mon Sep 17 00:00:00 2001 +From: "Roy.Li" +Date: Mon, 30 Mar 2026 22:37:22 +0800 +Subject: [PATCH] fix the empty file writting With the feature that checking the disk filled up, the return value of function write_behind was checked and used to detect @@ -11,13 +12,15 @@ error was miss-raised. make write_behind to return 0 if written file is empty, to fix the this bug. +Upstream-Status: Pending + Signed-off-by: Roy.Li --- common/tftpsubs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/tftpsubs.c b/common/tftpsubs.c -index b4ea3f2..9f6cafc 100644 +index b4ea3f2..30e749a 100644 --- a/common/tftpsubs.c +++ b/common/tftpsubs.c @@ -198,9 +198,12 @@ int write_behind(FILE * file, int convert) @@ -35,5 +38,5 @@ index b4ea3f2..9f6cafc 100644 return write(fileno(file), buf, count); -- -1.9.1 +2.34.1 diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch index 3f690609a67..837d2f7d08b 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.40-remap.patch @@ -1,6 +1,6 @@ Patch originally from Fedora -http://pkgs.fedoraproject.org/cgit/tftp.git/ +https://src.fedoraproject.org/rpms/tftp.git Upstream-Status: Pending diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch index 98a86b78b05..8a30194f4b4 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.42-tftpboot.patch @@ -1,6 +1,6 @@ Patch originally from Fedora -http://pkgs.fedoraproject.org/cgit/tftp.git/ +https://src.fedoraproject.org/rpms/tftp.git Upstream-Status: Pending diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch index 7ae1a87220a..fae887427fd 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-chk_retcodes.patch @@ -1,6 +1,6 @@ Patch originally from Fedora -http://pkgs.fedoraproject.org/cgit/tftp.git/ +https://src.fedoraproject.org/rpms/tftp.git Upstream-Status: Pending diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch deleted file mode 100644 index 6b8ceaaeba0..00000000000 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-0.49-cmd_arg.patch +++ /dev/null @@ -1,165 +0,0 @@ -Patch originally from Fedora - -http://pkgs.fedoraproject.org/cgit/tftp.git/ - -Upstream-Status: Pending - -diff -up tftp-hpa-0.49/config.h.cmd_arg tftp-hpa-0.49/config.h ---- tftp-hpa-0.49/config.h.cmd_arg 2010-04-19 15:29:10.567331454 +0200 -+++ tftp-hpa-0.49/config.h 2010-04-20 07:33:03.133232772 +0200 -@@ -291,6 +291,7 @@ typedef int socklen_t; - /* Prototypes for libxtra functions */ - - void *xmalloc(size_t); -+void *xrealloc(void *, size_t); - char *xstrdup(const char *); - - #ifndef HAVE_BSD_SIGNAL -diff -up tftp-hpa-0.49/configure.in.cmd_arg tftp-hpa-0.49/configure.in ---- tftp-hpa-0.49/configure.in.cmd_arg 2008-10-21 00:08:31.000000000 +0200 -+++ tftp-hpa-0.49/configure.in 2010-04-19 11:05:12.387340698 +0200 -@@ -152,6 +152,7 @@ OBJROOT=`pwd` - - XTRA=false - PA_SEARCH_LIBS_AND_ADD(xmalloc, iberty) -+PA_SEARCH_LIBS_AND_ADD(xrealloc, iberty) - PA_SEARCH_LIBS_AND_ADD(xstrdup, iberty) - PA_SEARCH_LIBS_AND_ADD(bsd_signal, bsd, bsdsignal) - PA_SEARCH_LIBS_AND_ADD(getopt_long, getopt, getopt_long) -diff -up tftp-hpa-0.49/lib/xrealloc.c.cmd_arg tftp-hpa-0.49/lib/xrealloc.c ---- tftp-hpa-0.49/lib/xrealloc.c.cmd_arg 2010-04-19 11:05:12.387340698 +0200 -+++ tftp-hpa-0.49/lib/xrealloc.c 2010-04-19 11:05:12.387340698 +0200 -@@ -0,0 +1,20 @@ -+/* -+ * xrealloc.c -+ * -+ * Simple error-checking version of realloc() -+ * -+ */ -+ -+#include "config.h" -+ -+void *xrealloc(void *ptr, size_t size) -+{ -+ void *p = realloc(ptr, size); -+ -+ if (!p) { -+ fprintf(stderr, "Out of memory!\n"); -+ exit(128); -+ } -+ -+ return p; -+} -diff -up tftp-hpa-0.49/tftp/main.c.cmd_arg tftp-hpa-0.49/tftp/main.c ---- tftp-hpa-0.49/tftp/main.c.cmd_arg 2008-10-21 00:08:31.000000000 +0200 -+++ tftp-hpa-0.49/tftp/main.c 2010-04-19 11:05:12.389329337 +0200 -@@ -89,11 +89,14 @@ int connected; - const struct modes *mode; - #ifdef WITH_READLINE - char *line = NULL; -+char *remote_pth = NULL; - #else - char line[LBUFLEN]; -+char remote_pth[LBUFLEN]; - #endif - int margc; --char *margv[20]; -+char **margv; -+int sizeof_margv=0; - const char *prompt = "tftp> "; - sigjmp_buf toplevel; - void intr(int); -@@ -379,6 +382,10 @@ static void getmoreargs(const char *part - free(line); - line = NULL; - } -+ if (remote_pth) { -+ free(remote_pth); -+ remote_pth = NULL; -+ } - line = xmalloc(len + elen + 1); - strcpy(line, partial); - strcpy(line + len, eline); -@@ -535,6 +542,7 @@ void put(int argc, char *argv[]) - int fd; - int n, err; - char *cp, *targ; -+ long dirlen, namelen, lastlen=0; - - if (argc < 2) { - getmoreargs("send ", "(file) "); -@@ -588,9 +596,22 @@ void put(int argc, char *argv[]) - } - /* this assumes the target is a directory */ - /* on a remote unix system. hmmmm. */ -- cp = strchr(targ, '\0'); -- *cp++ = '/'; -+ dirlen = strlen(targ)+1; -+#ifdef WITH_READLINE -+ remote_pth = xmalloc(dirlen+1); -+#endif -+ strcpy(remote_pth, targ); -+ remote_pth[dirlen-1] = '/'; -+ cp = remote_pth + dirlen; - for (n = 1; n < argc - 1; n++) { -+#ifdef WITH_READLINE -+ namelen = strlen(tail(argv[n])) + 1; -+ if (namelen > lastlen) { -+ remote_pth = xrealloc(remote_pth, dirlen + namelen + 1); -+ cp = remote_pth + dirlen; -+ lastlen = namelen; -+ } -+#endif - strcpy(cp, tail(argv[n])); - fd = open(argv[n], O_RDONLY | mode->m_openflags); - if (fd < 0) { -@@ -600,9 +621,9 @@ void put(int argc, char *argv[]) - } - if (verbose) - printf("putting %s to %s:%s [%s]\n", -- argv[n], hostname, targ, mode->m_mode); -+ argv[n], hostname, remote_pth, mode->m_mode); - sa_set_port(&peeraddr, port); -- tftp_sendfile(fd, targ, mode->m_mode); -+ tftp_sendfile(fd, remote_pth, mode->m_mode); - } - } - -@@ -801,6 +822,10 @@ static void command(void) - free(line); - line = NULL; - } -+ if (remote_pth) { -+ free(remote_pth); -+ remote_pth = NULL; -+ } - line = readline(prompt); - if (!line) - exit(0); /* EOF */ -@@ -872,7 +897,13 @@ struct cmd *getcmd(char *name) - static void makeargv(void) - { - char *cp; -- char **argp = margv; -+ char **argp; -+ -+ if (!sizeof_margv) { -+ sizeof_margv = 20; -+ margv = xmalloc(sizeof_margv * sizeof(char *)); -+ } -+ argp = margv; - - margc = 0; - for (cp = line; *cp;) { -@@ -882,6 +913,11 @@ static void makeargv(void) - break; - *argp++ = cp; - margc += 1; -+ if (margc == sizeof_margv) { -+ sizeof_margv += 20; -+ margv = xrealloc(margv, sizeof_margv * sizeof(char *)); -+ argp = margv + margc; -+ } - while (*cp != '\0' && !isspace(*cp)) - cp++; - if (*cp == '\0') diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch index 85110eb2859..3a3a292e2ef 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.39-tzfix.patch @@ -1,6 +1,6 @@ Patch originally from Fedora -http://pkgs.fedoraproject.org/cgit/tftp.git/ +https://src.fedoraproject.org/rpms/tftp.git Upstream-Status: Pending diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch index 08d2b5b7d62..42fddfd0cad 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-fortify-strcpy-crash.patch @@ -1,6 +1,6 @@ Patch originally from Fedora -http://pkgs.fedoraproject.org/cgit/tftp.git/ +https://src.fedoraproject.org/rpms/tftp.git Upstream-Status: Pending diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch index 720cd69decb..f646ec5afe2 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-0.49-stats.patch @@ -1,6 +1,6 @@ Patch originally from Fedora -http://pkgs.fedoraproject.org/cgit/tftp.git/ +https://src.fedoraproject.org/rpms/tftp.git Upstream-Status: Pending diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch deleted file mode 100644 index 216349d26fb..00000000000 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.2-pktinfo.patch +++ /dev/null @@ -1,29 +0,0 @@ -Patch originally from Fedora - -http://pkgs.fedoraproject.org/cgit/tftp.git/ - -Upstream-Status: Pending - -diff -up tftp-hpa-5.2/tftpd/recvfrom.c.test tftp-hpa-5.2/tftpd/recvfrom.c ---- tftp-hpa-5.2/tftpd/recvfrom.c.test 2011-12-11 23:13:52.000000000 +0100 -+++ tftp-hpa-5.2/tftpd/recvfrom.c 2012-01-04 10:05:17.852042256 +0100 -@@ -149,16 +149,16 @@ myrecvfrom(int s, void *buf, int len, un - - /* Try to enable getting the return address */ - #ifdef IP_RECVDSTADDR -- if (from->sa_family == AF_INET) -+ if (from->sa_family == AF_INET || !from->sa_family) - setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on)); - #endif - #ifdef IP_PKTINFO -- if (from->sa_family == AF_INET) -+ if (from->sa_family == AF_INET || !from->sa_family) - setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on)); - #endif - #ifdef HAVE_IPV6 - #ifdef IPV6_RECVPKTINFO -- if (from->sa_family == AF_INET6) -+ if (from->sa_family == AF_INET6 || !from->sa_family) - setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on)); - #endif - #endif diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.3-cmd_arg.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.3-cmd_arg.patch new file mode 100644 index 00000000000..3571137ce18 --- /dev/null +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.3-cmd_arg.patch @@ -0,0 +1,154 @@ +Patch originally from Fedora + +https://src.fedoraproject.org/rpms/tftp.git + +Upstream-Status: Pending + +diff -up tftp-hpa-5.3/config.h.cmd_arg tftp-hpa-5.3/config.h +--- tftp-hpa-5.3/config.h.cmd_arg 2024-05-30 00:40:13.000000000 +0200 ++++ tftp-hpa-5.3/config.h 2025-12-26 22:27:30.933202754 +0100 +@@ -277,6 +277,7 @@ typedef int socklen_t; + /* Prototypes for libxtra functions */ + + void *xmalloc(size_t); ++void *xrealloc(void *, size_t); + char *xstrdup(const char *); + + #ifndef HAVE_SIGHANDLER_T +diff -up tftp-hpa-5.3/lib/xrealloc.c.cmd_arg tftp-hpa-5.3/lib/xrealloc.c +--- tftp-hpa-5.3/lib/xrealloc.c.cmd_arg 2025-12-26 22:19:59.751870026 +0100 ++++ tftp-hpa-5.3/lib/xrealloc.c 2025-12-26 22:19:59.751870026 +0100 +@@ -0,0 +1,20 @@ ++/* ++ * xrealloc.c ++ * ++ * Simple error-checking version of realloc() ++ * ++ */ ++ ++#include "config.h" ++ ++void *xrealloc(void *ptr, size_t size) ++{ ++ void *p = realloc(ptr, size); ++ ++ if (!p) { ++ fprintf(stderr, "Out of memory!\n"); ++ exit(128); ++ } ++ ++ return p; ++} +diff -up tftp-hpa-5.3/tftp/main.c.cmd_arg tftp-hpa-5.3/tftp/main.c +--- tftp-hpa-5.3/tftp/main.c.cmd_arg 2024-05-30 00:40:13.000000000 +0200 ++++ tftp-hpa-5.3/tftp/main.c 2025-12-26 22:19:59.752870023 +0100 +@@ -89,11 +89,14 @@ int connected; + const struct modes *mode; + #ifdef WITH_READLINE + char *line = NULL; ++char *remote_pth = NULL; + #else + char line[LBUFLEN]; ++char remote_pth[LBUFLEN]; + #endif + int margc; +-char *margv[20]; ++char **margv; ++int sizeof_margv=0; + const char *prompt = "tftp> "; + sigjmp_buf toplevel; + void intr(int); +@@ -379,6 +382,10 @@ static void getmoreargs(const char *part + free(line); + line = NULL; + } ++ if (remote_pth) { ++ free(remote_pth); ++ remote_pth = NULL; ++ } + line = xmalloc(len + elen + 1); + strcpy(line, partial); + strcpy(line + len, eline); +@@ -535,6 +542,7 @@ void put(int argc, char *argv[]) + int fd; + int n, err; + char *cp, *targ; ++ long dirlen, namelen, lastlen=0; + + if (argc < 2) { + getmoreargs("send ", "(file) "); +@@ -588,9 +596,22 @@ void put(int argc, char *argv[]) + } + /* this assumes the target is a directory */ + /* on a remote unix system. hmmmm. */ +- cp = strchr(targ, '\0'); +- *cp++ = '/'; ++ dirlen = strlen(targ)+1; ++#ifdef WITH_READLINE ++ remote_pth = xmalloc(dirlen+1); ++#endif ++ strcpy(remote_pth, targ); ++ remote_pth[dirlen-1] = '/'; ++ cp = remote_pth + dirlen; + for (n = 1; n < argc - 1; n++) { ++#ifdef WITH_READLINE ++ namelen = strlen(tail(argv[n])) + 1; ++ if (namelen > lastlen) { ++ remote_pth = xrealloc(remote_pth, dirlen + namelen + 1); ++ cp = remote_pth + dirlen; ++ lastlen = namelen; ++ } ++#endif + strcpy(cp, tail(argv[n])); + fd = open(argv[n], O_RDONLY | mode->m_openflags); + if (fd < 0) { +@@ -600,9 +621,9 @@ void put(int argc, char *argv[]) + } + if (verbose) + printf("putting %s to %s:%s [%s]\n", +- argv[n], hostname, targ, mode->m_mode); ++ argv[n], hostname, remote_pth, mode->m_mode); + sa_set_port(&peeraddr, port); +- tftp_sendfile(fd, targ, mode->m_mode); ++ tftp_sendfile(fd, remote_pth, mode->m_mode); + } + } + +@@ -801,6 +822,10 @@ static void command(void) + free(line); + line = NULL; + } ++ if (remote_pth) { ++ free(remote_pth); ++ remote_pth = NULL; ++ } + line = readline(prompt); + if (!line) + exit(0); /* EOF */ +@@ -872,7 +897,13 @@ struct cmd *getcmd(char *name) + static void makeargv(void) + { + char *cp; +- char **argp = margv; ++ char **argp; ++ ++ if (!sizeof_margv) { ++ sizeof_margv = 20; ++ margv = xmalloc(sizeof_margv * sizeof(char *)); ++ } ++ argp = margv; + + margc = 0; + for (cp = line; *cp;) { +@@ -882,6 +913,11 @@ static void makeargv(void) + break; + *argp++ = cp; + margc += 1; ++ if (margc == sizeof_margv) { ++ sizeof_margv += 20; ++ margv = xrealloc(margv, sizeof_margv * sizeof(char *)); ++ argp = margv + margc; ++ } + while (*cp != '\0' && !isspace(*cp)) + cp++; + if (*cp == '\0') diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.3-pktinfo.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.3-pktinfo.patch new file mode 100644 index 00000000000..02e88aed366 --- /dev/null +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-5.3-pktinfo.patch @@ -0,0 +1,29 @@ +Patch originally from Fedora + +https://src.fedoraproject.org/rpms/tftp.git + +Upstream-Status: Pending + +diff -up tftp-hpa-5.3/tftpd/recvfrom.c.pktinfo tftp-hpa-5.3/tftpd/recvfrom.c +--- tftp-hpa-5.3/tftpd/recvfrom.c.pktinfo 2024-05-30 00:40:13.000000000 +0200 ++++ tftp-hpa-5.3/tftpd/recvfrom.c 2025-12-26 22:30:37.142522362 +0100 +@@ -170,16 +170,16 @@ myrecvfrom(int s, void *buf, int len, un + + /* Try to enable getting the return address */ + #ifdef IP_RECVDSTADDR +- if (from->sa.sa_family == AF_INET) ++ if (from->sa.sa_family == AF_INET || !from->sa.sa_family) + setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on)); + #endif + #ifdef IP_PKTINFO +- if (from->sa.sa_family == AF_INET) ++ if (from->sa.sa_family == AF_INET || !from->sa.sa_family) + setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on)); + #endif + #ifdef HAVE_IPV6 + #ifdef IPV6_RECVPKTINFO +- if (from->sa.sa_family == AF_INET6) ++ if (from->sa.sa_family == AF_INET6 || !from->sa.sa_family) + setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on)); + #endif + #endif diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch index e994f284029..f68e6369c48 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch @@ -1,4 +1,4 @@ -From 6ed1eb8829dee351b54e183bc42c007cb306aaa5 Mon Sep 17 00:00:00 2001 +From 2be04543d790d9ec29fa8522f07f221468ccd033 Mon Sep 17 00:00:00 2001 From: Zhang Xiao Date: Wed, 11 Jun 2014 14:01:16 +0800 Subject: [PATCH] tftp-hpa: bug fix on separated CR and LF @@ -34,5 +34,5 @@ index b4d4ffe..b4ea3f2 100644 c = *p++; /* pick up a character */ if (prevchar == '\r') { /* if prev char was cr */ -- -1.8.5.2.233.g932f7e4 +2.34.1 diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd deleted file mode 100644 index fe701639666..00000000000 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-xinetd +++ /dev/null @@ -1,18 +0,0 @@ -# default: off -# description: The tftp server serves files using the trivial file transfer \ -# protocol. The tftp protocol is often used to boot diskless \ -# workstations, download configuration files to network-aware printers, \ -# and to start the installation process for some operating systems. -service tftp -{ - socket_type = dgram - protocol = udp - wait = yes - user = root - server = /usr/sbin/in.tftpd-hpa - server_args = -s /var/lib/tftpboot - disable = yes - per_source = 11 - cps = 100 2 - flags = IPv6 -} diff --git a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb deleted file mode 100644 index 96c9bdb6530..00000000000 --- a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb +++ /dev/null @@ -1,98 +0,0 @@ -SUMMARY = "Client for the Trivial File Transfer Protocol" -DESCRIPTION = \ -"The Trivial File Transfer Protocol (TFTP) is normally used only for \ -booting diskless workstations. The tftp package provides the user \ -interface for TFTP, which allows users to transfer files to and from a \ -remote machine. This program and TFTP provide very little security, \ -and should not be enabled unless it is expressly needed." -DEPENDS = "readline" -SECTION = "net" -HOMEPAGE = "http://freecode.com/projects/tftp-hpa" -LICENSE = "BSD-4-Clause" -LIC_FILES_CHKSUM = "file://MCONFIG.in;beginline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \ - file://tftp/tftp.c;beginline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4" - - -SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.tar.bz2 \ - file://tftp-0.40-remap.patch \ - file://tftp-0.42-tftpboot.patch \ - file://tftp-0.49-chk_retcodes.patch \ - file://tftp-0.49-cmd_arg.patch \ - file://tftp-hpa-0.39-tzfix.patch \ - file://tftp-hpa-0.49-fortify-strcpy-crash.patch \ - file://tftp-hpa-0.49-stats.patch \ - file://tftp-hpa-5.2-pktinfo.patch \ - file://default \ - file://init \ - file://add-error-check-for-disk-filled-up.patch \ - file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \ - file://fix-writing-emtpy-file.patch \ - file://0001-__progname-is-provided-by-libc.patch \ - file://0001-tftp-Mark-toplevel-definition-as-external.patch \ - file://0001-tftp-Remove-double-inclusion-of-signal.h.patch \ - file://tftpd-hpa.socket \ - file://tftpd-hpa.service \ -" - -SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21" -SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269" - -inherit autotools-brokensep update-rc.d update-alternatives systemd - -export AR = "${HOST_PREFIX}ar cq" - -EXTRA_OECONF += "--disable-option-checking" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," - -# configure.in has errors -do_configure() { - oe_runconf -} - -do_install() { - oe_runmake install INSTALLROOT=${D} - mv ${D}${bindir}/tftp ${D}${bindir}/tftp-hpa - mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa - - install -m 755 -d ${D}${localstatedir}/lib/tftpboot/ - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa - sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa - sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/tftpd-hpa - - install -d ${D}${sysconfdir}/default - install -m 0644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/tftpd-hpa.socket ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/tftpd-hpa.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tftpd-hpa.service -} - -FILES:${PN} = "${bindir}" - -PACKAGES += "tftp-hpa-server" -SUMMARY:tftp-hpa-server = "Server for the Trivial File Transfer Protocol" -FILES:tftp-hpa-server = "${sbindir} ${sysconfdir} ${localstatedir}" -CONFFILES:tftp-hpa-server = "${sysconfdir}/default/tftpd-hpa" - -INITSCRIPT_PACKAGES = "tftp-hpa-server" -INITSCRIPT_NAME = "tftpd-hpa" -INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 1 ." - -ALTERNATIVE:${PN}-doc = "tftpd.8 tftp.1" -ALTERNATIVE_LINK_NAME[tftpd.8] = "${mandir}/man8/tftpd.8" -ALTERNATIVE_LINK_NAME[tftp.1] = "${mandir}/man1/tftp.1" - -ALTERNATIVE:${PN} = "tftp" -ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa" -ALTERNATIVE_PRIORITY = "100" - - -SYSTEMD_PACKAGES = "tftp-hpa-server" -SYSTEMD_SERVICE:tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service" -SYSTEMD_AUTO_ENABLE:tftp-hpa-server = "enable" diff --git a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.3.bb b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.3.bb new file mode 100644 index 00000000000..fc7e54a160f --- /dev/null +++ b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.3.bb @@ -0,0 +1,98 @@ +SUMMARY = "Client for the Trivial File Transfer Protocol" +DESCRIPTION = \ +"The Trivial File Transfer Protocol (TFTP) is normally used only for \ +booting diskless workstations. The tftp package provides the user \ +interface for TFTP, which allows users to transfer files to and from a \ +remote machine. This program and TFTP provide very little security, \ +and should not be enabled unless it is expressly needed." +HOMEPAGE = "https://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git/" +SECTION = "net" +LICENSE = "BSD-4-Clause" +LIC_FILES_CHKSUM = "file://MCONFIG.in;beginline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \ + file://tftp/tftp.c;beginline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4" + + +SRC_URI = "git://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git;protocol=https;branch=master;tag=tftp-hpa-${PV} \ + file://tftp-0.40-remap.patch \ + file://tftp-0.42-tftpboot.patch \ + file://tftp-0.49-chk_retcodes.patch \ + file://tftp-hpa-5.3-cmd_arg.patch \ + file://tftp-hpa-0.39-tzfix.patch \ + file://tftp-hpa-0.49-fortify-strcpy-crash.patch \ + file://tftp-hpa-0.49-stats.patch \ + file://tftp-hpa-5.3-pktinfo.patch \ + file://add-error-check-for-disk-filled-up.patch \ + file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \ + file://fix-writing-emtpy-file.patch \ + file://default \ + file://init \ + file://tftpd-hpa.socket \ + file://tftpd-hpa.service \ + " + +SRCREV = "15c4f369ee741e9205dc28ce631aaf6799193b04" + +inherit autotools-brokensep update-rc.d update-alternatives systemd + +DEPENDS = "readline" + +EXTRA_OECONF = "--enable-largefile \ + --enable-year2038 \ + --with-readline \ + --without-tcpwrappers \ + " + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--with-ipv6,--without-ipv6," + +CACHED_CONFIGUREVARS:libc-musl = "ac_cv_type_socklen_t=yes" + +do_install() { + oe_runmake install INSTALLROOT=${D} + mv ${D}${bindir}/tftp ${D}${bindir}/tftp-hpa + mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa + + install -m 755 -d ${D}${localstatedir}/lib/tftpboot/ + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/default + install -m 0644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/tftpd-hpa + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/tftpd-hpa.socket ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/tftpd-hpa.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tftpd-hpa.service + fi +} + +FILES:${PN} = "${bindir}" + +PACKAGES += "tftp-hpa-server" +SUMMARY:tftp-hpa-server = "Server for the Trivial File Transfer Protocol" +FILES:tftp-hpa-server = "${sbindir} ${sysconfdir} ${localstatedir}" +CONFFILES:tftp-hpa-server = "${sysconfdir}/default/tftpd-hpa" + +INITSCRIPT_PACKAGES = "tftp-hpa-server" +INITSCRIPT_NAME = "tftpd-hpa" +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 1 ." + +ALTERNATIVE:${PN}-doc = "tftpd.8 tftp.1" +ALTERNATIVE_LINK_NAME[tftpd.8] = "${mandir}/man8/tftpd.8" +ALTERNATIVE_LINK_NAME[tftp.1] = "${mandir}/man1/tftp.1" + +ALTERNATIVE:${PN} = "tftp" +ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa" +ALTERNATIVE_PRIORITY = "100" + +SYSTEMD_PACKAGES = "tftp-hpa-server" +SYSTEMD_SERVICE:tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service" +SYSTEMD_AUTO_ENABLE:tftp-hpa-server = "enable" diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb index f2c27606e16..69d97d326dd 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb @@ -35,8 +35,9 @@ RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-li PAMLIB = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -lpam', '', d)}" NOPAM_SRC = "file://nopam.patch" -inherit update-rc.d useradd systemd +inherit update-rc.d useradd systemd multilib_script +MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/pam.d/vsftpd" CONFFILES:${PN} = "${sysconfdir}/vsftpd.conf" LDFLAGS:append = " -lcrypt -lcap" CFLAGS:append:libc-musl = " -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -include fcntl.h" diff --git a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5a.bb b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5a.bb deleted file mode 100644 index 611795e17d8..00000000000 --- a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5a.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "A C implementation of the Constrained Application Protocol" -DESCRIPTION = "libcoap implements a lightweight application-protocol for \ -devices that are constrained their resources such as computing power, \ -RF range, memory, bandwith, or network packet sizes." -HOMEPAGE = "https://libcoap.net/" - -LICENSE = "BSD-2-Clause & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=05d17535846895e23ea4c79b16a9e904" - -SRC_URI = "git://github.com/obgm/libcoap.git;branch=release-4.3.5-patches;protocol=https;tag=v${PV} \ - file://run-ptest \ - " -SRCREV = "e3fdcdcfbd1588754fe9dd4b754ac9397260f0f9" - -# patch releases often use alphabetical suffixes -CVE_VERSION_SUFFIX = "alphabetical" - -inherit autotools manpages pkgconfig ptest - -DEPENDS += "ctags-native" - -PACKAGECONFIG ?= "\ - async openssl tcp \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ -" -PACKAGECONFIG[async] = "--enable-async,--disable-async" -PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,,,openssl mbedtls wolfssl" -PACKAGECONFIG[manpages] = "--enable-documentation --enable-doxygen --enable-manpages,--disable-documentation,asciidoc-native doxygen-native graphviz-native" -PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,,,gnutls openssl wolfssl" -PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,,,gnutls mbedtls wolfssl" -PACKAGECONFIG[small-stack] = "--enable-small-stack,--disable-small-stack" -PACKAGECONFIG[tcp] = "--enable-tcp,--disable-tcp" -PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cunit" -PACKAGECONFIG[wolfssl] = "--with-wolfssl,--without-wolfssl,wolfssl,,,gnutls mbedtls openssl" - -EXTRA_OECONF = "\ - --with-epoll --enable-add-default-names \ - --without-tinydtls --without-submodule-tinydtls \ - ${@bb.utils.contains_any('PACKAGECONFIG', 'gnutls openssl mbedtls', '--enable-dtls', '--disable-dtls', d)} \ -" - -python () { - if d.getVar('PTEST_ENABLED') == "1": - d.setVar('DISABLE_STATIC', '') -} - -export SGML_CATALOG_FILES = "file://${STAGING_ETCDIR_NATIVE}/xml/catalog" - -do_compile:prepend() { - oe_runmake update-map-file -} - -do_install_ptest () { - install -d ${D}${PTEST_PATH} - install -m 0755 ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest - install -m 0755 ${B}/tests/testdriver ${D}${PTEST_PATH}/testdriver -} - -PACKAGE_BEFORE_PN += "\ - ${PN}-bin \ -" - -FILES:${PN}-bin = "${bindir}" -FILES:${PN}-dev += "${datadir}/${BPN}/examples" - -CVE_STATUS[CVE-2025-50518] = "disputed: happens only when library is used incorrectly" diff --git a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb new file mode 100644 index 00000000000..7ea3eba1b0f --- /dev/null +++ b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb @@ -0,0 +1,67 @@ +SUMMARY = "A C implementation of the Constrained Application Protocol" +DESCRIPTION = "libcoap implements a lightweight application-protocol for \ +devices that are constrained their resources such as computing power, \ +RF range, memory, bandwith, or network packet sizes." +HOMEPAGE = "https://libcoap.net/" + +LICENSE = "BSD-2-Clause & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=05d17535846895e23ea4c79b16a9e904" + +SRC_URI = "git://github.com/obgm/libcoap.git;branch=release-4.3.5-patches;protocol=https;tag=v${PV} \ + file://run-ptest \ + " +SRCREV = "851533c3cf63d16984d370ce39d586ecb3694971" + +# patch releases often use alphabetical suffixes +CVE_VERSION_SUFFIX = "alphabetical" + +inherit autotools manpages pkgconfig ptest + +DEPENDS += "ctags-native" + +PACKAGECONFIG ?= "\ + async openssl tcp \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ +" +PACKAGECONFIG[async] = "--enable-async,--disable-async" +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,,,openssl mbedtls wolfssl" +PACKAGECONFIG[manpages] = "--enable-documentation --enable-doxygen --enable-manpages,--disable-documentation,asciidoc-native doxygen-native graphviz-native" +PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,,,gnutls openssl wolfssl" +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,,,gnutls mbedtls wolfssl" +PACKAGECONFIG[small-stack] = "--enable-small-stack,--disable-small-stack" +PACKAGECONFIG[tcp] = "--enable-tcp,--disable-tcp" +PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cunit" +PACKAGECONFIG[wolfssl] = "--with-wolfssl,--without-wolfssl,wolfssl,,,gnutls mbedtls openssl" + +EXTRA_OECONF = "\ + --with-epoll --enable-add-default-names \ + --without-tinydtls --without-submodule-tinydtls \ + ${@bb.utils.contains_any('PACKAGECONFIG', 'gnutls openssl mbedtls', '--enable-dtls', '--disable-dtls', d)} \ +" + +python () { + if d.getVar('PTEST_ENABLED') == "1": + d.setVar('DISABLE_STATIC', '') +} + +export SGML_CATALOG_FILES = "file://${STAGING_ETCDIR_NATIVE}/xml/catalog" + +do_compile:prepend() { + oe_runmake update-map-file +} + +do_install_ptest () { + install -d ${D}${PTEST_PATH} + install -m 0755 ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest + install -m 0755 ${B}/tests/testdriver ${D}${PTEST_PATH}/testdriver +} + +PACKAGE_BEFORE_PN += "\ + ${PN}-bin \ +" + +FILES:${PN}-bin = "${bindir}" +FILES:${PN}-dev += "${datadir}/${BPN}/examples" + +CVE_STATUS[CVE-2025-50518] = "disputed: happens only when library is used incorrectly" +CVE_STATUS[CVE-2026-29013] = "fixed-version: fixed in 4.3.5b" diff --git a/meta-networking/recipes-extended/corosync/corosync/CVE-2026-35091.patch b/meta-networking/recipes-extended/corosync/corosync/CVE-2026-35091.patch new file mode 100644 index 00000000000..8afa5d6841f --- /dev/null +++ b/meta-networking/recipes-extended/corosync/corosync/CVE-2026-35091.patch @@ -0,0 +1,47 @@ +From b9cb461121c8721c94a94309eb345a3c2f9ee9b4 Mon Sep 17 00:00:00 2001 +From: Jan Friesse +Date: Thu, 2 Apr 2026 09:00:39 +0200 +Subject: [PATCH] totemsrp: Return error if sanity check fails +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Previously, the check_memb_commit_token_sanity function correctly +checked the minimum message length. However, if the message was too +short, it incorrectly returned a success code (0) instead of the +expected failure code (-1). + +This commit ensures the appropriate error code is returned when the +message length sanity check fails. + +Fixes: CVE-2026-35091 + +Reported-by: Sebastián Alba Vives (@Sebasteuo / 0xS4bb1) +Signed-off-by: Jan Friesse +Also-proposed-by: nicholasyang +Reviewed-by: Christine Caulfield + +CVE: CVE-2026-35091 +Upstream-Status: Backport [https://github.com/corosync/corosync/commit/a16614accfdb3481264d7281843fadf439d9ab1b] +Signed-off-by: Gyorgy Sarvari +--- + exec/totemsrp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/exec/totemsrp.c b/exec/totemsrp.c +index 35bf971..94d6c21 100644 +--- a/exec/totemsrp.c ++++ b/exec/totemsrp.c +@@ -3811,10 +3811,10 @@ static int check_memb_commit_token_sanity( + log_printf (instance->totemsrp_log_level_security, + "Received memb_commit_token message is too short... ignoring."); + +- return (0); ++ return (-1); + } + +- addr_entries= mct_msg->addr_entries; ++ addr_entries = mct_msg->addr_entries; + if (endian_conversion_needed) { + addr_entries = swab32(addr_entries); + } diff --git a/meta-networking/recipes-extended/corosync/corosync/CVE-2026-35092.patch b/meta-networking/recipes-extended/corosync/corosync/CVE-2026-35092.patch new file mode 100644 index 00000000000..8182647840d --- /dev/null +++ b/meta-networking/recipes-extended/corosync/corosync/CVE-2026-35092.patch @@ -0,0 +1,57 @@ +From 8f8a4747a0223b8897deda9a40a8a099c61fa80f Mon Sep 17 00:00:00 2001 +From: Jan Friesse +Date: Thu, 2 Apr 2026 09:44:06 +0200 +Subject: [PATCH] totemsrp: Fix integer overflow in memb_join_sanity +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This commit addresses an integer overflow (wraparound) vulnerability +in the check_memb_join_sanity function. + +Previously, the 32-bit unsigned network values proc_list_entries and +failed_list_entries were added together before being promoted to +size_t. This allowed the addition to wrap around in 32-bit arithmetic +(e.g., 0x80000000 + 0x80000000 = 0), resulting in a required_len +calculation that was incorrectly small. + +The solution is to cast the list entries to size_t and verify that +neither exceeds the maximum allowed value before the addition occurs. + +Fixes: CVE-2026-35092 + +Reported-by: Sebastián Alba Vives (@Sebasteuo / 0xS4bb1) +Signed-off-by: Jan Friesse +Also-proposed-by: nicholasyang +Reviewed-by: Christine Caulfield + +CVE: CVE-2026-35092 +Upstream-Status: Backport [https://github.com/corosync/corosync/commit/4082294f5094a7591e4e00658c5a605f05d644f1] +Signed-off-by: Gyorgy Sarvari +--- + exec/totemsrp.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/exec/totemsrp.c b/exec/totemsrp.c +index 94d6c21..6845cec 100644 +--- a/exec/totemsrp.c ++++ b/exec/totemsrp.c +@@ -3786,7 +3786,17 @@ static int check_memb_join_sanity( + failed_list_entries = swab32(failed_list_entries); + } + +- required_len = sizeof(struct memb_join) + ((proc_list_entries + failed_list_entries) * sizeof(struct srp_addr)); ++ if (proc_list_entries > PROCESSOR_COUNT_MAX || ++ failed_list_entries > PROCESSOR_COUNT_MAX) { ++ log_printf (instance->totemsrp_log_level_security, ++ "Received memb_join message list_entries exceeds the maximum " ++ "allowed value... ignoring."); ++ ++ return (-1); ++ } ++ ++ required_len = sizeof(struct memb_join) + ++ (((size_t)proc_list_entries + (size_t)failed_list_entries) * sizeof(struct srp_addr)); + if (msg_len < required_len) { + log_printf (instance->totemsrp_log_level_security, + "Received memb_join message is too short... ignoring."); diff --git a/meta-networking/recipes-extended/corosync/corosync_3.1.10.bb b/meta-networking/recipes-extended/corosync/corosync_3.1.10.bb index 07d9333ec82..77dea16e988 100644 --- a/meta-networking/recipes-extended/corosync/corosync_3.1.10.bb +++ b/meta-networking/recipes-extended/corosync/corosync_3.1.10.bb @@ -9,6 +9,8 @@ inherit autotools pkgconfig systemd github-releases SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ file://corosync.conf \ + file://CVE-2026-35091.patch \ + file://CVE-2026-35092.patch \ " SRC_URI[sha256sum] = "be361c827f99b215b3bd3fa2fb071c03dac6831c2a351963d938caef62604bc8" UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" diff --git a/meta-networking/recipes-extended/kronosnet/kronosnet_1.31.bb b/meta-networking/recipes-extended/kronosnet/kronosnet_1.31.bb deleted file mode 100644 index d95bb812789..00000000000 --- a/meta-networking/recipes-extended/kronosnet/kronosnet_1.31.bb +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (C) 2020 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Kronosnet, often referred to as knet, is a network abstraction layer \ - designed for High Availability use cases, where redundancy, security, \ - fault tolerance and fast fail-over are the core requirements of your application." -HOMEPAGE = "https://kronosnet.org/" -LICENSE = "GPL-2.0-or-later & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING.applications;md5=751419260aa954499f7abaabaa882bbe \ - file://COPYING.libraries;md5=2d5025d4aa3495befef8f17206a5b0a1" -SECTION = "libs" -DEPENDS = "doxygen-native libqb-native libxml2-native bzip2 libqb libxml2 libnl lksctp-tools lz4 lzo openssl nss xz zlib zstd" - -SRCREV = "da73f2a1e0ffe2aee15d4f705edf90ee8445e2d4" -SRC_URI = "git://github.com/kronosnet/kronosnet;protocol=https;branch=stable1;tag=v${PV}" - -BB_GIT_SHALLOW_EXTRA_REFS = "refs/tags/v${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/kronosnet/kronosnet/releases" - -inherit autotools pkgconfig - - -# libknet/transport_udp.c:326:48: error: comparison of integers of different signs: 'unsigned long' and 'int' [-Werror,-Wsign-compare] -# for (cmsg = CMSG_FIRSTHDR(&msg);cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { -# ^~~~~~~~~~~~~~~~~~~~~~~ -CFLAGS:append:toolchain-clang = " -Wno-sign-compare" - -PACKAGECONFIG[man] = "enable_man="yes", --disable-man, " - -PACKAGECONFIG:remove = "man" diff --git a/meta-networking/recipes-extended/kronosnet/kronosnet_1.33.bb b/meta-networking/recipes-extended/kronosnet/kronosnet_1.33.bb new file mode 100644 index 00000000000..fa802d02bd5 --- /dev/null +++ b/meta-networking/recipes-extended/kronosnet/kronosnet_1.33.bb @@ -0,0 +1,31 @@ +# Copyright (C) 2020 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Kronosnet, often referred to as knet, is a network abstraction layer \ + designed for High Availability use cases, where redundancy, security, \ + fault tolerance and fast fail-over are the core requirements of your application." +HOMEPAGE = "https://kronosnet.org/" +LICENSE = "GPL-2.0-or-later & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.applications;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYING.libraries;md5=2d5025d4aa3495befef8f17206a5b0a1" +SECTION = "libs" +DEPENDS = "doxygen-native libqb-native libxml2-native bzip2 libqb libxml2 libnl lksctp-tools lz4 lzo openssl nss xz zlib zstd" + +SRCREV = "176bc1064a8e85f95eda2cb1e53b1ce5d471d857" +SRC_URI = "git://github.com/kronosnet/kronosnet;protocol=https;branch=stable1;tag=v${PV}" + +BB_GIT_SHALLOW_EXTRA_REFS = "refs/tags/v${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/kronosnet/kronosnet/releases" + +inherit autotools pkgconfig + + +# libknet/transport_udp.c:326:48: error: comparison of integers of different signs: 'unsigned long' and 'int' [-Werror,-Wsign-compare] +# for (cmsg = CMSG_FIRSTHDR(&msg);cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { +# ^~~~~~~~~~~~~~~~~~~~~~~ +CFLAGS:append:toolchain-clang = " -Wno-sign-compare" + +PACKAGECONFIG[man] = "enable_man="yes", --disable-man, " + +PACKAGECONFIG:remove = "man" diff --git a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.8.bb b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.8.bb deleted file mode 100644 index 524718d56c3..00000000000 --- a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.8.bb +++ /dev/null @@ -1,60 +0,0 @@ -SUMMARY = "Connection tracking userspace tools for Linux" -SECTION = "net" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" - -DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \ - libnetfilter-cthelper libnetfilter-queue bison-native libtirpc" - -EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc" - -SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.xz \ - file://conntrack-failover \ - file://init \ - file://conntrackd.service \ -" -SRC_URI[sha256sum] = "067677f4c5f6564819e78ed3a9d4a8980935ea9273f3abb22a420ea30ab5ded6" - -inherit autotools update-rc.d pkgconfig systemd - -PACKAGECONFIG ?= "cthelper cttimeout \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" - -PACKAGECONFIG[cthelper] = "--enable-cthelper,--disable-cthelper" -PACKAGECONFIG[cttimeout] = "--enable-cttimeout,--disable-cttimeout" -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" - -INITSCRIPT_NAME = "conntrackd" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "conntrackd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -do_install:append() { - install -d ${D}/${sysconfdir}/conntrackd - install -d ${D}/${sysconfdir}/init.d - install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample - install -m 0755 ${UNPACKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover - install -m 0755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd - - # Fix hardcoded paths in scripts - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd - sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample - sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}/${systemd_system_unitdir} - install -m 644 ${UNPACKDIR}/conntrackd.service ${D}/${systemd_system_unitdir} - fi -} - -# fix error message: Do not forget that you need *root* or CAP_NET_ADMIN capabilities ;-) -pkg_postinst:${PN} () { - setcap cap_net_admin+ep "$D/${sbindir}/conntrack" -} -PACKAGE_WRITE_DEPS += "libcap-native" - -RRECOMMENDS:${PN} = "kernel-module-nf-conntrack kernel-module-nfnetlink \ - kernel-module-nf-conntrack-netlink \ - " diff --git a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.9.bb b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.9.bb new file mode 100644 index 00000000000..798939863d8 --- /dev/null +++ b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.9.bb @@ -0,0 +1,60 @@ +SUMMARY = "Connection tracking userspace tools for Linux" +SECTION = "net" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \ + libnetfilter-cthelper libnetfilter-queue bison-native libtirpc" + +EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc" + +SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.xz \ + file://conntrack-failover \ + file://init \ + file://conntrackd.service \ +" +SRC_URI[sha256sum] = "c15afe488a8d408c9d6d61e97dbd19f3c591942f62c13df6453a961ca4231cae" + +inherit autotools update-rc.d pkgconfig systemd + +PACKAGECONFIG ?= "cthelper cttimeout \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +PACKAGECONFIG[cthelper] = "--enable-cthelper,--disable-cthelper" +PACKAGECONFIG[cttimeout] = "--enable-cttimeout,--disable-cttimeout" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +INITSCRIPT_NAME = "conntrackd" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "conntrackd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +do_install:append() { + install -d ${D}/${sysconfdir}/conntrackd + install -d ${D}/${sysconfdir}/init.d + install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample + install -m 0755 ${UNPACKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover + install -m 0755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd + + # Fix hardcoded paths in scripts + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd + sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample + sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}/${systemd_system_unitdir} + install -m 644 ${UNPACKDIR}/conntrackd.service ${D}/${systemd_system_unitdir} + fi +} + +# fix error message: Do not forget that you need *root* or CAP_NET_ADMIN capabilities ;-) +pkg_postinst:${PN} () { + setcap cap_net_admin+ep "$D/${sbindir}/conntrack" +} +PACKAGE_WRITE_DEPS += "libcap-native" + +RRECOMMENDS:${PN} = "kernel-module-nf-conntrack kernel-module-nfnetlink \ + kernel-module-nf-conntrack-netlink \ + " diff --git a/meta-networking/recipes-filter/ebtables/ebtables_2.0.11.bb b/meta-networking/recipes-filter/ebtables/ebtables_2.0.11.bb index be8c49854e8..5e9f9ce0704 100644 --- a/meta-networking/recipes-filter/ebtables/ebtables_2.0.11.bb +++ b/meta-networking/recipes-filter/ebtables/ebtables_2.0.11.bb @@ -21,7 +21,7 @@ SRC_URI:append:libc-musl = " file://0010-Adjust-header-include-sequence.patch" SRC_URI[md5sum] = "071c8b0a59241667a0044fb040d4fc72" SRC_URI[sha256sum] = "b71f654784a726329f88b412ef7b96b4e5d786ed2bd28193ed7b4c0d677dfd2a" -inherit systemd autotools +inherit systemd autotools update-alternatives do_install:append () { # Replace upstream ebtables-save perl script with Fedora bash based rewrite @@ -49,3 +49,8 @@ FILES:${PN}-dbg += "${base_libdir}/ebtables/.debug" FILES:${PN} += "${base_libdir}/ebtables/*.so" SYSTEMD_SERVICE:${PN} = "ebtables.service" + +ALTERNATIVE:${PN} = "ebtables" +ALTERNATIVE_LINK_NAME[ebtables] = "${sbindir}/ebtables" +ALTERNATIVE_TARGET[ebtables] = "${sbindir}/ebtables-legacy" +ALTERNATIVE_PRIORITY[ebtables] = "90" diff --git a/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.1.0.bb b/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.1.0.bb deleted file mode 100644 index 08d3ab691c1..00000000000 --- a/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.1.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Netfilter connection tracking library" -DESCRIPTION = "Userspace library providing a programming interface (API) to the Linux kernel netfilter connection tracking state table" -HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_conntrack/index.html" -SECTION = "libs" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" -DEPENDS = "libnfnetlink libmnl" - -SRC_URI = "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.xz \ - " - -SRC_URI[sha256sum] = "67edcb4eb826c2f8dc98af08dabff68f3b3d0fe6fb7d9d0ac1ee7ecce0fe694e" - -S = "${UNPACKDIR}/libnetfilter_conntrack-${PV}" - -inherit autotools pkgconfig diff --git a/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.1.1.bb b/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.1.1.bb new file mode 100644 index 00000000000..e397034504b --- /dev/null +++ b/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.1.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "Netfilter connection tracking library" +DESCRIPTION = "Userspace library providing a programming interface (API) to the Linux kernel netfilter connection tracking state table" +HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_conntrack/index.html" +SECTION = "libs" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" +DEPENDS = "libnfnetlink libmnl" + +SRC_URI = "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.xz \ + " + +SRC_URI[sha256sum] = "769d3eaf57fa4fbdb05dd12873b6cb9a5be7844d8937e222b647381d44284820" + +S = "${UNPACKDIR}/libnetfilter_conntrack-${PV}" + +inherit autotools pkgconfig diff --git a/meta-networking/recipes-filter/nftables/nftables/0001-build-support-SOURCE_DATE_EPOCH-for-build-time-stamp.patch b/meta-networking/recipes-filter/nftables/nftables/0001-build-support-SOURCE_DATE_EPOCH-for-build-time-stamp.patch new file mode 100644 index 00000000000..f52ff28b216 --- /dev/null +++ b/meta-networking/recipes-filter/nftables/nftables/0001-build-support-SOURCE_DATE_EPOCH-for-build-time-stamp.patch @@ -0,0 +1,41 @@ +From fde27e62b241fb7d96de36a2fd6d7879c24f5de6 Mon Sep 17 00:00:00 2001 +From: Jeremy Sowden +Date: Wed, 28 Jan 2026 18:31:07 +0000 +Subject: [PATCH] build: support `SOURCE_DATE_EPOCH` for build time-stamp + +In order to support reproducible builds, set the build time-stamp to the value +of the environment variable, `SOURCE_DATE_EPOCH`, if set, and fall back to +calling `date`, otherwise. + +Link: https://reproducible-builds.org/docs/source-date-epoch/ +Fixes: 64c07e38f049 ("table: Embed creating nft version into userdata") +Reported-by: Arnout Engelen +Closes: https://github.com/NixOS/nixpkgs/issues/478048 +Suggested-by: Philipp Bartsch +Signed-off-by: Jeremy Sowden +Signed-off-by: Phil Sutter + +Upstream-Status: Backport [https://git.netfilter.org/nftables/commit/?id=ca86f206c92704170a295b8dc7a41f6448835dde] +[Adjust patch for 1.1.6] + +Signed-off-by: Yi Zhao +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6825474..527049f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -165,7 +165,7 @@ AC_CONFIG_COMMANDS([nftversion.h], [ + ]) + # Current date should be fetched exactly once per build, + # so have 'make' call date and pass the value to every 'gcc' call +-AC_SUBST([MAKE_STAMP], ["\$(shell date +%s)"]) ++AC_SUBST([MAKE_STAMP], ["${SOURCE_DATE_EPOCH:-$(date +%s)}"]) + + AC_ARG_ENABLE([distcheck], + AS_HELP_STRING([--enable-distcheck], [Build for distcheck]), +-- +2.34.1 + diff --git a/meta-networking/recipes-filter/nftables/nftables_1.1.6.bb b/meta-networking/recipes-filter/nftables/nftables_1.1.6.bb index 505dfc12d0c..cc57db3c81f 100644 --- a/meta-networking/recipes-filter/nftables/nftables_1.1.6.bb +++ b/meta-networking/recipes-filter/nftables/nftables_1.1.6.bb @@ -12,11 +12,12 @@ DEPENDS = "libmnl libnftnl bison-native \ ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}" SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.xz \ + file://0001-build-support-SOURCE_DATE_EPOCH-for-build-time-stamp.patch \ file://run-ptest \ " SRC_URI[sha256sum] = "372931bda8556b310636a2f9020adc710f9bab66f47efe0ce90bff800ac2530c" -inherit autotools manpages pkgconfig ptest +inherit autotools manpages pkgconfig ptest python3native PACKAGECONFIG ?= "python readline json" PACKAGECONFIG[editline] = "--with-cli=editline, , libedit, , , linenoise readline" diff --git a/meta-networking/recipes-irc/weechat/weechat_4.8.1.bb b/meta-networking/recipes-irc/weechat/weechat_4.8.1.bb deleted file mode 100644 index 7642a88f710..00000000000 --- a/meta-networking/recipes-irc/weechat/weechat_4.8.1.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Full-featured IRC plugin: multi-servers, proxy support, IPv6, SASL authentication, nicklist, DCC, and many other features" -HOMEPAE = "https://weechat.org/" -SECTION = "net" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -DEPENDS = "zlib libgcrypt gnutls curl aspell zstd cjson gettext-native" - -SRC_URI = "https://weechat.org/files/src/weechat-${PV}.tar.xz" - -SRC_URI[sha256sum] = "e7ac1fbcc71458ed647aada8747990905cb5bfb93fd8ccccbc2a969673a4285a" - -inherit cmake pkgconfig - -PACKAGECONFIG ??= " ncurses python" -PACKAGECONFIG[ncurses] = "-DENABLE_NCURSES=ON,-DENABLE_NCURSES=OFF,ncurses" -PACKAGECONFIG[python] = "-DENABLE_PYTHON=ON,-DENABLE_PYTHON=OFF,python3,python3" - -EXTRA_OECMAKE:append = " -DENABLE_PHP=OFF -DENABLE_TCL=OFF -DENABLE_LUA=OFF \ - -DENABLE_JAVASCRIPT=OFF -DENABLE_RUBY=OFF \ - -DENABLE_GUILE=OFF -DENABLE_PERL=OFF -DENABLE_ASPELL=ON \ - -DLIBDIR=${libdir}" - -do_configure:prepend(){ - # Make sure we get dependencies from recipe-sysroot - sed -i -e 's# /usr/bin# ${RECIPE_SYSROOT}/${bindir}/#g' ${S}/cmake/FindPerl.cmake - sed -i -e 's# /usr/local/bin##g' ${S}/cmake/FindPerl.cmake - sed -i -e 's# /usr/pkg/bin##g' ${S}/cmake/FindPerl.cmake -} - -do_install:append(){ - rm -rf ${D}/${datadir} -} - diff --git a/meta-networking/recipes-irc/weechat/weechat_4.8.2.bb b/meta-networking/recipes-irc/weechat/weechat_4.8.2.bb new file mode 100644 index 00000000000..458a8a317db --- /dev/null +++ b/meta-networking/recipes-irc/weechat/weechat_4.8.2.bb @@ -0,0 +1,34 @@ +SUMMARY = "Full-featured IRC plugin: multi-servers, proxy support, IPv6, SASL authentication, nicklist, DCC, and many other features" +HOMEPAE = "https://weechat.org/" +SECTION = "net" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +DEPENDS = "zlib libgcrypt gnutls curl aspell zstd cjson gettext-native" + +SRC_URI = "https://weechat.org/files/src/weechat-${PV}.tar.xz" + +SRC_URI[sha256sum] = "7e2f619d4dcd28d9d86864763581a1b453499f8dd0652af863b54045a8964d6c" + +inherit cmake pkgconfig + +PACKAGECONFIG ??= " ncurses python" +PACKAGECONFIG[ncurses] = "-DENABLE_NCURSES=ON,-DENABLE_NCURSES=OFF,ncurses" +PACKAGECONFIG[python] = "-DENABLE_PYTHON=ON,-DENABLE_PYTHON=OFF,python3,python3" + +EXTRA_OECMAKE:append = " -DENABLE_PHP=OFF -DENABLE_TCL=OFF -DENABLE_LUA=OFF \ + -DENABLE_JAVASCRIPT=OFF -DENABLE_RUBY=OFF \ + -DENABLE_GUILE=OFF -DENABLE_PERL=OFF -DENABLE_ASPELL=ON \ + -DLIBDIR=${libdir}" + +do_configure:prepend(){ + # Make sure we get dependencies from recipe-sysroot + sed -i -e 's# /usr/bin# ${RECIPE_SYSROOT}/${bindir}/#g' ${S}/cmake/FindPerl.cmake + sed -i -e 's# /usr/local/bin##g' ${S}/cmake/FindPerl.cmake + sed -i -e 's# /usr/pkg/bin##g' ${S}/cmake/FindPerl.cmake +} + +do_install:append(){ + rm -rf ${D}/${datadir} +} + diff --git a/meta-networking/recipes-irc/znc/znc_1.10.1.bb b/meta-networking/recipes-irc/znc/znc_1.10.1.bb deleted file mode 100644 index 4477068bbac..00000000000 --- a/meta-networking/recipes-irc/znc/znc_1.10.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "ZNC, an advanced IRC bouncer" -SECTION = "net" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS = "zlib" -SRC_URI = "gitsm://github.com/znc/znc.git;branch=master;protocol=https;tag=${BP}" - -SRCREV = "29694fd26f5e9ec46731ee13bf66224181984966" - -inherit cmake pkgconfig - -PACKAGECONFIG ??= "openssl zlib icu ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "-DWANT_IPV6=YES, -DWANT_IPV6=NO" -PACKAGECONFIG[openssl] = "-DWANT_OPENSSL=YES, -DWANT_OPENSSL=NO, openssl" -PACKAGECONFIG[zlib] = "-DWANT_ZLIB=YES, -DWANT_ZLIB=NO" -PACKAGECONFIG[icu] = "-DWANT_ICU=YES, -DWANT_ICU=NO, icu" -PACKAGECONFIG[i18n] = "-DWANT_I18N=YES, -DWANT_I18N=NO, boost gettext-native" - -do_install:append() { - sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g; s|${STAGING_BINDIR_NATIVE}||g' ${D}${libdir}/pkgconfig/*.pc -} diff --git a/meta-networking/recipes-irc/znc/znc_1.10.2.bb b/meta-networking/recipes-irc/znc/znc_1.10.2.bb new file mode 100644 index 00000000000..77938132346 --- /dev/null +++ b/meta-networking/recipes-irc/znc/znc_1.10.2.bb @@ -0,0 +1,22 @@ +SUMMARY = "ZNC, an advanced IRC bouncer" +SECTION = "net" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS = "zlib" +SRC_URI = "gitsm://github.com/znc/znc.git;branch=master;protocol=https;tag=${BP}" + +SRCREV = "59af2206c62724eec0d8c43d3c1c0b70610ca1d9" + +inherit cmake pkgconfig + +PACKAGECONFIG ??= "openssl zlib icu ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "-DWANT_IPV6=YES, -DWANT_IPV6=NO" +PACKAGECONFIG[openssl] = "-DWANT_OPENSSL=YES, -DWANT_OPENSSL=NO, openssl" +PACKAGECONFIG[zlib] = "-DWANT_ZLIB=YES, -DWANT_ZLIB=NO" +PACKAGECONFIG[icu] = "-DWANT_ICU=YES, -DWANT_ICU=NO, icu" +PACKAGECONFIG[i18n] = "-DWANT_I18N=YES, -DWANT_I18N=NO, boost gettext-native" + +do_install:append() { + sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g; s|${STAGING_BINDIR_NATIVE}||g' ${D}${libdir}/pkgconfig/*.pc +} diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20250521.bb b/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20250521.bb deleted file mode 100644 index 8fb86bc31ea..00000000000 --- a/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20250521.bb +++ /dev/null @@ -1,32 +0,0 @@ -require wireguard.inc - -SRCREV = "e2ecaaa739144997ccff89d6ad6ec81698ea6ced" -SRC_URI = "git://github.com/WireGuard/wireguard-tools.git;branch=master;protocol=https" - -inherit bash-completion systemd pkgconfig - -DEPENDS += "libmnl" - -do_install () { - oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \ - SYSTEMDUNITDIR="${systemd_system_unitdir}" \ - WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \ - ${PACKAGECONFIG_CONFARGS} \ - install -} - -PACKAGECONFIG ??= "bash-completion wg-quick" - -PACKAGECONFIG[bash-completion] = "WITH_BASHCOMPLETION=yes,WITH_BASHCOMPLETION=no,,bash,," -PACKAGECONFIG[wg-quick] = "WITH_WGQUICK=yes,WITH_WGQUICK=no,,bash,," - -FILES:${PN} = " \ - ${bindir}/wg \ - ${sysconfdir} \ - ${bindir}/wg-quick \ - ${systemd_system_unitdir} \ -" - -RRECOMMENDS:${PN} = " \ - kernel-module-wireguard \ - " diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20260223.bb b/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20260223.bb new file mode 100644 index 00000000000..50449b8c9b4 --- /dev/null +++ b/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20260223.bb @@ -0,0 +1,32 @@ +require wireguard.inc + +SRCREV = "49ce333da02056ae7b22ee2aeb6afe8aaed79b19" +SRC_URI = "git://github.com/WireGuard/wireguard-tools.git;branch=master;protocol=https;tag=v${PV}" + +inherit bash-completion systemd pkgconfig + +DEPENDS += "libmnl" + +do_install () { + oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \ + SYSTEMDUNITDIR="${systemd_system_unitdir}" \ + WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \ + ${PACKAGECONFIG_CONFARGS} \ + install +} + +PACKAGECONFIG ??= "bash-completion wg-quick" + +PACKAGECONFIG[bash-completion] = "WITH_BASHCOMPLETION=yes,WITH_BASHCOMPLETION=no,,bash,," +PACKAGECONFIG[wg-quick] = "WITH_WGQUICK=yes,WITH_WGQUICK=no,,bash,," + +FILES:${PN} = " \ + ${bindir}/wg \ + ${sysconfdir} \ + ${bindir}/wg-quick \ + ${systemd_system_unitdir} \ +" + +RRECOMMENDS:${PN} = " \ + kernel-module-wireguard \ + " diff --git a/meta-networking/recipes-protocols/dante/dante_1.4.4.bb b/meta-networking/recipes-protocols/dante/dante_1.4.4.bb index 52cfba4c5f1..6a1eed3edb7 100644 --- a/meta-networking/recipes-protocols/dante/dante_1.4.4.bb +++ b/meta-networking/recipes-protocols/dante/dante_1.4.4.bb @@ -25,6 +25,8 @@ EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}" DEPENDS += "flex-native bison-native libpam libtirpc" inherit autotools-brokensep features_check +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + CPPFLAGS += "-P" CFLAGS += "-I${STAGING_INCDIR}/tirpc" LIBS += "-ltirpc" diff --git a/meta-networking/recipes-protocols/frr/frr/0001-lib-fix-mgmt_msg-recv-to-deal-with-mis-alignment.patch b/meta-networking/recipes-protocols/frr/frr/0001-lib-fix-mgmt_msg-recv-to-deal-with-mis-alignment.patch new file mode 100644 index 00000000000..22cc10cf314 --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr/0001-lib-fix-mgmt_msg-recv-to-deal-with-mis-alignment.patch @@ -0,0 +1,352 @@ +From 5959a3d0cbc73b0c41134bf0d9944a6bd40ba510 Mon Sep 17 00:00:00 2001 +From: Christian Hopps +Date: Sat, 18 Apr 2026 03:01:46 +0000 +Subject: [PATCH] lib: fix mgmt_msg recv to deal with mis-alignment +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We need our messages to start on 64 bit boundaries as the message buffer +is accessed directly as structured data. In particular on ARM32 arch +using the data this way lead to unaligned access and SIGBUS. + +The minor optimization of reading multiple messages into a single stream +buffer complicated this. Instead we KISS and switch to one message per +stream buffer. + +Fixes #20087. + +Signed-off-by: Christian Hopps +Co-developed-by: Samir MOUHOUNE +Co-developed-by: Alexis Lothoré + +See also PR #20985 + +This issue was identified and another solution was provided by Samir +MOUHOUNE with the following commit message comments: + +On ARM32 systems, mgmtd crashes at startup on an alignment fault: + +``` + frrinit.sh[158]: Starting watchfrr with command: ' /usr/sbin/watchfrr -d mgmtd zebra staticd' + watchfrr[168]: [T83RR-8SM5G] watchfrr 10.5.2 starting: vty@0 + watchfrr[168]: [ZCJ3S-SPH5S] mgmtd state -> down : initial connection attempt failed + watchfrr[168]: [ZCJ3S-SPH5S] zebra state -> down : initial connection attempt failed + watchfrr[168]: [ZCJ3S-SPH5S] staticd state -> down : initial connection attempt failed + watchfrr[168]: [YFT0P-5Q5YX] Forked background command [pid 169]: /usr/sbin/watchfrr.sh restart all + frrinit.sh[180]: 2026/02/27 09:14:13 ZEBRA: [KGY44-D47GD][EC 4043309111] Disabling MPLS support (no kernel support) + watchfrr[168]: [QDG3Y-BY5TN] zebra state -> up : connect succeeded + kernel: Alignment trap: not handling instruction edc30b02 at [<004c3c1c>] + kernel: 8<--- cut here --- + kernel: Unhandled fault: alignment exception (0x801) at 0x008879f6 + kernel: [008879f6] *pgd=9baf6831 + watchfrr[168]: [YFT0P-5Q5YX] Forked background command [pid 189]: /usr/sbin/watchfrr.sh restart mgmtd + frrinit.sh[189]: Cannot stop mgmtd: pid 179 not running + watchfrr.sh[196]: Cannot stop mgmtd: pid 179 not running + frrinit.sh[202]: [202|zebra] sending configuration + frrinit.sh[202]: [202|zebra] done + frrinit.sh[216]: [216|watchfrr] sending configuration + frrinit.sh[218]: [218|staticd] sending configuration + watchfrr[168]: [VTVCM-Y2NW3] Configuration Read in Took: 00:00:00 + frrinit.sh[199]: Waiting for children to finish applying config... + frrinit.sh[216]: [216|watchfrr] done +``` + +When checking crashlogs in /var/tmp/frr, mgmt gives the following: + +``` + MGMTD: Received signal 7 at 1772183653 (si_addr 0x8879f6); aborting... + MGMTD: /lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5c) [0xb6e89c90] + MGMTD: /lib/libfrr.so.0(zlog_signal+0xe0) [0xb6e89e80] + MGMTD: /lib/libfrr.so.0(+0xd4374) [0xb6ed3374] + MGMTD: /lib/libc.so.6(__default_rt_sa_restorer+0) [0xb6ab4d90] + MGMTD: /usr/sbin/mgmtd(mgmt_fe_adapter_send_notify+0x6b8) [0x4c3c20] + MGMTD: /lib/libfrr.so.0(mgmt_msg_procbufs+0x124) [0xb6e976b8] + MGMTD: /lib/libfrr.so.0(+0x98798) [0xb6e97798] + MGMTD: /lib/libfrr.so.0(event_call+0xa8) [0xb6ee739c] + MGMTD: /lib/libfrr.so.0(frr_run+0xd4) [0xb6e80fc8] + MGMTD: /usr/sbin/mgmtd(main+0x188) [0x4bd7ec] + MGMTD: /lib/libc.so.6(+0x236b0) [0xb6a9f6b0] + MGMTD: /lib/libc.so.6(__libc_start_main+0x98) [0xb6a9f790] + MGMTD: in thread msg_conn_proc_msgs scheduled from lib/mgmt_msg.c:543 msg_conn_sched_proc_msgs() +``` + +The issue is that messages are queued for sending/receive back-to-back +with no padding. This means that when mgmt creates a pointer back to the +data waiting in queue and tries to access fields inside the dereferenced +message, those accesses are not performed with the alignment constraints +required by some architectures. For example, ARM ABI AAPCS32 ([1]) +states that structures alignment should be the same as the "most +aligned" member; so a struct mgmt_msg_header, which contains some +uint64_t fields (which are 8-bytes alignes), should be 8-bytes aligned +as well. + +On x86, this goes unnoticed because the CPU handles unaligned access +transparently. On ARM 32-bit with NEON/VFP, the compiler generates +64-bit store instructions that trap on unaligned addresses. The kernel +cannot emulate these instructions and kills the process with SIGBUS. + +[1] https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#data-types-and-alignment + +Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/5959a3d0cbc73b0c41134bf0d9944a6bd40ba510] + +Signed-off-by: Christian Hopps +(cherry picked from commit ae7d79f8ff25d5750e5796567ff6317030900d40) +Signed-off-by: Yi Zhao +--- + lib/mgmt_be_client.h | 3 +- + lib/mgmt_fe_client.h | 3 +- + lib/mgmt_msg.c | 157 ++++++++++++++++++------------------------- + 3 files changed, 68 insertions(+), 95 deletions(-) + +diff --git a/lib/mgmt_be_client.h b/lib/mgmt_be_client.h +index f5627e3c4e..2f412a6fbd 100644 +--- a/lib/mgmt_be_client.h ++++ b/lib/mgmt_be_client.h +@@ -21,7 +21,8 @@ extern "C" { + + #define MGMTD_BE_MAX_NUM_MSG_PROC 500 + #define MGMTD_BE_MAX_NUM_MSG_WRITE 1000 +-#define MGMTD_BE_MAX_MSG_LEN (64 * 1024) ++/* Messages can be any size, this is just the preallocated buffer size */ ++#define MGMTD_BE_MAX_MSG_LEN (4 * 1024) + + #define MGMTD_BE_CONTAINER_NODE_VAL "<>" + +diff --git a/lib/mgmt_fe_client.h b/lib/mgmt_fe_client.h +index 8ff08b566a..3005c5dd01 100644 +--- a/lib/mgmt_fe_client.h ++++ b/lib/mgmt_fe_client.h +@@ -29,7 +29,8 @@ extern "C" { + + #define MGMTD_FE_MAX_NUM_MSG_PROC 500 + #define MGMTD_FE_MAX_NUM_MSG_WRITE 100 +-#define MGMTD_FE_MAX_MSG_LEN (64 * 1024) ++/* Messages can be any size, this is just the preallocated buffer size */ ++#define MGMTD_FE_MAX_MSG_LEN (4 * 1024) + + /*************************************************************** + * Data-structures +diff --git a/lib/mgmt_msg.c b/lib/mgmt_msg.c +index f299b52873..fb56f58ab5 100644 +--- a/lib/mgmt_msg.c ++++ b/lib/mgmt_msg.c +@@ -13,6 +13,7 @@ + #include "network.h" + #include "sockopt.h" + #include "stream.h" ++#include "zlog.h" + #include "frrevent.h" + #include "mgmt_msg.h" + #include "mgmt_msg_native.h" +@@ -39,8 +40,8 @@ static bool trace; + DEFINE_MTYPE(LIB, MSG_CONN, "msg connection state"); + + /** +- * Read data from a socket into streams containing 1 or more full msgs headed by +- * mgmt_msg_hdr which contain API messages (currently protobuf). ++ * Read data from a socket into a stream containing 1 full msg headed by ++ * mgmt_msg_hdr. + * + * Args: + * ms: mgmt_msg_state for this process. +@@ -57,96 +58,80 @@ enum mgmt_msg_rsched mgmt_msg_read(struct mgmt_msg_state *ms, int fd, + bool debug) + { + const char *dbgtag = debug ? ms->idtag : NULL; +- size_t avail = STREAM_WRITEABLE(ms->ins); + struct mgmt_msg_hdr *mhdr = NULL; +- size_t total = 0; +- size_t mcount = 0; +- ssize_t n, left; ++ struct stream *news; ++ size_t nread; ++ ssize_t n; + + assert(ms && fd != -1); +- MGMT_MSG_TRACE(dbgtag, "enter with %zu bytes available to read on fd %d", avail, fd); ++ MGMT_MSG_TRACE(dbgtag, "enter to read from fd %d", fd); ++ ++ assert(stream_get_getp(ms->ins) == 0); ++ nread = stream_get_endp(ms->ins); + + /* +- * Read as much as we can into the stream. ++ * Get header, validate, and resize the stream, if needed, to fit incoming message. + */ +- while (avail > sizeof(struct mgmt_msg_hdr)) { +- n = stream_read_try(ms->ins, fd, avail); +- +- /* -2 is normal nothing read, and to retry */ +- if (n == -2) { +- MGMT_MSG_TRACE(dbgtag, "nothing more to read on fd %d", fd); +- break; +- } +- if (n <= 0) { +- if (n == 0) +- MGMT_MSG_ERR(ms, "got EOF/disconnect on fd %d", fd); +- else +- MGMT_MSG_ERR(ms, "got error while reading on fd %d: '%s'", fd, +- safe_strerror(errno)); +- return MSR_DISCONNECT; ++ if (nread < sizeof(struct mgmt_msg_hdr)) { ++ while (nread < sizeof(struct mgmt_msg_hdr)) { ++ n = stream_read_try(ms->ins, fd, sizeof(struct mgmt_msg_hdr) - nread); ++ if (n <= 0) ++ goto not_done; ++ nread += n; ++ ms->nrxb += n; + } +- MGMT_MSG_TRACE(dbgtag, "read %zd bytes on fd %d", n, fd); +- ms->nrxb += n; +- avail -= n; +- } + +- /* +- * Check if we have read a complete messages or not. +- */ +- assert(stream_get_getp(ms->ins) == 0); +- left = stream_get_endp(ms->ins); +- while (left > (ssize_t)sizeof(struct mgmt_msg_hdr)) { +- mhdr = (struct mgmt_msg_hdr *)(STREAM_DATA(ms->ins) + total); ++ /* Validate the header is sane */ ++ mhdr = (struct mgmt_msg_hdr *)STREAM_DATA(ms->ins); + if (!MGMT_MSG_IS_MARKER(mhdr->marker)) { + MGMT_MSG_DBG(dbgtag, "recv corrupt buffer on fd %d, disconnect", fd); + return MSR_DISCONNECT; ++ } else if (mhdr->len <= sizeof(struct mgmt_msg_hdr)) { ++ MGMT_MSG_DBG(dbgtag, "recv invalid message length %u on fd %d, disconnect", ++ mhdr->len, fd); ++ return MSR_DISCONNECT; + } +- if ((ssize_t)mhdr->len > left) +- break; +- +- MGMT_MSG_TRACE(dbgtag, "read full message on fd %d len %u", fd, mhdr->len); +- total += mhdr->len; +- left -= mhdr->len; +- mcount++; +- } + +- if (!mcount) { +- /* Didn't manage to read a full message */ +- if (mhdr && avail == 0) { +- struct stream *news; +- /* +- * Message was longer than what was left and we have no +- * available space to read more in. B/c mcount == 0 the +- * message starts at the beginning of the stream so +- * therefor the stream is too small to fit the message.. +- * Resize the stream to fit. +- */ ++ /* See if message will fit in the stream, realloc if not */ ++ if (mhdr->len > ms->ins->size) { ++ MGMT_MSG_DBG(dbgtag, ++ "message length %u is greater than available %zu on fd %d", ++ mhdr->len, ms->ins->size, fd); + news = stream_new(mhdr->len); +- stream_put(news, mhdr, left); +- stream_set_endp(news, left); ++ stream_put(news, mhdr, sizeof(struct mgmt_msg_hdr)); + stream_free(ms->ins); + ms->ins = news; + } +- return MSR_SCHED_STREAM; + } + +- /* +- * We have read at least one message into the stream, queue it up. +- */ +- mhdr = (struct mgmt_msg_hdr *)(STREAM_DATA(ms->ins) + total); +- stream_set_endp(ms->ins, total); +- stream_fifo_push(&ms->inq, ms->ins); +- if (left < (ssize_t)sizeof(struct mgmt_msg_hdr)) +- ms->ins = stream_new(ms->max_msg_sz); +- else +- /* handle case where message is greater than max */ +- ms->ins = stream_new(MAX(ms->max_msg_sz, mhdr->len)); +- if (left) { +- stream_put(ms->ins, mhdr, left); +- stream_set_endp(ms->ins, left); ++ /* Read the rest of the message. */ ++ mhdr = (struct mgmt_msg_hdr *)STREAM_DATA(ms->ins); ++ while (nread < mhdr->len) { ++ n = stream_read_try(ms->ins, fd, mhdr->len - nread); ++ if (n <= 0) ++ goto not_done; ++ nread += n; ++ ms->nrxb += n; ++ MGMT_MSG_TRACE(dbgtag, "read %zd from fd %d (%zu of %u)", n, fd, nread, mhdr->len); + } + ++ /* We've got a full message, push it onto the FIFO and setup for the next message. */ ++ MGMT_MSG_TRACE(dbgtag, "read full msg %zu/%u from fd %d", nread, mhdr->len, fd); ++ stream_fifo_push(&ms->inq, ms->ins); ++ ms->ins = stream_new(ms->max_msg_sz); + return MSR_SCHED_BOTH; ++ ++not_done: ++ if (n == -2) { ++ MGMT_MSG_TRACE(dbgtag, "nothing more to read on fd %d", fd); ++ return MSR_SCHED_STREAM; ++ } ++ if (n == 0) ++ MGMT_MSG_ERR(ms, "got EOF/disconnect on fd %d", fd); ++ else ++ MGMT_MSG_ERR(ms, "got error while reading on fd %d: '%s'", fd, ++ safe_strerror(errno)); ++ return MSR_DISCONNECT; + } + + /** +@@ -171,7 +156,6 @@ bool mgmt_msg_procbufs(struct mgmt_msg_state *ms, + const char *dbgtag = debug ? ms->idtag : NULL; + struct mgmt_msg_hdr *mhdr; + struct stream *work; +- uint8_t *data; + size_t left, nproc; + + MGMT_MSG_TRACE(dbgtag, "Have %zu streams to process", ms->inq.count); +@@ -182,30 +166,17 @@ bool mgmt_msg_procbufs(struct mgmt_msg_state *ms, + if (!work) + break; + +- data = STREAM_DATA(work); + left = stream_get_endp(work); + MGMT_MSG_TRACE(dbgtag, "Processing stream of len %zu", left); +- +- for (; left > sizeof(struct mgmt_msg_hdr); +- left -= mhdr->len, data += mhdr->len) { +- mhdr = (struct mgmt_msg_hdr *)data; +- +- assert(MGMT_MSG_IS_MARKER(mhdr->marker)); +- assert(left >= mhdr->len); +- +- /* +- * Q: if the handler disconnects should stop/flush? +- */ +- handle_msg(MGMT_MSG_MARKER_VERSION(mhdr->marker), (uint8_t *)(mhdr + 1), +- mhdr->len - sizeof(struct mgmt_msg_hdr), user); +- ms->nrxm++; +- nproc++; +- } +- +- if (work != ms->ins) +- stream_free(work); /* Free it up */ +- else +- stream_reset(work); /* Reset stream for next read */ ++ /* ++ * Q: if the handler disconnects should we stop/flush? ++ */ ++ mhdr = (struct mgmt_msg_hdr *)STREAM_DATA(work); ++ handle_msg(MGMT_MSG_MARKER_VERSION(mhdr->marker), (uint8_t *)(mhdr + 1), ++ mhdr->len - sizeof(struct mgmt_msg_hdr), user); ++ ms->nrxm++; ++ nproc++; ++ stream_free(work); /* Free it up */ + } + + /* return true if should reschedule b/c more to process. */ +-- +2.43.0 + diff --git a/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-1.patch b/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-1.patch deleted file mode 100644 index a1e1246ccef..00000000000 --- a/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-1.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e21276d430663fd8312940bb3b0ce081957e3d85 Mon Sep 17 00:00:00 2001 -From: Gyorgy Sarvari -Date: Sun, 24 Aug 2025 21:17:55 +0800 -Subject: [PATCH] ospfd: Add null check for vty_out in check_tlv_size - -From: s1awwhy - -Add security check for vty_out. Specifically, Check NULL for vty. If vty is not available, dump info via zlog. - -Signed-off-by: s1awwhy - -CVE: CVE-2025-61099 CVE-2025-61100 CVE-2025-61101 CVE-2025-61102 CVE-2025-61103 CVE-2025-61104 CVE-2025-61105 CVE-2025-61106 CVE-2025-61107 -Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/b7d9b7aa47627b31e4b50795284408ab6de98660] -Signed-off-by: Gyorgy Sarvari ---- - ospfd/ospf_ext.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/ospfd/ospf_ext.c b/ospfd/ospf_ext.c -index df0b3b9081..8ca0df3200 100644 ---- a/ospfd/ospf_ext.c -+++ b/ospfd/ospf_ext.c -@@ -1705,11 +1705,15 @@ static void ospf_ext_lsa_schedule(struct ext_itf *exti, enum lsa_opcode op) - * ------------------------------------ - */ - -+/* Check NULL for vty. If vty is not available, dump info via zlog */ - #define check_tlv_size(size, msg) \ - do { \ - if (ntohs(tlvh->length) != size) { \ -- vty_out(vty, " Wrong %s TLV size: %d(%d). Abort!\n", \ -- msg, ntohs(tlvh->length), size); \ -+ if (vty != NULL) \ -+ vty_out(vty, " Wrong %s TLV size: %d(%d). Abort!\n", \ -+ msg, ntohs(tlvh->length), size); \ -+ else \ -+ zlog_debug(" Wrong %s TLV size: %d(%d). Abort!", msg, ntohs(tlvh->length), size); \ - return size + TLV_HDR_SIZE; \ - } \ - } while (0) diff --git a/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-2.patch b/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-2.patch deleted file mode 100644 index eacada0ec4e..00000000000 --- a/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-2.patch +++ /dev/null @@ -1,80 +0,0 @@ -From d9ed123b814dad7cf4b069de5601c9f279596191 Mon Sep 17 00:00:00 2001 -From: Gyorgy Sarvari -Date: Tue, 6 Jan 2026 15:32:32 +0100 -Subject: [PATCH] ospfd: skip subsequent tlvs after invalid length - -From: Louis Scalbert - -Do not attempt to read subsequent TLVs after an TLV invalid length is -detected. - -Signed-off-by: Louis Scalbert - -CVE: CVE-2025-61099 CVE-2025-61100 CVE-2025-61101 CVE-2025-61102 CVE-2025-61103 CVE-2025-61104 CVE-2025-61105 CVE-2025-61106 CVE-2025-61107 -Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/33dfc7e7be1ac8b66abbf47c30a709215fbc1926] -Signed-off-by: Gyorgy Sarvari ---- - ospfd/ospf_ext.c | 6 +++--- - ospfd/ospf_ri.c | 6 +++--- - ospfd/ospf_te.c | 6 +++--- - 3 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/ospfd/ospf_ext.c b/ospfd/ospf_ext.c -index 8ca0df3200..62b0020148 100644 ---- a/ospfd/ospf_ext.c -+++ b/ospfd/ospf_ext.c -@@ -1710,11 +1710,11 @@ static void ospf_ext_lsa_schedule(struct ext_itf *exti, enum lsa_opcode op) - do { \ - if (ntohs(tlvh->length) != size) { \ - if (vty != NULL) \ -- vty_out(vty, " Wrong %s TLV size: %d(%d). Abort!\n", \ -+ vty_out(vty, " Wrong %s TLV size: %d(expected %d). Skip subsequent TLVs!\n", \ - msg, ntohs(tlvh->length), size); \ - else \ -- zlog_debug(" Wrong %s TLV size: %d(%d). Abort!", msg, ntohs(tlvh->length), size); \ -- return size + TLV_HDR_SIZE; \ -+ zlog_debug(" Wrong %s TLV size: %d(expected %d). Skip subsequent TLVs!", msg, ntohs(tlvh->length), size); \ -+ return OSPF_MAX_LSA_SIZE + 1; \ - } \ - } while (0) - -diff --git a/ospfd/ospf_ri.c b/ospfd/ospf_ri.c -index 76e6efeb83..7934b25451 100644 ---- a/ospfd/ospf_ri.c -+++ b/ospfd/ospf_ri.c -@@ -1208,12 +1208,12 @@ static int ospf_router_info_lsa_update(struct ospf_lsa *lsa) - do { \ - if (ntohs(tlvh->length) > size) { \ - if (vty != NULL) \ -- vty_out(vty, " Wrong %s TLV size: %d(%d)\n", \ -+ vty_out(vty, " Wrong %s TLV size: %d(expected %d). Skip subsequent TLVs!\n", \ - msg, ntohs(tlvh->length), size); \ - else \ -- zlog_debug(" Wrong %s TLV size: %d(%d)", \ -+ zlog_debug(" Wrong %s TLV size: %d(expected %d). Skip subsequent TLVs!", \ - msg, ntohs(tlvh->length), size); \ -- return size + TLV_HDR_SIZE; \ -+ return OSPF_MAX_LSA_SIZE + 1; \ - } \ - } while (0) - -diff --git a/ospfd/ospf_te.c b/ospfd/ospf_te.c -index d187485b9f..850a7039f1 100644 ---- a/ospfd/ospf_te.c -+++ b/ospfd/ospf_te.c -@@ -3161,12 +3161,12 @@ static void ospf_te_init_ted(struct ls_ted *ted, struct ospf *ospf) - do { \ - if (ntohs(tlvh->length) > size) { \ - if (vty != NULL) \ -- vty_out(vty, " Wrong %s TLV size: %d(%d)\n", \ -+ vty_out(vty, " Wrong %s TLV size: %d(expected %d). Skip subsequent TLVs!\n", \ - msg, ntohs(tlvh->length), size); \ - else \ -- zlog_debug(" Wrong %s TLV size: %d(%d)", \ -+ zlog_debug(" Wrong %s TLV size: %d(expected %d). Skip subsequent TLVs!", \ - msg, ntohs(tlvh->length), size); \ -- return size + TLV_HDR_SIZE; \ -+ return OSPF_MAX_LSA_SIZE + 1; \ - } \ - } while (0) - diff --git a/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-3.patch b/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-3.patch deleted file mode 100644 index 7b983198f50..00000000000 --- a/meta-networking/recipes-protocols/frr/frr/CVE-2025-61099-61107-3.patch +++ /dev/null @@ -1,293 +0,0 @@ -From 2d02bca97251ee53fb10b4c34c8cda0e20ae8b8e Mon Sep 17 00:00:00 2001 -From: Gyorgy Sarvari -Date: Sun, 24 Aug 2025 21:21:23 +0800 -Subject: [PATCH] ospfd: Fix NULL Pointer Deference when dumping link info - -From: s1awwhy - -When the command debug ospf packet all send/recv detail is enabled in the OSPF -configuration, ospfd will dump detailed information of any received or sent -OSPF packets, either via VTY or through the zlog. However, the original Opaque -LSA handling code failed to check whether the VTY context and show_opaque_info -were available, resulting in NULL pointer dereference and crashes in ospfd. -The patch fixes the Null Pointer Deference Vulnerability in -show_vty_ext_link_rmt_itf_addr, show_vty_ext_link_adj_sid, -show_vty_ext_link_lan_adj_sid, show_vty_unknown_tlv, -show_vty_link_info, show_vty_ext_pref_pref_sid, show_vtY_pref_info. -Specifically, add NULL check for vty. If vty is not available, dump details -via zlog. - -Signed-off-by: s1awwhy -Signed-off-by: Louis Scalbert - -CVE: CVE-2025-61099 CVE-2025-61100 CVE-2025-61101 CVE-2025-61102 CVE-2025-61103 CVE-2025-61104 CVE-2025-61105 CVE-2025-61106 CVE-2025-61107 -Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/034e6fe67078810b952630055614ee5710d1196e] -Signed-off-by: Gyorgy Sarvari ---- - ospfd/ospf_ext.c | 200 ++++++++++++++++++++++++++++++++--------------- - 1 file changed, 138 insertions(+), 62 deletions(-) - -diff --git a/ospfd/ospf_ext.c b/ospfd/ospf_ext.c -index 62b0020148..c1fcd632e0 100644 ---- a/ospfd/ospf_ext.c -+++ b/ospfd/ospf_ext.c -@@ -1729,9 +1729,15 @@ static uint16_t show_vty_ext_link_rmt_itf_addr(struct vty *vty, - check_tlv_size(EXT_SUBTLV_RMT_ITF_ADDR_SIZE, "Remote Itf. Address"); - - if (!json) -- vty_out(vty, -- " Remote Interface Address Sub-TLV: Length %u\n Address: %pI4\n", -- ntohs(top->header.length), &top->value); -+ if (vty != NULL) { -+ vty_out(vty, -+ " Remote Interface Address Sub-TLV: Length %u\n Address: %pI4\n", -+ ntohs(top->header.length), &top->value); -+ } else { -+ zlog_debug(" Remote Interface Address Sub-TLV: Length %u", -+ ntohs(top->header.length)); -+ zlog_debug(" Address: %pI4", &top->value); -+ } - else - json_object_string_addf(json, "remoteInterfaceAddress", "%pI4", - &top->value); -@@ -1752,18 +1758,30 @@ static uint16_t show_vty_ext_link_adj_sid(struct vty *vty, - : SID_INDEX_SIZE(EXT_SUBTLV_ADJ_SID_SIZE); - check_tlv_size(tlv_size, "Adjacency SID"); - -- if (!json) -- vty_out(vty, -- " Adj-SID Sub-TLV: Length %u\n\tFlags: 0x%x\n\tMT-ID:0x%x\n\tWeight: 0x%x\n\t%s: %u\n", -- ntohs(top->header.length), top->flags, top->mtid, -- top->weight, -- CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) -- ? "Label" -- : "Index", -- CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) -- ? GET_LABEL(ntohl(top->value)) -- : ntohl(top->value)); -- else { -+ if (!json) { -+ /* Add security check for vty_out. If vty is not available, dump info via zlog.*/ -+ if (vty != NULL) -+ vty_out(vty, -+ " Adj-SID Sub-TLV: Length %u\n\tFlags: 0x%x\n\tMT-ID:0x%x\n\tWeight: 0x%x\n\t%s: %u\n", -+ ntohs(top->header.length), top->flags, top->mtid, top->weight, -+ CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) ? "Label" -+ : "Index", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) -+ ? GET_LABEL(ntohl(top->value)) -+ : ntohl(top->value)); -+ else { -+ zlog_debug(" Adj-SID Sub-TLV: Length %u", ntohs(top->header.length)); -+ zlog_debug(" Flags: 0x%x", top->flags); -+ zlog_debug(" MT-ID:0x%x", top->mtid); -+ zlog_debug(" Weight: 0x%x", top->weight); -+ zlog_debug(" %s: %u", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) ? "Label" -+ : "Index", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) -+ ? GET_LABEL(ntohl(top->value)) -+ : ntohl(top->value)); -+ } -+ } else { - json_object_string_addf(json, "flags", "0x%x", top->flags); - json_object_string_addf(json, "mtID", "0x%x", top->mtid); - json_object_string_addf(json, "weight", "0x%x", top->weight); -@@ -1791,18 +1809,32 @@ static uint16_t show_vty_ext_link_lan_adj_sid(struct vty *vty, - : SID_INDEX_SIZE(EXT_SUBTLV_LAN_ADJ_SID_SIZE); - check_tlv_size(tlv_size, "LAN-Adjacency SID"); - -- if (!json) -- vty_out(vty, -- " LAN-Adj-SID Sub-TLV: Length %u\n\tFlags: 0x%x\n\tMT-ID:0x%x\n\tWeight: 0x%x\n\tNeighbor ID: %pI4\n\t%s: %u\n", -- ntohs(top->header.length), top->flags, top->mtid, -- top->weight, &top->neighbor_id, -- CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) -- ? "Label" -- : "Index", -- CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) -- ? GET_LABEL(ntohl(top->value)) -- : ntohl(top->value)); -- else { -+ if (!json) { -+ /* Add security check for vty_out. If vty is not available, dump info via zlog. */ -+ if (vty != NULL) { -+ vty_out(vty, -+ " LAN-Adj-SID Sub-TLV: Length %u\n\tFlags: 0x%x\n\tMT-ID:0x%x\n\tWeight: 0x%x\n\tNeighbor ID: %pI4\n\t%s: %u\n", -+ ntohs(top->header.length), top->flags, top->mtid, top->weight, -+ &top->neighbor_id, -+ CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) ? "Label" -+ : "Index", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) -+ ? GET_LABEL(ntohl(top->value)) -+ : ntohl(top->value)); -+ } else { -+ zlog_debug(" LAN-Adj-SID Sub-TLV: Length %u", ntohs(top->header.length)); -+ zlog_debug(" Flags: 0x%x", top->flags); -+ zlog_debug(" MT-ID:0x%x", top->mtid); -+ zlog_debug(" Weight: 0x%x", top->weight); -+ zlog_debug(" Neighbor ID: %pI4", &top->neighbor_id); -+ zlog_debug(" %s: %u", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) ? "Label" -+ : "Index", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_LINK_ADJ_SID_VFLG) -+ ? GET_LABEL(ntohl(top->value)) -+ : ntohl(top->value)); -+ } -+ } else { - json_object_string_addf(json, "flags", "0x%x", top->flags); - json_object_string_addf(json, "mtID", "0x%x", top->mtid); - json_object_string_addf(json, "weight", "0x%x", top->weight); -@@ -1823,14 +1855,23 @@ static uint16_t show_vty_unknown_tlv(struct vty *vty, struct tlv_header *tlvh, - { - json_object *obj; - -+ /* Add security check for vty_out. If vty is not available, dump info via zlog. */ - if (TLV_SIZE(tlvh) > buf_size) { -- vty_out(vty, " TLV size %d exceeds buffer size. Abort!", -- TLV_SIZE(tlvh)); -+ if (vty != NULL) -+ vty_out(vty, " TLV size %d exceeds buffer size. Abort!", TLV_SIZE(tlvh)); -+ else -+ zlog_debug(" TLV size %d exceeds buffer size. Abort!", TLV_SIZE(tlvh)); -+ - return buf_size; - } - if (!json) -- vty_out(vty, " Unknown TLV: [type(0x%x), length(0x%x)]\n", -- ntohs(tlvh->type), ntohs(tlvh->length)); -+ if (vty != NULL) { -+ vty_out(vty, " Unknown TLV: [type(0x%x), length(0x%x)]\n", -+ ntohs(tlvh->type), ntohs(tlvh->length)); -+ } else { -+ zlog_debug(" Unknown TLV: [type(0x%x), length(0x%x)]", -+ ntohs(tlvh->type), ntohs(tlvh->length)); -+ } - else { - obj = json_object_new_object(); - json_object_string_addf(obj, "type", "0x%x", -@@ -1855,19 +1896,31 @@ static uint16_t show_vty_link_info(struct vty *vty, struct tlv_header *ext, - - /* Verify that TLV length is valid against remaining buffer size */ - if (length > buf_size) { -- vty_out(vty, -- " Extended Link TLV size %d exceeds buffer size. Abort!\n", -- length); -+ /* Add security check for vty_out. If vty is not available, dump info via zlog. */ -+ if (vty != NULL) { -+ vty_out(vty, " Extended Link TLV size %d exceeds buffer size. Abort!\n", -+ length); -+ } else { -+ zlog_debug(" Extended Link TLV size %d exceeds buffer size. Abort!", -+ length); -+ } - return buf_size; - } - - if (!json) { -- vty_out(vty, -- " Extended Link TLV: Length %u\n Link Type: 0x%x\n" -- " Link ID: %pI4\n", -- ntohs(top->header.length), top->link_type, -- &top->link_id); -- vty_out(vty, " Link data: %pI4\n", &top->link_data); -+ /* Add security check for vty_out. If vty is not available, dump info via zlog. */ -+ if (vty != NULL) { -+ vty_out(vty, -+ " Extended Link TLV: Length %u\n Link Type: 0x%x\n" -+ " Link ID: %pI4\n", -+ ntohs(top->header.length), top->link_type, &top->link_id); -+ vty_out(vty, " Link data: %pI4\n", &top->link_data); -+ } else { -+ zlog_debug(" Extended Link TLV: Length %u", ntohs(top->header.length)); -+ zlog_debug(" Link Type: 0x%x", top->link_type); -+ zlog_debug(" Link ID: %pI4", &top->link_id); -+ zlog_debug(" Link data: %pI4", &top->link_data); -+ } - } else { - json_object_string_addf(json, "linkType", "0x%x", - top->link_type); -@@ -1959,18 +2012,29 @@ static uint16_t show_vty_ext_pref_pref_sid(struct vty *vty, - : SID_INDEX_SIZE(EXT_SUBTLV_PREFIX_SID_SIZE); - check_tlv_size(tlv_size, "Prefix SID"); - -- if (!json) -- vty_out(vty, -- " Prefix SID Sub-TLV: Length %u\n\tAlgorithm: %u\n\tFlags: 0x%x\n\tMT-ID:0x%x\n\t%s: %u\n", -- ntohs(top->header.length), top->algorithm, top->flags, -- top->mtid, -- CHECK_FLAG(top->flags, EXT_SUBTLV_PREFIX_SID_VFLG) -- ? "Label" -- : "Index", -- CHECK_FLAG(top->flags, EXT_SUBTLV_PREFIX_SID_VFLG) -- ? GET_LABEL(ntohl(top->value)) -- : ntohl(top->value)); -- else { -+ if (!json) { -+ if (vty != NULL) { -+ vty_out(vty, -+ " Prefix SID Sub-TLV: Length %u\n\tAlgorithm: %u\n\tFlags: 0x%x\n\tMT-ID:0x%x\n\t%s: %u\n", -+ ntohs(top->header.length), top->algorithm, top->flags, top->mtid, -+ CHECK_FLAG(top->flags, EXT_SUBTLV_PREFIX_SID_VFLG) ? "Label" -+ : "Index", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_PREFIX_SID_VFLG) -+ ? GET_LABEL(ntohl(top->value)) -+ : ntohl(top->value)); -+ } else { -+ zlog_debug(" Prefix SID Sub-TLV: Length %u", ntohs(top->header.length)); -+ zlog_debug(" Algorithm: %u", top->algorithm); -+ zlog_debug(" Flags: 0x%x", top->flags); -+ zlog_debug(" MT-ID:0x%x", top->mtid); -+ zlog_debug(" %s: %u", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_PREFIX_SID_VFLG) ? "Label" -+ : "Index", -+ CHECK_FLAG(top->flags, EXT_SUBTLV_PREFIX_SID_VFLG) -+ ? GET_LABEL(ntohl(top->value)) -+ : ntohl(top->value)); -+ } -+ } else { - json_object_int_add(json, "algorithm", top->algorithm); - json_object_string_addf(json, "flags", "0x%x", top->flags); - json_object_string_addf(json, "mtID", "0x%x", top->mtid); -@@ -1995,19 +2059,31 @@ static uint16_t show_vty_pref_info(struct vty *vty, struct tlv_header *ext, - - /* Verify that TLV length is valid against remaining buffer size */ - if (length > buf_size) { -- vty_out(vty, -- " Extended Link TLV size %d exceeds buffer size. Abort!\n", -- length); -+ if (vty != NULL) { -+ vty_out(vty, " Extended Link TLV size %d exceeds buffer size. Abort!\n", -+ length); -+ } else { -+ zlog_debug(" Extended Link TLV size %d exceeds buffer size. Abort!", -+ length); -+ } - return buf_size; - } - -- if (!json) -- vty_out(vty, -- " Extended Prefix TLV: Length %u\n\tRoute Type: %u\n" -- "\tAddress Family: 0x%x\n\tFlags: 0x%x\n\tAddress: %pI4/%u\n", -- ntohs(top->header.length), top->route_type, top->af, -- top->flags, &top->address, top->pref_length); -- else { -+ if (!json) { -+ if (vty != NULL) { -+ vty_out(vty, -+ " Extended Prefix TLV: Length %u\n\tRoute Type: %u\n" -+ "\tAddress Family: 0x%x\n\tFlags: 0x%x\n\tAddress: %pI4/%u\n", -+ ntohs(top->header.length), top->route_type, top->af, top->flags, -+ &top->address, top->pref_length); -+ } else { -+ zlog_debug(" Extended Prefix TLV: Length %u", ntohs(top->header.length)); -+ zlog_debug(" Route Type: %u", top->route_type); -+ zlog_debug(" Address Family: 0x%x", top->af); -+ zlog_debug(" Flags: 0x%x", top->flags); -+ zlog_debug(" Address: %pI4/%u", &top->address, top->pref_length); -+ } -+ } else { - json_object_int_add(json, "routeType", top->route_type); - json_object_string_addf(json, "addressFamily", "0x%x", top->af); - json_object_string_addf(json, "flags", "0x%x", top->flags); diff --git a/meta-networking/recipes-protocols/frr/frr_10.5.1.bb b/meta-networking/recipes-protocols/frr/frr_10.5.1.bb deleted file mode 100644 index c125709bf4b..00000000000 --- a/meta-networking/recipes-protocols/frr/frr_10.5.1.bb +++ /dev/null @@ -1,137 +0,0 @@ -SUMMARY = "BGP/OSPF/RIP routing daemon" -DESCRIPTION = "FRRouting is a free and open source Internet routing protocol suite for Linux \ -and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric \ -and VRRP, with alpha support for EIGRP and NHRP." -HOMEPAGE = "https://frrouting.org/" -SECTION = "net" - -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://doc/licenses/GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://doc/licenses/LGPL-2.1;md5=4fbd65380cdd255951079008b364516c" - - -SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/10.5;tag=frr-${PV} \ - file://frr.pam \ - file://CVE-2025-61099-61107-1.patch \ - file://CVE-2025-61099-61107-2.patch \ - file://CVE-2025-61099-61107-3.patch \ - " -SRCREV = "d17791ee7ee76a0407d3fdbebf81bd242840741b" - -UPSTREAM_CHECK_GITTAGREGEX = "frr-(?P\d+(\.\d+)+)$" - -CVE_PRODUCT = "frrouting" - - -inherit autotools-brokensep python3native pkgconfig useradd systemd - -DEPENDS:class-native = "bison-native elfutils-native" -DEPENDS:class-target = "bison-native json-c readline c-ares libyang frr-native protobuf-c-native protobuf-c" - -RDEPENDS:${PN}:class-target = "iproute2 python3-core bash" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -PACKAGECONFIG:class-native = "" - -PACKAGECONFIG[fpm] = "--enable-fpm,--disable-fpm" -PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam" -PACKAGECONFIG[grpc] = "--enable-grpc,--disable-grpc,grpc-native grpc" -PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" -PACKAGECONFIG[zeromq] = "--enable-zeromq,--disable-zeromq,zeromq" -PACKAGECONFIG[protobuf] = "--enable-protobuf,--disable-protobuf,protobuf-c-native protobuf-c" -PACKAGECONFIG[capabilities] = "--enable-capabilities,--disable-capabilities,libcap" -PACKAGECONFIG[cumulus] = "--enable-cumulus,--disable-cumulus" -PACKAGECONFIG[ospfclient] = "--enable-ospfapi --enable-ospfclient,--disable-ospfapi --disable-ospfclient" - -EXTRA_OECONF:class-native = "--enable-clippy-only" - -EXTRA_OECONF:class-target = "--sbindir=${libexecdir}/frr \ - --sysconfdir=${sysconfdir}/frr \ - --localstatedir=${localstatedir}/run/frr \ - --enable-vtysh \ - --enable-multipath=64 \ - --enable-user=frr \ - --enable-group=frr \ - --enable-vty-group=frrvty \ - --enable-configfile-mask=0640 \ - --enable-logfile-mask=0640 \ - --disable-doc \ - --with-clippy=${RECIPE_SYSROOT_NATIVE}/usr/lib/clippy \ - " - -CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" - -# https://github.com/FRRouting/frr/issues/14469 -DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" - -LDFLAGS:append:mips = " -latomic" -LDFLAGS:append:mipsel = " -latomic" -LDFLAGS:append:powerpc = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "frr.service" -SYSTEMD_AUTO_ENABLE = "disable" - -inherit update-alternatives multilib_script multilib_header - -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE:${PN} = " ietf-interfaces ietf-netconf-acm ietf-netconf-with-defaults ietf-netconf" -ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang" -ALTERNATIVE_LINK_NAME[ietf-netconf-acm] = "${datadir}/yang/ietf-netconf-acm.yang" -ALTERNATIVE_LINK_NAME[ietf-netconf-with-defaults] = "${datadir}/yang/ietf-netconf-with-defaults.yang" -ALTERNATIVE_LINK_NAME[ietf-netconf] = "${datadir}/yang/ietf-netconf.yang" -do_compile:prepend () { - sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' \ - -e 's#${RECIPE_SYSROOT}##g' ${S}/lib/version.h -} - -do_compile:class-native () { - oe_runmake clippy-only -} - -do_install:class-native () { - install -d ${D}${libdir} - install -m 755 ${S}/lib/clippy ${D}${libdir}/clippy -} - -do_install:append:class-target () { - install -m 0755 -d ${D}${sysconfdir}/frr - install -m 0755 -d ${D}${libexecdir}/frr - install -m 0640 ${S}/tools/etc/frr/* ${D}${sysconfdir}/frr/ - chown frr:frrvty ${D}${sysconfdir}/frr - chown frr:frr ${D}${sysconfdir}/frr/* - chown frr:frrvty ${D}${sysconfdir}/frr/vtysh.conf - chmod 640 ${D}${sysconfdir}/frr/* - - if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then - install -d ${D}/${sysconfdir}/pam.d - install -m 644 ${UNPACKDIR}/frr.pam ${D}/${sysconfdir}/pam.d/frr - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${B}/tools/frrinit.sh ${D}${sysconfdir}/init.d/frr - - install -d ${D}${sysconfdir}/default/volatiles - echo "d frr frr 0755 ${localstatedir}/run/frr none" \ - > ${D}${sysconfdir}/default/volatiles/99_frr - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${B}/tools/frr*.service ${D}${systemd_system_unitdir} - - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/frr 0755 frr frr -" \ - > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - fi -} - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "--system frr ; --system frrvty" -USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/frr/ -M -g frr -G frrvty --shell /bin/false frr" - -FILES:${PN} += "${datadir}/yang" - -BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-protocols/frr/frr_10.6.1.bb b/meta-networking/recipes-protocols/frr/frr_10.6.1.bb new file mode 100644 index 00000000000..1cd102f0dad --- /dev/null +++ b/meta-networking/recipes-protocols/frr/frr_10.6.1.bb @@ -0,0 +1,135 @@ +SUMMARY = "BGP/OSPF/RIP routing daemon" +DESCRIPTION = "FRRouting is a free and open source Internet routing protocol suite for Linux \ +and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric \ +and VRRP, with alpha support for EIGRP and NHRP." +HOMEPAGE = "https://frrouting.org/" +SECTION = "net" + +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://doc/licenses/GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://doc/licenses/LGPL-2.1;md5=4fbd65380cdd255951079008b364516c" + + +SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/10.6;tag=frr-${PV} \ + file://frr.pam \ + file://0001-lib-fix-mgmt_msg-recv-to-deal-with-mis-alignment.patch \ + " +SRCREV = "71da51baee6fb2a02b24262defc46591c86e8a81" + +UPSTREAM_CHECK_GITTAGREGEX = "frr-(?P\d+(\.\d+)+)$" + +CVE_PRODUCT = "frrouting" + + +inherit autotools-brokensep python3native pkgconfig useradd systemd + +DEPENDS:class-native = "bison-native elfutils-native" +DEPENDS:class-target = "bison-native json-c readline c-ares libyang frr-native protobuf-c-native protobuf-c" + +RDEPENDS:${PN}:class-target = "iproute2 python3-core bash" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" +PACKAGECONFIG:class-native = "" + +PACKAGECONFIG[fpm] = "--enable-fpm,--disable-fpm" +PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam" +PACKAGECONFIG[grpc] = "--enable-grpc,--disable-grpc,grpc-native grpc" +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp" +PACKAGECONFIG[zeromq] = "--enable-zeromq,--disable-zeromq,zeromq" +PACKAGECONFIG[protobuf] = "--enable-protobuf,--disable-protobuf,protobuf-c-native protobuf-c" +PACKAGECONFIG[capabilities] = "--enable-capabilities,--disable-capabilities,libcap" +PACKAGECONFIG[cumulus] = "--enable-cumulus,--disable-cumulus" +PACKAGECONFIG[ospfclient] = "--enable-ospfapi --enable-ospfclient,--disable-ospfapi --disable-ospfclient" + +EXTRA_OECONF:class-native = "--enable-clippy-only" + +EXTRA_OECONF:class-target = "--sbindir=${libexecdir}/frr \ + --sysconfdir=${sysconfdir}/frr \ + --localstatedir=${localstatedir}/run/frr \ + --enable-vtysh \ + --enable-multipath=64 \ + --enable-user=frr \ + --enable-group=frr \ + --enable-vty-group=frrvty \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --disable-doc \ + --with-clippy=${RECIPE_SYSROOT_NATIVE}/usr/lib/clippy \ + " + +CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" + +# https://github.com/FRRouting/frr/issues/14469 +DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" + +LDFLAGS:append:mips = " -latomic" +LDFLAGS:append:mipsel = " -latomic" +LDFLAGS:append:powerpc = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "frr.service" +SYSTEMD_AUTO_ENABLE = "disable" + +inherit update-alternatives multilib_script multilib_header + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE:${PN} = " ietf-interfaces ietf-netconf-acm ietf-netconf-with-defaults ietf-netconf" +ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang" +ALTERNATIVE_LINK_NAME[ietf-netconf-acm] = "${datadir}/yang/ietf-netconf-acm.yang" +ALTERNATIVE_LINK_NAME[ietf-netconf-with-defaults] = "${datadir}/yang/ietf-netconf-with-defaults.yang" +ALTERNATIVE_LINK_NAME[ietf-netconf] = "${datadir}/yang/ietf-netconf.yang" +do_compile:prepend () { + sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' \ + -e 's#${RECIPE_SYSROOT}##g' ${S}/lib/version.h +} + +do_compile:class-native () { + oe_runmake clippy-only +} + +do_install:class-native () { + install -d ${D}${libdir} + install -m 755 ${S}/lib/clippy ${D}${libdir}/clippy +} + +do_install:append:class-target () { + install -m 0755 -d ${D}${sysconfdir}/frr + install -m 0755 -d ${D}${libexecdir}/frr + install -m 0640 ${S}/tools/etc/frr/* ${D}${sysconfdir}/frr/ + chown frr:frrvty ${D}${sysconfdir}/frr + chown frr:frr ${D}${sysconfdir}/frr/* + chown frr:frrvty ${D}${sysconfdir}/frr/vtysh.conf + chmod 640 ${D}${sysconfdir}/frr/* + + if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + install -d ${D}/${sysconfdir}/pam.d + install -m 644 ${UNPACKDIR}/frr.pam ${D}/${sysconfdir}/pam.d/frr + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${B}/tools/frrinit.sh ${D}${sysconfdir}/init.d/frr + + install -d ${D}${sysconfdir}/default/volatiles + echo "d frr frr 0755 ${localstatedir}/run/frr none" \ + > ${D}${sysconfdir}/default/volatiles/99_frr + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${B}/tools/frr*.service ${D}${systemd_system_unitdir} + + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/frr 0755 frr frr -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi +} + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "--system frr ; --system frrvty" +USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/frr/ -M -g frr -G frrvty --shell /bin/false frr" + +FILES:${PN} += "${datadir}/yang" + +BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-protocols/mdns/mdns/0001-Fix-build-with-gcc-15.patch b/meta-networking/recipes-protocols/mdns/mdns/0001-Fix-build-with-gcc-15.patch index af33d5444cc..c232685a156 100644 --- a/meta-networking/recipes-protocols/mdns/mdns/0001-Fix-build-with-gcc-15.patch +++ b/meta-networking/recipes-protocols/mdns/mdns/0001-Fix-build-with-gcc-15.patch @@ -1,4 +1,4 @@ -From c84f185f29d0839b97177aecb0a78b9717947973 Mon Sep 17 00:00:00 2001 +From 0ec55ecaa7386f924ee3d64fdfbe1c2d0df1341a Mon Sep 17 00:00:00 2001 From: Nguyen Dat Tho Date: Wed, 9 Apr 2025 13:05:24 +0900 Subject: [PATCH] Fix build with gcc-15 diff --git a/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch b/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch index 5464e3febe8..c9929db4cab 100644 --- a/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch +++ b/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch @@ -1,4 +1,4 @@ -From cdbc28c668dd627906f833f9a8e32ac53b0b0139 Mon Sep 17 00:00:00 2001 +From 18b1239b7abd289fe5275fddc2545727a956a4ad Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 4 Nov 2021 07:31:32 -0700 Subject: [PATCH] dns-sd: Include missing headers diff --git a/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch b/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch index f547c64d932..5f91e91b1dd 100644 --- a/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch +++ b/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch @@ -1,4 +1,4 @@ -From dcc1f39a0918cdebf53ac7c105b3d33df960ed14 Mon Sep 17 00:00:00 2001 +From 7319d6c328d7b18a048e9855902e180fe23641a2 Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Mon, 5 Dec 2022 15:14:12 +0000 Subject: [PATCH] make: Set libdns_sd.so soname correctly @@ -10,7 +10,7 @@ Signed-off-by: Alex Kiernan 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile -index e05ba10b4340..7c510317f1b6 100755 +index 22789f0368c7..2bb57eae5659 100755 --- a/mDNSPosix/Makefile +++ b/mDNSPosix/Makefile @@ -276,7 +276,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX) diff --git a/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch b/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch index 2969b5e2441..b6697f0ba6f 100644 --- a/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch +++ b/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch @@ -1,4 +1,4 @@ -From f7ee12c1f8e85b9d2fe4023b6539c8051dc710c3 Mon Sep 17 00:00:00 2001 +From e27ac4bb6243b33d23ccb7a137983887676fda7f Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Mon, 5 Dec 2022 15:14:26 +0000 Subject: [PATCH] make: Separate TLS targets from libraries @@ -13,7 +13,7 @@ Signed-off-by: Alex Kiernan 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile -index 7c510317f1b6..8dd5984020ee 100755 +index 2bb57eae5659..490165561410 100755 --- a/mDNSPosix/Makefile +++ b/mDNSPosix/Makefile @@ -112,9 +112,11 @@ ifeq ($(findstring linux,$(os)),linux) diff --git a/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch b/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch index 0c1a9f373f9..b8929ea4394 100644 --- a/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch +++ b/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch @@ -1,4 +1,4 @@ -From e79f75487e32f87677519ec40c021b1623395bde Mon Sep 17 00:00:00 2001 +From ab62d343d7e13ae79b0445a0b3d0954ba3534a0c Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Mon, 5 Dec 2022 22:49:49 +0000 Subject: [PATCH] mDNSCore: Fix broken debug parameter @@ -9,11 +9,11 @@ Signed-off-by: Alex Kiernan mDNSCore/mDNS.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: mDNSResponder/mDNSCore/mDNS.c -=================================================================== ---- mDNSResponder.orig/mDNSCore/mDNS.c -+++ mDNSResponder/mDNSCore/mDNS.c -@@ -9481,7 +9481,7 @@ mDNSlocal void mDNSCoreReceiveNoUnicastA +diff --git a/mDNSCore/mDNS.c b/mDNSCore/mDNS.c +index 08bfafb11d8d..079c9742e419 100644 +--- a/mDNSCore/mDNS.c ++++ b/mDNSCore/mDNS.c +@@ -9481,7 +9481,7 @@ mDNSlocal void mDNSCoreReceiveNoUnicastAnswers(mDNS *const m, const DNSMessage * { CacheRecord *negcr; const DNSServRef dnsserv = qptr->qDNSServer; diff --git a/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch b/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch index 5f8f428302d..87b163f1e28 100644 --- a/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch +++ b/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch @@ -1,4 +1,4 @@ -From a1c982808ebfb71ba7e0f16040013b7127a6e2ab Mon Sep 17 00:00:00 2001 +From a90eacb0f42e4ac63fe8c0ab624e8af7d9d47bd1 Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Tue, 6 Dec 2022 13:28:31 +0000 Subject: [PATCH] make: Add top-level Makefile diff --git a/meta-networking/recipes-protocols/mdns/mdns/0007-mDNSShared-Make-Apple-Wireless-Direct-Link-depend-on.patch b/meta-networking/recipes-protocols/mdns/mdns/0007-mDNSShared-Make-Apple-Wireless-Direct-Link-depend-on.patch new file mode 100644 index 00000000000..7a47ddd789d --- /dev/null +++ b/meta-networking/recipes-protocols/mdns/mdns/0007-mDNSShared-Make-Apple-Wireless-Direct-Link-depend-on.patch @@ -0,0 +1,27 @@ +From eac5e89c884b4dd28a80f77d2c447a398e8db94f Mon Sep 17 00:00:00 2001 +From: Alex Kiernan +Date: Sat, 21 Mar 2026 20:12:39 +0000 +Subject: [PATCH] mDNSShared: Make Apple Wireless Direct Link depend on macOS + +Upstream-Status: Inactive-Upstream [Upstream does not take patches] +Signed-off-by: Alex Kiernan +--- + mDNSShared/uds_daemon.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/mDNSShared/uds_daemon.c b/mDNSShared/uds_daemon.c +index 6486f1ed51dd..3113313191d7 100644 +--- a/mDNSShared/uds_daemon.c ++++ b/mDNSShared/uds_daemon.c +@@ -3626,7 +3626,11 @@ mDNSlocal void resolve_result_callback(mDNS *const m, DNSQuestion *question, con + request_state *const req = question->QuestionContext; + const mDNSu32 name_hash = mDNS_DomainNameFNV1aHash(&question->qname); + const mDNSBool isMDNSQuestion = mDNSOpaque16IsZero(question->TargetQID); ++#if MDNS_OS(macOS) + const mDNSBool is_split_awdl_query = (req->resolve_awdl && question->InterfaceID == AWDLInterfaceID); ++#else ++ const mDNSBool is_split_awdl_query = mDNSfalse; ++#endif + UDS_LOG_ANSWER_EVENT(isMDNSQuestion ? MDNS_LOG_CATEGORY_MDNS : MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_DEFAULT, + req, question, answer, mDNSfalse, "DNSServiceResolve result", AddRecord); + diff --git a/meta-networking/recipes-protocols/mdns/mdns_2881.0.25.bb b/meta-networking/recipes-protocols/mdns/mdns_2881.0.25.bb deleted file mode 100644 index d44eb72f67f..00000000000 --- a/meta-networking/recipes-protocols/mdns/mdns_2881.0.25.bb +++ /dev/null @@ -1,121 +0,0 @@ -SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" -DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." -HOMEPAGE = "https://developer.apple.com/bonjour/" -LICENSE = "Apache-2.0 & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=31c50371921e0fb731003bbc665f29bf" - -DEPENDS:append:libc-musl = " musl-nscd" - -SRC_URI = "git://github.com/apple-oss-distributions/mDNSResponder;protocol=https;branch=${BRANCH};tag=mDNSResponder-${PV} \ - file://0001-dns-sd-Include-missing-headers.patch \ - file://0002-make-Set-libdns_sd.so-soname-correctly.patch \ - file://0004-make-Separate-TLS-targets-from-libraries.patch \ - file://0005-mDNSCore-Fix-broken-debug-parameter.patch \ - file://0006-make-Add-top-level-Makefile.patch \ - file://0001-Fix-build-with-gcc-15.patch \ - file://mdns.service \ - " -BRANCH = "main" -SRCREV = "d4658af3f5f291311c6aee4210aa6d39bda82bbe" - -inherit github-releases manpages systemd update-rc.d - -PACKAGECONFIG ?= "tls \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[debug] = "DEBUG=1,DEBUG=0" -PACKAGECONFIG[ipv6] = "HAVE_IPV6=1,HAVE_IPV6=0" -PACKAGECONFIG[manpages] = "" -PACKAGECONFIG[tls] = ",tls=no,mbedtls" - -CVE_PRODUCT = "apple:mdnsresponder" - -CVE_STATUS[CVE-2007-0613] = "not-applicable-platform: Issue affects Apple products \ -i.e. ichat,mdnsresponder, instant message framework and MacOS. Also, \ -https://www.exploit-db.com/exploits/3230 shows the part of code \ -affected by CVE-2007-0613 which is not preset in upstream source code. \ -Hence, CVE-2007-0613 does not affect other Yocto implementations and \ -is not reported for other distros can be marked whitelisted. \ -Links: https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 \ -https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613 \ -https://security-tracker.debian.org/tracker/CVE-2007-0613 \ -https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613" - -PARALLEL_MAKE = "" - -EXTRA_OEMAKE = "os=linux 'CC=${CCLD}' 'LD=${CCLD}' 'LINKOPTS=${LDFLAGS}' STRIP=: ${PACKAGECONFIG_CONFARGS}" - -# MDNS_VERSIONSTR_NODTS disables __DATE__ and __TIME__ in the version string, -# which are fixed anyway for build reproducibility. -TARGET_CPPFLAGS += "-DMDNS_VERSIONSTR_NODTS" - -TARGET_CC_ARCH += "${LDFLAGS}" - -MDNS_BUILDDIR = "build/${@bb.utils.contains('PACKAGECONFIG','debug','debug','prod', d)}" - -do_install () { - cd mDNSPosix - - install -d ${D}${sbindir} - install ${MDNS_BUILDDIR}/mdnsd ${D}${sbindir} - - install -d ${D}${libdir} - install -m 0644 ${MDNS_BUILDDIR}/libdns_sd.so ${D}${libdir}/libdns_sd.so.1 - ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so - - install -d ${D}${includedir} - install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir} - - install -d ${D}${mandir}/man8 - install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8 - - install -d ${D}${bindir} - install -m 0755 ../Clients/build/dns-sd ${D}${bindir} - - install -d ${D}${libdir} - oe_libinstall -C ${MDNS_BUILDDIR} -so libnss_mdns-0.2 ${D}${libdir} - ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2 - - install -d ${D}${sysconfdir} - install -m 0644 nss_mdns.conf ${D}${sysconfdir} - - install -d ${D}${mandir}/man5 - install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5 - - install -d ${D}${mandir}/man8 - install -m 0644 libnss_mdns.8 ${D}${mandir}/man8 - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/mdns.service ${D}${systemd_system_unitdir} - - install -d ${D}${INIT_D_DIR} - install mdnsd.sh ${D}${INIT_D_DIR}/mdns -} - -pkg_postinst:${PN}-libnss-mdns () { - if [ -r $D${sysconfdir}/nsswitch.conf ]; then - sed -e '/^hosts:/s/\s*\//' \ - -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 mdns\3\4\5/' \ - -i $D${sysconfdir}/nsswitch.conf - fi -} - -pkg_prerm:${PN}-libnss-mdns () { - if [ -r $D${sysconfdir}/nsswitch.conf ]; then - sed -e '/^hosts:/s/\s*\//' \ - -e '/^hosts:/s/\s*mdns//' \ - -i $D${sysconfdir}/nsswitch.conf - fi -} - -SYSTEMD_SERVICE:${PN} = "mdns.service" -INITSCRIPT_NAME = "mdns" - -PACKAGE_BEFORE_PN = "${PN}-libnss-mdns" - -RRECOMMENDS:${PN}:append:libc-glibc = " ${PN}-libnss-mdns" - -FILES_SOLIBSDEV = "${libdir}/libdns_sd.so" -FILES:${PN}-libnss-mdns = "${sysconfdir}/nss_mdns.conf ${libdir}/libnss_mdns*.so*" -RPROVIDES:${PN}-libnss-mdns = "libnss-mdns" - -RPROVIDES:${PN} += "libdns-sd" diff --git a/meta-networking/recipes-protocols/mdns/mdns_2881.100.56.0.1.bb b/meta-networking/recipes-protocols/mdns/mdns_2881.100.56.0.1.bb new file mode 100644 index 00000000000..10560d795ad --- /dev/null +++ b/meta-networking/recipes-protocols/mdns/mdns_2881.100.56.0.1.bb @@ -0,0 +1,122 @@ +SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol" +DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks." +HOMEPAGE = "https://developer.apple.com/bonjour/" +LICENSE = "Apache-2.0 & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=31c50371921e0fb731003bbc665f29bf" + +DEPENDS:append:libc-musl = " musl-nscd" + +SRC_URI = "git://github.com/apple-oss-distributions/mDNSResponder;protocol=https;branch=${BRANCH};tag=mDNSResponder-${PV} \ + file://0001-dns-sd-Include-missing-headers.patch \ + file://0002-make-Set-libdns_sd.so-soname-correctly.patch \ + file://0004-make-Separate-TLS-targets-from-libraries.patch \ + file://0005-mDNSCore-Fix-broken-debug-parameter.patch \ + file://0006-make-Add-top-level-Makefile.patch \ + file://0001-Fix-build-with-gcc-15.patch \ + file://mdns.service \ + file://0007-mDNSShared-Make-Apple-Wireless-Direct-Link-depend-on.patch \ + " +BRANCH = "rel/mDNSResponder-2881" +SRCREV = "ea3902cfeff86a04b4c684753c80e425edbd1a21" + +inherit github-releases manpages systemd update-rc.d + +PACKAGECONFIG ?= "tls \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[debug] = "DEBUG=1,DEBUG=0" +PACKAGECONFIG[ipv6] = "HAVE_IPV6=1,HAVE_IPV6=0" +PACKAGECONFIG[manpages] = "" +PACKAGECONFIG[tls] = ",tls=no,mbedtls" + +CVE_PRODUCT = "apple:mdnsresponder" + +CVE_STATUS[CVE-2007-0613] = "not-applicable-platform: Issue affects Apple products \ +i.e. ichat,mdnsresponder, instant message framework and MacOS. Also, \ +https://www.exploit-db.com/exploits/3230 shows the part of code \ +affected by CVE-2007-0613 which is not preset in upstream source code. \ +Hence, CVE-2007-0613 does not affect other Yocto implementations and \ +is not reported for other distros can be marked whitelisted. \ +Links: https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 \ +https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613 \ +https://security-tracker.debian.org/tracker/CVE-2007-0613 \ +https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613" + +PARALLEL_MAKE = "" + +EXTRA_OEMAKE = "os=linux 'CC=${CCLD}' 'LD=${CCLD}' 'LINKOPTS=${LDFLAGS}' STRIP=: ${PACKAGECONFIG_CONFARGS}" + +# MDNS_VERSIONSTR_NODTS disables __DATE__ and __TIME__ in the version string, +# which are fixed anyway for build reproducibility. +TARGET_CPPFLAGS += "-DMDNS_VERSIONSTR_NODTS" + +TARGET_CC_ARCH += "${LDFLAGS}" + +MDNS_BUILDDIR = "build/${@bb.utils.contains('PACKAGECONFIG','debug','debug','prod', d)}" + +do_install () { + cd mDNSPosix + + install -d ${D}${sbindir} + install ${MDNS_BUILDDIR}/mdnsd ${D}${sbindir} + + install -d ${D}${libdir} + install -m 0644 ${MDNS_BUILDDIR}/libdns_sd.so ${D}${libdir}/libdns_sd.so.1 + ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so + + install -d ${D}${includedir} + install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir} + + install -d ${D}${mandir}/man8 + install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8 + + install -d ${D}${bindir} + install -m 0755 ../Clients/build/dns-sd ${D}${bindir} + + install -d ${D}${libdir} + oe_libinstall -C ${MDNS_BUILDDIR} -so libnss_mdns-0.2 ${D}${libdir} + ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2 + + install -d ${D}${sysconfdir} + install -m 0644 nss_mdns.conf ${D}${sysconfdir} + + install -d ${D}${mandir}/man5 + install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5 + + install -d ${D}${mandir}/man8 + install -m 0644 libnss_mdns.8 ${D}${mandir}/man8 + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/mdns.service ${D}${systemd_system_unitdir} + + install -d ${D}${INIT_D_DIR} + install mdnsd.sh ${D}${INIT_D_DIR}/mdns +} + +pkg_postinst:${PN}-libnss-mdns () { + if [ -r $D${sysconfdir}/nsswitch.conf ]; then + sed -e '/^hosts:/s/\s*\//' \ + -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 mdns\3\4\5/' \ + -i $D${sysconfdir}/nsswitch.conf + fi +} + +pkg_prerm:${PN}-libnss-mdns () { + if [ -r $D${sysconfdir}/nsswitch.conf ]; then + sed -e '/^hosts:/s/\s*\//' \ + -e '/^hosts:/s/\s*mdns//' \ + -i $D${sysconfdir}/nsswitch.conf + fi +} + +SYSTEMD_SERVICE:${PN} = "mdns.service" +INITSCRIPT_NAME = "mdns" + +PACKAGE_BEFORE_PN = "${PN}-libnss-mdns" + +RRECOMMENDS:${PN}:append:libc-glibc = " ${PN}-libnss-mdns" + +FILES_SOLIBSDEV = "${libdir}/libdns_sd.so" +FILES:${PN}-libnss-mdns = "${sysconfdir}/nss_mdns.conf ${libdir}/libnss_mdns*.so*" +RPROVIDES:${PN}-libnss-mdns = "libnss-mdns" + +RPROVIDES:${PN} += "libdns-sd" diff --git a/meta-networking/recipes-protocols/mjansson-mdns/files/0001-Bump-cmake_minimum_required-version-to-3.5-94.patch b/meta-networking/recipes-protocols/mjansson-mdns/files/0001-Bump-cmake_minimum_required-version-to-3.5-94.patch new file mode 100644 index 00000000000..2afccbe4636 --- /dev/null +++ b/meta-networking/recipes-protocols/mjansson-mdns/files/0001-Bump-cmake_minimum_required-version-to-3.5-94.patch @@ -0,0 +1,21 @@ +From ab8f4118469d7a0bb83b9fcb88fe53482c35f0cb Mon Sep 17 00:00:00 2001 +From: skrede +Date: Sun, 26 Oct 2025 14:35:05 +0100 +Subject: [PATCH] Bump cmake_minimum_required version to 3.5 (#94) + +Upstream-Status: Backport [https://github.com/mjansson/mdns/commit/ab8f4118469d7a0bb83b9fcb88fe53482c35f0cb] +Signed-off-by: Peter Marko +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1bce26d..50f1f05 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.0) ++cmake_minimum_required(VERSION 3.5) + project(mdns VERSION 1.4.2 LANGUAGES C) + + option(MDNS_BUILD_EXAMPLE "build example" ON) diff --git a/meta-networking/recipes-protocols/mjansson-mdns/mjansson-mdns_1.4.3.bb b/meta-networking/recipes-protocols/mjansson-mdns/mjansson-mdns_1.4.3.bb new file mode 100644 index 00000000000..5c404cbb9d9 --- /dev/null +++ b/meta-networking/recipes-protocols/mjansson-mdns/mjansson-mdns_1.4.3.bb @@ -0,0 +1,14 @@ +SUMMARY = "Public domain mDNS/DNS-SD library in C" +DESCRIPTION = "This library provides a header only cross-platform mDNS and DNS-DS library in C" +SECTION = "net" +LICENSE = "Unlicense" +LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f" + +SRC_URI = "git://github.com/mjansson/mdns.git;protocol=https;branch=main;tag=${PV} \ + file://0001-Bump-cmake_minimum_required-version-to-3.5-94.patch \ +" +SRCREV = "1727be0602941a714cb6048a737f0584b1cebf3c" + +inherit cmake + +CVE_PRODUCT = "mjansson:mdns" diff --git a/meta-networking/recipes-protocols/nghttp3/nghttp3_1.15.0.bb b/meta-networking/recipes-protocols/nghttp3/nghttp3_1.15.0.bb new file mode 100644 index 00000000000..2539939bb14 --- /dev/null +++ b/meta-networking/recipes-protocols/nghttp3/nghttp3_1.15.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "HTTP/3 library written in C" +HOMEPAGE = "https://nghttp2.org/nghttp3" +BUGTRACKER = "https://github.com/ngtcp2/nghttp3/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2005b8c7595329cc8ab211085467600a" + +SRC_URI = "git://github.com/ngtcp2/nghttp3;protocol=https;branch=main;tag=v${PV};name=nghttp3 \ + git://github.com/ngtcp2/munit;protocol=https;branch=main;name=munit;subdir=${S}/tests/munit \ + git://github.com/ngtcp2/sfparse;protocol=https;branch=main;name=sfparse;subdir=${S}/lib/sfparse \ +" + +SRCREV_nghttp3 = "d326f4c1eb3f6a780d77793b30e16756c498f913" +SRCREV_munit = "11e8e3466b2d6a8bdfd4b05a3d1ee7805c5d3442" +SRCREV_sfparse = "ff7f230e7df2844afef7dc49631cda03a30455f3" + +SRCREV_FORMAT = "nghttp3" + +inherit cmake + +PACKAGECONFIG ?= "shared" + +PACKAGECONFIG[static] = "-DENABLE_STATIC=ON, -DENABLE_STATIC=OFF" +PACKAGECONFIG[shared] = "-DENABLE_SHARED=ON, -DENABLE_SHARED=OFF" +PACKAGECONFIG[build-lib-only] = "-DENABLE_LIB_ONLY=ON, -DENABLE_LIB_ONLY=OFF" diff --git a/meta-networking/recipes-protocols/ngtcp2/ngtcp2_1.22.1.bb b/meta-networking/recipes-protocols/ngtcp2/ngtcp2_1.22.1.bb new file mode 100644 index 00000000000..acff7b548bb --- /dev/null +++ b/meta-networking/recipes-protocols/ngtcp2/ngtcp2_1.22.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "ngtcp2 project is an effort to implement IETF QUIC protocol" +HOMEPAGE = "https://nghttp2.org/ngtcp2" +BUGTRACKER = "https://github.com/ngtcp2/ngtcp2/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=de0966c8ff4f62661a3da92967a75434" + +SRC_URI = "gitsm://github.com/ngtcp2/ngtcp2;protocol=https;branch=release-1.22;tag=v${PV}" +SRCREV = "716e64b05f4a3709dfc0b0522cf9fd4456d055e5" + +DEPENDS = "brotli libev nghttp3" + +inherit cmake + +PACKAGECONFIG ?= "shared gnutls" + +PACKAGECONFIG[static] = "-DENABLE_STATIC_LIB=ON, -DENABLE_STATIC_LIB=OFF" +PACKAGECONFIG[shared] = "-DENABLE_SHARED_LIB=ON, -DENABLE_SHARED_LIB=OFF" +PACKAGECONFIG[build-lib-only] = "-DENABLE_LIB_ONLY=ON, -DENABLE_LIB_ONLY=OFF" +PACKAGECONFIG[openssl] = "-DENABLE_OPENSSL=ON, -DENABLE_OPENSSL=OFF, openssl" +PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON, -DENABLE_GNUTLS=OFF, gnutls" + +CVE_STATUS[CVE-2026-40170] = "fixed-version: fixed in 1.22.1" diff --git a/meta-networking/recipes-protocols/nopoll/nopoll_0.4.7.b429.bb b/meta-networking/recipes-protocols/nopoll/nopoll_0.4.7.b429.bb deleted file mode 100644 index b4f8605136c..00000000000 --- a/meta-networking/recipes-protocols/nopoll/nopoll_0.4.7.b429.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "OpenSource WebSocket Toolkit" -DESCRIPTION = "noPoll is a OpenSource WebSocket implementation (RFC 6455), \ -written in ansi C, that allows building pure WebSocket solutions or to \ -provide WebSocket support to existing TCP oriented applications.\ -\ -noPoll provides support for WebSocket (ws://) and TLS (secure) WebSocket (wss://),\ -allowing message based (handler notified) programming or stream oriented access." - -HOMEPAGE = "http://www.aspl.es/nopoll/" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=f0504124678c1b3158146e0630229298 \ - " -DEPENDS = "openssl" -SRC_URI = "http://www.aspl.es/nopoll/downloads/nopoll-${PV}.tar.gz \ - " -SRC_URI[sha256sum] = "d5c020fec25e3fa486c308249833d06bed0d76bde9a72fd5d73cfb057c320366" - -inherit autotools pkgconfig - -EXTRA_OECONF += "--disable-nopoll-doc" - -LDFLAGS += "-lpthread" diff --git a/meta-networking/recipes-protocols/nopoll/nopoll_0.4.9.b462.bb b/meta-networking/recipes-protocols/nopoll/nopoll_0.4.9.b462.bb new file mode 100644 index 00000000000..dbe84074439 --- /dev/null +++ b/meta-networking/recipes-protocols/nopoll/nopoll_0.4.9.b462.bb @@ -0,0 +1,22 @@ +SUMMARY = "OpenSource WebSocket Toolkit" +DESCRIPTION = "noPoll is a OpenSource WebSocket implementation (RFC 6455), \ +written in ansi C, that allows building pure WebSocket solutions or to \ +provide WebSocket support to existing TCP oriented applications.\ +\ +noPoll provides support for WebSocket (ws://) and TLS (secure) WebSocket (wss://),\ +allowing message based (handler notified) programming or stream oriented access." + +HOMEPAGE = "http://www.aspl.es/nopoll/" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=f0504124678c1b3158146e0630229298 \ + " +DEPENDS = "openssl" +SRC_URI = "http://www.aspl.es/nopoll/downloads/nopoll-${PV}.tar.gz \ + " +SRC_URI[sha256sum] = "80bfa3e0228e88e290dd23eb94d9bb1f4d726fb117c11cfb048cbdd1d71d379a" + +inherit autotools pkgconfig + +EXTRA_OECONF += "--disable-nopoll-doc" + +LDFLAGS += "-lpthread" diff --git a/meta-networking/recipes-protocols/opcua/open62541_1.4.15.bb b/meta-networking/recipes-protocols/opcua/open62541_1.4.15.bb deleted file mode 100644 index 15dbd4b2dc9..00000000000 --- a/meta-networking/recipes-protocols/opcua/open62541_1.4.15.bb +++ /dev/null @@ -1,62 +0,0 @@ -DESCRIPTION = "open62541 is an implementation of OPC UA (OPC Unified Architecture)" -HOMEPAGE = "https://github.com/open62541/open62541.git" -LICENSE = "MPL-2.0 & BSD-3-Clause & MIT" -LIC_FILES_CHKSUM = "\ - file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad \ - file://deps/mdnsd/LICENSE;md5=3bb4047dc4095cd7336de3e2a9be94f0 \ - file://deps/mqtt-c/LICENSE;md5=9226377baf0b79174c89a1ab55592456 \ -" - -SRCREV_FORMAT = "opcua_mdnsd_ua-nodeset_mqtt-c" -SRCREV_opcua = "45e4cd3ef6c79a8e503d37c9f5c89fefe90d99db" -SRCREV_mdnsd = "488d24fb9d427aec77df180268f0291eeee7fb8b" -SRCREV_ua-nodeset = "d1bb6a22125bd7cd986272b1ee98a18a91d76fff" -SRCREV_mqtt-c = "0f4c34c8cc00b16cfee094745d68b8cdbaecd8e0" - -SRC_URI = " \ - git://github.com/open62541/open62541.git;name=opcua;branch=1.4;protocol=https \ - git://github.com/Pro/mdnsd.git;name=mdnsd;protocol=https;branch=master;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/mdnsd \ - git://github.com/OPCFoundation/UA-Nodeset;name=ua-nodeset;protocol=https;branch=latest;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/ua-nodeset \ - git://github.com/LiamBindle/MQTT-C.git;name=mqtt-c;protocol=https;branch=master;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/mqtt-c \ -" - - -inherit cmake python3native - -EXTRA_OECMAKE += "\ - -DBUILD_SHARED_LIBS=ON \ - -DUA_LOGLEVEL=600 \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -" - -FILES:${PN} = "${libdir}/lib*${SOLIBS}" - -# The tools package contains scripts to generate certificates and OPC UA schema definitions + nodeset descriptions. -PACKAGES += "${PN}-tools" -FILES:${PN}-tools = "${datadir}/${BPN}/*" - -PACKAGECONFIG ?= "encryption-mbedtls historizing pubsub pubsub-eth pubsub-informationmodel subscriptions subscriptions-events namespace-full" -PACKAGECONFIG[encryption-mbedtls] = "-DUA_ENABLE_ENCRYPTION=MBEDTLS, , mbedtls, , , encryption-openssl" -PACKAGECONFIG[encryption-openssl] = "-DUA_ENABLE_ENCRYPTION=OPENSSL, , openssl, , , encryption-mbedtls" -PACKAGECONFIG[historizing] = "-DUA_ENABLE_HISTORIZING=ON, -DUA_ENABLE_HISTORIZING=OFF" -PACKAGECONFIG[multithreading] = "-DUA_MULTITHREADING=100, -DUA_MULTITHREADING=0" -PACKAGECONFIG[namespace-full] = "-DUA_NAMESPACE_ZERO=FULL, , , , , namespace-reduced" -PACKAGECONFIG[namespace-reduced] = "-DUA_NAMESPACE_ZERO=REDUCED, , , , , namespace-full" -PACKAGECONFIG[pubsub] = "-DUA_ENABLE_PUBSUB=ON, -DUA_ENABLE_PUBSUB=OFF" -PACKAGECONFIG[pubsub-eth] = "-DUA_ENABLE_PUBSUB_ETH_UADP=ON, -DUA_ENABLE_PUBSUB_ETH_UADP=OFF" -PACKAGECONFIG[pubsub-informationmodel] = "-DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON, -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=OFF" -PACKAGECONFIG[subscriptions] = "-DUA_ENABLE_SUBSCRIPTIONS=ON, -DUA_ENABLE_SUBSCRIPTIONS=OFF" -PACKAGECONFIG[subscriptions-events] = "-DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON, -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=OFF" -PACKAGECONFIG[werror] = "-DUA_FORCE_WERROR=ON, -DUA_FORCE_WERROR=OFF" - -do_configure:prepend:toolchain-clang:riscv64() { - sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt -} - -do_configure:prepend:toolchain-clang:riscv32() { - sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt -} - -do_install:append(){ - sed -i 's|${RECIPE_SYSROOT}|\$\{CMAKE_SYSROOT\}|g' ${D}${libdir}/cmake/open62541/open62541Targets.cmake -} diff --git a/meta-networking/recipes-protocols/opcua/open62541_1.4.16.bb b/meta-networking/recipes-protocols/opcua/open62541_1.4.16.bb new file mode 100644 index 00000000000..32f7148f4b9 --- /dev/null +++ b/meta-networking/recipes-protocols/opcua/open62541_1.4.16.bb @@ -0,0 +1,62 @@ +DESCRIPTION = "open62541 is an implementation of OPC UA (OPC Unified Architecture)" +HOMEPAGE = "https://github.com/open62541/open62541.git" +LICENSE = "MPL-2.0 & BSD-3-Clause & MIT" +LIC_FILES_CHKSUM = "\ + file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad \ + file://deps/mdnsd/LICENSE;md5=3bb4047dc4095cd7336de3e2a9be94f0 \ + file://deps/mqtt-c/LICENSE;md5=9226377baf0b79174c89a1ab55592456 \ +" + +SRCREV_FORMAT = "opcua_mdnsd_ua-nodeset_mqtt-c" +SRCREV_opcua = "f63e2a819aff6e468242dc2e54ccbd5b75d63654" +SRCREV_mdnsd = "488d24fb9d427aec77df180268f0291eeee7fb8b" +SRCREV_ua-nodeset = "d1bb6a22125bd7cd986272b1ee98a18a91d76fff" +SRCREV_mqtt-c = "0f4c34c8cc00b16cfee094745d68b8cdbaecd8e0" + +SRC_URI = " \ + git://github.com/open62541/open62541.git;name=opcua;branch=1.4;protocol=https \ + git://github.com/Pro/mdnsd.git;name=mdnsd;protocol=https;branch=master;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/mdnsd \ + git://github.com/OPCFoundation/UA-Nodeset;name=ua-nodeset;protocol=https;branch=latest;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/ua-nodeset \ + git://github.com/LiamBindle/MQTT-C.git;name=mqtt-c;protocol=https;branch=master;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/mqtt-c \ +" + + +inherit cmake python3native + +EXTRA_OECMAKE += "\ + -DBUILD_SHARED_LIBS=ON \ + -DUA_LOGLEVEL=600 \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ +" + +FILES:${PN} = "${libdir}/lib*${SOLIBS}" + +# The tools package contains scripts to generate certificates and OPC UA schema definitions + nodeset descriptions. +PACKAGES += "${PN}-tools" +FILES:${PN}-tools = "${datadir}/${BPN}/*" + +PACKAGECONFIG ?= "encryption-mbedtls historizing pubsub pubsub-eth pubsub-informationmodel subscriptions subscriptions-events namespace-full" +PACKAGECONFIG[encryption-mbedtls] = "-DUA_ENABLE_ENCRYPTION=MBEDTLS, , mbedtls, , , encryption-openssl" +PACKAGECONFIG[encryption-openssl] = "-DUA_ENABLE_ENCRYPTION=OPENSSL, , openssl, , , encryption-mbedtls" +PACKAGECONFIG[historizing] = "-DUA_ENABLE_HISTORIZING=ON, -DUA_ENABLE_HISTORIZING=OFF" +PACKAGECONFIG[multithreading] = "-DUA_MULTITHREADING=100, -DUA_MULTITHREADING=0" +PACKAGECONFIG[namespace-full] = "-DUA_NAMESPACE_ZERO=FULL, , , , , namespace-reduced" +PACKAGECONFIG[namespace-reduced] = "-DUA_NAMESPACE_ZERO=REDUCED, , , , , namespace-full" +PACKAGECONFIG[pubsub] = "-DUA_ENABLE_PUBSUB=ON, -DUA_ENABLE_PUBSUB=OFF" +PACKAGECONFIG[pubsub-eth] = "-DUA_ENABLE_PUBSUB_ETH_UADP=ON, -DUA_ENABLE_PUBSUB_ETH_UADP=OFF" +PACKAGECONFIG[pubsub-informationmodel] = "-DUA_ENABLE_PUBSUB_INFORMATIONMODEL=ON, -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=OFF" +PACKAGECONFIG[subscriptions] = "-DUA_ENABLE_SUBSCRIPTIONS=ON, -DUA_ENABLE_SUBSCRIPTIONS=OFF" +PACKAGECONFIG[subscriptions-events] = "-DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON, -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=OFF" +PACKAGECONFIG[werror] = "-DUA_FORCE_WERROR=ON, -DUA_FORCE_WERROR=OFF" + +do_configure:prepend:toolchain-clang:riscv64() { + sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt +} + +do_configure:prepend:toolchain-clang:riscv32() { + sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt +} + +do_install:append(){ + sed -i 's|${RECIPE_SYSROOT}|\$\{CMAKE_SYSROOT\}|g' ${D}${libdir}/cmake/open62541/open62541Targets.cmake +} diff --git a/meta-networking/recipes-protocols/openflow/openflow_git.bb b/meta-networking/recipes-protocols/openflow/openflow_git.bb index 1588245f8a1..d506dd4d011 100644 --- a/meta-networking/recipes-protocols/openflow/openflow_git.bb +++ b/meta-networking/recipes-protocols/openflow/openflow_git.bb @@ -40,6 +40,8 @@ DEPENDS:append:libc-musl = " libexecinfo" inherit autotools-brokensep pkgconfig +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + do_configure:prepend() { ./boot.sh } diff --git a/meta-networking/recipes-support/arptables/arptables_git.bb b/meta-networking/recipes-support/arptables/arptables_git.bb index be2cfb0816b..201e9e16b4b 100644 --- a/meta-networking/recipes-support/arptables/arptables_git.bb +++ b/meta-networking/recipes-support/arptables/arptables_git.bb @@ -1,7 +1,7 @@ SUMMARY = "Administration tool for arp packet filtering" SECTION = "net" LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" +LIC_FILES_CHKSUM = "file://COPYING;md5=53b4a999993871a28ab1488fdbd2e73e" SRCREV = "efae8949e31f8b2eb6290f377a28384cecaf105a" PV = "0.0.5+git" @@ -11,8 +11,6 @@ SRC_URI = " \ file://arptables-arpt-get-target-fix.patch \ file://arptables.service \ " -SRC_URI[arptables.md5sum] = "1d4ab05761f063b0751645d8f2b8f8e5" -SRC_URI[arptables.sha256sum] = "e529fd465c67d69ad335299a043516e6b38cdcd337a5ed21718413e96073f928" SYSTEMD_SERVICE:${PN} = "arptables.service" diff --git a/meta-networking/recipes-support/bridge-utils/bridge-utils_1.7.1.bb b/meta-networking/recipes-support/bridge-utils/bridge-utils_1.7.1.bb index 59e3dbae5ff..ddb243105a2 100644 --- a/meta-networking/recipes-support/bridge-utils/bridge-utils_1.7.1.bb +++ b/meta-networking/recipes-support/bridge-utils/bridge-utils_1.7.1.bb @@ -1,5 +1,5 @@ SUMMARY = "Tools for ethernet bridging" -HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge" +HOMEPAGE = "https://wiki.linuxfoundation.org/networking/bridge" SECTION = "net" LICENSE = "GPL-2.0-only" diff --git a/meta-networking/recipes-support/curlpp/curlpp/0002-fix-invalid-conversion-from-int-to-CURLoption.patch b/meta-networking/recipes-support/curlpp/curlpp/0002-fix-invalid-conversion-from-int-to-CURLoption.patch deleted file mode 100644 index 1712a534620..00000000000 --- a/meta-networking/recipes-support/curlpp/curlpp/0002-fix-invalid-conversion-from-int-to-CURLoption.patch +++ /dev/null @@ -1,36 +0,0 @@ -From ebe9144fdfdc8154661b93322cec4a1c43aa75ff Mon Sep 17 00:00:00 2001 -From: alperak -Date: Tue, 1 Oct 2024 19:45:38 +0300 -Subject: [PATCH] Fix invalid conversion from int to CURLoption - -Options.hpp:281:74: error: invalid conversion from 'int' to 'CURLoption' [-fpermissive] - 281 | typedef curlpp::OptionTrait ClosePolicy; - | ^ - | | - | int - -Fix invalid conversion by adding explicit cast to CURLoption - -Upstream-Status: Pending - -Signed-off-by: alperak ---- - include/curlpp/Options.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/curlpp/Options.hpp b/include/curlpp/Options.hpp -index c705c9d..7c9a501 100644 ---- a/include/curlpp/Options.hpp -+++ b/include/curlpp/Options.hpp -@@ -278,7 +278,7 @@ namespace options - typedef curlpp::OptionTrait LowSpeedLimit; - typedef curlpp::OptionTrait LowSpeedTime; - typedef curlpp::OptionTrait MaxConnects; -- typedef curlpp::OptionTrait ClosePolicy; -+ typedef curlpp::OptionTrait ClosePolicy; - typedef curlpp::OptionTrait FreshConnect; - typedef curlpp::OptionTrait ForbidReuse; - typedef curlpp::OptionTrait ConnectTimeout; --- -2.25.1 - diff --git a/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb b/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb index 25ea1fdefb2..2f9f406b860 100644 --- a/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb +++ b/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb @@ -9,10 +9,11 @@ DEPENDS:class-native = "curl-native" SRC_URI = "git://github.com/jpbarrette/curlpp.git;branch=master;protocol=https \ file://0001-curlpp-config.in-Remove-references-to-absolute-build.patch \ - file://0002-fix-invalid-conversion-from-int-to-CURLoption.patch" +" -SRCREV = "592552a165cc569dac7674cb7fc9de3dc829906f" +SRCREV = "ec1b66e699557cd9d608d322c013a1ebda16bd08" +PV .= "+git" inherit cmake pkgconfig binconfig @@ -23,4 +24,6 @@ do_install:append() { -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ -i ${D}${libdir}/pkgconfig/*.pc + + sed -i 's@${RECIPE_SYSROOT}@${CMAKE_SYSROOT}@' ${D}${libdir}/cmake/curlpp/curlppTargets.cmake } diff --git a/meta-networking/recipes-support/dovecot/dovecot/0001-adapt-lua_newstate-to-new-api.patch b/meta-networking/recipes-support/dovecot/dovecot/0001-adapt-lua_newstate-to-new-api.patch new file mode 100644 index 00000000000..363361fcd5b --- /dev/null +++ b/meta-networking/recipes-support/dovecot/dovecot/0001-adapt-lua_newstate-to-new-api.patch @@ -0,0 +1,29 @@ +From 5efcbab91b510f5a2495369b729248e8bf8a5d63 Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Tue, 31 Mar 2026 11:05:52 +0000 +Subject: [PATCH] adapt lua_newstate to new api + +lua_newstate() in lua 5.5 has gained a new, third argument, which made +it not backwards compatible. This change adapts this call to the lua version +used in OE. + +Upstream-Status: Pending + +Signed-off-by: Gyorgy Sarvari +--- + src/lib-lua/dlua-script.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib-lua/dlua-script.c b/src/lib-lua/dlua-script.c +index 20f91ad..789d603 100644 +--- a/src/lib-lua/dlua-script.c ++++ b/src/lib-lua/dlua-script.c +@@ -253,7 +253,7 @@ static struct dlua_script *dlua_create_script(const char *name, + /* lua API says that lua_newstate will return NULL only if it's out of + memory. this cannot really happen with our allocator as it will + call i_fatal_status anyways if it runs out of memory */ +- script->L = lua_newstate(dlua_alloc, script); ++ script->L = lua_newstate(dlua_alloc, script, luaL_makeseed(NULL)); + i_assert(script->L != NULL); + script->ref = 1; + lua_atpanic(script->L, dlua_atpanic); diff --git a/meta-networking/recipes-support/dovecot/dovecot/0001-lib-regex-remove-LIBPCRE_LIBS-from.patch b/meta-networking/recipes-support/dovecot/dovecot/0001-lib-regex-remove-LIBPCRE_LIBS-from.patch deleted file mode 100644 index b872587a882..00000000000 --- a/meta-networking/recipes-support/dovecot/dovecot/0001-lib-regex-remove-LIBPCRE_LIBS-from.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fd3d65c65c778cf0a2fba6487c8d0eb30b6780b7 Mon Sep 17 00:00:00 2001 -From: Aki Tuomi -Date: Fri, 31 Oct 2025 12:53:33 +0200 -Subject: [PATCH] lib-regex: Remove LIBPCRE_LIBS from test dependencies - -Was accidentically added in 49ae6e798310e5c4b96709db435a3714ea6468a8 - -Upstream-Status: Backport [https://github.com/dovecot/core/commit/fd3d65c65c778cf0a2fba6487c8d0eb30b6780b7] -Signed-off-by: Gyorgy Sarvari ---- - src/lib-regex/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lib-regex/Makefile.am b/src/lib-regex/Makefile.am -index 60f43d9779..9d26d27fa1 100644 ---- a/src/lib-regex/Makefile.am -+++ b/src/lib-regex/Makefile.am -@@ -34,7 +34,7 @@ test_regex_LDADD = libdregex.la \ - ../lib-test/libtest.la \ - ../lib/liblib.la \ - $(LIBPCRE_LIBS) --test_regex_DEPENDENCIES = libdregex.la $(LIBPCRE_LIBS) -+test_regex_DEPENDENCIES = libdregex.la - - check-local: - for bin in $(test_programs); do \ diff --git a/meta-networking/recipes-support/dovecot/dovecot_2.4.2.bb b/meta-networking/recipes-support/dovecot/dovecot_2.4.2.bb deleted file mode 100644 index e94306dd325..00000000000 --- a/meta-networking/recipes-support/dovecot/dovecot_2.4.2.bb +++ /dev/null @@ -1,82 +0,0 @@ -SUMMARY = "Dovecot is an open source IMAP and POP3 email server" -HOMEPAGE = "https://www.dovecot.org/" -DESCRIPTION = "Dovecot is an open source IMAP and POP3 email \ -server for Linux/UNIX-like systems, written with security primarily \ -in mind. Dovecot is an excellent choice for both small and large \ -installations. It's fast, simple to set up, requires no special \ -administration and it uses very little memory." -SECTION = "mail" -LICENSE = "LGPL-2.1-only & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=2956560272e5b31d9d64f03111732048" - -SRC_URI = "http://dovecot.org/releases/2.4/dovecot-${PV}.tar.gz \ - file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \ - file://dovecot.service \ - file://dovecot.socket \ - file://0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch \ - file://0001-lib-regex-remove-LIBPCRE_LIBS-from.patch \ - " -SRC_URI[sha256sum] = "2cd62e4d22b9fc1c80bd38649739950f0dbda34fbc3e62624fb6842264e93c6e" - -DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc bison-native" -CFLAGS += "-I${STAGING_INCDIR}/tirpc" -LDFLAGS += "-ltirpc" - -inherit autotools pkgconfig systemd useradd gettext multilib_header - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam systemd', d)}" - -PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," -PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd," -PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap," -PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," - -# From native build in armv7a-hf/eglibc -CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \ - i_cv_gmtime_max_time_t=32 \ - i_cv_signed_time_t=yes \ - i_cv_mmap_plays_with_write=yes \ - i_cv_fd_passing=yes \ - i_cv_c99_vsnprintf=yes \ - lib_cv___va_copy=yes \ - lib_cv_va_copy=yes \ - lib_cv_va_val_copy=yes \ - " - -# hardcode epoll() to avoid running unsafe tests -# BSD needs kqueue and uclibc poll() -EXTRA_OECONF = " --with-ioloop=epoll" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "dovecot.service dovecot.socket" -SYSTEMD_AUTO_ENABLE = "disable" - -do_install:append () { - rm -rf ${D}${libdir}/dovecot/dovecot-config - install -d 755 ${D}/etc/dovecot - chmod 644 ${D}/etc/dovecot/dovecot.conf - touch ${D}/etc/dovecot/ssl-key.pem - touch ${D}/etc/dovecot/ssl-cert.pem - chmod 600 ${D}/etc/dovecot/ssl-key.pem - chmod 600 ${D}/etc/dovecot/ssl-cert.pem - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then - install -m 0644 ${UNPACKDIR}/dovecot.service ${D}${systemd_unitdir}/system - sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service - fi - oe_multilib_header dovecot/config.h -} - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \ - -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull" -GROUPADD_PARAM:${PN} = "-f -r dovecot;-f -r dovenull" - -FILES:${PN} += "${libdir}/dovecot/*plugin.so \ - ${libdir}/dovecot/libfs_compress.so \ - ${libdir}/dovecot/libssl_iostream_openssl.so" -FILES:${PN}-staticdev += "${libdir}/dovecot/*/*.a" -FILES:${PN}-dev += "${libdir}/dovecot/libdovecot*.so" -FILES:${PN}-dbg += "${libdir}/dovecot/*/.debug" - -CVE_STATUS[CVE-2016-4983] = "not-applicable-platform: Affects only postinstall script on specific distribution." diff --git a/meta-networking/recipes-support/dovecot/dovecot_2.4.3.bb b/meta-networking/recipes-support/dovecot/dovecot_2.4.3.bb new file mode 100644 index 00000000000..a6b78ea781b --- /dev/null +++ b/meta-networking/recipes-support/dovecot/dovecot_2.4.3.bb @@ -0,0 +1,88 @@ +SUMMARY = "Dovecot is an open source IMAP and POP3 email server" +HOMEPAGE = "https://www.dovecot.org/" +DESCRIPTION = "Dovecot is an open source IMAP and POP3 email \ +server for Linux/UNIX-like systems, written with security primarily \ +in mind. Dovecot is an excellent choice for both small and large \ +installations. It's fast, simple to set up, requires no special \ +administration and it uses very little memory." +SECTION = "mail" +LICENSE = "LGPL-2.1-only & MIT & Unicode-3.0 & BSD-3-Clause & PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=cb805cc6bdb95ba8fc2398a55fd50877" + +SRC_URI = "https://dovecot.org/releases/2.4/dovecot-${PV}.tar.gz \ + file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \ + file://dovecot.service \ + file://dovecot.socket \ + file://0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch \ + file://0001-adapt-lua_newstate-to-new-api.patch \ + " +SRC_URI[sha256sum] = "ff0be85228122f250627b19e67505fdb7fb2f72a702ef6bf35f27fce54c072e5" + +DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc bison-native" +CFLAGS += "-I${STAGING_INCDIR}/tirpc" +LDFLAGS += "-ltirpc" + +inherit autotools pkgconfig systemd useradd gettext multilib_header + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam systemd', d)}" + +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd," +PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap," +PACKAGECONFIG[lua] = "--with-lua=yes, --without-lua, lua" +PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," + +# From native build in armv7a-hf/eglibc +CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \ + i_cv_gmtime_max_time_t=32 \ + i_cv_signed_time_t=yes \ + i_cv_mmap_plays_with_write=yes \ + i_cv_fd_passing=yes \ + i_cv_c99_vsnprintf=yes \ + lib_cv___va_copy=yes \ + lib_cv_va_copy=yes \ + lib_cv_va_val_copy=yes \ + " + +# hardcode epoll() to avoid running unsafe tests +# BSD needs kqueue and uclibc poll() +EXTRA_OECONF = " --with-ioloop=epoll" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "dovecot.service dovecot.socket" +SYSTEMD_AUTO_ENABLE = "disable" + +do_install:append () { + rm -rf ${D}${libdir}/dovecot/dovecot-config + install -d 755 ${D}/etc/dovecot + chmod 644 ${D}/etc/dovecot/dovecot.conf + touch ${D}/etc/dovecot/ssl-key.pem + touch ${D}/etc/dovecot/ssl-cert.pem + chmod 600 ${D}/etc/dovecot/ssl-key.pem + chmod 600 ${D}/etc/dovecot/ssl-cert.pem + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then + install -m 0644 ${UNPACKDIR}/dovecot.service ${D}${systemd_unitdir}/system + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service + fi + oe_multilib_header dovecot/config.h +} + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \ + -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull" +GROUPADD_PARAM:${PN} = "-f -r dovecot;-f -r dovenull" + +FILES:${PN} += "${libdir}/dovecot/*plugin.so \ + ${libdir}/dovecot/libfs_compress.so \ + ${libdir}/dovecot/libssl_iostream_openssl.so" +FILES:${PN}-staticdev += "${libdir}/dovecot/*/*.a" +FILES:${PN}-dev += "${libdir}/dovecot/libdovecot*.so" +FILES:${PN}-dbg += "${libdir}/dovecot/*/.debug" + +CVE_STATUS[CVE-2016-4983] = "not-applicable-platform: Affects only postinstall script on specific distribution." +CVE_STATUS[CVE-2025-59031] = "fixed-version: fixed since v2.4.2" +CVE_STATUS[CVE-2026-0394] = "fixed-version: fixed since v2.4.1" +CVE_STATUS[CVE-2026-24031] = "fixed-version: fixed since v2.4.3" +CVE_STATUS[CVE-2026-27855] = "fixed-version: fixed since v2.4.3" +CVE_STATUS[CVE-2026-27860] = "fixed-version: fixed since v2.4.3" diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-Fix-build-with-gcc-15.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-Fix-build-with-gcc-15.patch deleted file mode 100644 index 00105fb844b..00000000000 --- a/meta-networking/recipes-support/drbd/drbd-utils/0001-Fix-build-with-gcc-15.patch +++ /dev/null @@ -1,34 +0,0 @@ -From b42265af87d9efcc9aac91b3a3da3df5c5c66e29 Mon Sep 17 00:00:00 2001 -From: Nguyen Dat Tho -Date: Wed, 9 Apr 2025 17:33:25 +0900 -Subject: [PATCH] Fix build with gcc-15 - -To fix the following error: -In file included from string_matching.cpp:1: -./string_matching.h:10:18: error: 'uint16_t' does not name a type - 10 | extern const uint16_t PATTERN_LIMIT; - | ^~~~~~~~ -./string_matching.h:7:1: note: 'uint16_t' is defined in header ''; this is probably fixable by adding '#include ' - -Upstream-Status: Submitted [https://github.com/LINBIT/drbd-utils/pull/50] - -Signed-off-by: Nguyen Dat Tho ---- - user/drbdmon/string_matching.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/user/drbdmon/string_matching.h b/user/drbdmon/string_matching.h -index 9b3918fe..b783ba48 100644 ---- a/user/drbdmon/string_matching.h -+++ b/user/drbdmon/string_matching.h -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - - namespace string_matching - { --- -2.34.1 - diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-fix-the-hardcoded-legacy-helper-path.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-fix-the-hardcoded-legacy-helper-path.patch new file mode 100644 index 00000000000..3d7c95b4a86 --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd-utils/0001-fix-the-hardcoded-legacy-helper-path.patch @@ -0,0 +1,53 @@ +From 301e64db17466316ac34a28e30867cc7853777b5 Mon Sep 17 00:00:00 2001 +From: Haiqing Bai +Date: Thu, 16 Apr 2026 10:00:19 +0000 +Subject: [PATCH] Fix the hardcoded legacy helper path + +Fix the below issue: +"~# drbdadm --version +execvp() failed to exec drbdadm-84: No such file or directory" + +The legacy helper path was hardcoded to "/lib/drbd", which does not exist +on systems where LIBDIR is configured to a different location (e.g. +/usr/lib). This caused drbdadm to fail when attempting to exec drbdadm-84. +Use the build-configured DRBD_LEGACY_LIB_DIR (derived from LIBDIR) instead +of the hardcoded path, so the legacy helper lookup respects the actual +install prefix. + +Upstream-Status: Pending + +Signed-off-by: Haiqing Bai +--- + user/v9/Makefile.in | 1 + + user/v9/drbdtool_common.c | 3 +-- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/user/v9/Makefile.in b/user/v9/Makefile.in +index fa12f79..980c67c 100644 +--- a/user/v9/Makefile.in ++++ b/user/v9/Makefile.in +@@ -70,6 +70,7 @@ CFLAGS += -DKEYUTILS + endif + ifeq ($(WITH_84_SUPPORT),yes) + CFLAGS += -DWITH_84_SUPPORT ++CFLAGS += -DDRBD_LEGACY_LIB_DIR=\"$(LIBDIR)\" + endif + CFLAGS += $(EXTRA_CFLAGS) + +diff --git a/user/v9/drbdtool_common.c b/user/v9/drbdtool_common.c +index d07d054..ea95a16 100644 +--- a/user/v9/drbdtool_common.c ++++ b/user/v9/drbdtool_common.c +@@ -332,8 +332,7 @@ void add_component_to_path(const char *path) + + void add_lib_drbd_to_path(void) + { +- /* TODO: if exec-prefix != "/" ? */ +- add_component_to_path("/lib/drbd"); ++ add_component_to_path(DRBD_LEGACY_LIB_DIR); + } + + /* from linux/crypto/crc32.c */ +-- +2.53.0 + diff --git a/meta-networking/recipes-support/drbd/drbd-utils_9.30.0.bb b/meta-networking/recipes-support/drbd/drbd-utils_9.30.0.bb deleted file mode 100644 index 4c520e8c786..00000000000 --- a/meta-networking/recipes-support/drbd/drbd-utils_9.30.0.bb +++ /dev/null @@ -1,75 +0,0 @@ -SUMMARY = "Distributed block device driver for Linux" -DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\ -Think of it as networked raid 1. It is a building block for\ -setting up high availability (HA) clusters." -HOMEPAGE = "http://www.drbd.org/" -SECTION = "admin" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" - -SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=master;protocol=https \ - git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/drbd-headers;branch=master;protocol=https \ - file://0001-drbdmon-add-LDFLAGS-when-linking.patch \ - ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \ - file://0001-Fix-build-with-gcc-15.patch \ - " -SRCREV_drbd-utils = "36ea199f38b543b2da92219109c2832e122e5bf9" -SRCREV_drbd-headers = "94f4472513f351efba5788f783feba6ac6efe9fc" - -SRCREV_FORMAT = "drbd-utils_drbd-headers" - - -UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases" - -SYSTEMD_SERVICE:${PN} = "drbd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -DEPENDS = "flex-native keyutils" - -inherit autotools-brokensep systemd - -# -Wunused-but-set-variable -Wunused-const-variable -Winconsistent-missing-override -CPPFLAGS:append = " -Wno-error" - -EXTRA_OECONF = " \ - --with-initdir=/etc/init.d \ - --without-pacemaker \ - --without-rgmanager \ - --without-bashcompletion \ - --with-distro debian \ - --with-initscripttype=both \ - --with-systemdunitdir=${systemd_unitdir}/system \ - --without-manual \ - --disable-udevchecks \ - " - -# If we have inherited reproducible_build, we want to use it. -export WANT_DRBD_REPRODUCIBLE_BUILD = "yes" - -do_install:append() { - # don't install empty /var/lock and /var/run to avoid conflict with base-files - rm -rf ${D}${localstatedir}/lock - rm -rf ${D}${localstatedir}/run - - sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-demote-or-escalate@.service - sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-promote@.service - sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-wait-promotable@.service - sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd.service - sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd@.service - sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/ocf.ra@.service -} - -RDEPENDS:${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy" - -# The drbd items are explicitly put under /lib when installed. -# -FILES:${PN} += "/run" -FILES:${PN} += "${nonarch_base_libdir}/drbd \ - ${nonarch_libdir}/drbd \ - ${nonarch_libdir}/tmpfiles.d \ - ${nonarch_libdir}/drbdscripts/* \ - ${systemd_unitdir}/system/* \ -" -FILES:${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug" - -CLEANBROKEN = "1" diff --git a/meta-networking/recipes-support/drbd/drbd-utils_9.34.0.bb b/meta-networking/recipes-support/drbd/drbd-utils_9.34.0.bb new file mode 100644 index 00000000000..abc406b5e0f --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd-utils_9.34.0.bb @@ -0,0 +1,78 @@ +SUMMARY = "Distributed block device driver for Linux" +DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\ +Think of it as networked raid 1. It is a building block for\ +setting up high availability (HA) clusters." +HOMEPAGE = "http://www.drbd.org/" +SECTION = "admin" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" + +SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=master;protocol=https \ + git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/drbd-headers;branch=master;protocol=https \ + file://0001-drbdmon-add-LDFLAGS-when-linking.patch \ + ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \ + file://0001-fix-the-hardcoded-legacy-helper-path.patch \ + " +SRCREV_drbd-utils = "7fe34d56a7264cfc92fc5270471827bb3f7773e6" +SRCREV_drbd-headers = "8ab631bfa8eb606e53c86f50b9f2d6f51d0f9ca5" + +SRCREV_FORMAT = "drbd-utils_drbd-headers" + + +UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases" + +SYSTEMD_SERVICE:${PN} = "drbd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +DEPENDS = "flex-native keyutils" + +inherit autotools-brokensep systemd + +# -Wunused-but-set-variable -Wunused-const-variable -Winconsistent-missing-override +CPPFLAGS:append = " -Wno-error" + +EXTRA_OECONF = " \ + --with-initdir=/etc/init.d \ + --without-pacemaker \ + --without-rgmanager \ + --without-bashcompletion \ + --with-distro debian \ + --with-initscripttype=both \ + --with-systemdunitdir=${systemd_unitdir}/system \ + --without-manual \ + --disable-udevchecks \ + " + +# If we have inherited reproducible_build, we want to use it. +export WANT_DRBD_REPRODUCIBLE_BUILD = "yes" + +do_install:append() { + # don't install empty /var/lock and /var/run to avoid conflict with base-files + rm -rf ${D}${localstatedir}/lock + rm -rf ${D}${localstatedir}/run + + sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-demote-or-escalate@.service + sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-promote@.service + sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-wait-promotable@.service + sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd.service + sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd@.service + + install -D -m 0644 ${D}/50-drbd.preset ${D}${systemd_unitdir}/system-preset/50-drbd.preset + rm -f ${D}/50-drbd.preset +} + +RDEPENDS:${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy" + +# The drbd items are explicitly put under /lib when installed. +# +FILES:${PN} += "/run" +FILES:${PN} += "${nonarch_base_libdir}/drbd \ + ${nonarch_libdir}/drbd \ + ${nonarch_libdir}/tmpfiles.d \ + ${nonarch_libdir}/drbdscripts/* \ + ${systemd_unitdir}/system/* \ + ${systemd_unitdir}/system-preset/50-drbd.preset \ +" +FILES:${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug" + +CLEANBROKEN = "1" diff --git a/meta-networking/recipes-support/dropwatch/dropwatch_1.5.4.bb b/meta-networking/recipes-support/dropwatch/dropwatch_1.5.4.bb deleted file mode 100644 index badeed8e828..00000000000 --- a/meta-networking/recipes-support/dropwatch/dropwatch_1.5.4.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Dropwatch is a utility to diagnose where packets are getting dropped" -DESCRIPTION = "\ -Dropwatch is a utility to help developers and system administrators to \ -diagnose problems in the Linux Networking stack, specifically their \ -ability to diagnose where packets are getting dropped." -HOMEPAGE = "https://github.com/nhorman/${BPN}" -SECTION = "net/misc" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" - -SRC_URI = "git://github.com/nhorman/dropwatch.git;protocol=https;nobranch=1 \ - file://0001-fix-bug-build-with-sysroot-head-file-instead-of-loca.patch \ -" -SRCREV = "1e7e487a019a7c02f1f429c4d3a4647fa3787a13" - - -DEPENDS = "binutils libnl libpcap readline" - -inherit pkgconfig autotools diff --git a/meta-networking/recipes-support/dropwatch/dropwatch_1.5.5.bb b/meta-networking/recipes-support/dropwatch/dropwatch_1.5.5.bb new file mode 100644 index 00000000000..03eaef24fd1 --- /dev/null +++ b/meta-networking/recipes-support/dropwatch/dropwatch_1.5.5.bb @@ -0,0 +1,19 @@ +SUMMARY = "Dropwatch is a utility to diagnose where packets are getting dropped" +DESCRIPTION = "\ +Dropwatch is a utility to help developers and system administrators to \ +diagnose problems in the Linux Networking stack, specifically their \ +ability to diagnose where packets are getting dropped." +HOMEPAGE = "https://github.com/nhorman/${BPN}" +SECTION = "net/misc" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" + +SRC_URI = "git://github.com/nhorman/dropwatch.git;protocol=https;branch=master;tag=v${PV} \ + file://0001-fix-bug-build-with-sysroot-head-file-instead-of-loca.patch \ +" +SRCREV = "10ec0adb9758b86a647b2972932aaa98a7d002a5" + + +DEPENDS = "binutils libnl libpcap readline" + +inherit pkgconfig autotools diff --git a/meta-networking/recipes-support/ettercap/ettercap_0.8.4.1.bb b/meta-networking/recipes-support/ettercap/ettercap_0.8.4.1.bb new file mode 100644 index 00000000000..a28de7b2bd4 --- /dev/null +++ b/meta-networking/recipes-support/ettercap/ettercap_0.8.4.1.bb @@ -0,0 +1,46 @@ +SUMMARY = "A suite for man in the middle attacks" +HOMEPAGE = "https://github.com/Ettercap/ettercap" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit cmake + +DEPENDS += "ethtool \ + geoip \ + libmaxminddb \ + librepo \ + libnet \ + libpcap \ + libpcre \ + ncurses \ + openssl \ + zlib \ + bison-native \ + flex-native \ + " + +RDEPENDS:${PN} += "bash ethtool libgcc" + +SRC_URI = "gitsm://github.com/Ettercap/ettercap;branch=master;protocol=https;tag=v${PV} \ + " + +SRCREV = "0dc8409779f3a09cbfff4434b9a4d7b33480d88d" + +EXTRA_OECMAKE = " \ + -DCMAKE_SKIP_RPATH=TRUE \ + -DBUNDLED_LIBS=ON \ + -DENABLE_IPV6=ON \ + -DENABLE_GTK=OFF \ + -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \ + -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \ +" + +CFLAGS += "-D_GNU_SOURCE" +# Replaces default encoding set (ISO-8859-1) with UTF-8 in ettercap +# configuration file installed by the package. +# It ensures that all characters are properly decoded and avoids +# any fatal errors while running in text mode (-T). +do_install:append() { + sed -i 's@utf8_encoding.*@utf8_encoding = "UTF-8"@g' \ + ${D}/etc/ettercap/etter.conf +} diff --git a/meta-networking/recipes-support/ettercap/ettercap_0.8.4.bb b/meta-networking/recipes-support/ettercap/ettercap_0.8.4.bb deleted file mode 100644 index 3784d12b85f..00000000000 --- a/meta-networking/recipes-support/ettercap/ettercap_0.8.4.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "A suite for man in the middle attacks" -HOMEPAGE = "https://github.com/Ettercap/ettercap" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -inherit cmake - -DEPENDS += "ethtool \ - geoip \ - libmaxminddb \ - librepo \ - libnet \ - libpcap \ - libpcre \ - ncurses \ - openssl \ - zlib \ - bison-native \ - flex-native \ - " - -RDEPENDS:${PN} += "bash ethtool libgcc" - -SRC_URI = "gitsm://github.com/Ettercap/ettercap;branch=master;protocol=https;tag=v${PV}" - -SRCREV = "41da65f4026a9e4cea928e61941b976d9279f508" - -EXTRA_OECMAKE = " \ - -DCMAKE_SKIP_RPATH=TRUE \ - -DBUNDLED_LIBS=ON \ - -DENABLE_IPV6=ON \ - -DENABLE_GTK=OFF \ - -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \ - -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \ -" - -CFLAGS += "-D_GNU_SOURCE" -# Replaces default encoding set (ISO-8859-1) with UTF-8 in ettercap -# configuration file installed by the package. -# It ensures that all characters are properly decoded and avoids -# any fatal errors while running in text mode (-T). -do_install:append() { - sed -i 's@utf8_encoding.*@utf8_encoding = "UTF-8"@g' \ - ${D}/etc/ettercap/etter.conf -} diff --git a/meta-networking/recipes-support/ifenslave/ifenslave_2.14.bb b/meta-networking/recipes-support/ifenslave/ifenslave_2.14.bb index bc0975ecc1e..c902af91e78 100644 --- a/meta-networking/recipes-support/ifenslave/ifenslave_2.14.bb +++ b/meta-networking/recipes-support/ifenslave/ifenslave_2.14.bb @@ -1,5 +1,5 @@ SUMMARY = "Configure network interfaces for parallel routing" -HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding" +HOMEPAGE = "https://wiki.linuxfoundation.org/networking/bonding" SECTION = "net" LICENSE = "GPL-3.0-only" diff --git a/meta-networking/recipes-support/libcpr/libcpr_1.13.0.bb b/meta-networking/recipes-support/libcpr/libcpr_1.13.0.bb deleted file mode 100644 index 04dda317702..00000000000 --- a/meta-networking/recipes-support/libcpr/libcpr_1.13.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Curl for People - C++ Requests" -DESCRIPTION = "Curl for People C++ Requests is a simple wrapper around \ - libcurl inspired by the excellent Python Requests project." -HOMEPAGE = "https://docs.libcpr.org/" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=08beaae5deae1c43c065592da8f38095" - -DEPENDS = "curl openssl" - -SRC_URI = "git://github.com/libcpr/cpr.git;protocol=https;branch=master;tag=${PV}" -SRCREV = "516cb3e5f4e38bede088f69fcf122c6089e38f00" - - -inherit cmake - -# building tests is currently using FetchContent for mongoose -EXTRA_OECMAKE += "\ - -DCPR_USE_SYSTEM_CURL=ON \ - -DCPR_BUILD_TESTS=OFF \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-networking/recipes-support/libcpr/libcpr_1.14.2.bb b/meta-networking/recipes-support/libcpr/libcpr_1.14.2.bb new file mode 100644 index 00000000000..bdbd244e33b --- /dev/null +++ b/meta-networking/recipes-support/libcpr/libcpr_1.14.2.bb @@ -0,0 +1,23 @@ +SUMMARY = "Curl for People - C++ Requests" +DESCRIPTION = "Curl for People C++ Requests is a simple wrapper around \ + libcurl inspired by the excellent Python Requests project." +HOMEPAGE = "https://docs.libcpr.org/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=08beaae5deae1c43c065592da8f38095" + +DEPENDS = "curl openssl" + +SRC_URI = "git://github.com/libcpr/cpr.git;protocol=https;nobranch=1;tag=${PV}" +SRCREV = "f091b2c061b307ee89b164c39976fc9202a1c79d" + + +inherit cmake + +# building tests is currently using FetchContent for mongoose +EXTRA_OECMAKE += "\ + -DCPR_USE_SYSTEM_CURL=ON \ + -DCPR_BUILD_TESTS=OFF \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb index b43900a94d4..f87aa929329 100644 --- a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb +++ b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb @@ -4,6 +4,7 @@ SECTION = "libs" LICENSE = "GPL-2.0-only & LGPL-2.0-only" DEPENDS = "flex flex-native" +RRECOMMENDS:${PN} = "kernel-module-atm-tcp" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}.tar.gz \ file://link-with-ldflags.patch \ @@ -31,6 +32,8 @@ file://COPYING.LGPL;md5=6e29c688d912da12b66b73e32b03d812" inherit autotools pkgconfig +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + EXTRA_OEMAKE += "ROOTPREFIX=${root_prefix}" FILES:${PN} += "${nonarch_base_libdir}/firmware" diff --git a/meta-networking/recipes-support/mctp/mctp_2.4.bb b/meta-networking/recipes-support/mctp/mctp_2.4.bb deleted file mode 100644 index 27750d4bfd6..00000000000 --- a/meta-networking/recipes-support/mctp/mctp_2.4.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Management Component Control Protocol utilities" -HOMEPAGE = "http://www.github.com/CodeConstruct/mctp" -SECTION = "net" -LICENSE = "GPL-2.0-only" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=4cc91856b08b094b4f406a29dc61db21" - -SRCREV = "8b019a3e4d335c7d31099762762dfee2e4705d37" - -SRC_URI = "git://github.com/CodeConstruct/mctp;branch=main;protocol=https;tag=v${PV}" - - -inherit meson pkgconfig systemd - -EXTRA_OEMESON = " \ - -Dtests=false \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" - -# mctpd will only be built if pkg-config detects libsystemd; in which case -# we'll want to declare the dep and install the service. -PACKAGECONFIG[systemd] = ",,systemd,libsystemd" -SYSTEMD_SERVICE:${PN} = "mctpd.service mctp.target mctp-local.target" -SYSTEMD_AUTO_ENABLE:${PN} = "enable" - -do_install:append () { - if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/conf/mctpd.service \ - ${D}${systemd_system_unitdir}/mctpd.service - install -m 0644 ${S}/conf/*.target \ - ${D}${systemd_system_unitdir}/ - install -d ${D}${datadir}/dbus-1/system.d - install -m 0644 ${S}/conf/mctpd-dbus.conf \ - ${D}${datadir}/dbus-1/system.d/mctpd.conf - fi -} - -FILES:${PN} += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', \ - '${datadir}/dbus-1/system.d/mctpd.conf', '', d)} \ -" diff --git a/meta-networking/recipes-support/mctp/mctp_2.5.bb b/meta-networking/recipes-support/mctp/mctp_2.5.bb new file mode 100644 index 00000000000..a8787d3f2b8 --- /dev/null +++ b/meta-networking/recipes-support/mctp/mctp_2.5.bb @@ -0,0 +1,45 @@ +SUMMARY = "Management Component Control Protocol utilities" +HOMEPAGE = "http://www.github.com/CodeConstruct/mctp" +SECTION = "net" +LICENSE = "GPL-2.0-only" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=4cc91856b08b094b4f406a29dc61db21" + +SRCREV = "07c7a5d526f686da89bc9ae9cad917e46652b272" + +SRC_URI = "git://github.com/CodeConstruct/mctp;branch=main;protocol=https;tag=v${PV}" + + +inherit meson pkgconfig systemd + +EXTRA_OEMESON = " \ + -Dtests=false \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" + +# mctpd will only be built if pkg-config detects libsystemd; in which case +# we'll want to declare the dep and install the service. +PACKAGECONFIG[systemd] = ",,systemd,libsystemd" +SYSTEMD_SERVICE:${PN} = "mctpd.service mctp.target mctp-local.target" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" + +do_install:append () { + if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/conf/mctpd.service \ + ${D}${systemd_system_unitdir}/mctpd.service + install -m 0644 ${S}/conf/*.target \ + ${D}${systemd_system_unitdir}/ + install -d ${D}${datadir}/dbus-1/system.d + install -m 0644 ${S}/conf/mctpd-dbus.conf \ + ${D}${datadir}/dbus-1/system.d/mctpd.conf + fi +} + +FILES:${PN} += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', \ + '${datadir}/dbus-1/system.d/mctpd.conf', '', d)} \ +" diff --git a/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch b/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch deleted file mode 100644 index 26281e73efc..00000000000 --- a/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch +++ /dev/null @@ -1,32 +0,0 @@ -From dfa90817a08f206f7e2dbba44d913968ae7f7d94 Mon Sep 17 00:00:00 2001 -From: Chong Lu -Date: Tue, 19 Aug 2014 17:38:32 +0800 -Subject: [PATCH] memcached: add knob to detect whether hugetlbfs are checked - -Add knob to detect whether hugetlbfs are checked or not. - -Upstream-Status: Pending - -Signed-off-by: Chong Lu ---- - configure.ac | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 6f2ef97..bd7dd96 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -559,8 +559,12 @@ if test "x$enable_static" = "xyes"; then - fi - - dnl ---------------------------------------------------------------------------- -+AC_ARG_ENABLE(hugetlbfs, -+ [AS_HELP_STRING([--enable-hugetlbfs],[Enable hugetlbfs])]) - --AC_SEARCH_LIBS(gethugepagesizes, hugetlbfs) -+if test "x$enable_hugetlbfs" = "xyes"; then -+ AC_SEARCH_LIBS(gethugepagesizes, hugetlbfs) -+fi - - AC_HEADER_STDBOOL - AH_BOTTOM([#if HAVE_STDBOOL_H diff --git a/meta-networking/recipes-support/memcached/memcached_1.6.40.bb b/meta-networking/recipes-support/memcached/memcached_1.6.40.bb deleted file mode 100644 index fedc693ccad..00000000000 --- a/meta-networking/recipes-support/memcached/memcached_1.6.40.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "A high-performance memory object caching system" -DESCRIPTION = "\ - memcached optimizes specific high-load serving applications that are designed \ - to take advantage of its versatile no-locking memory access system. Clients \ - are available in several different programming languages, to suit the needs \ - of the specific application. Traditionally this has been used in mod_perl \ - apps to avoid storing large chunks of data in Apache memory, and to share \ - this burden across several machines." -SECTION = "web" -HOMEPAGE = "http://memcached.org/" -LICENSE = "BSD-3-Clause" - -LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" - -inherit autotools pkgconfig - -DEPENDS += "libevent" -RDEPENDS:${PN} += "perl perl-module-posix perl-module-autoloader \ - perl-module-tie-hash bash \ - " - -SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \ - file://memcached-add-hugetlbfs-check.patch \ - " -SRC_URI[sha256sum] = "a3d360e9da2221a49bf9aae4e6880f2d44da6b2a2fae39b1911b9ca76488fbfd" - -CVE_STATUS[CVE-2022-26635] = "disputed: this is a problem of applications using php-memcached inproperly" - -UPSTREAM_CHECK_URI = "${HOMEPAGE}" - -# set the same COMPATIBLE_HOST as libhugetlbfs -COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" - -# assoc.c:83:9: error: variable 'depth' set but not used [-Werror,-Wunused-but-set-variable] -CFLAGS:append:toolchain-clang = " -Wno-error=unused-but-set-variable" - -python __anonymous () { - endianness = d.getVar('SITEINFO_ENDIANNESS') - if endianness == 'le': - d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little") - else: - d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big") -} - -PACKAGECONFIG ??= "" -PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs" - -inherit update-rc.d - -INITSCRIPT_NAME = "memcached" -INITSCRIPT_PARAMS = "defaults" - -do_install:append() { - install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached - mkdir -p ${D}/usr/share/memcached/scripts - install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts - install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts -} diff --git a/meta-networking/recipes-support/memcached/memcached_1.6.41.bb b/meta-networking/recipes-support/memcached/memcached_1.6.41.bb new file mode 100644 index 00000000000..e41ebdb1715 --- /dev/null +++ b/meta-networking/recipes-support/memcached/memcached_1.6.41.bb @@ -0,0 +1,52 @@ +SUMMARY = "A high-performance memory object caching system" +DESCRIPTION = "\ + memcached optimizes specific high-load serving applications that are designed \ + to take advantage of its versatile no-locking memory access system. Clients \ + are available in several different programming languages, to suit the needs \ + of the specific application. Traditionally this has been used in mod_perl \ + apps to avoid storing large chunks of data in Apache memory, and to share \ + this burden across several machines." +SECTION = "web" +HOMEPAGE = "http://memcached.org/" +LICENSE = "BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" + +inherit autotools pkgconfig + +DEPENDS += "libevent" +RDEPENDS:${PN} += "perl perl-module-posix perl-module-autoloader \ + perl-module-tie-hash bash \ + " + +SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz" +SRC_URI[sha256sum] = "e097073c156eeff9e12655b054f446d57374cfba5c132dcdbe7fac64e728286a" + +CVE_STATUS[CVE-2022-26635] = "disputed: this is a problem of applications using php-memcached inproperly" + +UPSTREAM_CHECK_URI = "${HOMEPAGE}" + +COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|riscv64|aarch64|arm).*-linux*" + +# assoc.c:83:9: error: variable 'depth' set but not used [-Werror,-Wunused-but-set-variable] +CFLAGS:append:toolchain-clang = " -Wno-error=unused-but-set-variable" + +python __anonymous () { + endianness = d.getVar('SITEINFO_ENDIANNESS') + if endianness == 'le': + d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little") + else: + d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big") +} + +inherit update-rc.d + +INITSCRIPT_NAME = "memcached" +INITSCRIPT_PARAMS = "defaults" + +do_install:append() { + install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached + mkdir -p ${D}/usr/share/memcached/scripts + install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts + install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts +} diff --git a/meta-networking/recipes-support/nbdkit/nbdkit_1.47.3.bb b/meta-networking/recipes-support/nbdkit/nbdkit_1.47.3.bb deleted file mode 100644 index e1da2d32883..00000000000 --- a/meta-networking/recipes-support/nbdkit/nbdkit_1.47.3.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "nbdkit is a toolkit for creating NBD servers." -DESCRIPTION = "NBD — Network Block Device — is a protocol \ -for accessing Block Devices (hard disks and disk-like things) \ -over a Network. \ -\ -nbdkit is a toolkit for creating NBD servers." - -HOMEPAGE = "https://gitlab.com/nbdkit/nbdkit" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=26250adec854bc317493f6fb98efe049" - -SRC_URI = "git://gitlab.com/nbdkit/nbdkit.git;protocol=https;branch=master;tag=v${PV} \ - file://0002-plugins-Avoid-absolute-buildpaths-in-binaries.patch \ - " -SRCREV = "49a3178b52509a8a8fd0e5a1c49846bba24e3eac" - - -DEPENDS = "curl xz e2fsprogs zlib" - -# autotools-brokensep is needed as nbdkit does not support build in external directory -inherit pkgconfig python3native perlnative bash-completion autotools-brokensep - -# Those are required to build standalone -EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" - -# Disable some extended support (not desired for small embedded systems) -#EXTRA_OECONF += " --disable-python" -#EXTRA_OECONF += " --disable-ocaml" -#EXTRA_OECONF += " --disable-rust" -#EXTRA_OECONF += " --disable-ruby" -#EXTRA_OECONF += " --disable-tcl" -#EXTRA_OECONF += " --disable-lua" -#EXTRA_OECONF += " --disable-vddk" - -CVE_STATUS[CVE-2025-47711] = "fixed-version: the used revision contains the vulnerability fix" -CVE_STATUS[CVE-2025-47712] = "fixed-version: the used revision contains the vulnerability fix" diff --git a/meta-networking/recipes-support/nbdkit/nbdkit_1.47.7.bb b/meta-networking/recipes-support/nbdkit/nbdkit_1.47.7.bb new file mode 100644 index 00000000000..3b64ccb4392 --- /dev/null +++ b/meta-networking/recipes-support/nbdkit/nbdkit_1.47.7.bb @@ -0,0 +1,36 @@ +SUMMARY = "nbdkit is a toolkit for creating NBD servers." +DESCRIPTION = "NBD — Network Block Device — is a protocol \ +for accessing Block Devices (hard disks and disk-like things) \ +over a Network. \ +\ +nbdkit is a toolkit for creating NBD servers." + +HOMEPAGE = "https://gitlab.com/nbdkit/nbdkit" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=26250adec854bc317493f6fb98efe049" + +SRC_URI = "git://gitlab.com/nbdkit/nbdkit.git;protocol=https;branch=master;tag=v${PV} \ + file://0002-plugins-Avoid-absolute-buildpaths-in-binaries.patch \ + " +SRCREV = "12ad24489c3de7b3810ae82fcffbdc113e1859ca" + + +DEPENDS = "curl xz e2fsprogs zlib" + +# autotools-brokensep is needed as nbdkit does not support build in external directory +inherit pkgconfig python3native perlnative bash-completion autotools-brokensep + +# Those are required to build standalone +EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" + +# Disable some extended support (not desired for small embedded systems) +#EXTRA_OECONF += " --disable-python" +#EXTRA_OECONF += " --disable-ocaml" +#EXTRA_OECONF += " --disable-rust" +#EXTRA_OECONF += " --disable-ruby" +#EXTRA_OECONF += " --disable-tcl" +#EXTRA_OECONF += " --disable-lua" +#EXTRA_OECONF += " --disable-vddk" + +CVE_STATUS[CVE-2025-47711] = "fixed-version: the used revision contains the vulnerability fix" +CVE_STATUS[CVE-2025-47712] = "fixed-version: the used revision contains the vulnerability fix" diff --git a/meta-networking/recipes-support/netcf/netcf/0001-Adopt-to-new-gnulib-read_file-fread_file-signature.patch b/meta-networking/recipes-support/netcf/netcf/0001-Adopt-to-new-gnulib-read_file-fread_file-signature.patch deleted file mode 100644 index b188248fff6..00000000000 --- a/meta-networking/recipes-support/netcf/netcf/0001-Adopt-to-new-gnulib-read_file-fread_file-signature.patch +++ /dev/null @@ -1,83 +0,0 @@ -From af256680926e166ac21bc0f11172ea6c077a9b55 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 9 Mar 2024 10:40:48 -0800 -Subject: [PATCH] Adopt to new gnulib read_file/fread_file signature - -It now expects a flag parameter in latest gnulib -see [1] - -[1] https://public-inbox.org/bug-gnulib/87tv01c1z2.fsf-ueno@gnu.org/ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/dutil_linux.c | 4 ++-- - src/dutil_posix.c | 2 +- - src/ncftool.c | 2 +- - src/ncftransform.c | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/dutil_linux.c b/src/dutil_linux.c -index 742153a..eb72eb2 100644 ---- a/src/dutil_linux.c -+++ b/src/dutil_linux.c -@@ -1113,7 +1113,7 @@ static void add_link_info(struct netcf *ncf, - - xasprintf(&path, "/sys/class/net/%s/operstate", ifname); - ERR_NOMEM(!path, ncf); -- state = read_file(path, &length); -+ state = read_file(path, 0, &length); - if (!state) { - /* missing operstate is *not* an error. It could be due to an - * alias interface, which has no entry in /sys/class/net at -@@ -1132,7 +1132,7 @@ static void add_link_info(struct netcf *ncf, - FREE(path); - xasprintf(&path, "/sys/class/net/%s/speed", ifname); - ERR_NOMEM(path == NULL, ncf); -- speed = read_file(path, &length); -+ speed = read_file(path, 0, &length); - if (!speed && errno == EINVAL) { - /* attempts to read $ifname/speed result in EINVAL if the - * interface is ifconfiged down (which isn't exactly the -diff --git a/src/dutil_posix.c b/src/dutil_posix.c -index 1313514..b9884f0 100644 ---- a/src/dutil_posix.c -+++ b/src/dutil_posix.c -@@ -211,7 +211,7 @@ int run_program(struct netcf *ncf, const char *const *argv, char **output) - "Failed to create file stream for output while executing '%s': %s", - argv_str, errbuf); - -- *output = fread_file(outfile, &outlen); -+ *output = fread_file(outfile, 0, &outlen); - ERR_THROW_STRERROR(*output == NULL, ncf, EEXEC, - "Error while reading output from execution of '%s': %s", - argv_str, errbuf); -diff --git a/src/ncftool.c b/src/ncftool.c -index f1b5642..c878cb0 100644 ---- a/src/ncftool.c -+++ b/src/ncftool.c -@@ -351,7 +351,7 @@ static int cmd_define(const struct command *cmd) { - struct netcf_if *nif = NULL; - int result = CMD_RES_ERR; - -- xml = read_file(fname, &length); -+ xml = read_file(fname, 0, &length); - if (xml == NULL) { - fprintf(stderr, "Failed to read %s\n", fname); - goto done; -diff --git a/src/ncftransform.c b/src/ncftransform.c -index fbabfc3..4c9a56d 100644 ---- a/src/ncftransform.c -+++ b/src/ncftransform.c -@@ -54,7 +54,7 @@ int main(int argc, char **argv) { - if (argc != 3 || (STRNEQ(argv[1], "get") && STRNEQ(argv[1], "put"))) - die("Usage: ncftransform (put|get) FILE\n"); - -- in_xml = read_file(argv[2], &length); -+ in_xml = read_file(argv[2], 0, &length); - if (in_xml == NULL) - die("Failed to read %s\n", argv[2]); - --- -2.44.0 - diff --git a/meta-networking/recipes-support/netcf/netcf_0.2.8.bb b/meta-networking/recipes-support/netcf/netcf_0.2.8.bb deleted file mode 100644 index 4170e9fab0d..00000000000 --- a/meta-networking/recipes-support/netcf/netcf_0.2.8.bb +++ /dev/null @@ -1,72 +0,0 @@ -SUMMARY = "netcf" -DESCRIPTION = "netcf is a cross-platform network configuration library." -HOMEPAGE = "https://pagure.io/netcf" -SECTION = "libs" -LICENSE = "LGPL-2.1-only" - -LIC_FILES_CHKSUM = "file://COPYING;md5=fb919cc88dbe06ec0b0bd50e001ccf1f" - -SRCREV = "2c5d4255857531bc09d91dcd02e86545f29004d4" -PV .= "+git" - -SRC_URI = "git://pagure.io/netcf.git;protocol=https;branch=master \ - file://0001-Adopt-to-new-gnulib-read_file-fread_file-signature.patch" - -UPSTREAM_CHECK_GITTAGREGEX = "release-(?P(\d+(\.\d+)+))" - -DEPENDS += "augeas libnl libxslt libxml2" - -do_configure[depends] += "${MLPREFIX}gnulib:do_populate_sysroot" - - -inherit gettext autotools perlnative pkgconfig systemd - -EXTRA_OECONF:append:class-target = " --with-driver=redhat" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "--with-sysinit=systemd,--with-sysinit=initscripts," - -do_configure:prepend() { - currdir=`pwd` - cd ${S} - - # avoid bootstrap cloning gnulib on every configure - # the dir starts out empty from the pkg, but unconditionally blow it - # away so if we reconfigure due to gnulib sysroot sig changes, we will - # get the newer gnulib content into the build here. - rm -rf ${S}/.gnulib - cp -rf ${STAGING_DATADIR}/gnulib ${S}/.gnulib - - # --force to avoid errors on reconfigure e.g if recipes changed we depend on - # | bootstrap: running: libtoolize --quiet - # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite - # | ... - ./bootstrap --force --no-git --gnulib-srcdir=.gnulib - - cd $currdir -} - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - if [ -d "${D}${libdir}/systemd/system" ]; then - if [ "${systemd_unitdir}" != "${libdir}/systemd" ] ; then - mv ${D}${libdir}/systemd/system/* ${D}${systemd_unitdir}/system/ - rm -rf ${D}${libdir}/systemd/ - fi - elif [ "${systemd_unitdir}" != "${nonarch_libdir}/systemd" ] ; then - mv ${D}${nonarch_libdir}/systemd/system/* ${D}${systemd_unitdir}/system/ - rm -rf ${D}${nonarch_libdir}/systemd/ - fi - else - mv ${D}${sysconfdir}/rc.d/init.d/ ${D}${sysconfdir} - rm -rf ${D}${sysconfdir}/rc.d/ - fi -} - -FILES:${PN} += " \ - ${libdir} \ - ${nonarch_libdir} \ - " - -SYSTEMD_SERVICE:${PN} = "netcf-transaction.service" diff --git a/meta-networking/recipes-support/netperf/files/0001-cleanup-modernize-sendfile_tcp_stream-signature-from.patch b/meta-networking/recipes-support/netperf/files/0001-cleanup-modernize-sendfile_tcp_stream-signature-from.patch new file mode 100644 index 00000000000..4e8731fb25c --- /dev/null +++ b/meta-networking/recipes-support/netperf/files/0001-cleanup-modernize-sendfile_tcp_stream-signature-from.patch @@ -0,0 +1,25 @@ +From ea9ce6ae6154660f2a1dc7a73aedf906cc935a72 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 12 Apr 2026 16:38:28 -0700 +Subject: [PATCH] cleanup: modernize sendfile_tcp_stream signature from K&R to ANSI C style + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/nettest_bsd.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/nettest_bsd.c b/src/nettest_bsd.c +index 36f5810..e7feb83 100644 +--- a/src/nettest_bsd.c ++++ b/src/nettest_bsd.c +@@ -4270,8 +4270,7 @@ Size (bytes)\n\ + all it knows, nothig is different. */ + + void +-sendfile_tcp_stream(remote_host) +- char remote_host[]; ++sendfile_tcp_stream (char remote_host[]) + { + + char *tput_title = "\ diff --git a/meta-networking/recipes-support/netperf/netperf_git.bb b/meta-networking/recipes-support/netperf/netperf_git.bb index d5a717b0f6a..8f49a7596bc 100644 --- a/meta-networking/recipes-support/netperf/netperf_git.bb +++ b/meta-networking/recipes-support/netperf/netperf_git.bb @@ -18,6 +18,7 @@ SRC_URI = "git://github.com/HewlettPackard/netperf.git;branch=master;protocol=ht file://0001-Makefile.am-add-ACLOCAL_AMFLAGS.patch \ file://0001-Fix-too-many-arguments-error-occurring-in-gcc-15.patch \ file://0001-Fix-multiple-definitions-with-enable-intervals.patch \ + file://0001-cleanup-modernize-sendfile_tcp_stream-signature-from.patch \ " SRCREV = "3bc455b23f901dae377ca0a558e1e32aa56b31c4" diff --git a/meta-networking/recipes-support/ntopng/files/0001-Follow-rrd-post-1.8-change.patch b/meta-networking/recipes-support/ntopng/files/0001-Follow-rrd-post-1.8-change.patch deleted file mode 100644 index eefd4e1ab2e..00000000000 --- a/meta-networking/recipes-support/ntopng/files/0001-Follow-rrd-post-1.8-change.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a3bd9efe78f9c381f19b99c8ceb7f52b4c2a52b8 Mon Sep 17 00:00:00 2001 -From: Dmitry Baryshkov -Date: Wed, 5 Jun 2024 09:40:17 +0300 -Subject: [PATCH] Follow rrd post-1.8 change - -Git version of rrdtool has changed rrd_tune argument from char pointer -to const char pointer. GCC 14 is more strict regarding the pointer -constantness checks and errors out in such a case. Update rrd_tune -invokation. - -Signed-off-by: Dmitry Baryshkov -Upstream-Status: Pending [CLA is not signed on our side] ---- - src/LuaEngineNtop.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/LuaEngineNtop.cpp b/src/LuaEngineNtop.cpp -index bd2de79e3021..dd00f1608f78 100644 ---- a/src/LuaEngineNtop.cpp -+++ b/src/LuaEngineNtop.cpp -@@ -5427,7 +5427,7 @@ static int ntop_rrd_tune(lua_State* vm) { - filename = argv[1]; - - reset_rrd_state(); -- status = rrd_tune(argc, (char**)argv); -+ status = rrd_tune(argc, (const char**)argv); - - if(status != 0) { - char *err = rrd_get_error(); --- -2.39.2 - diff --git a/meta-networking/recipes-support/ntopng/files/0001-Makefile.in-don-t-use-the-internal-lua.patch b/meta-networking/recipes-support/ntopng/files/0001-Makefile.in-don-t-use-the-internal-lua.patch index bb5bcfbd63f..402d679a905 100644 --- a/meta-networking/recipes-support/ntopng/files/0001-Makefile.in-don-t-use-the-internal-lua.patch +++ b/meta-networking/recipes-support/ntopng/files/0001-Makefile.in-don-t-use-the-internal-lua.patch @@ -14,26 +14,32 @@ Signed-off-by: Mingli Yu Makefile.in | 2 -- 1 file changed, 2 deletions(-) -diff --git a/Makefile.in b/Makefile.in -index d737e74..a611b16 100755 --- a/Makefile.in +++ b/Makefile.in -@@ -36,7 +36,6 @@ MONGOOSE_INC=-I$(MONGOOSE_HOME) +@@ -31,8 +31,6 @@ MONGOOSE_INC=-I$(MONGOOSE_HOME) + LUA_PLATFORM=generic - LUA_HOME=${PWD}/third-party/lua-5.4.3 - LUA_INC=-I$(LUA_HOME)/src + LUA_HOME=${PWD}/third-party/lua-5.4.6 +-LUA_INC=-I$(LUA_HOME)/src -LUA_LIB=$(LUA_HOME)/src/liblua.a - ifeq ($(OS),Linux) - LUA_PLATFORM=linux -@@ -102,7 +101,6 @@ RPM_PKG = $(TARGET)-$(NTOPNG_VERSION)-@REVISION@.$(PLATFORM).rpm - RPM_DATA_PKG = $(TARGET)-data-$(NTOPNG_VERSION)-@REVISION@.noarch.rpm + HAVE_CLICKHOUSE=@HAVE_CLICKHOUSE@ + CLICKHOUSE_HOME= +@@ -52,7 +50,7 @@ else ifeq ($(OS),Darwin) + LUA_PLATFORM=macosx + else ifeq ($(OS), $(filter $(OS), FreeBSD)) + LUA_PLATFORM=freebsd +- LUA_LIB=/usr/local/lib/liblua-5.3.a ++ LUA_LIB=liblua.a + endif + ###### +@@ -138,7 +136,7 @@ HEADERS = $(wildcard include/*.h) $(wild + INC = $(wildcard src/*.inc) + OBJECTS_NO_MAIN := $(filter-out src/main.o,$(OBJECTS)) --LIB_TARGETS = $(LUA_LIB) +-TEST_FILES = $(wildcard tests/src/*.cpp) ++TEST_FILES = $(wildcard tests/src/*.cpp) + TEST_HEADERS = $(wildcard tests/include/*.h) - ifneq ($(HAS_ZEROMQ), 0) - LIB_TARGETS += $(ZEROMQ_LIB) --- -2.25.1 - + %.o: %.c $(HEADERS) $(INC) Makefile diff --git a/meta-networking/recipes-support/ntopng/files/0001-autogen.sh-generate-configure.ac-only.patch b/meta-networking/recipes-support/ntopng/files/0001-autogen.sh-generate-configure.ac-only.patch deleted file mode 100644 index 8d62147b9ee..00000000000 --- a/meta-networking/recipes-support/ntopng/files/0001-autogen.sh-generate-configure.ac-only.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 22f0bec462763f1b0b92daa33133e274d3b45f4f Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Thu, 5 Nov 2020 00:05:21 -0800 -Subject: [PATCH] autogen.sh: generate configure.ac only - -The autogen.sh should only generate configure.ac and the -logic used to generate configure script should follow the -autotools.bbclass in oe. Otherwise there may comes below -do_configure error: - | checking whether we are cross compiling... configure: error: in `/path/tmp/work/core2-64-poky-linux/ndpi/3.4-r0/git': - | configure: error: cannot run C compiled programs. - | If you meant to cross compile, use `--host'. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Mingli Yu ---- - autogen.sh | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/autogen.sh b/autogen.sh -index 73f8d0ebe..15ff0aa84 100755 ---- a/autogen.sh -+++ b/autogen.sh -@@ -73,8 +73,3 @@ cat configure.seed | sed \ - > configure.ac - - rm -f config.h config.h.in *~ #* -- --echo "Wait please..." --autoreconf -if --echo "" --echo "Now run ./configure" --- -2.17.1 - diff --git a/meta-networking/recipes-support/ntopng/files/0001-autogen.sh-not-generate-configure.patch b/meta-networking/recipes-support/ntopng/files/0001-autogen.sh-not-generate-configure.patch deleted file mode 100644 index d5c7f5f1cc3..00000000000 --- a/meta-networking/recipes-support/ntopng/files/0001-autogen.sh-not-generate-configure.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d482bcc8fca90afc95ac3cbe848a3c9d7ad81ddc Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Wed, 4 Nov 2020 23:37:44 -0800 -Subject: [PATCH] autogen.sh: not generate configure - -Only use autogen.sh to generate configure.ac. - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Mingli Yu - -refresh patch to 4.0 -Signed-off-by: Changqing Li ---- - autogen.sh | 7 ------- - 1 file changed, 7 deletions(-) - -diff --git a/autogen.sh b/autogen.sh -index 0aa7507..36e0423 100755 ---- a/autogen.sh -+++ b/autogen.sh -@@ -33,10 +33,3 @@ if test -z $PKG_CONFIG; then - echo "pkg-config is missing: please install it (apt-get install pkg-config) and try again" - exit - fi -- --autoreconf -ivf -- --echo "./configure $@" --chmod +x configure --./configure $@ -- --- -2.25.1 - diff --git a/meta-networking/recipes-support/ntopng/files/0001-configure-Stop-embedding-pwd-at-configure-time.patch b/meta-networking/recipes-support/ntopng/files/0001-configure-Stop-embedding-pwd-at-configure-time.patch new file mode 100644 index 00000000000..b8b0b04bf4c --- /dev/null +++ b/meta-networking/recipes-support/ntopng/files/0001-configure-Stop-embedding-pwd-at-configure-time.patch @@ -0,0 +1,55 @@ +From 25129a49bd220b4668e1df474b1b1549885aaced Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 20 Mar 2026 09:47:12 -0700 +Subject: [PATCH] configure: Stop embedding pwd at configure time + +NDPI_BASE_DIR seems to unused and currently encodes hardcoded +absolute paths in for it breaking repeoducible builds + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Khem Raj +--- + configure.ac | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6984b38b5..1b9aae4df 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -353,7 +353,7 @@ case "$host" in + if test -f $PCAP_HOME/lib/libpfring.a; then : + PFRING_LIB=$PCAP_HOME/lib/libpfring.a + fi +- ++ + PCAP_LIB="$PCAP_HOME/libpcap/libpcap.a $PFRING_LIB $LIBNUMA `$PCAP_HOME/lib/pfring_config --libs`" + AC_CHECK_LIB([rt], [clock_gettime], [PCAP_LIB="$PCAP_LIB -lrt"]) + AC_CHECK_LIB([nl], [nl_handle_alloc], [PCAP_LIB="$PCAP_LIB -lnl"]) +@@ -438,7 +438,7 @@ PCRE2_ENABLED=0 + AC_ARG_WITH(pcre2, AS_HELP_STRING([--with-pcre2], [Enable nDPI build with libpcre2])) + if test "${with_pcre2+set}" = set; then : + AC_CHECK_LIB(pcre2-8, pcre2_compile_8, AC_DEFINE_UNQUOTED(HAVE_PCRE2, 1, [libpcre2(-dev) is present])) +- ++ + if test "x$ac_cv_lib_pcre2_8_pcre2_compile_8" = xyes; then : + ADDITIONAL_LIBS="${ADDITIONAL_LIBS} -lpcre2-8" + PCRE2_ENABLED=1 +@@ -456,11 +456,6 @@ if test "${with_maxminddb+set}" = set; then : + fi + fi + +-dnl> Use absolute source directory for NDPI_BASE_DIR +-NDPI_ABS_SRCDIR="`cd ${srcdir} && pwd`" +-AC_DEFINE_UNQUOTED(NDPI_BASE_DIR, "${NDPI_ABS_SRCDIR}", [nDPI base directory]) +-AC_SUBST(NDPI_BASE_DIR, "${NDPI_ABS_SRCDIR}") +- + dnl> Curl + dnl> AC_CHECK_LIB([curl], [curl_easy_perform]) + dnl> if test ${ac_cv_lib_curl_curl_easy_perform} = "no"; then +@@ -515,5 +510,4 @@ AC_SUBST(DISABLE_NPCAP) + AC_SUBST(EXE_SUFFIX) + AC_SUBST(NDPI_CFLAGS) + AC_SUBST(NDPI_LDFLAGS) +-AC_SUBST(NDPI_BASE_DIR) + AC_OUTPUT diff --git a/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-Allow-dynamic-linking-against-ndpi-3.patch b/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-Allow-dynamic-linking-against-ndpi-3.patch index c645110f224..b0cdcd8401e 100644 --- a/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-Allow-dynamic-linking-against-ndpi-3.patch +++ b/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-Allow-dynamic-linking-against-ndpi-3.patch @@ -17,23 +17,42 @@ Signed-off-by: Khem Raj configure.ac.in | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) -diff --git a/configure.ac.in b/configure.ac.in -index 7f4c0f893..c3299fda2 100644 --- a/configure.ac.in +++ b/configure.ac.in -@@ -193,10 +193,8 @@ if test -d /usr/local/include/ndpi ; then : +@@ -235,8 +235,9 @@ AC_ARG_WITH(ndpi-includes, + NDPI_CUST_INC="-I$withval -I$withval/../lib/third_party/include" + ]) + +-NDPI_INC=`echo $NDPI_CFLAGS | sed -e "s/[ ]*$//"` +-NDPI_LIB= ++NDPI_INC="$NDPI_CFLAGS" ++NDPI_LIB="$NDPI_LIBS" ++ + NDPI_LIB_DEP= + + AS_VAR_IF(with_dynamic_ndpi, no, [ +@@ -267,11 +268,6 @@ AC_MSG_CHECKING(for nDPI source) + fi + ]) + +-AS_VAR_IF(with_dynamic_ndpi, yes, [ +- NDPI_LIB="-lndpi" +- NDPI_LIB_DEP=$NDPI_LIB +-]) +- + if test ! -z "$NDPI_CUST_INC" ; then : + NDPI_INC=$NDPI_CUST_INC + fi +@@ -280,12 +276,6 @@ if test ! -z "$NDPI_CUST_LIB" ; then : + NDPI_LIB=$NDPI_CUST_LIB fi - PKG_CHECK_MODULES([NDPI], [libndpi >= 2.0], [ -- NDPI_INC=`echo $NDPI_CFLAGS | sed -e "s/[ ]*$//"` -- # Use static libndpi library as building against the dynamic library fails -- NDPI_LIB="-Wl,-Bstatic $NDPI_LIBS -Wl,-Bdynamic" -- #NDPI_LIB="$NDPI_LIBS" -+ NDPI_INC="$NDPI_CFLAGS" -+ NDPI_LIB="$NDPI_LIBS" - NDPI_LIB_DEP= - ], [ - AC_MSG_CHECKING(for nDPI source) --- -2.35.1 - +-if test -z "$NDPI_LIB" ; then : +- echo "Could not find nDPI" +- echo "Please do cd ..; git clone https://github.com/ntop/nDPI.git; cd nDPI; ./autogen.sh; ${MAKE}; cd ../ntopng" +- echo "and try again" +- exit 1 +-fi + dnl finish: nDPI handling + + AC_ARG_WITH(json-c-static, diff --git a/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-fix-configure-error.patch b/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-fix-configure-error.patch deleted file mode 100644 index d4908e32273..00000000000 --- a/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-fix-configure-error.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 29797dd037009d38e4976249ed21b2076240751e Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Wed, 4 Nov 2020 04:36:46 +0000 -Subject: [PATCH] configure.ac.in: fix configure error - -fix the below error: -configure: error: cannot run test program while cross compiling - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Mingli Yu ---- - configure.ac.in | 13 +------------ - 1 file changed, 1 insertion(+), 12 deletions(-) - -diff --git a/configure.ac.in b/configure.ac.in -index a321f9bbf..03f9a31b0 100644 ---- a/configure.ac.in -+++ b/configure.ac.in -@@ -642,18 +642,7 @@ if test x$radcli = xtrue; then - fi - fi - --AC_CACHE_CHECK([if pthread rwlocks are supported], [my_cv_rw_locks_supported], [ -- AC_TRY_RUN([ -- #include -- -- int main() { -- pthread_rwlock_t t; -- return 0; -- } --] --, [my_cv_rw_locks_supported=yes], [my_cv_rw_locks_supported=no]) --] --) -+AC_CACHE_CHECK([if pthread rwlocks are supported], [my_cv_rw_locks_supported]) - - if test "$my_cv_rw_locks_supported" = yes; then - AC_DEFINE_UNQUOTED(HAVE_RW_LOCK, 1, [pthread rwlocks supported]) --- -2.26.2 - diff --git a/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-fix-host-contamination.patch b/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-fix-host-contamination.patch index 5e1440b3d6f..e3c0534da80 100644 --- a/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-fix-host-contamination.patch +++ b/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-fix-host-contamination.patch @@ -14,17 +14,95 @@ Signed-off-by: Mingli Yu configure.ac.in | 43 +++---------------------------------------- 1 file changed, 3 insertions(+), 40 deletions(-) -diff --git a/configure.ac.in b/configure.ac.in -index 1d6380c..beffc6c 100644 --- a/configure.ac.in +++ b/configure.ac.in -@@ -167,31 +167,6 @@ fi - # - REVISION=`git log --pretty=oneline | wc -l` +@@ -83,30 +83,6 @@ if test "$with_dynamic_ndpi" = "yes"; th + AC_DEFINE([HAVE_DYNAMIC_NDPI], [1], [Define if using dynamic linking with nDPI]) + fi + +-dnl> CLANG_STDLIB="-stdlib=libc++" +- +-dnl> On Ubuntu do sudo apt-get install -y clang-14 clang-tools-14 +-if test "x$USE_CLANG" = xyes; then +- if test $SYSTEM = "Darwin"; then +- CC=clang +- CXX="clang++ -fno-color-diagnostics -fPIE -stdlib=libc++" +- else +- if test -x "/usr/bin/clang-10"; then +- CLANG_VERSION=10 +- elif test -x "/usr/bin/clang-13"; then +- CLANG_VERSION=13 +- elif test -x "/usr/bin/clang-14"; then +- CLANG_VERSION=14 +- else +- echo "Could not find clang. Please install clang-14 clang-tools-14" +- exit 1 +- fi +- +- CC=clang-$CLANG_VERSION +- CXX="clang++-$CLANG_VERSION -fno-color-diagnostics -fPIE $CLANG_STDLIB" +- fi +-fi +- + CFLAGS="${CFLAGS} -I${HERE} -I${HERE}/include" + CXXFLAGS="${CXXFLAGS} -I${HERE} -I${HERE}/include" + +@@ -122,7 +98,7 @@ fi + + if test -f /proc/device-tree/model; then + IS_RASPBERRY=`cat /proc/device-tree/model | grep -a -e "Orange Pi" -e Raspberry | wc -l` +- ++ + if test "$IS_RASPBERRY" = "1"; then + CFLAGS="${CFLAGS} -DHAVE_EMBEDDED_SUPPORT" + CXXFLAGS="${CXXFLAGS} -DHAVE_EMBEDDED_SUPPORT" +@@ -158,39 +134,6 @@ MAKE=make + BIN_PATH=/usr/bin + LIBPCAP=-lpcap + +-if test $SYSTEM = "FreeBSD" || test $SYSTEM = "Darwin"; then +- CFLAGS="${CFLAGS} -I/usr/local/include" +- LDFLAGS="${LDFLAGS} -L/usr/local/lib" +- +- dnl> https://github.com/google/sanitizers/wiki/AddressSanitizerFlags +- CC=clang +- CXX="clang++ -fpie -fno-color-diagnostics $CLANG_STDLIB" +- if test $SYSTEM = "FreeBSD"; then +- MAKE=gmake +- BIN_PATH=/usr/local/bin +- else +- dnl> Adds /opt if MacPorts is installed +- if [ test -f /opt/local/bin/port ]; then +- CFLAGS="${CFLAGS} -I/opt/local/include" +- LDFLAGS="${LDFLAGS} -L/opt/local/lib" +- fi +- fi +- dnl> CXX=clang++ -fsanitize=address -fsanitize-address-use-after-scope +- OSXV=`sw_vers -productVersion` +- if test $SYSTEM = "Darwin"; then +- OS="macOS $OSXV" +- else +- OS=`uname -or | cut -d '-' -f 1` +- fi +- if test $MACHINE = "x86_64"; then +- LDFLAGS="${LDFLAGS} -L/usr/local/opt/ntopng" +- RES=`g++ -Wall -fno-color-diagnostics Prefs.cpp 2>&1 | grep "unrecognized command line option "|wc -l` +- if test $RES -eq 0; then +- CFLAGS="-fno-color-diagnostics $CFLAGS" +- fi +- fi +-fi +- + dnl> Remove spaces + OS="${OS#"${OS%%[![:space:]]*}"}" + +@@ -237,31 +180,6 @@ if test "${with_nedge+set}" = set; then + LIBS="${LIBS} -lnetfilter_queue -lnfnetlink -lnetfilter_conntrack" + fi -if test -d "/usr/local/include"; then - CFLAGS="${CFLAGS} -I/usr/local/include" -- CPPFLAGS="${CPPFLAGS} -I/usr/local/include" +- CXXFLAGS="${CXXFLAGS} -I/usr/local/include" -fi - -if test -d "/usr/local/lib"; then @@ -33,7 +111,7 @@ index 1d6380c..beffc6c 100644 - -if test -d /opt/local/include; then : - CFLAGS="${CFLAGS} -I/opt/local/include" -- CPPFLAGS="${CPPFLAGS} -I/opt/local/include" +- CXXFLAGS="${CXXFLAGS} -I/opt/local/include" -fi - -if test -d /opt/local/lib; then : @@ -42,15 +120,26 @@ index 1d6380c..beffc6c 100644 - -if [ test -f /usr/bin/lsb_release ]; then - CODENAME=`/usr/bin/lsb_release -c|cut -f 2` -- if [[ $CODENAME == "wheezy" ]]; then : -- CPPFLAGS="${CPPFLAGS} -DOLD_NETFILTER_INTERFACE=1" +- if test $CODENAME = "wheezy" ; then +- CXXFLAGS="${CXXFLAGS} -DOLD_NETFILTER_INTERFACE=1" - fi -fi - - SHORT_MACHINE=`uname -m | cut -b1-3` + if test -d "pro"; then + NTOPCLOUD_LIB= + NTOPCLOUD_HOME="../ntopcloud" +@@ -317,10 +235,6 @@ AC_ARG_WITH(ndpi-includes, + NDPI_CUST_INC="-I$withval -I$withval/../lib/third_party/include" + ]) - GIT_RELEASE="@GIT_RELEASE@" -@@ -300,23 +275,11 @@ fi +-if test -d /usr/local/include/ndpi ; then : +- echo "WARNING: /usr/local/include/ndpi is present and might lead to compile errors" +-fi +- + NDPI_INC=`echo $NDPI_CFLAGS | sed -e "s/[ ]*$//"` + NDPI_LIB= + NDPI_LIB_DEP= +@@ -387,7 +301,7 @@ fi pkg-config --exists libssl if test "$?" -ne 1; then AC_DEFINE_UNQUOTED(NO_SSL_DL, 1, [has openssl]) @@ -58,25 +147,70 @@ index 1d6380c..beffc6c 100644 + SSL_INC="`pkg-config --cflags libssl`" SSL_LIB="`pkg-config --libs libssl` -lssl -lcrypto" else -- dnl Workaround for MacOS Brew -- if test -d "/usr/local/opt/openssl/lib"; then -- AC_DEFINE_UNQUOTED(NO_SSL_DL, 1, [has openssl]) -- SSL_INC="-I/usr/local/opt/openssl/include" -- SSL_LIB="-L/usr/local/opt/openssl/lib -lssl -lcrypto" -- dnl Workaround for FreeBSD + dnl Workaround for MacOS Brew +@@ -408,10 +322,6 @@ else + SSL_INC="-I/usr/local/opt/openssl/include" + SSL_LIB="-L/usr/local/opt/openssl/lib -lssl -lcrypto" + dnl Workaround for FreeBSD - elif test -f "/usr/lib/libssl.so"; then - AC_DEFINE_UNQUOTED(NO_SSL_DL, 1, [has openssl]) - SSL_INC="-I/usr/include" - SSL_LIB="-L/usr/lib -lssl -lcrypto" -- else -- echo "Please install openssl-dev(el) package prerequisite" -- exit -1 + else + echo "Please install openssl-dev(el) package prerequisite" + exit -1 +@@ -433,13 +343,6 @@ fi + AC_MSG_CHECKING(for ntopng professional edition) + + REDIS_SERVICE="redis.service" +-if [ test -f /usr/bin/lsb_release ]; then +- UBUNTU_RELEASE=`lsb_release -r|cut -f 2` +- UBUNTU_SUB_RELEASE=`echo $UBUNTU_RELEASE|cut -f 1 -d '.'` +- if test "$UBUNTU_SUB_RELEASE" = "8" || test "$UBUNTU_SUB_RELEASE" = "10"; then +- REDIS_SERVICE="redis-server.service" - fi -+ echo "Please install openssl-dev(el) package prerequisite" -+ exit -1 +-fi + + SERVICE_ALIAS= + SERVICE_REQUIRES= +@@ -497,7 +400,7 @@ fi + echo "Using clickhouse-cpp stored at ${CLICKHOUSE_HOME}" + + dnl> fi dnl> test $SYSTEM = "Linux" +- ++ + AC_DEFINE_UNQUOTED(NTOPNG_PRO_GIT_RELEASE, "r${PRO_GIT_RELEASE}", [ntopng professional release]) + AC_DEFINE_UNQUOTED(NTOPNG_PRO_GIT_DATE, "${PRO_GIT_DATE}", [ntopng professional date]) + DUMMY=`cd ./pro; ${MAKE} build` +@@ -531,21 +434,7 @@ if test -f ".git/index"; then fi - AC_CHECK_LIB([gcrypt], [gcry_cipher_checktag], [LIBS="${LIBS} -lgcrypt"]) --- -2.25.1 - + if test $SYSTEM = "Linux"; then +- if [ test -f /usr/bin/lsb_release ]; then +- OSNAME=`/usr/bin/lsb_release -d|cut -d ':' -f 2| sed -e 's/^[[[:space:]]]*//'` +- OS="$OSNAME" +- else +- if test -f /etc/debian_version; then +- DEBIAN_VERSION=`cat /etc/debian_version` +- OSNAME="Debian $DEBIAN_VERSION" +- else +- if test -f /etc/redhat-release; then +- OS=`cat /etc/redhat-release | cut -d '(' -f 1 | awk '{$1=$1};1'` +- else +- OS=`./config.guess` +- fi +- fi +- fi ++ OS=`./config.guess` + else + dnl> wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' + if test $SYSTEM = "FreeBSD"; then +@@ -575,7 +464,7 @@ AS_VAR_IF(with_hiredis, yes, [ + else + pkg-config --exists hiredis + if test "$?" -ne 1; then +- HIREDIS_INC="`pkg-config --cflags hiredis` -I/usr/include/hiredis" ++ HIREDIS_INC="`pkg-config --cflags hiredis`" + if test $SYSTEM = "FreeBSD" && $FREEBSD_VERSION != "15"; then + dnl> Note: on freebsd 15 .a is not installed + HIREDIS_LIB="/usr/local/lib/libhiredis.a" diff --git a/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-not-check-clang-on-host.patch b/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-not-check-clang-on-host.patch deleted file mode 100644 index ffb106723cc..00000000000 --- a/meta-networking/recipes-support/ntopng/files/0001-configure.ac.in-not-check-clang-on-host.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 5867be19e53a3cc09730b83282c83bdd26147cc3 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Mon, 9 Nov 2020 04:05:25 +0000 -Subject: [PATCH] configure.ac.in: not check clang on host - -Don't check clang on host to avoid host contamination. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Mingli Yu ---- - configure.ac.in | 16 ---------------- - 1 file changed, 16 deletions(-) - -diff --git a/configure.ac.in b/configure.ac.in -index 55bd49678..94bc0bc48 100644 ---- a/configure.ac.in -+++ b/configure.ac.in -@@ -90,22 +90,6 @@ if test $SYSTEM = "FreeBSD" || test $SYSTEM = "Darwin"; then - CFLAGS="-fno-color-diagnostics $CFLAGS" - fi - fi --else -- if test $SYSTEM = "Linux"; then -- if [ test -f /usr/bin/clang++ ]; then -- CC=clang -- CXX=clang++ -- AC_MSG_RESULT(Using clang++ compiler) -- fi -- -- if [ test -f /etc/redhat-release ]; then -- OS=`cat /etc/redhat-release` -- else -- if [ test -f /usr/bin/lsb_release ]; then -- OS=`/usr/bin/lsb_release -d|cut -d ':' -f 2` -- fi -- fi -- fi - fi - - dnl> Remove spaces --- -2.17.1 - diff --git a/meta-networking/recipes-support/ntopng/files/0001-luaengine-Use-lua-5.5-API-signature-for-lua_newstate.patch b/meta-networking/recipes-support/ntopng/files/0001-luaengine-Use-lua-5.5-API-signature-for-lua_newstate.patch new file mode 100644 index 00000000000..8046d755c29 --- /dev/null +++ b/meta-networking/recipes-support/ntopng/files/0001-luaengine-Use-lua-5.5-API-signature-for-lua_newstate.patch @@ -0,0 +1,31 @@ +From 6c4806436c3214e32487d05ce099ac86b0b2519c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 22 Mar 2026 10:08:01 -0700 +Subject: [PATCH] luaengine: Use lua 5.5 API signature for lua_newstate + +in Lua 5.5 lua_newstate gained a third argument, + +lua_State *lua_newstate(lua_Alloc f, void *ud, unsigned int seed); + +The 5.5 manual says that third argument, seed, +is "a seed for the hashing of strings," and the 5.5 incompatibilities +section explicitly calls out that lua_newstate now has +a third parameter. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/LuaEngine.cpp | 64 +++++++++++++++++++++++------------------------ + 1 file changed, 32 insertions(+), 32 deletions(-) + +--- a/src/LuaEngine.cpp ++++ b/src/LuaEngine.cpp +@@ -154,7 +154,7 @@ LuaEngine::LuaEngine() { + is_system_vm = false; + mem_used = 0; + +- L = lua_newstate(l_alloc, this); ++ L = lua_newstate(l_alloc, this, luaL_makeseed(NULL)); + + if (!L) { + ntop->getTrace()->traceEvent(TRACE_ERROR, "Unable to create a new Lua state."); diff --git a/meta-networking/recipes-support/ntopng/ndpi_4.2.bb b/meta-networking/recipes-support/ntopng/ndpi_4.2.bb deleted file mode 100644 index 66d24e4cd89..00000000000 --- a/meta-networking/recipes-support/ntopng/ndpi_4.2.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "A library for deep-packet inspection." -DESCRIPTION = "nDPI is an open source LGPLv3 library for deep-packet \ -inspection. Based on OpenDPI it includes ntop extensions" - -SECTION = "libdevel" -DEPENDS = "libpcap json-c" -RDEPENDS:${PN} += " libpcap" -LICENSE = "LGPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24" - -SRCREV = "8b5c6af71b562549f8416b31803daae223e09f46" -SRC_URI = "git://github.com/ntop/nDPI.git;branch=4.2-stable;protocol=https \ - file://0001-autogen.sh-not-generate-configure.patch \ - " - - -inherit autotools-brokensep pkgconfig - -CPPFLAGS += "${SELECTED_OPTIMIZATION}" - -do_configure:prepend() { - ${S}/autogen.sh -} - -EXTRA_OEMAKE = " \ - libdir=${libdir} \ -" - -# remove this CVE_STATUS, when the recipe is updated to 4.12 or newer -CVE_STATUS[CVE-2025-25066] = "cpe-incorrect: Version 4.2 is not vulnerable yet" diff --git a/meta-networking/recipes-support/ntopng/ndpi_5.0.bb b/meta-networking/recipes-support/ntopng/ndpi_5.0.bb new file mode 100644 index 00000000000..6eadf8ba624 --- /dev/null +++ b/meta-networking/recipes-support/ntopng/ndpi_5.0.bb @@ -0,0 +1,30 @@ +SUMMARY = "A library for deep-packet inspection." +DESCRIPTION = "nDPI is an open source LGPLv3 library for deep-packet \ +inspection. Based on OpenDPI it includes ntop extensions" + +SECTION = "libdevel" +DEPENDS = "libpcap json-c" +RDEPENDS:${PN} += " libpcap" +LICENSE = "LGPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24" + +SRCREV = "375f99ef9fb4999d778b57bbeece171b3fa9fba6" +SRC_URI = "git://github.com/ntop/nDPI.git;branch=5.0-stable;protocol=https;tag=${PV} \ + file://0001-configure-Stop-embedding-pwd-at-configure-time.patch \ + " + +inherit autotools pkgconfig + +CPPFLAGS += "${SELECTED_OPTIMIZATION}" + +do_configure:prepend() { + (cd ${S} && ${S}/autogen.sh) +} + +do_install:append() { + install -Dm 0644 ${B}/src/include/ndpi_define.h ${D}${includedir}/ndpi/ndpi_define.h +} + +EXTRA_OEMAKE = " \ + libdir=${libdir} \ +" diff --git a/meta-networking/recipes-support/ntopng/ntopng_5.2.1.bb b/meta-networking/recipes-support/ntopng/ntopng_5.2.1.bb deleted file mode 100644 index 014706893a9..00000000000 --- a/meta-networking/recipes-support/ntopng/ntopng_5.2.1.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Web-based Traffic and Security Network Traffic Monitoring" -DESCRIPTION = "ntopng is a web-based network traffic monitoring application \ -released under GPLv3. It is the new incarnation of the original \ -ntop written in 1998, and now revamped in terms of performance, \ -usability, and features." - -SECTION = "console/network" - -DEPENDS = "curl hiredis libmaxminddb libpcap lua mariadb ndpi json-c rrdtool zeromq" -RDEPENDS:${PN} = "bash redis" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRCREV = "d3ce78948e8d81dc1e2c5298ce556f9f2247aac1" -SRC_URI = "git://github.com/ntop/ntopng.git;protocol=https;branch=5.2-stable \ - file://0001-configure.ac.in-fix-configure-error.patch \ - file://0001-configure.ac.in-fix-host-contamination.patch \ - file://0001-Makefile.in-don-t-use-the-internal-lua.patch \ - file://0001-autogen.sh-generate-configure.ac-only.patch \ - file://0001-configure.ac.in-not-check-clang-on-host.patch \ - file://0001-configure.ac.in-Allow-dynamic-linking-against-ndpi-3.patch \ - file://0001-Follow-rrd-post-1.8-change.patch \ - file://ntopng.service \ - " - - -# don't use the lua under thirdparty as it supports cross compiling badly -export LUA_LIB = "${STAGING_LIBDIR}/liblua.a" - -LDFLAGS:append:mipsarch = " -latomic" -LDFLAGS:append:powerpc = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" -inherit autotools-brokensep gettext pkgconfig systemd - -do_install:append() { - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${UNPACKDIR}/ntopng.service ${D}${systemd_unitdir}/system -} - -FILES:${PN} += "\ - ${systemd_unitdir}/system/ntopng.service" - -FILES:${PN}-doc += "\ - /usr/man/man8/ntopng.8" - -do_configure:prepend() { - ${S}/autogen.sh -} - -SYSTEMD_SERVICE:${PN} = "ntopng.service" diff --git a/meta-networking/recipes-support/ntopng/ntopng_6.6.bb b/meta-networking/recipes-support/ntopng/ntopng_6.6.bb new file mode 100644 index 00000000000..3c039781d8b --- /dev/null +++ b/meta-networking/recipes-support/ntopng/ntopng_6.6.bb @@ -0,0 +1,51 @@ +SUMMARY = "Web-based Traffic and Security Network Traffic Monitoring" +DESCRIPTION = "ntopng is a web-based network traffic monitoring application \ +released under GPLv3. It is the new incarnation of the original \ +ntop written in 1998, and now revamped in terms of performance, \ +usability, and features." + +SECTION = "console/network" + +DEPENDS = "curl hiredis libmaxminddb libpcap lua mariadb ndpi json-c rrdtool zeromq" +RDEPENDS:${PN} = "bash redis" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRCREV = "d3a1229954dd783af06c9fd2dcd9ce926826a228" +SRC_URI = "gitsm://github.com/ntop/ntopng;protocol=https;branch=6.6-stable \ + file://0001-configure.ac.in-fix-host-contamination.patch \ + file://0001-Makefile.in-don-t-use-the-internal-lua.patch \ + file://0001-configure.ac.in-Allow-dynamic-linking-against-ndpi-3.patch \ + file://0001-luaengine-Use-lua-5.5-API-signature-for-lua_newstate.patch \ + file://ntopng.service \ + " + +# don't use the lua under thirdparty as it supports cross compiling badly +export LUA_LIB = "-llua" +export LUA_INC = "-I${STAGING_INCDIR}" +export NDPI_CUST_INC = "-I${STAGING_INCDIR}/ndpi" +export NDPI_CUST_LIB = "-lndpi" +LDFLAGS:append:mipsarch = " -latomic" +LDFLAGS:append:powerpc = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +inherit autotools-brokensep gettext pkgconfig systemd + +EXTRA_OECONF += "--with-dynamic-ndpi" + +do_install:append() { + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${UNPACKDIR}/ntopng.service ${D}${systemd_unitdir}/system +} + +FILES:${PN} += "\ + ${systemd_unitdir}/system/ntopng.service" + +FILES:${PN}-doc += "\ + /usr/man/man8/ntopng.8" + +do_configure:prepend() { + ${S}/autogen.sh +} + +SYSTEMD_SERVICE:${PN} = "ntopng.service" diff --git a/meta-networking/recipes-support/ntp/ntp/0001-ITS-10011-build-fix-compatibility-with-stricter-C99-.patch b/meta-networking/recipes-support/ntp/ntp/0001-ITS-10011-build-fix-compatibility-with-stricter-C99-.patch new file mode 100644 index 00000000000..6558fae4aeb --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/0001-ITS-10011-build-fix-compatibility-with-stricter-C99-.patch @@ -0,0 +1,102 @@ +From 58c160ce28328f9a75d41c283ee9b94c10d6ec62 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Thu, 9 Feb 2023 23:17:53 +0000 +Subject: [PATCH] ITS#10011 build: fix compatibility with stricter C99 + compilers + +Fix the following warnings: +- -Wimplicit-int (fatal with Clang 16) +- -Wimplicit-function-declaration (fatal with Clang 16) +- -Wincompatible-function-pointer-types (fatal with Clang 16) +- -Wint-conversion (fatal with Clang 15) +- Old style prototypes (K&R, removed from C23) + +These warnings-now-error led to misconfigurations and failure to build +OpenLDAP, as the tests used during configure caused the wrong results +to be emitted. + +For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2], +or the (new) c-std-porting mailing list [3]. + +[0] https://lwn.net/Articles/913505/ +[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 +[2] https://wiki.gentoo.org/wiki/Modern_C_porting +[3] hosted at lists.linux.dev. + +Bug: https://bugs.gentoo.org/871288 + +Upstream-Status: Pending + +Signed-off-by: Sam James +Signed-off-by: Khem Raj +--- + sntp/m4/openldap.m4 | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/sntp/m4/openldap.m4 b/sntp/m4/openldap.m4 +index 49ffb87..2db6aa3 100644 +--- a/sntp/m4/openldap.m4 ++++ b/sntp/m4/openldap.m4 +@@ -154,6 +154,7 @@ fi + if test $ol_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + AC_RUN_IFELSE([AC_LANG_SOURCE([[#include ++#include + #ifndef HAVE_EBCDIC + # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') + # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +@@ -610,8 +611,12 @@ AC_DEFUN([OL_PTHREAD_TEST_INCLUDES], [[ + #define NULL (void*)0 + #endif + ++#ifdef __STDC__ ++static void *task(void *p) ++#else + static void *task(p) + void *p; ++#endif + { + return (void *) (p == NULL); + } +@@ -667,9 +672,13 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[ + AC_DEFUN([OL_PTHREAD_TEST_PROGRAM], [ + AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES + ++#ifdef __STDC__ ++int main(int argc, char **argv) ++#else + int main(argc, argv) + int argc; + char **argv; ++#endif + { + OL_PTHREAD_TEST_FUNCTION + } +@@ -791,7 +800,7 @@ AC_CACHE_CHECK([for compatible POSIX regex],ol_cv_c_posix_regex,[ + #include + #include + static char *pattern, *string; +-main() ++int main(void) + { + int rc; + regex_t re; +@@ -818,7 +827,8 @@ AC_DEFUN([OL_C_UPPER_LOWER], + [AC_CACHE_CHECK([if toupper() requires islower()],ol_cv_c_upper_lower,[ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include +-main() ++#include ++int main(void) + { + if ('C' == toupper('C')) + exit(0); +@@ -873,7 +883,7 @@ AC_DEFUN([OL_NONPOSIX_STRERROR_R], + ]])],[ol_cv_nonposix_strerror_r=yes],[ol_cv_nonposix_strerror_r=no]) + else + AC_RUN_IFELSE([AC_LANG_SOURCE([[ +- main() { ++ int main(void) { + char buf[100]; + buf[0] = 0; + strerror_r( 1, buf, sizeof buf ); diff --git a/meta-networking/recipes-support/ntp/ntp/0001-colcomp-sntp-libpkgver-colcomp.c-Convert-K-R-functio.patch b/meta-networking/recipes-support/ntp/ntp/0001-colcomp-sntp-libpkgver-colcomp.c-Convert-K-R-functio.patch new file mode 100644 index 00000000000..39f7e537c1a --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/0001-colcomp-sntp-libpkgver-colcomp.c-Convert-K-R-functio.patch @@ -0,0 +1,32 @@ +From cd54486bdced460c174fcb98680ad5ffe64f906a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 13 Apr 2026 19:09:24 -0700 +Subject: [PATCH] colcomp: sntp/libpkgver/colcomp.c: Convert K&R function + definition to ANSI C style + +Replace old-style K&R function declaration with modern ANSI C prototype +syntax for colcomp(). Also remove trailing whitespace after return type. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + sntp/libpkgver/colcomp.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/sntp/libpkgver/colcomp.c b/sntp/libpkgver/colcomp.c +index 4b151e3..29ecb3e 100644 +--- a/sntp/libpkgver/colcomp.c ++++ b/sntp/libpkgver/colcomp.c +@@ -33,10 +33,8 @@ + #endif + + +-int +-colcomp (s1, s2) +- register char *s1; +- register char *s2; ++int ++colcomp (register char *s1, register char *s2) + { + int hilo = 0; /* comparison value */ + diff --git a/meta-networking/recipes-support/ntp/ntp/0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch b/meta-networking/recipes-support/ntp/ntp/0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch new file mode 100644 index 00000000000..89797b3aa87 --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch @@ -0,0 +1,41 @@ +From c7d76559dada2a6c0c9c18e8343a69b1eabc031e Mon Sep 17 00:00:00 2001 +From: Peter Marko +Date: Fri, 13 Mar 2026 13:20:20 +0100 +Subject: [PATCH] include: fix build failure with glibc 2.38+ _Generic memchr + macro + +Newer glibc defines memchr as a _Generic macro in . +When sntp's config.h lacks a HAVE_MEMCHR definition, the #ifndef guard +in l_stdlib.h passes and the extern declaration of memchr is emitted. +The preprocessor expands the memchr token into _Generic(...), producing: + + l_stdlib.h:225:14: error: expected identifier or '(' before '_Generic' + +Guard the fallback declarations of memchr and strnlen with an additional +!defined(memchr) / !defined(strnlen) check so they are skipped when the +symbols are already provided as macros by the C library headers. + +Upstream-Status: Pending +Signed-off-by: Peter Marko +--- + include/l_stdlib.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/l_stdlib.h b/include/l_stdlib.h +index fbf57c5..195dc41 100644 +--- a/include/l_stdlib.h ++++ b/include/l_stdlib.h +@@ -221,11 +221,11 @@ extern int errno; + extern int h_errno; + #endif + +-#ifndef HAVE_MEMCHR ++#if !defined(HAVE_MEMCHR) && !defined(memchr) + extern void *memchr(const void *s, int c, size_t n); + #endif + +-#ifndef HAVE_STRNLEN ++#if !defined(HAVE_STRNLEN) && !defined(strnlen) + extern size_t strnlen(const char *s, size_t n); + #endif + diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb b/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb index a5a6048f8ac..6f9bb01c02f 100644 --- a/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb +++ b/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb @@ -16,6 +16,9 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g file://0001-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch \ file://0001-test-Fix-build-with-new-compiler-defaults-to-fno-com.patch \ file://0001-sntp-Fix-types-in-check-for-pthread_detach.patch \ + file://0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch \ + file://0001-ITS-10011-build-fix-compatibility-with-stricter-C99-.patch \ + file://0001-colcomp-sntp-libpkgver-colcomp.c-Convert-K-R-functio.patch \ file://ntpd \ file://ntp.conf \ file://ntpd.service \ diff --git a/meta-networking/recipes-support/ntpsec/ntpsec_1.2.2a.bb b/meta-networking/recipes-support/ntpsec/ntpsec_1.2.2a.bb deleted file mode 100644 index 872d1ce4f79..00000000000 --- a/meta-networking/recipes-support/ntpsec/ntpsec_1.2.2a.bb +++ /dev/null @@ -1,129 +0,0 @@ -SUMMARY = "The Network Time Protocol suite, refactored" -HOMEPAGE = "https://www.ntpsec.org/" - -LICENSE = "CC-BY-4.0 & BSD-2-Clause & NTP & BSD-3-Clause & MIT" -LIC_FILES_CHKSUM = "file://LICENSES/BSD-2;md5=653830da7b770a32f6f50f6107e0b186 \ - file://LICENSES/BSD-3;md5=55e9dcf6a625a2dcfcda4ef6a647fbfd \ - file://LICENSES/CC-BY-4.0;md5=2ab724713fdaf49e4523c4503bfd068d \ - file://LICENSES/MIT;md5=5a9dfc801af3eb49df2055c9b07918b2 \ - file://LICENSES/NTP;md5=cb56b7747f86157c78ca81f224806694" - -DEPENDS += "bison-native \ - openssl \ - python3" - -SRC_URI = "https://ftp.ntpsec.org/pub/releases/ntpsec-${PV}.tar.gz \ - file://volatiles.ntpsec \ - file://0001-wscript-Add-BISONFLAGS-support.patch \ - " - -SRC_URI[sha256sum] = "e0ce93af222a0a9860e6f5a51aadba9bb5ca601d80b2aea118a62f0a3226950e" - -UPSTREAM_CHECK_URI = "ftp://ftp.ntpsec.org/pub/releases/" - -inherit pkgconfig python3-dir python3targetconfig systemd update-alternatives update-rc.d useradd waf features_check - -# RDEPENDS on gnuplot with this restriction -REQUIRED_DISTRO_FEATURES = "x11" - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'seccomp systemd', d)} \ - cap \ - leap-smear \ - mdns \ - mssntp \ - nts \ - refclocks" - -PACKAGECONFIG:remove:riscv32 = "seccomp" - -PACKAGECONFIG[cap] = ",,libcap" -PACKAGECONFIG[docs] = "--enable-doc --enable-manpage,--disable-doc --disable-manpage," -PACKAGECONFIG[leap-smear] = "--enable-leap-smear" -PACKAGECONFIG[mdns] = ",,mdns" -PACKAGECONFIG[mssntp] = "--enable-mssntp" -PACKAGECONFIG[nts] = ",--disable-nts" -PACKAGECONFIG[refclocks] = "--refclock=all,,pps-tools" -PACKAGECONFIG[seccomp] = "--enable-seccomp,,libseccomp" -PACKAGECONFIG[systemd] = ",,systemd" - -CC[unexport] = "1" -CFLAGS[unexport] = "1" -LDFLAGS[unexport] = "1" - -export PYTHON_VERSION = "${PYTHON_BASEVERSION}" -export PYTAG = "cpython${@ d.getVar('PYTHON_BASEVERSION').replace('.', '')}" -export pyext_PATTERN = "%s.so" -export PYTHON_LDFLAGS = "-lpthread -ldl" - -CFLAGS:append = " -I${PYTHON_INCLUDE_DIR} -D_GNU_SOURCE" - -EXTRA_OECONF = "--cross-compiler='${CC}' \ - --cross-cflags='${CFLAGS}' \ - --cross-ldflags='${LDFLAGS}' \ - --pyshebang=${bindir}/python3 \ - --pythondir=${PYTHON_SITEPACKAGES_DIR} \ - --pythonarchdir=${PYTHON_SITEPACKAGES_DIR} \ - --enable-debug-gdb \ - --enable-early-droproot" - -EXTRA_OEWAF_BUILD ?= "-v" - -NTP_USER_HOME ?= "/var/lib/ntp" - -BISONFLAGS = "--file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}" - -do_configure:prepend() { - export BISONFLAGS="${BISONFLAGS}" -} - -do_install:append() { - install -d ${D}${sysconfdir}/init.d - install -m 755 ${S}/etc/rc/ntpd ${D}${sysconfdir}/init.d - cp -r ${S}/etc/ntp.d ${D}${sysconfdir} - - sed -e 's:@NTP_USER_HOME@:${NTP_USER_HOME}:g' ${UNPACKDIR}/volatiles.ntpsec >${T}/volatiles.ntpsec - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - cp ${B}/main/etc/* ${D}${systemd_system_unitdir} - awk '{print $1, $5, $4, $2, $3, "-"}' ${T}/volatiles.ntpsec >${T}/tmpfiles.ntpsec - install -D -m 0644 ${T}/tmpfiles.ntpsec ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf - else - install -D -m 0644 ${T}/volatiles.ntpsec ${D}${sysconfdir}/default/volatiles/99_${BPN} - fi -} - -PACKAGE_BEFORE_PN = "${PN}-python ${PN}-utils ${PN}-viz" - -FILES:${PN} += "${nonarch_libdir}/tmpfiles.d/ntpsec.conf" -FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR} \ - ${libdir}/libntpc.so.*" -FILES:${PN}-utils = "${bindir}/ntpdig \ - ${bindir}/ntpkeygen \ - ${bindir}/ntpleapfetch \ - ${bindir}/ntpmon \ - ${bindir}/ntpq \ - ${bindir}/ntpsnmpd \ - ${bindir}/ntpsweep \ - ${bindir}/ntptrace \ - ${bindir}/ntpwait" -FILES:${PN}-viz = "${bindir}/ntplogtemp \ - ${bindir}/ntpviz" - -RDEPENDS:${PN} += "libgcc" -RDEPENDS:${PN}-utils += "${PN}-python python3-core" -RDEPENDS:${PN}-viz += "gnuplot ${PN}-python python3-core python3-compression python3-ctypes python3-logging python3-shell" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home-dir ${NTP_USER_HOME} \ - --no-create-home \ - --shell /bin/false --user-group ntp" - -INITSCRIPT_NAME = "ntpd" - -SYSTEMD_PACKAGES = "${PN} ${PN}-viz" -SYSTEMD_SERVICE:${PN} = "ntpd.service ntp-wait.service" -SYSTEMD_SERVICE:${PN}-viz = "ntplogtemp.service ntpviz-weekly.timer ntpviz-weekly.service ntpviz-daily.timer ntpviz-daily.service ntplogtemp.timer" - -ALTERNATIVE_PRIORITY = "80" - -ALTERNATIVE:${PN} = "ntpd" -ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd" diff --git a/meta-networking/recipes-support/ntpsec/ntpsec_1.2.4.bb b/meta-networking/recipes-support/ntpsec/ntpsec_1.2.4.bb new file mode 100644 index 00000000000..9704e2d15e4 --- /dev/null +++ b/meta-networking/recipes-support/ntpsec/ntpsec_1.2.4.bb @@ -0,0 +1,133 @@ +SUMMARY = "The Network Time Protocol suite, refactored" +HOMEPAGE = "https://www.ntpsec.org/" + +LICENSE = "CC-BY-4.0 & BSD-2-Clause & NTP & BSD-3-Clause & MIT" +LIC_FILES_CHKSUM = "file://LICENSES/BSD-2-Clause.txt;md5=653830da7b770a32f6f50f6107e0b186 \ + file://LICENSES/BSD-3-Clause.txt;md5=55e9dcf6a625a2dcfcda4ef6a647fbfd \ + file://LICENSES/CC-BY-4.0.txt;md5=2ab724713fdaf49e4523c4503bfd068d \ + file://LICENSES/MIT.txt;md5=5a9dfc801af3eb49df2055c9b07918b2 \ + file://LICENSES/NTP.txt;md5=cb56b7747f86157c78ca81f224806694" + +DEPENDS += "bison-native \ + openssl \ + python3" + +SRC_URI = "https://ftp.ntpsec.org/pub/releases/ntpsec-${PV}.tar.gz \ + file://volatiles.ntpsec \ + file://0001-wscript-Add-BISONFLAGS-support.patch \ + " + +SRC_URI[sha256sum] = "443e54a6149d1b0bf08677d17b18fced9028b101fc2ffd2c81e0834f87eebc7d" + +UPSTREAM_CHECK_URI = "ftp://ftp.ntpsec.org/pub/releases/" + +inherit pkgconfig python3-dir python3targetconfig systemd update-alternatives update-rc.d useradd waf features_check + +# RDEPENDS on gnuplot with this restriction +REQUIRED_DISTRO_FEATURES = "x11" + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'seccomp systemd', d)} \ + cap \ + leap-smear \ + mdns \ + mssntp \ + nts \ + refclocks" + +PACKAGECONFIG:remove:riscv32 = "seccomp" + +PACKAGECONFIG[cap] = ",,libcap" +PACKAGECONFIG[docs] = "--enable-doc --enable-manpage,--disable-doc --disable-manpage," +PACKAGECONFIG[leap-smear] = "--enable-leap-smear" +PACKAGECONFIG[mdns] = ",,mdns" +PACKAGECONFIG[mssntp] = "--enable-mssntp" +PACKAGECONFIG[nts] = ",--disable-nts" +PACKAGECONFIG[refclocks] = "--refclock=all,,pps-tools" +PACKAGECONFIG[seccomp] = "--enable-seccomp,,libseccomp" +PACKAGECONFIG[systemd] = ",,systemd" + +CC[unexport] = "1" +CFLAGS[unexport] = "1" +LDFLAGS[unexport] = "1" + +export PYTHON_VERSION = "${PYTHON_BASEVERSION}" +export PYTAG = "cpython${@ d.getVar('PYTHON_BASEVERSION').replace('.', '')}" +export pyext_PATTERN = "%s.so" +export PYTHON_LDFLAGS = "-lpthread -ldl" + +CFLAGS:append = " -I${PYTHON_INCLUDE_DIR} -D_GNU_SOURCE" + +EXTRA_OECONF = "--cross-compiler='${CC}' \ + --cross-cflags='${CFLAGS}' \ + --cross-ldflags='${LDFLAGS}' \ + --pyshebang=${bindir}/python3 \ + --pythondir=${PYTHON_SITEPACKAGES_DIR} \ + --pythonarchdir=${PYTHON_SITEPACKAGES_DIR} \ + --enable-early-droproot" + +EXTRA_OEWAF_BUILD ?= "-v" + +NTP_USER_HOME ?= "/var/lib/ntp" + +BISONFLAGS = "--file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}" + +do_configure:prepend() { + export BISONFLAGS="${BISONFLAGS}" +} + +do_install:append() { + install -d ${D}${sysconfdir}/init.d + install -m 755 ${S}/etc/rc/ntpd ${D}${sysconfdir}/init.d + cp -r ${S}/etc/ntp.d ${D}${sysconfdir} + + sed -e 's:@NTP_USER_HOME@:${NTP_USER_HOME}:g' ${UNPACKDIR}/volatiles.ntpsec >${T}/volatiles.ntpsec + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + cp ${B}/main/etc/* ${D}${systemd_system_unitdir} + awk '{print $1, $5, $4, $2, $3, "-"}' ${T}/volatiles.ntpsec >${T}/tmpfiles.ntpsec + install -D -m 0644 ${T}/tmpfiles.ntpsec ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf + else + install -D -m 0644 ${T}/volatiles.ntpsec ${D}${sysconfdir}/default/volatiles/99_${BPN} + fi + + if [ -d ${D}/usr/lib64 ]; then + mv ${D}/usr/lib64/* ${D}${libdir}/ + rmdir ${D}/usr/lib64 + fi +} + +PACKAGE_BEFORE_PN = "${PN}-python ${PN}-utils ${PN}-viz" + +FILES:${PN} += "${nonarch_libdir}/tmpfiles.d/ntpsec.conf" +FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR} \ + ${libdir}/libntpc.so.*" +FILES:${PN}-utils = "${bindir}/ntpdig \ + ${bindir}/ntpkeygen \ + ${bindir}/ntpleapfetch \ + ${bindir}/ntpmon \ + ${bindir}/ntpq \ + ${bindir}/ntpsnmpd \ + ${bindir}/ntpsweep \ + ${bindir}/ntptrace \ + ${bindir}/ntpwait" +FILES:${PN}-viz = "${bindir}/ntplogtemp \ + ${bindir}/ntpviz" + +RDEPENDS:${PN} += "libgcc" +RDEPENDS:${PN}-utils += "${PN}-python python3-core" +RDEPENDS:${PN}-viz += "gnuplot ${PN}-python python3-core python3-compression python3-ctypes python3-logging python3-shell" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --home-dir ${NTP_USER_HOME} \ + --no-create-home \ + --shell /bin/false --user-group ntp" + +INITSCRIPT_NAME = "ntpd" + +SYSTEMD_PACKAGES = "${PN} ${PN}-viz" +SYSTEMD_SERVICE:${PN} = "ntpd.service ntp-wait.service" +SYSTEMD_SERVICE:${PN}-viz = "ntplogtemp.service ntpviz-weekly.timer ntpviz-weekly.service ntpviz-daily.timer ntpviz-daily.service ntplogtemp.timer" + +ALTERNATIVE_PRIORITY = "80" + +ALTERNATIVE:${PN} = "ntpd" +ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd" diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-fix-initialization-discards-const-qualifier-from-poi.patch b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-fix-initialization-discards-const-qualifier-from-poi.patch new file mode 100644 index 00000000000..c06a88f27ef --- /dev/null +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-fix-initialization-discards-const-qualifier-from-poi.patch @@ -0,0 +1,144 @@ +From 070500fd0e97abb07585882ae448ac35b1c4396c Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Mon, 26 Jan 2026 11:55:03 +0000 +Subject: [PATCH] fix initialization discards 'const' qualifier from pointer + target type + +Since glibc-2.43: + +For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr, +strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return +pointers into their input arrays now have definitions as macros that +return a pointer to a const-qualified type when the input argument is +a pointer to a const-qualified type. + +https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html + +Signed-off-by: Rudi Heitbaum + +Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/783] +Signed-off-by: Gyorgy Sarvari +--- + open-vm-tools/lib/hgfs/hgfsEscape.c | 6 +++--- + open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 2 +- + open-vm-tools/lib/misc/strutil.c | 7 ++++--- + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 2 +- + open-vm-tools/libvmtools/i18n.c | 2 +- + open-vm-tools/services/plugins/vix/vixTools.c | 2 +- + 6 files changed, 11 insertions(+), 10 deletions(-) + +diff --git a/open-vm-tools/lib/hgfs/hgfsEscape.c b/open-vm-tools/lib/hgfs/hgfsEscape.c +index c4d39b12d..212ea1c79 100644 +--- a/open-vm-tools/lib/hgfs/hgfsEscape.c ++++ b/open-vm-tools/lib/hgfs/hgfsEscape.c +@@ -175,7 +175,7 @@ HgfsAddEscapeCharacter(char const * bufIn, // IN: input name + HgfsEscapeContext *escapeContext = (HgfsEscapeContext *)context; + uint32 charactersToCopy; + uint32 outputSpace; +- char* illegal; ++ const char* illegal; + Bool result = TRUE; + + ASSERT(offset >= escapeContext->processedOffset); // Scanning forward +@@ -573,7 +573,7 @@ HgfsIsEscapeSequence(char const *bufIn, // IN: input name + uint32 length) // IN: length of the name in characters + { + if (bufIn[offset] == HGFS_ESCAPE_CHAR && offset > 0) { +- char *substitute; ++ const char *substitute; + if (bufIn[offset - 1] == HGFS_ESCAPE_SUBSTITUE_CHAR && offset > 1) { + /* + * Possibly a valid sequence, check it must be preceded with a substitute +@@ -887,7 +887,7 @@ HgfsEscapeUndoComponent(char *bufIn, // IN: Characters to be unesc + size_t offset = escapePointer - bufIn; + + if (HgfsIsEscapeSequence(bufIn, offset, sizeIn)) { +- char* substitute = strchr(HGFS_SUBSTITUTE_CHARS, bufIn[offset - 1]); ++ const char* substitute = strchr(HGFS_SUBSTITUTE_CHARS, bufIn[offset - 1]); + if (substitute != NULL) { + bufIn[offset - 1] = HGFS_ILLEGAL_CHARS[substitute - HGFS_SUBSTITUTE_CHARS]; + } else if (bufIn[offset - 1] == HGFS_ESCAPE_SUBSTITUE_CHAR) { +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +index 445a53881..eeabcadd4 100644 +--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c ++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c +@@ -1366,7 +1366,7 @@ static void + HgfsGetHiddenAttr(char const *fileName, // IN: Input filename + HgfsFileAttrInfo *attr) // OUT: Struct to copy into + { +- char *baseName; ++ const char *baseName; + + ASSERT(fileName); + ASSERT(attr); +diff --git a/open-vm-tools/lib/misc/strutil.c b/open-vm-tools/lib/misc/strutil.c +index 4fc6502e4..4be63b7b8 100644 +--- a/open-vm-tools/lib/misc/strutil.c ++++ b/open-vm-tools/lib/misc/strutil.c +@@ -1454,6 +1454,7 @@ StrUtil_ReplaceAll(const char *orig, // IN + char *result; + const char *current; + char *tmp; ++ const char *tmp2; + size_t lenWhat; + size_t lenWith; + size_t occurrences = 0; +@@ -1467,8 +1468,8 @@ StrUtil_ReplaceAll(const char *orig, // IN + lenWith = strlen(with); + + current = orig; +- while ((tmp = strstr(current, what)) != NULL) { +- current = tmp + lenWhat; ++ while ((tmp2 = strstr(current, what)) != NULL) { ++ current = tmp2 + lenWhat; + ++occurrences; + } + +@@ -1695,7 +1696,7 @@ StrUtilHasListItem(char const *list, // IN: + char const *item, // IN: + int (*ncmp)(char const *, char const*, size_t)) // IN: + { +- char *foundDelim; ++ const char *foundDelim; + int itemLen = strlen(item); + + if (list == NULL) { +diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +index 6f20547b2..a387e377b 100644 +--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c ++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c +@@ -267,7 +267,7 @@ static Bool + IpEntryMatchesDevice(const char *devName, + const char *label) + { +- char *p; ++ const char *p; + size_t n; + + if ((p = strchr(label, ':')) != NULL) { +diff --git a/open-vm-tools/libvmtools/i18n.c b/open-vm-tools/libvmtools/i18n.c +index 3085f72d7..f61406d14 100644 +--- a/open-vm-tools/libvmtools/i18n.c ++++ b/open-vm-tools/libvmtools/i18n.c +@@ -698,7 +698,7 @@ VMTools_BindTextDomain(const char *domain, + * If we couldn't find the catalog file for the user's language, see if + * we can find a more generic language (e.g., for "en_US", also try "en"). + */ +- char *sep = Str_Strrchr(lang, '_'); ++ const char *sep = Str_Strrchr(lang, '_'); + if (sep != NULL) { + if (usrlang == NULL) { + usrlang = Util_SafeStrdup(lang); +diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c +index b2079a10d..6a8498ffb 100644 +--- a/open-vm-tools/services/plugins/vix/vixTools.c ++++ b/open-vm-tools/services/plugins/vix/vixTools.c +@@ -925,7 +925,7 @@ VixToolsBuildUserEnvironmentTable(const char * const *envp) // IN: optional + for (; NULL != *envp; envp++) { + char *name; + char *value; +- char *whereToSplit; ++ const char *whereToSplit; + size_t nameLen; + + whereToSplit = strchr(*envp, '='); diff --git a/meta-networking/recipes-support/open-vm-tools/open-vm-tools_13.0.10.bb b/meta-networking/recipes-support/open-vm-tools/open-vm-tools_13.0.10.bb index 80dc3529c0d..a48d1ce88d2 100644 --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools_13.0.10.bb +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools_13.0.10.bb @@ -44,6 +44,7 @@ SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https;branch=maste file://0013-open-vm-tools-Correct-include-path-for-poll.h.patch;patchdir=.. \ file://0014-timeSync-Portable-way-to-print-64bit-time_t.patch;patchdir=.. \ file://0001-glib_stubs-avoid-GLib-g_free-macro-redefinition-erro.patch;patchdir=.. \ + file://0001-fix-initialization-discards-const-qualifier-from-poi.patch;patchdir=.. \ " UPSTREAM_CHECK_GITTAGREGEX = "stable-(?P\d+(\.\d+)+)" @@ -120,6 +121,6 @@ python() { raise bb.parse.SkipRecipe('Requires meta-filesystems to be present to provide fuse.') } -CVE_PRODUCT = "open-vm-tools vmware:tools" +CVE_PRODUCT = "open-vm-tools vmware:tools vmware:open_vm_tools" CVE_STATUS[CVE-2014-4199] = "fixed-version: No action required. The current version (12.3.5) is not affected by the CVE which affects version 10.0.3" CVE_STATUS[CVE-2014-4200] = "fixed-version: No action required. The current version (12.3.5) is not affected by the CVE which affects version 10.0.3" diff --git a/meta-networking/recipes-support/openvpn/openvpn/0001-tests-skip-test-execution-when-cross-compiling.patch b/meta-networking/recipes-support/openvpn/openvpn/0001-tests-skip-test-execution-when-cross-compiling.patch new file mode 100644 index 00000000000..f8f2d2907f2 --- /dev/null +++ b/meta-networking/recipes-support/openvpn/openvpn/0001-tests-skip-test-execution-when-cross-compiling.patch @@ -0,0 +1,34 @@ +From 93f7f6ca0c916427d28610d3e263fa556587532d Mon Sep 17 00:00:00 2001 +From: Haixiao Yan +Date: Thu, 26 Mar 2026 13:43:50 +0800 +Subject: [PATCH] tests: skip test execution when cross-compiling + +The auth-pam unit test Makefile.am unconditionally assigns the TESTS variable, +causing test execution to fail during cross-compilation because the target +binaries are not executable on the build host. + +Upstream-Status: Pending + +Signed-off-by: Haixiao Yan +--- + tests/unit_tests/plugins/auth-pam/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tests/unit_tests/plugins/auth-pam/Makefile.am b/tests/unit_tests/plugins/auth-pam/Makefile.am +index ba32013ac920..7da299ccde92 100644 +--- a/tests/unit_tests/plugins/auth-pam/Makefile.am ++++ b/tests/unit_tests/plugins/auth-pam/Makefile.am +@@ -4,8 +4,10 @@ AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING) auth_pam Plugin Unit-Tests + + if ENABLE_PLUGIN_AUTH_PAM + check_PROGRAMS = auth_pam_testdriver ++if !CROSS_COMPILING + TESTS = $(check_PROGRAMS) + endif ++endif + + auth_pam_testdriver_SOURCES = test_search_and_replace.c $(top_srcdir)/src/plugins/auth-pam/utils.h $(top_srcdir)/src/plugins/auth-pam/utils.c + auth_pam_testdriver_CFLAGS = @TEST_CFLAGS@ -I$(top_srcdir)/src/plugins/auth-pam +-- +2.43.0 + diff --git a/meta-networking/recipes-support/openvpn/openvpn/run-ptest b/meta-networking/recipes-support/openvpn/openvpn/run-ptest index 19f66b5c565..b0f5699e57d 100644 --- a/meta-networking/recipes-support/openvpn/openvpn/run-ptest +++ b/meta-networking/recipes-support/openvpn/openvpn/run-ptest @@ -1,8 +1,20 @@ #!/bin/sh -find ./ -name Makefile | while read -r x; do - make -C "$(dirname "${x}")" -k runtest-TESTS | sed \ +# Run unit tests directly +find ./ -name "*testdriver" -type f -executable | while read -r t; do + dir=$(dirname "${t}") + srcdir="${dir}" "${t}" 2>&1 | sed \ -e 's/^\(\[ OK \].*\)$/PASS: \1/' \ -e 's/^\(\[ FAILED \].*\)$/FAIL: \1/' \ -e 's/^\(\[ SKIPPED \].*\)$/SKIP: \1/' done + +# Run crypto loopback integration test +if [ -f ./t_lpback.sh ]; then + sh ./t_lpback.sh 2>&1 + if [ $? -eq 0 ]; then + echo "PASS: t_lpback" + else + echo "FAIL: t_lpback" + fi +fi diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.6.17.bb b/meta-networking/recipes-support/openvpn/openvpn_2.6.17.bb deleted file mode 100644 index c454a932764..00000000000 --- a/meta-networking/recipes-support/openvpn/openvpn_2.6.17.bb +++ /dev/null @@ -1,123 +0,0 @@ -SUMMARY = "A full-featured SSL VPN solution via tun device." -HOMEPAGE = "https://openvpn.net/" -SECTION = "net" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=89196bacc47ed37a5b242a535661a049" -DEPENDS = "lzo lz4 openssl libcap-ng ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} ${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)} " - -inherit autotools systemd update-rc.d pkgconfig ptest - -SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ - file://0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch \ - file://openvpn \ - file://run-ptest \ - " - -UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads" - -SRC_URI[sha256sum] = "4cc8e63f710d3001493b13d8a32cf22a214d5e4f71dd37d93831e2fd3208b370" - -CVE_STATUS[CVE-2020-27569] = "not-applicable-config: Applies only Aviatrix OpenVPN client, not openvpn" - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME:${PN} = "openvpn" -INITSCRIPT_PARAMS:${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." - -CFLAGS += "-fno-inline" - -# I want openvpn to be able to read password from file (hrw) -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" - -# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. -EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip" - -EXTRA_OECONF += "SYSTEMD_UNIT_DIR=${systemd_system_unitdir} \ - TMPFILES_DIR=${nonarch_libdir}/tmpfiles.d \ - " - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ - iproute2 \ - " - -# dco and iproute2 are mutually incompatible -PACKAGECONFIG[dco] = ",--disable-dco,libnl" -PACKAGECONFIG[iproute2] = "--enable-iproute2,,iproute2,iproute2-ip" -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" - -RDEPENDS:${PN}-ptest:append = " make bash" - -do_install:append() { - install -d ${D}/${sysconfdir}/init.d - install -m 755 ${UNPACKDIR}/openvpn ${D}/${sysconfdir}/init.d - - install -d ${D}/${sysconfdir}/openvpn - install -d ${D}/${sysconfdir}/openvpn/server - install -d ${D}/${sysconfdir}/openvpn/client - - install -d ${D}/${sysconfdir}/openvpn/sample - install -m 644 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf - install -m 644 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf - install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-config-files - install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys - install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-scripts - install -m 644 ${S}/sample/sample-config-files/* ${D}${sysconfdir}/openvpn/sample/sample-config-files - install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys - install -m 644 ${S}/sample/sample-scripts/* ${D}${sysconfdir}/openvpn/sample/sample-scripts - - install -d -m 710 ${D}/${localstatedir}/lib/openvpn -} - -do_compile_ptest () { - for x in `find ${B}/tests/unit_tests -name Makefile -exec grep -l buildtest-TESTS {} \;`; do - dir=`dirname ${x}` - case $dir in - *example*) - echo "Skipping directory: $dir" - ;; - *) - oe_runmake -C ${dir} buildtest-TESTS - ;; - esac - done -} - -do_install_ptest() { - for x in $(find ${B}/tests/unit_tests -name Makefile -exec grep -l buildtest-TESTS {} \;); do - dir=$(dirname ${x}) - - if [[ "$dir" == *example* ]]; then - continue - fi - - target_dir="${D}/${PTEST_PATH}/unit_tests/$(basename ${dir})" - mkdir -p ${target_dir} - cp -f ${dir}/Makefile ${target_dir}/ - sed -i "s/^Makefile:/MM:/g" ${target_dir}/Makefile - sed -i 's/^#TESTS = $(am__EXEEXT_4)/TESTS = $(am__EXEEXT_4)/' ${target_dir}/Makefile - - for testfile in $(find ${dir} -name "*testdriver"); do - cp -rf ${testfile} ${target_dir}/ - done - done - sed -i 's|find ./|find ${PTEST_PATH}|g' ${D}${PTEST_PATH}/run-ptest - sed -i 's|${top_builddir}/src/openvpn|${sbindir}|g' ${S}/tests/t_lpback.sh - cp -f ${S}/tests/t_lpback.sh ${D}/${PTEST_PATH} - cp -f ${B}/tests/Makefile ${D}/${PTEST_PATH} - sed -i "s/^Makefile:/MM:/g" ${D}/${PTEST_PATH}/Makefile - sed -i "s/^test_scripts = t_client.sh t_lpback.sh t_cltsrv.sh/test_scripts = t_lpback.sh/g" ${D}/${PTEST_PATH}/Makefile - -} - -PACKAGES =+ " ${PN}-sample " - -RRECOMMENDS:${PN} = "kernel-module-tun" - -FILES:${PN}-dbg += "${libdir}/openvpn/plugins/.debug" -FILES:${PN} += "${systemd_system_unitdir}/openvpn-server@.service \ - ${systemd_system_unitdir}/openvpn-client@.service \ - ${nonarch_libdir}/tmpfiles.d \ - " -FILES:${PN}-sample = "${sysconfdir}/openvpn/sample/ \ - " diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.7.0.bb b/meta-networking/recipes-support/openvpn/openvpn_2.7.0.bb new file mode 100644 index 00000000000..0cbe4641cd6 --- /dev/null +++ b/meta-networking/recipes-support/openvpn/openvpn_2.7.0.bb @@ -0,0 +1,128 @@ +SUMMARY = "A full-featured SSL VPN solution via tun device." +HOMEPAGE = "https://openvpn.net/" +SECTION = "net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=924af2c382c415a0a68d0d9e7b483d23" +DEPENDS = "lzo lz4 openssl libcap-ng ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} ${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)} " + +inherit autotools systemd update-rc.d pkgconfig ptest + +SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ + file://0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch \ + file://0001-tests-skip-test-execution-when-cross-compiling.patch \ + file://openvpn \ + file://run-ptest \ + " + +UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads" + +SRC_URI[sha256sum] = "2f0e10eb272be61e8fb25fe1cfa20875ff30ac857ef1418000c02290bd6dfa45" + +CVE_STATUS[CVE-2020-27569] = "not-applicable-config: Applies only Aviatrix OpenVPN client, not openvpn" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME:${PN} = "openvpn" +INITSCRIPT_PARAMS:${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." + +CFLAGS += "-fno-inline" + +# I want openvpn to be able to read password from file (hrw) +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" + +# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. +EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip" + +EXTRA_OECONF += "SYSTEMD_UNIT_DIR=${systemd_system_unitdir} \ + TMPFILES_DIR=${nonarch_libdir}/tmpfiles.d \ + " + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ + iproute2 \ + " + +# dco and iproute2 are mutually incompatible +PACKAGECONFIG[dco] = ",--disable-dco,libnl" +PACKAGECONFIG[iproute2] = "--enable-iproute2,,iproute2,iproute2-ip" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" + +RDEPENDS:${PN}:append = " bash" +RDEPENDS:${PN}-ptest:append = " bash" + +do_install:append() { + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${UNPACKDIR}/openvpn ${D}/${sysconfdir}/init.d + + install -d ${D}/${sysconfdir}/openvpn + install -d ${D}/${sysconfdir}/openvpn/server + install -d ${D}/${sysconfdir}/openvpn/client + + install -d ${D}/${sysconfdir}/openvpn/sample + install -m 644 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf + install -m 644 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-config-files + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-scripts + install -m 644 ${S}/sample/sample-config-files/* ${D}${sysconfdir}/openvpn/sample/sample-config-files + install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys + install -m 644 ${S}/sample/sample-scripts/* ${D}${sysconfdir}/openvpn/sample/sample-scripts + + install -d -m 710 ${D}/${localstatedir}/lib/openvpn +} + +do_compile_ptest () { + for x in `find ${B}/tests/unit_tests -name Makefile -exec grep -l check_PROGRAMS {} \;`; do + dir=`dirname ${x}` + case $dir in + *example*) + echo "Skipping directory: $dir" + ;; + *) + oe_runmake -C ${dir} check-am + ;; + esac + done +} + +do_install_ptest() { + for x in $(find ${B}/tests/unit_tests -name Makefile -exec grep -l check_PROGRAMS {} \;); do + dir=$(dirname ${x}) + + if [[ "$dir" == *example* ]]; then + continue + fi + + target_dir="${D}/${PTEST_PATH}/unit_tests/$(basename ${dir})" + mkdir -p ${target_dir} + + for testfile in $(find ${dir} -name "*testdriver" -type f -executable); do + cp -rf ${testfile} ${target_dir}/ + done + done + + # Install test input data files needed by user_pass and misc tests + cp -rf ${S}/tests/unit_tests/openvpn/input ${D}/${PTEST_PATH}/unit_tests/openvpn/ + + # Install COPYRIGHT.GPL needed by test_list + # test_list references srcdir/../../../COPYRIGHT.GPL + # srcdir=./unit_tests/openvpn -> resolves to ../COPYRIGHT.GPL from ptest cwd + # which is ${libdir}/openvpn/COPYRIGHT.GPL + cp -f ${S}/COPYRIGHT.GPL ${D}/${libdir}/openvpn/ + + sed -i 's|${top_builddir}/src/openvpn|${sbindir}|g' ${S}/tests/t_lpback.sh + cp -f ${S}/tests/t_lpback.sh ${D}/${PTEST_PATH} +} + +PACKAGES =+ " ${PN}-sample " + +RRECOMMENDS:${PN} = "kernel-module-tun" + +FILES:${PN}-dbg += "${libdir}/openvpn/plugins/.debug" +FILES:${PN}-ptest += "${libdir}/openvpn/COPYRIGHT.GPL" +FILES:${PN} += "${systemd_system_unitdir}/openvpn-server@.service \ + ${systemd_system_unitdir}/openvpn-client@.service \ + ${nonarch_libdir}/tmpfiles.d \ + " +FILES:${PN}-sample = "${sysconfdir}/openvpn/sample/ \ + " diff --git a/meta-networking/recipes-support/phytool/phytool.bb b/meta-networking/recipes-support/phytool/phytool.bb deleted file mode 100644 index 6471f46c281..00000000000 --- a/meta-networking/recipes-support/phytool/phytool.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "PHY interface tool for Linux" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0" - -PV = "2+git" -SRCREV = "8882328c08ba2efb13c049812098f1d0cb8adf0c" -SRC_URI = "git://github.com/wkz/phytool.git;branch=master;protocol=https" - - -# The Makefile has "$PREFIX/bin" hardcoded into it, hence not using $bindir here -do_install() { - install -d ${D}${prefix}/bin - oe_runmake 'DESTDIR=${D}' 'PREFIX=${prefix}' install -} diff --git a/meta-networking/recipes-support/phytool/phytool_git.bb b/meta-networking/recipes-support/phytool/phytool_git.bb new file mode 100644 index 00000000000..35d11f8516c --- /dev/null +++ b/meta-networking/recipes-support/phytool/phytool_git.bb @@ -0,0 +1,18 @@ +SUMMARY = "PHY interface tool for Linux" +DESCRIPTION = "A tool to read and write PHY registers on Linux." +HOMEPAGE = "https://github.com/wkz/phytool" +BUGTRACKER = "https://github.com/wkz/phytool/issues" +SECTION = "console/network" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0" + +PV = "2+git" +SRC_URI = "git://github.com/wkz/phytool.git;branch=master;protocol=https" +SRCREV = "bcf23b0261aa9f352ee4b944e30e3482158640a4" + +# The Makefile has "$PREFIX/bin" hardcoded into it, hence not using $bindir here +do_install() { + install -d ${D}${prefix}/bin + oe_runmake 'DESTDIR=${D}' 'PREFIX=${prefix}' install +} diff --git a/meta-networking/recipes-support/rdma-core/rdma-core/0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch b/meta-networking/recipes-support/rdma-core/rdma-core/0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch index e181ee28728..d6c641d90b2 100644 --- a/meta-networking/recipes-support/rdma-core/rdma-core/0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch +++ b/meta-networking/recipes-support/rdma-core/rdma-core/0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch @@ -17,8 +17,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 98985e7ee..001efb800 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -237,7 +237,10 @@ else() - endif() +@@ -256,7 +256,10 @@ else() + message(WARNING "pyverbs build requested but python development files not found") endif() -find_program(SYSTEMCTL_BIN systemctl HINTS "/usr/bin" "/bin") diff --git a/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-libgen.h-for-basename.patch b/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-libgen.h-for-basename.patch deleted file mode 100644 index a093e470485..00000000000 --- a/meta-networking/recipes-support/rdma-core/rdma-core/0001-include-libgen.h-for-basename.patch +++ /dev/null @@ -1,58 +0,0 @@ -From ae6adc4c748e67919fdf8ae1d44c619ee104c271 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 25 Mar 2024 11:37:41 -0700 -Subject: [PATCH] include libgen.h for basename - -basename prototype has been removed from string.h from latest musl [1] -compilers e.g. clang-18 flags the absense of prototype as error. therefore -include libgen.h for providing it. - -[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 - -Upstream-Status: Submitted [https://github.com/linux-rdma/rdma-core/pull/1443] -Signed-off-by: Khem Raj ---- - kernel-boot/rdma_rename.c | 1 + - librdmacm/examples/rping.c | 1 + - providers/mlx5/mlx5_vfio.c | 1 + - 3 files changed, 3 insertions(+) - -diff --git a/kernel-boot/rdma_rename.c b/kernel-boot/rdma_rename.c -index 4af9e4a39..5193ac411 100644 ---- a/kernel-boot/rdma_rename.c -+++ b/kernel-boot/rdma_rename.c -@@ -2,6 +2,7 @@ - /* Copyright (c) 2019, Mellanox Technologies. All rights reserved. See COPYING file */ - - #define _GNU_SOURCE -+#include - #include - #include - #include -diff --git a/librdmacm/examples/rping.c b/librdmacm/examples/rping.c -index cc16ad910..0f1321458 100644 ---- a/librdmacm/examples/rping.c -+++ b/librdmacm/examples/rping.c -@@ -33,6 +33,7 @@ - #define _GNU_SOURCE - #include - #include -+#include - #include - #include - #include -diff --git a/providers/mlx5/mlx5_vfio.c b/providers/mlx5/mlx5_vfio.c -index cd0c41462..4d064b1fc 100644 ---- a/providers/mlx5/mlx5_vfio.c -+++ b/providers/mlx5/mlx5_vfio.c -@@ -6,6 +6,7 @@ - #define _GNU_SOURCE - #include - -+#include - #include - #include - #include --- -2.44.0 - diff --git a/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-overloadable-function-attribute-with-c.patch b/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-overloadable-function-attribute-with-c.patch deleted file mode 100644 index 092f4431bfc..00000000000 --- a/meta-networking/recipes-support/rdma-core/rdma-core/0001-librdmacm-Use-overloadable-function-attribute-with-c.patch +++ /dev/null @@ -1,38 +0,0 @@ -From c7de6834f0cd92b7341ab17a5c6996f3fbd40140 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 21 Jun 2024 22:16:47 -0700 -Subject: [PATCH] librdmacm: Use overloadable function attribute with clang - - This is to fix build warnings seen with upcoming clang19 and - glibc 2.40, since glibc 2.40 has improved fortyfying this - function with clang, it ends up with build errors like below - -librdmacm/preload.c:796:9: error: at most one overload for a given name may lack the 'overloadable' attribute -| 796 | ssize_t recvfrom(int socket, void *buf, size_t len, int flags, -| | ^ -| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/rdma-core/51.0/recipe-sysroot/usr/include/sys/socket.h:163:16: note: previous unmarked overload of function is here -| 163 | extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, -| | ^ - -Upstream-Status: Submitted [https://github.com/linux-rdma/rdma-core/pull/1475] -Signed-off-by: Khem Raj ---- - librdmacm/preload.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - ---- a/librdmacm/preload.c -+++ b/librdmacm/preload.c -@@ -792,8 +792,11 @@ ssize_t recv(int socket, void *buf, size - return (fd_fork_get(socket, &fd) == fd_rsocket) ? - rrecv(fd, buf, len, flags) : real.recv(fd, buf, len, flags); - } -- --ssize_t recvfrom(int socket, void *buf, size_t len, int flags, -+ssize_t -+#if defined(__clang__) && defined(__GLIBC__) -+__attribute__((overloadable)) -+#endif -+recvfrom(int socket, void *buf, size_t len, int flags, - struct sockaddr *src_addr, socklen_t *addrlen) - { - int fd; diff --git a/meta-networking/recipes-support/rdma-core/rdma-core_51.0.bb b/meta-networking/recipes-support/rdma-core/rdma-core_51.0.bb deleted file mode 100644 index 2555c43a859..00000000000 --- a/meta-networking/recipes-support/rdma-core/rdma-core_51.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Userspace support for InfiniBand/RDMA verbs" -DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." -SECTION = "libs" - -DEPENDS = "libnl" -RDEPENDS:${PN} = "bash perl" - -SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https \ - file://0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch \ - file://0001-include-libgen.h-for-basename.patch \ - file://0001-librdmacm-Use-overloadable-function-attribute-with-c.patch \ -" -SRCREV = "6cd09097ad2eebde9a7fa3d3bb09a2cea6e3c2d6" - -#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md -LICENSE = "BSD-2-Clause | GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ - file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -EXTRA_OECMAKE = " \ - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ - -DSYSTEMCTL_BIN=${base_bindir}/systemctl \ - -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ - -DNO_MAN_PAGES=1 \ -" - -LTO = "" - -FILES_SOLIBSDEV = "" -FILES:${PN} += "${libdir}/*" -INSANE_SKIP:${PN} += "dev-so" - -inherit cmake cpan-base pkgconfig python3native python3targetconfig systemd - -SYSTEMD_SERVICE:${PN} = " \ - srp_daemon.service \ - iwpmd.service \ - ibacm.socket \ - rdma-load-modules@.service \ - srp_daemon_port@.service \ - rdma-hw.target \ - ibacm.service \ -" -SYSTEMD_AUTO_ENABLE = "disable" - -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-networking/recipes-support/rdma-core/rdma-core_62.0.bb b/meta-networking/recipes-support/rdma-core/rdma-core_62.0.bb new file mode 100644 index 00000000000..5a8640ad025 --- /dev/null +++ b/meta-networking/recipes-support/rdma-core/rdma-core_62.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "Userspace support for InfiniBand/RDMA verbs" +DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." +SECTION = "libs" + +DEPENDS = "libnl" +RDEPENDS:${PN} = "bash perl" + +SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https;tag=v${PV} \ + file://0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch \ +" +SRCREV = "31af04ec84378724cb6256814d4ffde359a7123b" + +#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md +LICENSE = "BSD-2-Clause | GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ + file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +EXTRA_OECMAKE = " \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ + -DSYSTEMCTL_BIN=${base_bindir}/systemctl \ + -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ + -DNO_MAN_PAGES=1 \ +" + +LTO = "" + +FILES_SOLIBSDEV = "" +FILES:${PN} += "${libdir}/*" +INSANE_SKIP:${PN} += "dev-so" + +inherit cmake cpan-base pkgconfig python3native python3targetconfig systemd + +SYSTEMD_SERVICE:${PN} = " \ + srp_daemon.service \ + iwpmd.service \ + ibacm.socket \ + rdma-load-modules@.service \ + srp_daemon_port@.service \ + rdma-hw.target \ + ibacm.service \ +" +SYSTEMD_AUTO_ENABLE = "disable" + +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-networking/recipes-support/ruli/files/0001-Make-space-for-flags-from-environment.patch b/meta-networking/recipes-support/ruli/files/0001-Make-space-for-flags-from-environment.patch index c3ca07a3903..739d7f797e8 100644 --- a/meta-networking/recipes-support/ruli/files/0001-Make-space-for-flags-from-environment.patch +++ b/meta-networking/recipes-support/ruli/files/0001-Make-space-for-flags-from-environment.patch @@ -12,8 +12,6 @@ Signed-off-by: Khem Raj src/Makefile | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) -diff --git a/sample/Makefile b/sample/Makefile -index 15cafd9..d83641f 100644 --- a/sample/Makefile +++ b/sample/Makefile @@ -35,9 +35,9 @@ ifeq ($(PLATFORM),SunOS) @@ -50,13 +48,23 @@ index 15cafd9..d83641f 100644 %.o: %.c $(CC) $(ARCH) $(CPPFLAGS) $(CFLAGS) -c $< -diff --git a/src/Makefile b/src/Makefile -index 9b56b5e..39a5ea1 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -45,7 +45,7 @@ endif +@@ -2,7 +2,7 @@ + # $Id: Makefile,v 1.57 2005/06/13 16:34:53 evertonm Exp $ + # - WARN = -pedantic -ansi -Wshadow -Wpointer-arith -Wcast-qual \ +-#DEBUG += -DRULI_SRV_DEBUG ++#DEBUG += -DRULI_SRV_DEBUG + #DEBUG += -DRULI_HOST_DEBUG + #DEBUG += -DRULI_RES_DEBUG + #DEBUG += -DRULI_TXT_COMPARE_DEBUG +@@ -43,9 +43,9 @@ ifeq ($(PLATFORM),SunOS) + DEFINE_SOLARIS = -D_RULI_SOLARIS_ + endif + +-WARN = -pedantic -ansi -Wshadow -Wpointer-arith -Wcast-qual \ ++WARN = -Wshadow -Wpointer-arith -Wcast-qual \ -Wcast-align -Wwrite-strings -Wredundant-decls -CC = gcc +CC ?= gcc @@ -72,7 +80,7 @@ index 9b56b5e..39a5ea1 100644 LIBOBJ = ruli_isaac.o ruli_mem.o ruli_rand.o ruli_util.o ruli_list.o \ ruli_addr.o ruli_sock.o ruli_txt.o ruli_msg.o ruli_fsm.o \ ruli_res.o ruli_parse.o ruli_host.o ruli_srv.o ruli_conf.o \ -@@ -66,7 +66,7 @@ LIBOBJ = ruli_isaac.o ruli_mem.o ruli_rand.o ruli_util.o ruli_list.o \ +@@ -66,7 +66,7 @@ LIBOBJ = ruli_isaac.o ruli_mem.o ruli_ra ruli_getaddrinfo.o SHAREDOBJ = $(LIBOBJ:%.o=%.os) SONAME = libruli.so.4 @@ -90,6 +98,3 @@ index 9b56b5e..39a5ea1 100644 @echo @echo "REMINDER:" @echo "Add $(INSTALL_LIB_DIR) to your dynamic loader path:" --- -2.24.0 - diff --git a/meta-networking/recipes-support/ruli/ruli_0.36.bb b/meta-networking/recipes-support/ruli/ruli_0.36.bb index 0526f842a89..972184ae2c3 100644 --- a/meta-networking/recipes-support/ruli/ruli_0.36.bb +++ b/meta-networking/recipes-support/ruli/ruli_0.36.bb @@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "11d32def5b514748fbd9ea8c88049ae99e1bb358efc74eb91a4d268a39 # -shared is passed via CFLAGS, clang complains since its used during linking # and not compiling -CFLAGS:append:toolchain-clang = " -Wno-error=unused-command-line-argument" +CFLAGS:append:toolchain-clang = " -std=gnu11 -Wno-error=unused-command-line-argument" EXTRA_OEMAKE = 'CC="${CC}" CPPFLAGS="${CFLAGS}" OOP_BASE_DIR="${STAGING_EXECPREFIXDIR}" \ INSTALL_BASE_DIR="${D}${exec_prefix}" \ diff --git a/meta-networking/recipes-support/spice/spice-gtk_0.42.bb b/meta-networking/recipes-support/spice/spice-gtk_0.42.bb index 3588d674f7b..127738a429a 100644 --- a/meta-networking/recipes-support/spice/spice-gtk_0.42.bb +++ b/meta-networking/recipes-support/spice/spice-gtk_0.42.bb @@ -22,7 +22,6 @@ DEPENDS = " \ cyrus-sasl \ gstreamer1.0 \ gstreamer1.0-plugins-base \ - gstreamer1.0-vaapi \ gtk+3 \ jpeg \ json-glib \ @@ -30,6 +29,7 @@ DEPENDS = " \ libepoxy \ libopus \ libusb1 \ + libva \ lz4 \ pixman \ python3-pyparsing-native \ diff --git a/meta-networking/recipes-support/strongswan/strongswan_6.0.4.bb b/meta-networking/recipes-support/strongswan/strongswan_6.0.4.bb deleted file mode 100644 index 2587722b6da..00000000000 --- a/meta-networking/recipes-support/strongswan/strongswan_6.0.4.bb +++ /dev/null @@ -1,191 +0,0 @@ -DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \ -Linux operating system." -SUMMARY = "strongSwan is an OpenSource IPsec implementation" -HOMEPAGE = "http://www.strongswan.org" -SECTION = "net" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "flex-native flex bison-native" -DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', ' tpm2-tss', '', d)}" - -SRC_URI = "https://download.strongswan.org/strongswan-${PV}.tar.bz2" - -SRC_URI[sha256sum] = "79576bb61b9a406cea9eb73d0c565cc6254a6b6d2e7198f44758d2d7c61a7aec" - -UPSTREAM_CHECK_REGEX = "strongswan-(?P\d+(\.\d+)+)\.tar" - -EXTRA_OECONF = " \ - --without-lib-prefix \ - --with-dev-headers=${includedir}/strongswan \ -" - -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" - -PACKAGECONFIG ?= "curl openssl sqlite3 swanctl \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-charon', 'charon', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', 'tpm2', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imc imc-hcd imc-os imc-scanner imc-attestation', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imv imv-hcd imv-os imv-scanner imv-attestation', '', d)} \ -" - -PACKAGECONFIG[aes] = "--enable-aes,--disable-aes,,${PN}-plugin-aes" -PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" -PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils" -PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," -PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl" -PACKAGECONFIG[des] = "--enable-des,--disable-des,,${PN}-plugin-des" -PACKAGECONFIG[eap-identity] = "--enable-eap-identity,--disable-eap-identity,,${PN}-plugin-eap-identity" -PACKAGECONFIG[eap-mschapv2] = "--enable-eap-mschapv2,--disable-eap-mschapv2,,${PN}-plugin-eap-mschapv2" -PACKAGECONFIG[fips-prf] = "--enable-fips-prf,--disable-fips-prf,,${PN}-plugin-fips-prf" -PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp" -PACKAGECONFIG[hmac] = "--enable-hmac,--disable-hmac,,${PN}-plugin-hmac" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap" -PACKAGECONFIG[md5] = "--enable-md5,--disable-md5,,${PN}-plugin-md5" -PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql" -PACKAGECONFIG[nm] = "--enable-nm,--disable-nm,networkmanager,${PN}-nm" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl" -PACKAGECONFIG[pkcs12] = "--enable-pkcs12,--disable-pkcs12,,${PN}-plugin-pkcs12" -PACKAGECONFIG[rc2] = "--enable-rc2,--disable-rc2,,${PN}-plugin-rc2" -PACKAGECONFIG[sha1] = "--enable-sha1,--disable-sha1,,${PN}-plugin-sha1" -PACKAGECONFIG[sha2] = "--enable-sha2,--disable-sha2,,${PN}-plugin-sha2" -PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup" -PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite" -PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke" -PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" -PACKAGECONFIG[curve25519] = "--enable-curve25519,--disable-curve25519,, ${PN}-plugin-curve25519" - -# requires swanctl -PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," - -# tpm needs meta-tpm layer -PACKAGECONFIG[tpm2] = "--enable-tpm,--disable-tpm,,${PN}-plugin-tpm" - - -# integraty configuration needs meta-integraty -#imc -PACKAGECONFIG[tnc-imc] = "--enable-tnc-imc,--disable-tnc-imc,, ${PN}-plugin-tnc-imc ${PN}-plugin-tnc-tnccs" -PACKAGECONFIG[imc-test] = "--enable-imc-test,--disable-imc-test,," -PACKAGECONFIG[imc-scanner] = "--enable-imc-scanner,--disable-imc-scanner,," -PACKAGECONFIG[imc-os] = "--enable-imc-os,--disable-imc-os,," -PACKAGECONFIG[imc-attestation] = "--enable-imc-attestation,--disable-imc-attestation,," -PACKAGECONFIG[imc-swima] = "--enable-imc-swima, --disable-imc-swima, json-c," -PACKAGECONFIG[imc-hcd] = "--enable-imc-hcd, --disable-imc-hcd,," - -#imv set -PACKAGECONFIG[tnc-imv] = "--enable-tnc-imv,--disable-tnc-imv,, ${PN}-plugin-tnc-imv ${PN}-plugin-tnc-tnccs" -PACKAGECONFIG[imv-test] = "--enable-imv-test,--disable-imv-test,," -PACKAGECONFIG[imv-scanner] = "--enable-imv-scanner,--disable-imv-scanner,," -PACKAGECONFIG[imv-os] = "--enable-imv-os,--disable-imv-os,," -PACKAGECONFIG[imv-attestation] = "--enable-imv-attestation,--disable-imv-attestation,," -PACKAGECONFIG[imv-swima] = "--enable-imv-swima, --disable-imv-swima, json-c," -PACKAGECONFIG[imv-hcd] = "--enable-imv-hcd, --disable-imv-hcd,," - -PACKAGECONFIG[tnc-ifmap] = "--enable-tnc-ifmap,--disable-tnc-ifmap, libxml2, ${PN}-plugin-tnc-ifmap" -PACKAGECONFIG[tnc-pdp] = "--enable-tnc-pdp,--disable-tnc-pdp,, ${PN}-plugin-tnc-pdp" - -PACKAGECONFIG[tnccs-11] = "--enable-tnccs-11,--disable-tnccs-11,libxml2, ${PN}-plugin-tnccs-11" -PACKAGECONFIG[tnccs-20] = "--enable-tnccs-20,--disable-tnccs-20,, ${PN}-plugin-tnccs-20" -PACKAGECONFIG[tnccs-dynamic] = "--enable-tnccs-dynamic,--disable-tnccs-dynamic,,${PN}-plugin-tnccs-dynamic" - -inherit autotools systemd pkgconfig - -RRECOMMENDS:${PN} = "kernel-module-ah4 \ - kernel-module-esp4 \ - kernel-module-xfrm-user \ - " - -FILES:${PN} += "${libdir}/ipsec/lib*${SOLIBS}" -FILES:${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" -FILES:${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" -FILES:${PN}-staticdev += "${libdir}/ipsec/*.a" - -CONFFILES:${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" - -PACKAGES += "${PN}-plugins" -ALLOW_EMPTY:${PN}-plugins = "1" - -PACKAGE_BEFORE_PN = "${PN}-imcvs ${PN}-imcvs-dbg" -ALLOW_EMPTY:${PN}-imcvs = "1" - -FILES:${PN}-imcvs = "${libdir}/ipsec/imcvs/*.so" -FILES:${PN}-imcvs-dbg += "${libdir}/ipsec/imcvs/.debug" - -PACKAGES =+ "${PN}-nm ${PN}-nm-dbg" -FILES:${PN}-nm = "${libexecdir}/ipsec/charon-nm ${datadir}/dbus-1/system.d/nm-strongswan-service.conf" -FILES:${PN}-nm-dbg = "${libexecdir}/ipsec/.debug/charon-nm" - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" -NOAUTOPACKAGEDEBUG = "1" - -python split_strongswan_plugins () { - sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon') - libdir = d.expand('${libdir}/ipsec/plugins') - dbglibdir = os.path.join(libdir, '.debug') - - def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): - dvar = d.getVar('PKGD') - oldfiles = d.getVar('CONFFILES:' + pkg) - newfile = '/' + os.path.relpath(f, dvar) - - if not oldfiles: - d.setVar('CONFFILES:' + pkg, newfile) - else: - d.setVar('CONFFILES:' + pkg, oldfiles + " " + newfile) - - split_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True) - do_split_packages(d, sysconfdir, r'(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf) - - split_dbg_packages = do_split_packages(d, dbglibdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') - split_dev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev') - split_staticdev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') - - if split_packages: - pn = d.getVar('PN') - d.setVar('RRECOMMENDS:' + pn + '-plugins', ' '.join(split_packages)) - d.appendVar('RRECOMMENDS:' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) - d.appendVar('RRECOMMENDS:' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) - d.appendVar('RRECOMMENDS:' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages)) -} - -PACKAGESPLITFUNCS:prepend = "split_strongswan_plugins " - -# Install some default plugins based on default strongSwan ./configure options -# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist -RDEPENDS:${PN} += "\ - ${PN}-plugin-attr \ - ${PN}-plugin-cmac \ - ${PN}-plugin-constraints \ - ${PN}-plugin-dnskey \ - ${PN}-plugin-drbg \ - ${PN}-plugin-kdf \ - ${PN}-plugin-kernel-netlink \ - ${PN}-plugin-nonce \ - ${PN}-plugin-pem \ - ${PN}-plugin-pgp \ - ${PN}-plugin-pkcs1 \ - ${PN}-plugin-pkcs7 \ - ${PN}-plugin-pkcs8 \ - ${PN}-plugin-pubkey \ - ${PN}-plugin-random \ - ${PN}-plugin-resolve \ - ${PN}-plugin-revocation \ - ${PN}-plugin-socket-default \ - ${PN}-plugin-sshkey \ - ${PN}-plugin-updown \ - ${PN}-plugin-vici \ - ${PN}-plugin-x509 \ - ${PN}-plugin-xauth-generic \ - ${PN}-plugin-xcbc \ - " - -RPROVIDES:${PN} += "${PN}-systemd" -RREPLACES:${PN} += "${PN}-systemd" -RCONFLICTS:${PN} += "${PN}-systemd" - -# The deprecated legacy 'strongswan-starter' service should only be used when charon and -# stroke are enabled. When swanctl is in use, 'strongswan.service' is needed. -# See: https://wiki.strongswan.org/projects/strongswan/wiki/Charon-systemd -SYSTEMD_SERVICE:${PN} = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'charon', '${BPN}-starter.service', '', d)} \ -" diff --git a/meta-networking/recipes-support/strongswan/strongswan_6.0.6.bb b/meta-networking/recipes-support/strongswan/strongswan_6.0.6.bb new file mode 100644 index 00000000000..daa65528998 --- /dev/null +++ b/meta-networking/recipes-support/strongswan/strongswan_6.0.6.bb @@ -0,0 +1,193 @@ +DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \ +Linux operating system." +SUMMARY = "strongSwan is an OpenSource IPsec implementation" +HOMEPAGE = "http://www.strongswan.org" +SECTION = "net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "flex-native flex bison-native" +DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', ' tpm2-tss', '', d)}" + +SRC_URI = "https://download.strongswan.org/strongswan-${PV}.tar.bz2" + +SRC_URI[sha256sum] = "07df7cedae56a7f3bb07e66d21a1f9f87e961db70e99184e11d3819413e4f87c" + +UPSTREAM_CHECK_REGEX = "strongswan-(?P\d+(\.\d+)+)\.tar" + +EXTRA_OECONF = " \ + --without-lib-prefix \ + --with-dev-headers=${includedir}/strongswan \ +" + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" + +PACKAGECONFIG ?= "curl openssl sqlite3 swanctl \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-charon', 'charon', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', 'tpm2', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imc imc-hcd imc-os imc-scanner imc-attestation', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imv imv-hcd imv-os imv-scanner imv-attestation', '', d)} \ +" + +PACKAGECONFIG[aes] = "--enable-aes,--disable-aes,,${PN}-plugin-aes" +PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" +PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils" +PACKAGECONFIG[charon] = "--enable-charon,--disable-charon," +PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl" +PACKAGECONFIG[des] = "--enable-des,--disable-des,,${PN}-plugin-des" +PACKAGECONFIG[eap-identity] = "--enable-eap-identity,--disable-eap-identity,,${PN}-plugin-eap-identity" +PACKAGECONFIG[eap-mschapv2] = "--enable-eap-mschapv2,--disable-eap-mschapv2,,${PN}-plugin-eap-mschapv2" +PACKAGECONFIG[fips-prf] = "--enable-fips-prf,--disable-fips-prf,,${PN}-plugin-fips-prf" +PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp" +PACKAGECONFIG[hmac] = "--enable-hmac,--disable-hmac,,${PN}-plugin-hmac" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap" +PACKAGECONFIG[md5] = "--enable-md5,--disable-md5,,${PN}-plugin-md5" +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql" +PACKAGECONFIG[nm] = "--enable-nm,--disable-nm,networkmanager,${PN}-nm" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl" +PACKAGECONFIG[pkcs12] = "--enable-pkcs12,--disable-pkcs12,,${PN}-plugin-pkcs12" +PACKAGECONFIG[rc2] = "--enable-rc2,--disable-rc2,,${PN}-plugin-rc2" +PACKAGECONFIG[sha1] = "--enable-sha1,--disable-sha1,,${PN}-plugin-sha1" +PACKAGECONFIG[sha2] = "--enable-sha2,--disable-sha2,,${PN}-plugin-sha2" +PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup,${PN}-plugin-soup" +PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite" +PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke" +PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc" +PACKAGECONFIG[curve25519] = "--enable-curve25519,--disable-curve25519,, ${PN}-plugin-curve25519" + +# requires swanctl +PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd," + +# tpm needs meta-tpm layer +PACKAGECONFIG[tpm2] = "--enable-tpm,--disable-tpm,,${PN}-plugin-tpm" + + +# integraty configuration needs meta-integraty +#imc +PACKAGECONFIG[tnc-imc] = "--enable-tnc-imc,--disable-tnc-imc,, ${PN}-plugin-tnc-imc ${PN}-plugin-tnc-tnccs" +PACKAGECONFIG[imc-test] = "--enable-imc-test,--disable-imc-test,," +PACKAGECONFIG[imc-scanner] = "--enable-imc-scanner,--disable-imc-scanner,," +PACKAGECONFIG[imc-os] = "--enable-imc-os,--disable-imc-os,," +PACKAGECONFIG[imc-attestation] = "--enable-imc-attestation,--disable-imc-attestation,," +PACKAGECONFIG[imc-swima] = "--enable-imc-swima, --disable-imc-swima, json-c," +PACKAGECONFIG[imc-hcd] = "--enable-imc-hcd, --disable-imc-hcd,," + +#imv set +PACKAGECONFIG[tnc-imv] = "--enable-tnc-imv,--disable-tnc-imv,, ${PN}-plugin-tnc-imv ${PN}-plugin-tnc-tnccs" +PACKAGECONFIG[imv-test] = "--enable-imv-test,--disable-imv-test,," +PACKAGECONFIG[imv-scanner] = "--enable-imv-scanner,--disable-imv-scanner,," +PACKAGECONFIG[imv-os] = "--enable-imv-os,--disable-imv-os,," +PACKAGECONFIG[imv-attestation] = "--enable-imv-attestation,--disable-imv-attestation,," +PACKAGECONFIG[imv-swima] = "--enable-imv-swima, --disable-imv-swima, json-c," +PACKAGECONFIG[imv-hcd] = "--enable-imv-hcd, --disable-imv-hcd,," + +PACKAGECONFIG[tnc-ifmap] = "--enable-tnc-ifmap,--disable-tnc-ifmap, libxml2, ${PN}-plugin-tnc-ifmap" +PACKAGECONFIG[tnc-pdp] = "--enable-tnc-pdp,--disable-tnc-pdp,, ${PN}-plugin-tnc-pdp" + +PACKAGECONFIG[tnccs-11] = "--enable-tnccs-11,--disable-tnccs-11,libxml2, ${PN}-plugin-tnccs-11" +PACKAGECONFIG[tnccs-20] = "--enable-tnccs-20,--disable-tnccs-20,, ${PN}-plugin-tnccs-20" +PACKAGECONFIG[tnccs-dynamic] = "--enable-tnccs-dynamic,--disable-tnccs-dynamic,,${PN}-plugin-tnccs-dynamic" + +inherit autotools systemd pkgconfig + +RRECOMMENDS:${PN} = "kernel-module-ah4 \ + kernel-module-esp4 \ + kernel-module-xfrm-user \ + " + +FILES:${PN} += "${libdir}/ipsec/lib*${SOLIBS}" +FILES:${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" +FILES:${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" +FILES:${PN}-staticdev += "${libdir}/ipsec/*.a" + +CONFFILES:${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" + +PACKAGES += "${PN}-plugins" +ALLOW_EMPTY:${PN}-plugins = "1" + +PACKAGE_BEFORE_PN = "${PN}-imcvs ${PN}-imcvs-dbg" +ALLOW_EMPTY:${PN}-imcvs = "1" + +FILES:${PN}-imcvs = "${libdir}/ipsec/imcvs/*.so" +FILES:${PN}-imcvs-dbg += "${libdir}/ipsec/imcvs/.debug" + +PACKAGES =+ "${PN}-nm ${PN}-nm-dbg" +FILES:${PN}-nm = "${libexecdir}/ipsec/charon-nm ${datadir}/dbus-1/system.d/nm-strongswan-service.conf" +FILES:${PN}-nm-dbg = "${libexecdir}/ipsec/.debug/charon-nm" + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*$" +NOAUTOPACKAGEDEBUG = "1" + +python split_strongswan_plugins () { + sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon') + libdir = d.expand('${libdir}/ipsec/plugins') + dbglibdir = os.path.join(libdir, '.debug') + + def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): + dvar = d.getVar('PKGD') + oldfiles = d.getVar('CONFFILES:' + pkg) + newfile = '/' + os.path.relpath(f, dvar) + + if not oldfiles: + d.setVar('CONFFILES:' + pkg, newfile) + else: + d.setVar('CONFFILES:' + pkg, oldfiles + " " + newfile) + + split_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True) + do_split_packages(d, sysconfdir, r'(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf) + + split_dbg_packages = do_split_packages(d, dbglibdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg') + split_dev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev') + split_staticdev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') + + if split_packages: + pn = d.getVar('PN') + d.setVar('RRECOMMENDS:' + pn + '-plugins', ' '.join(split_packages)) + d.appendVar('RRECOMMENDS:' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) + d.appendVar('RRECOMMENDS:' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) + d.appendVar('RRECOMMENDS:' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages)) +} + +PACKAGESPLITFUNCS:prepend = "split_strongswan_plugins " + +# Install some default plugins based on default strongSwan ./configure options +# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist +RDEPENDS:${PN} += "\ + ${PN}-plugin-attr \ + ${PN}-plugin-cmac \ + ${PN}-plugin-constraints \ + ${PN}-plugin-dnskey \ + ${PN}-plugin-drbg \ + ${PN}-plugin-kdf \ + ${PN}-plugin-kernel-netlink \ + ${PN}-plugin-nonce \ + ${PN}-plugin-pem \ + ${PN}-plugin-pgp \ + ${PN}-plugin-pkcs1 \ + ${PN}-plugin-pkcs7 \ + ${PN}-plugin-pkcs8 \ + ${PN}-plugin-pubkey \ + ${PN}-plugin-random \ + ${PN}-plugin-resolve \ + ${PN}-plugin-revocation \ + ${PN}-plugin-socket-default \ + ${PN}-plugin-sshkey \ + ${PN}-plugin-updown \ + ${PN}-plugin-vici \ + ${PN}-plugin-x509 \ + ${PN}-plugin-xauth-generic \ + ${PN}-plugin-xcbc \ + " + +RPROVIDES:${PN} += "${PN}-systemd" +RREPLACES:${PN} += "${PN}-systemd" +RCONFLICTS:${PN} += "${PN}-systemd" + +# The deprecated legacy 'strongswan-starter' service should only be used when charon and +# stroke are enabled. When swanctl is in use, 'strongswan.service' is needed. +# See: https://wiki.strongswan.org/projects/strongswan/wiki/Charon-systemd +SYSTEMD_SERVICE:${PN} = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'charon', '${BPN}-starter.service', '', d)} \ +" + +CVE_STATUS[CVE-2026-25075] = "fixed-version: fixed in 6.0.5" diff --git a/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch b/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch index 3520bf429e6..0e94a969c0c 100644 --- a/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch +++ b/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch @@ -1,4 +1,4 @@ -From e08b9760d319d0334f2aad02d32d791c8ebd8564 Mon Sep 17 00:00:00 2001 +From 08b1bf417be039b097fae25708861fe8184c739c Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Wed, 1 Nov 2017 09:23:41 -0400 Subject: [PATCH] stunnel: fix compile error when openssl disable des support @@ -17,10 +17,10 @@ Signed-off-by: Kai Kang 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/common.h b/src/common.h -index c2229d0..5eaee8c 100644 +index ada7ff7..8484144 100644 --- a/src/common.h +++ b/src/common.h -@@ -497,7 +497,9 @@ extern char *sys_errlist[]; +@@ -489,7 +489,9 @@ extern char *sys_errlist[]; #ifndef OPENSSL_NO_MD4 #include #endif /* !defined(OPENSSL_NO_MD4) */ @@ -29,9 +29,9 @@ index c2229d0..5eaee8c 100644 +#endif #ifndef OPENSSL_NO_DH #include - #if OPENSSL_VERSION_NUMBER<0x10100000L + #endif /* !defined(OPENSSL_NO_DH) */ diff --git a/src/protocol.c b/src/protocol.c -index c390a6f..7aca745 100644 +index cddc381..ae0f374 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -82,7 +82,7 @@ NOEXPORT void ldap_client_middle(CLI *); @@ -43,7 +43,7 @@ index c390a6f..7aca745 100644 NOEXPORT void ntlm(CLI *); NOEXPORT char *ntlm1(void); NOEXPORT char *ntlm3(char *, char *, char *, char *); -@@ -1391,7 +1391,7 @@ NOEXPORT void connect_client_middle(CLI *c) { +@@ -1392,7 +1392,7 @@ NOEXPORT void connect_client_middle(CLI *c) { fd_printf(c, c->remote_fd.fd, "Host: %s", c->opt->protocol_host); if(c->opt->protocol_username && c->opt->protocol_password) { if(!strcasecmp(c->opt->protocol_authentication, "ntlm")) { @@ -52,7 +52,7 @@ index c390a6f..7aca745 100644 ntlm(c); #else s_log(LOG_ERR, "NTLM authentication is not available"); -@@ -1434,7 +1434,7 @@ NOEXPORT void connect_client_middle(CLI *c) { +@@ -1435,7 +1435,7 @@ NOEXPORT void connect_client_middle(CLI *c) { str_free(line); } diff --git a/meta-networking/recipes-support/stunnel/stunnel_5.76.bb b/meta-networking/recipes-support/stunnel/stunnel_5.76.bb deleted file mode 100644 index dcd3d8cdf16..00000000000 --- a/meta-networking/recipes-support/stunnel/stunnel_5.76.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Program for providing universal TLS/SSL tunneling service" -DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server." -HOMEPAGE = "https://www.stunnel.org/" -SECTION = "net" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING.md;md5=1e4388407e163ad0cde171362f9a7b94" - -DEPENDS = "autoconf-archive libnsl2 openssl" - -SRC_URI = "https://stunnel.org/archive/5.x/${BP}.tar.gz \ - file://fix-openssl-no-des.patch \ -" - -SRC_URI[sha256sum] = "cda37eb4d0fb1e129718ed27ad77b5735e899394ce040bb2be28bbb937fd79e1" - -inherit autotools bash-completion pkgconfig - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)}" - -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" - -EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips" - -# When cross compiling, configure defaults to nobody, but provides no option to change it. -EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'" - -# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline -# syntax with stunnel >= 4.05 -PACKAGES =+ "stunnel3" -FILES:stunnel3 = "${bindir}/stunnel3" -RDEPENDS:stunnel3 += "${PN} perl" diff --git a/meta-networking/recipes-support/stunnel/stunnel_5.78.bb b/meta-networking/recipes-support/stunnel/stunnel_5.78.bb new file mode 100644 index 00000000000..1740ad41f28 --- /dev/null +++ b/meta-networking/recipes-support/stunnel/stunnel_5.78.bb @@ -0,0 +1,32 @@ +SUMMARY = "Program for providing universal TLS/SSL tunneling service" +DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server." +HOMEPAGE = "https://www.stunnel.org/" +SECTION = "net" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING.md;md5=df2a0f88c5d5e3ebce922682a7b598ec" + +DEPENDS = "autoconf-archive libnsl2 openssl" + +SRC_URI = "https://stunnel.org/archive/5.x/${BP}.tar.gz \ + file://fix-openssl-no-des.patch \ +" + +SRC_URI[sha256sum] = "8727e53bb8b7528f850327a2a149158422c02183bc120d1d733cc65b1e2c349d" + +inherit autotools bash-completion pkgconfig + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)}" + +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + +EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips" + +# When cross compiling, configure defaults to nobody, but provides no option to change it. +EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'" + +# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline +# syntax with stunnel >= 4.05 +PACKAGES =+ "stunnel3" +FILES:stunnel3 = "${bindir}/stunnel3" +RDEPENDS:stunnel3 += "${PN} perl" diff --git a/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2025-63938.patch b/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2025-63938.patch deleted file mode 100644 index e06e0d3eae9..00000000000 --- a/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2025-63938.patch +++ /dev/null @@ -1,43 +0,0 @@ -From cee659d2ac1e4e9d1ce388338f46df6c4bae8278 Mon Sep 17 00:00:00 2001 -From: Gyorgy Sarvari -Date: Fri, 17 Oct 2025 22:57:39 +0000 -Subject: [PATCH] reqs: fix integer overflow in port number processing - -From: rofl0r - -closes #586 - -CVE: CVE-2025-63938 -Upstream-Status: Backport [https://github.com/tinyproxy/tinyproxy/commit/3c0fde94981b025271ffa1788ae425257841bf5a] -Signed-off-by: Gyorgy Sarvari ---- - src/reqs.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/src/reqs.c b/src/reqs.c -index a65ed54..1e5895c 100644 ---- a/src/reqs.c -+++ b/src/reqs.c -@@ -174,7 +174,7 @@ static int strip_return_port (char *host) - { - char *ptr1; - char *ptr2; -- int port; -+ unsigned port; - - ptr1 = strrchr (host, ':'); - if (ptr1 == NULL) -@@ -186,8 +186,11 @@ static int strip_return_port (char *host) - return 0; - - *ptr1++ = '\0'; -- if (sscanf (ptr1, "%d", &port) != 1) /* one conversion required */ -- return 0; -+ -+ port = atoi(ptr1); -+ /* check that port string is in the valid range 1-0xffff) */ -+ if(strlen(ptr1) > 5 || (port & 0xffff0000)) return 0; -+ - return port; - } - diff --git a/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2026-3945-1.patch b/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2026-3945-1.patch new file mode 100644 index 00000000000..99c4ea705db --- /dev/null +++ b/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2026-3945-1.patch @@ -0,0 +1,29 @@ +From 245946bb789c8fc0e4758c344f735a5d53827dce Mon Sep 17 00:00:00 2001 +From: rofl0r +Date: Thu, 12 Mar 2026 14:26:24 +0000 +Subject: [PATCH] reqs: check negative length values when reading chunked data + +this could lead to a DoS when a legitimate client reads from an +attacker-controlled web server. + +closes #597 + +CVE: CVE-2026-3945 +Upstream-Status: Backport [https://github.com/tinyproxy/tinyproxy/commit/969852ccdb1d19d7ed302f0e1d324661be641e0a] +Signed-off-by: Gyorgy Sarvari +--- + src/reqs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/reqs.c b/src/reqs.c +index a562c68..94ce767 100644 +--- a/src/reqs.c ++++ b/src/reqs.c +@@ -613,6 +613,7 @@ static int pull_client_data_chunked (struct conn_s *connptr) { + } + + chunklen = strtol (buffer, (char**)0, 16); ++ if (chunklen < 0) goto ERROR_EXIT; + + if (pull_client_data (connptr, chunklen+2, 0) < 0) + goto ERROR_EXIT; diff --git a/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2026-3945-2.patch b/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2026-3945-2.patch new file mode 100644 index 00000000000..3da30b54eb1 --- /dev/null +++ b/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2026-3945-2.patch @@ -0,0 +1,31 @@ +From 8f12872b8e50fe22be0a65ead260ebbedde905cd Mon Sep 17 00:00:00 2001 +From: rofl0r +Date: Sun, 29 Mar 2026 16:48:54 +0200 +Subject: [PATCH] reqs: prevent potential int overflow when parsing chunked + data (#603) + +follow-up to 969852ccdb1d19d7ed302f0e1d324661be641e0a + +closes #602 + +CVE: CVE-2026-3945 +Upstream-Status: Backport [https://github.com/tinyproxy/tinyproxy/commit/bb7edc4778041b3bc8ad7fca448b67d98039cc7d] +Signed-off-by: Gyorgy Sarvari +--- + src/reqs.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/reqs.c b/src/reqs.c +index 94ce767..7aacfd3 100644 +--- a/src/reqs.c ++++ b/src/reqs.c +@@ -613,7 +613,8 @@ static int pull_client_data_chunked (struct conn_s *connptr) { + } + + chunklen = strtol (buffer, (char**)0, 16); +- if (chunklen < 0) goto ERROR_EXIT; ++ /* prevent negative or huge values causing overflow */ ++ if (chunklen < 0 || chunklen > 0x0fffffff) goto ERROR_EXIT; + + if (pull_client_data (connptr, chunklen+2, 0) < 0) + goto ERROR_EXIT; diff --git a/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch b/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch deleted file mode 100644 index faefd1d4ea7..00000000000 --- a/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch +++ /dev/null @@ -1,61 +0,0 @@ -From b71eb384522b5ce4629dee6e8be257fb4880fef3 Mon Sep 17 00:00:00 2001 -From: Benjamin Gaignard -Date: Thu, 20 Apr 2017 14:25:18 +0200 - ---- -Upstream-Status: Pending - - Makefile.am | 1 - - configure.ac | 17 ----------------- - 2 files changed, 18 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 4a3ead6..a12cb98 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2,7 +2,6 @@ SUBDIRS = \ - src \ - data \ - etc \ -- docs \ - m4macros \ - tests \ - scripts -diff --git a/configure.ac b/configure.ac -index 3849383..9f3a633 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -179,18 +179,6 @@ AC_SUBST(CPPFLAGS) - AC_SUBST(LIBS) - AC_SUBST(ADDITIONAL_OBJECTS) - --if test x"$manpage_support_enabled" = x"yes"; then --AC_PATH_PROG(POD2MAN, pod2man, no) -- --if test "x$POD2MAN" = "xno" && \ -- ! test -e docs/man5/tinyproxy.conf.5 -a -e docs/man8/tinyproxy.8 ; then --AC_MSG_ERROR([ -- manpage generation requested, but neither pod2man -- nor pre-generated manpages found. -- Use --disable-manpage-support if you want to compile anyway.]) --fi --fi #manpage_support_enabled -- - AM_CONDITIONAL(HAVE_POD2MAN, test "x$POD2MAN" != "x" -a "x$POD2MAN" != "xno") - - AC_PATH_PROG(GPERF, gperf, no) -@@ -216,11 +204,6 @@ src/Makefile - data/Makefile - data/templates/Makefile - etc/Makefile --docs/Makefile --docs/man5/Makefile --docs/man5/tinyproxy.conf.txt --docs/man8/Makefile --docs/man8/tinyproxy.txt - m4macros/Makefile - tests/Makefile - tests/scripts/Makefile --- -2.25.1 - diff --git a/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.2.bb b/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.2.bb deleted file mode 100644 index 222cc8d7c65..00000000000 --- a/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.2.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Lightweight http(s) proxy daemon" -HOMEPAGE = "https://tinyproxy.github.io/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.gz \ - file://disable-documentation.patch \ - file://tinyproxy.service \ - file://tinyproxy.conf \ - file://run-ptest \ - file://CVE-2025-63938.patch \ - " - -SRC_URI[sha256sum] = "2c8fe5496f2c642bfd189020504ab98d74b9edbafcdb94d9f108e157b5bdf96d" - -UPSTREAM_CHECK_URI = "https://github.com/tinyproxy/tinyproxy/releases" - -EXTRA_OECONF += " \ - --enable-filter \ - --enable-transparent \ - --enable-reverse \ - --enable-upstream \ - --enable-xtinyproxy \ - " - -inherit autotools systemd useradd ptest - -#User specific -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home /dev/null \ - --no-user-group --gid nogroup tinyproxy" - -SYSTEMD_PACKAGES += "${BPN}" -SYSTEMD_SERVICE:${PN} = "tinyproxy.service" -SYSTEMD_AUTO_ENABLE:${PN} = "enable" - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/tinyproxy.service ${D}${systemd_system_unitdir} - fi - install -m 0644 ${UNPACKDIR}/tinyproxy.conf ${D}${sysconfdir}/tinyproxy.conf -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests/scripts - install -d ${D}${PTEST_PATH}/data/templates - install ${S}/tests/scripts/*.sh ${D}${PTEST_PATH}/tests/scripts - install ${S}/tests/scripts/*.pl ${D}${PTEST_PATH}/tests/scripts - install -m 0644 ${S}/data/templates/*.html ${D}${PTEST_PATH}/data/templates/ - # test the installed binary, not the one that was just compiled in the src folder - sed -i 's,TINYPROXY_BIN=.*,TINYPROXY_BIN=tinyproxy,' ${D}${PTEST_PATH}/tests/scripts/run_tests.sh -} - -RDEPENDS:${PN}-ptest += "\ - perl \ - perl-module-cwd \ - perl-module-encode-encoding \ - perl-module-file-spec \ - perl-module-getopt-long \ - perl-module-io-socket \ - perl-module-io-socket-inet \ - perl-module-pod-text \ - perl-module-posix \ - procps \ -" diff --git a/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.3.bb b/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.3.bb new file mode 100644 index 00000000000..56e32960668 --- /dev/null +++ b/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.3.bb @@ -0,0 +1,67 @@ +SUMMARY = "Lightweight http(s) proxy daemon" +HOMEPAGE = "https://tinyproxy.github.io/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.gz \ + file://tinyproxy.service \ + file://tinyproxy.conf \ + file://run-ptest \ + file://CVE-2026-3945-1.patch \ + file://CVE-2026-3945-2.patch \ + " + +SRC_URI[sha256sum] = "9bcf46db1a2375ff3e3d27a41982f1efec4706cce8899ff9f33323a8218f7592" + +UPSTREAM_CHECK_URI = "https://github.com/tinyproxy/tinyproxy/releases" + +EXTRA_OECONF += " \ + --enable-filter \ + --enable-transparent \ + --enable-reverse \ + --enable-upstream \ + --enable-xtinyproxy \ + --enable-manpage_support=no \ + " + +inherit autotools systemd useradd ptest + +#User specific +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --home /dev/null \ + --no-user-group --gid nogroup tinyproxy" + +SYSTEMD_PACKAGES += "${BPN}" +SYSTEMD_SERVICE:${PN} = "tinyproxy.service" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/tinyproxy.service ${D}${systemd_system_unitdir} + fi + install -m 0644 ${UNPACKDIR}/tinyproxy.conf ${D}${sysconfdir}/tinyproxy.conf +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests/scripts + install -d ${D}${PTEST_PATH}/data/templates + install ${S}/tests/scripts/*.sh ${D}${PTEST_PATH}/tests/scripts + install ${S}/tests/scripts/*.pl ${D}${PTEST_PATH}/tests/scripts + install -m 0644 ${S}/data/templates/*.html ${D}${PTEST_PATH}/data/templates/ + # test the installed binary, not the one that was just compiled in the src folder + sed -i 's,TINYPROXY_BIN=.*,TINYPROXY_BIN=tinyproxy,' ${D}${PTEST_PATH}/tests/scripts/run_tests.sh +} + +RDEPENDS:${PN}-ptest += "\ + perl \ + perl-module-cwd \ + perl-module-encode-encoding \ + perl-module-file-spec \ + perl-module-getopt-long \ + perl-module-io-socket \ + perl-module-io-socket-inet \ + perl-module-pod-text \ + perl-module-posix \ + procps \ +" diff --git a/meta-networking/recipes-support/tnftp/tnftp_20230507.bb b/meta-networking/recipes-support/tnftp/tnftp_20230507.bb deleted file mode 100644 index 4ab694fbbae..00000000000 --- a/meta-networking/recipes-support/tnftp/tnftp_20230507.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Enhanced NetBSD ftp client" -DESCRIPTION = "tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client \ -to other systems. It offers many enhancements over the traditional \ -BSD FTP client, including command-line editing, command-line fetches \ -of FTP and HTTP URLs (including via proxies), command-line uploads of \ -FTP URLs, context-sensitive word completion, dynamic progress bar, \ -IPv6 support, modification time preservation, paging of local and \ -remote files, passive mode support (with fallback to active mode), \ -SOCKS support, TIS FWTK gate-ftp server support, and transfer rate \ -throttling." - -SECTION = "net" -LICENSE = "BSD-2-Clause" - -DEPENDS = "ncurses" - -SRC_URI = "https://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \ - file://0001-libedit-Include-missing-header-stdc-predef.h.patch \ - file://0001-Add-casts-to-appease-conversions-between-wchar_t-and.patch \ - file://0002-Add-casts-to-appease-conversions-between-wchar_t-and.patch \ -" - -inherit autotools update-alternatives pkgconfig - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE:${PN} = "ftp" -ALTERNATIVE_LINK_NAME[ftp] = "${bindir}/ftp" -ALTERNATIVE_TARGET[ftp] = "${bindir}/tnftp" - -FILES:${PN} = "${bindir}/tnftp" - -LIC_FILES_CHKSUM = "file://COPYING;md5=fbbb944979c7466ed5509b4bbc6c328b" -SRC_URI[sha256sum] = "be0134394bd7d418a3b34892b0709eeb848557e86474e1786f0d1a887d3a6580" - -PACKAGECONFIG ?= "openssl \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta-networking/recipes-support/tnftp/tnftp_20260211.bb b/meta-networking/recipes-support/tnftp/tnftp_20260211.bb new file mode 100644 index 00000000000..70123eaa863 --- /dev/null +++ b/meta-networking/recipes-support/tnftp/tnftp_20260211.bb @@ -0,0 +1,41 @@ +SUMMARY = "Enhanced NetBSD ftp client" +DESCRIPTION = "tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client \ +to other systems. It offers many enhancements over the traditional \ +BSD FTP client, including command-line editing, command-line fetches \ +of FTP and HTTP URLs (including via proxies), command-line uploads of \ +FTP URLs, context-sensitive word completion, dynamic progress bar, \ +IPv6 support, modification time preservation, paging of local and \ +remote files, passive mode support (with fallback to active mode), \ +SOCKS support, TIS FWTK gate-ftp server support, and transfer rate \ +throttling." +HOMEPAGE = "https://en.wikipedia.org/wiki/Tnftp" + +SECTION = "net" +LICENSE = "BSD-2-Clause" + +DEPENDS = "ncurses" + +SRC_URI = "https://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \ + file://0001-libedit-Include-missing-header-stdc-predef.h.patch \ + file://0001-Add-casts-to-appease-conversions-between-wchar_t-and.patch \ + file://0002-Add-casts-to-appease-conversions-between-wchar_t-and.patch \ +" + +inherit autotools update-alternatives pkgconfig + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE:${PN} = "ftp" +ALTERNATIVE_LINK_NAME[ftp] = "${bindir}/ftp" +ALTERNATIVE_TARGET[ftp] = "${bindir}/tnftp" + +FILES:${PN} = "${bindir}/tnftp" + +LIC_FILES_CHKSUM = "file://COPYING;md5=a78330785e3081e1679266f0ba58c555" +SRC_URI[sha256sum] = "101cda6927e5de4338ad9d4b264304d7d15d6a78b435968a7b95093e0a2efe03" + +PACKAGECONFIG ?= "openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta-networking/recipes-support/tunctl/tunctl/makefile-add-ldflags.patch b/meta-networking/recipes-support/tunctl/tunctl/makefile-add-ldflags.patch index c96f538d2dd..45fbb68b700 100644 --- a/meta-networking/recipes-support/tunctl/tunctl/makefile-add-ldflags.patch +++ b/meta-networking/recipes-support/tunctl/tunctl/makefile-add-ldflags.patch @@ -1,14 +1,21 @@ Add LDFLAGS variable to Makefile, make sure the extra linker flags can be passed. -Upstream-Status: Pending +Upstream-Status: Inactive-Upstream [last change: 2013-03-22] Signed-off-by: Yi Zhao -diff --git a/Makefile b/Makefile -index a0aa7f6..d6ce2c7 100644 --- a/Makefile +++ b/Makefile -@@ -14,7 +14,7 @@ MAN_DIR ?= /usr/share/man/man$(MANS) +@@ -6,7 +6,7 @@ MAN = $(PACKAGE).$(MANS) + + DIST = Makefile $(PACKAGE).spec $(PACKAGE).c $(PACKAGE).sgml ChangeLog + +-CFLAGS = -g -Wall ++CFLAGS ?= -g -Wall + + BIN_DIR ?= /usr/sbin + MAN_DIR ?= /usr/share/man/man$(MANS) +@@ -14,12 +14,12 @@ MAN_DIR ?= /usr/share/man/man$(MANS) all : $(BIN) $(MAN) $(BIN) : $(BIN).c @@ -17,3 +24,9 @@ index a0aa7f6..d6ce2c7 100644 $(MAN) : $(PACKAGE).sgml docbook2man $(PACKAGE).sgml + +-clean : ++clean : + rm -f $(BIN) $(OBJS) $(MAN) *~ manpage.* + + install : $(BIN) $(MAN) diff --git a/meta-networking/recipes-support/udpcast/udpcast/0001-include-stddef.h-for-ptrdiff_t.patch b/meta-networking/recipes-support/udpcast/udpcast/0001-include-stddef.h-for-ptrdiff_t.patch index 3255a3fad0f..244c6f5922f 100644 --- a/meta-networking/recipes-support/udpcast/udpcast/0001-include-stddef.h-for-ptrdiff_t.patch +++ b/meta-networking/recipes-support/udpcast/udpcast/0001-include-stddef.h-for-ptrdiff_t.patch @@ -5,7 +5,7 @@ Subject: [PATCH 1/1] include stddef.h for ptrdiff_t This fixes compilation with musl. -Upstream-Status: Pending +Upstream-Status: Submitted [https://udpcast.linux.lu/mailman3/hyperkitty/list/udpcast@udpcast.linux.lu/thread/2WTDPJNR6WGDO3PGCEC2J7RSJWETDCXW/] Signed-off-by: Enguerrand de Ribaucourt --- diff --git a/meta-networking/recipes-support/wavemon/wavemon_0.9.6.bb b/meta-networking/recipes-support/wavemon/wavemon_0.9.6.bb deleted file mode 100644 index 4857c0af4f6..00000000000 --- a/meta-networking/recipes-support/wavemon/wavemon_0.9.6.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "wavemon is a wireless device monitoring application" -HOMEPAGE = "https://github.com/uoaerg/wavemon" -DESCRIPTION = "wavemon is a wireless device monitoring application that \ - allows you to watch signal and noise levels, packet \ - statistics, device configuration and network parameters of \ - your wireless network hardware." - -LICENSE = "GPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" - -PACKAGECONFIG ??= "cap" -PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap" - -DEPENDS = "libnl ncurses" - -SRC_URI = "git://github.com/uoaerg/wavemon;branch=master;protocol=https" -SRCREV = "8ba6604027c0aa5131070e3fafdcda323d58a7ad" - -# Needs some help to find libnl3 headers. -# Reorder -pthread flag on the command line. -EXTRA_OEMAKE = "\ - CC='${CC}' CFLAGS='${CFLAGS} -pthread -I${STAGING_INCDIR}/libnl3' \ -" - - -# wavemon does not support using out-of-tree builds -inherit autotools-brokensep pkgconfig diff --git a/meta-networking/recipes-support/wavemon/wavemon_0.9.7.bb b/meta-networking/recipes-support/wavemon/wavemon_0.9.7.bb new file mode 100644 index 00000000000..e9786207f5c --- /dev/null +++ b/meta-networking/recipes-support/wavemon/wavemon_0.9.7.bb @@ -0,0 +1,27 @@ +SUMMARY = "wavemon is a wireless device monitoring application" +HOMEPAGE = "https://github.com/uoaerg/wavemon" +DESCRIPTION = "wavemon is a wireless device monitoring application that \ + allows you to watch signal and noise levels, packet \ + statistics, device configuration and network parameters of \ + your wireless network hardware." + +LICENSE = "GPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +PACKAGECONFIG ??= "cap" +PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap" + +DEPENDS = "libnl ncurses" + +SRC_URI = "git://github.com/uoaerg/wavemon;branch=master;protocol=https;tag=v${PV}" +SRCREV = "fb158b047c39af62b6627fc7e6c16e5017681d8f" + +# Needs some help to find libnl3 headers. +# Reorder -pthread flag on the command line. +EXTRA_OEMAKE = "\ + CC='${CC}' CFLAGS='${CFLAGS} -pthread -I${STAGING_INCDIR}/libnl3' \ +" + + +# wavemon does not support using out-of-tree builds +inherit autotools-brokensep pkgconfig diff --git a/meta-networking/recipes-support/wireshark/wireshark_4.6.3.bb b/meta-networking/recipes-support/wireshark/wireshark_4.6.3.bb deleted file mode 100644 index baf3af925dd..00000000000 --- a/meta-networking/recipes-support/wireshark/wireshark_4.6.3.bb +++ /dev/null @@ -1,105 +0,0 @@ -DESCRIPTION = "wireshark - a popular network protocol analyzer" -HOMEPAGE = "http://www.wireshark.org" -SECTION = "net" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=570a9b3749dd0463a1778803b12a6dce" - -DEPENDS = "pcre2 expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares speexdsp virtual/libiconv" - -DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native " - -SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz \ - file://0001-wireshark-src-improve-reproducibility.patch \ - file://0002-flex-Remove-line-directives.patch \ - file://0004-lemon-Remove-line-directives.patch \ - file://0001-UseLemon.cmake-do-not-use-lemon-data-from-the-host.patch \ - " - -SRC_URI:append:class-native = " file://0001-don-t-look-for-iconv.h-for-native-build.patch" - -UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src/all-versions" - -SRC_URI[sha256sum] = "9fa6a745df8540899dc9d433e4634d6755371ff87bd722ce04c7d7b0132d9af3" - -PE = "1" - -inherit cmake pkgconfig python3native python3targetconfig perlnative upstream-version-is-even mime mime-xdg - -PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" - -PACKAGECONFIG:class-native = "libpcap gnutls ssl libssh" - -PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" -PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" -PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" -PACKAGECONFIG[libnl] = ",,libnl" -PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" -PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" -PACKAGECONFIG[ssl] = ",,openssl" -PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" -PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" -PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" -PACKAGECONFIG[geoip] = ",, geoip" -PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" -PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" -PACKAGECONFIG[libssh] = "-DENABLE_LIBSSH=ON,-DENABLE_LIBSSH=OFF, libssh2" -PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" -PACKAGECONFIG[zstd] = "-DENABLE_ZSTD=ON,-DENABLE_ZSTD=OFF, zstd" -PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2" - -# these next two options require addional layers -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON -DUSE_qt6=OFF, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" - -inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ - -DBUILD_mmdbresolve=OFF \ - -DBUILD_randpktdump=OFF \ - -DBUILD_androiddump=OFF \ - -DBUILD_dcerpcidl2wrs=OFF \ - -DM_INCLUDE_DIR=${includedir} \ - -DM_LIBRARY=${libdir} \ - " - -# use lemon from ${PN}-native, instead of cross-compiled or host versions -EXTRA_OECMAKE:append:class-target = " -DLEMON_EXECUTABLE=${STAGING_BINDIR_NATIVE}/lemon" -CFLAGS:append = " -lm" - -do_compile:append:class-target() { - # Fix TMPDIR, these are in the comments section - sed -i -e "s:** source file.*::g" ${B}/wiretap/ascend_parser.c - sed -i -e "s:** source file.*::g" ${B}/wiretap/busmaster_parser.c - sed -i -e "s:** source file.*::g" ${B}/epan/protobuf_lang_parser.c - sed -i -e "s:** source file.*::g" ${B}/epan/dfilter/grammar.c - if [ -f "${B}/plugins/epan/mate/mate_grammar.c" ]; then - sed -i -e 's:** source file.*::g' "${B}/plugins/epan/mate/mate_grammar.c" - fi -} - -do_install:append:class-native() { - install -d ${D}${bindir} - for f in lemon - do - install -m 0755 ${B}/run/$f ${D}${bindir} - done -} - -do_install:append:class-target() { - for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` - do - chrpath --delete $f - done - - # We don't need the cmake files installed - rm -fr ${D}${usrlib}/${BPN}/cmake -} - -PACKAGE_BEFORE_PN += "tshark" - -FILES:tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" - -FILES:${PN} += "${datadir}*" - -RDEPENDS:tshark = "wireshark" - -BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-support/wireshark/wireshark_4.6.4.bb b/meta-networking/recipes-support/wireshark/wireshark_4.6.4.bb new file mode 100644 index 00000000000..7ecad4eda80 --- /dev/null +++ b/meta-networking/recipes-support/wireshark/wireshark_4.6.4.bb @@ -0,0 +1,117 @@ +DESCRIPTION = "wireshark - a popular network protocol analyzer" +HOMEPAGE = "http://www.wireshark.org" +SECTION = "net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=570a9b3749dd0463a1778803b12a6dce" + +DEPENDS = "\ + bison-native \ + c-ares \ + expat \ + glib-2.0 \ + glib-2.0-native \ + libgcrypt libgpg-error \ + libxml2 \ + pcre2 \ + speexdsp \ + virtual/libiconv \ + xxhash \ +" + +DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native " + +SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz \ + file://0001-wireshark-src-improve-reproducibility.patch \ + file://0002-flex-Remove-line-directives.patch \ + file://0004-lemon-Remove-line-directives.patch \ + file://0001-UseLemon.cmake-do-not-use-lemon-data-from-the-host.patch \ + " + +SRC_URI:append:class-native = " file://0001-don-t-look-for-iconv.h-for-native-build.patch" + +UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src/all-versions" + +SRC_URI[sha256sum] = "fbeab3d85c6c8a5763c8d9b7fe20b5c69ca9f9e7f2b824bedc73135bdca332e2" + +PE = "1" + +inherit cmake pkgconfig python3native python3targetconfig perlnative upstream-version-is-even mime mime-xdg + +PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" + +PACKAGECONFIG:class-native = "libpcap gnutls ssl libssh" + +PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" +PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" +PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" +PACKAGECONFIG[libnl] = ",,libnl" +PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" +PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" +PACKAGECONFIG[ssl] = ",,openssl" +PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" +PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" +PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" +PACKAGECONFIG[geoip] = ",, geoip" +PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" +PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" +PACKAGECONFIG[libssh] = "-DENABLE_LIBSSH=ON,-DENABLE_LIBSSH=OFF, libssh2" +PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" +PACKAGECONFIG[zstd] = "-DENABLE_ZSTD=ON,-DENABLE_ZSTD=OFF, zstd" +PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2" + +# these next two options require addional layers +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON -DUSE_qt6=OFF, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" + +inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ + -DBUILD_mmdbresolve=OFF \ + -DBUILD_randpktdump=OFF \ + -DBUILD_androiddump=OFF \ + -DBUILD_dcerpcidl2wrs=OFF \ + -DM_INCLUDE_DIR=${includedir} \ + -DM_LIBRARY=${libdir} \ + " + +# use lemon from ${PN}-native, instead of cross-compiled or host versions +EXTRA_OECMAKE:append:class-target = " -DLEMON_EXECUTABLE=${STAGING_BINDIR_NATIVE}/lemon" +CFLAGS:append = " -lm" + +do_compile:append:class-target() { + # Fix TMPDIR, these are in the comments section + sed -i -e "s:** source file.*::g" ${B}/wiretap/ascend_parser.c + sed -i -e "s:** source file.*::g" ${B}/wiretap/busmaster_parser.c + sed -i -e "s:** source file.*::g" ${B}/epan/protobuf_lang_parser.c + sed -i -e "s:** source file.*::g" ${B}/epan/dfilter/grammar.c + if [ -f "${B}/plugins/epan/mate/mate_grammar.c" ]; then + sed -i -e 's:** source file.*::g' "${B}/plugins/epan/mate/mate_grammar.c" + fi +} + +do_install:append:class-native() { + install -d ${D}${bindir} + for f in lemon + do + install -m 0755 ${B}/run/$f ${D}${bindir} + done +} + +do_install:append:class-target() { + for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` + do + chrpath --delete $f + done + + # We don't need the cmake files installed + rm -fr ${D}${usrlib}/${BPN}/cmake +} + +PACKAGE_BEFORE_PN += "tshark" + +FILES:tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" + +FILES:${PN} += "${datadir}*" + +RDEPENDS:tshark = "wireshark" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/classes/signing.bbclass b/meta-oe/classes/signing.bbclass index b35184398a4..a9f657feb6b 100644 --- a/meta-oe/classes/signing.bbclass +++ b/meta-oe/classes/signing.bbclass @@ -19,7 +19,7 @@ # build system level, this class takes the approach of always using PKCS #11 at # the recipe level. For cases where the keys are available as files (i.e. test # keys in CI), they are imported into SoftHSM (a HSM emulation library). -# +# # Recipes access the available keys via a specific role. So, depending on # whether we're building during development or for release, a given role can # refer to different keys. @@ -33,7 +33,7 @@ # SIGNING_PKCS11_MODULE[fit] = "/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so" # # Examples for defining roles and importing keys: -# +# # meta-code-signing/recipes-security/signing-keys/dummy-rsa-key-native.bb # meta-code-signing-demo/recipes-security/ptx-dev-keys/ptx-dev-keys-native_git.bb # @@ -54,7 +54,7 @@ SIGNING_PKCS11_URI ?= "" SIGNING_PKCS11_MODULE ?= "" -DEPENDS += "softhsm-native libp11-native opensc-native openssl-native extract-cert-native" +DEPENDS += "softhsm-native pkcs11-provider-native libp11-native opensc-native openssl-native extract-cert-native" def signing_class_prepare(d): import os.path @@ -338,16 +338,10 @@ signing_import_install() { signing_prepare() { export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules" export OPENSSL_ENGINES="${STAGING_LIBDIR_NATIVE}/engines-3" - export OPENSSL_CONF="${STAGING_LIBDIR_NATIVE}/ssl-3/openssl.cnf" + export OPENSSL_CONF="${STAGING_LIBDIR_NATIVE}/openssl-provider-signing.cnf" export SSL_CERT_DIR="${STAGING_LIBDIR_NATIVE}/ssl-3/certs" export SSL_CERT_FILE="${STAGING_LIBDIR_NATIVE}/ssl-3/cert.pem" - if [ -f ${OPENSSL_CONF} ]; then - echo "Using '${OPENSSL_CONF}' for OpenSSL configuration" - else - echo "Missing 'openssl.cnf' at '${STAGING_ETCDIR_NATIVE}/ssl'" - return 1 - fi if [ -d ${OPENSSL_MODULES} ]; then echo "Using '${OPENSSL_MODULES}' for OpenSSL run-time modules" else @@ -367,6 +361,26 @@ signing_prepare() { echo "directories.tokendir = $SOFTHSM2_DIR" > "$SOFTHSM2_CONF" echo "objectstore.backend = db" >> "$SOFTHSM2_CONF" + cat > "${OPENSSL_CONF}" < +# +# Wrap the role's pkcs11: URI in a PEM file. +# The resulting file can be used instead of the URI returned by +# 'signing_get_uri $role' with applications which do not yet support the +# OSSL_STORE for native access to the PKCS#11 provider. +signing_create_uri_pem() { + local role="${1}" + local output="${2}" + local conf="${output}.cnf" + local der="${output}.der" + + local uri="$(signing_get_uri $role)" + + echo "Wrapping PKCS#11 URI for role '$role' as '${output}'" + + # The \# escape prevents OpenSSL's config parser treating # as a comment. + cat > "${conf}" < "${output}" +} + python () { signing_class_prepare(d) } diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc index 4de602ac1cc..528ce16191c 100644 --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc @@ -13,6 +13,7 @@ PTESTS_FAST_META_OE = "\ cjson \ cli11 \ cmocka \ + conserver \ cunit \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'dbus-broker', '', d)} \ duktape \ @@ -51,15 +52,14 @@ PTESTS_FAST_META_OE = "\ onig \ oprofile \ pegtl \ - protobuf \ pv \ sdbus-c++ \ tomlplusplus \ uriparser \ utf8proc \ uthash \ - xmlsec1 \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'xrdp', '', d)} \ + xdg-dbus-proxy \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam x11', 'xrdp', '', d)} \ zeromq \ " PTESTS_FAST_META_OE:append:x86 = " mcelog" @@ -74,10 +74,13 @@ PTESTS_SLOW_META_OE = "\ c-ares \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'freerdp', '', d)} \ fftw \ + jsoncpp \ libusb-compat \ mariadb \ + postgresql \ re2 \ rocksdb \ + tbb \ " PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest" PTESTS_SLOW_META_OE:append:x86-64 = " kernel-selftest" diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 186ff9a488a..78df6e3c03a 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -48,7 +48,7 @@ LAYERVERSION_openembedded-layer = "1" LAYERDEPENDS_openembedded-layer = "core" -LAYERSERIES_COMPAT_openembedded-layer = "walnascar whinlatter" +LAYERSERIES_COMPAT_openembedded-layer = "whinlatter wrynose" LICENSE_PATH += "${LAYERDIR}/licenses" @@ -120,7 +120,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ DEFAULT_TEST_SUITES:pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}" -NON_MULTILIB_RECIPES:append = " crash pahole libbpf bpftrace bpftool" +NON_MULTILIB_RECIPES:append = " crash pahole libbpf bpftrace bpftool bcc" NON_MULTILIB_RECIPES:remove:x86 = "libbpf" NON_MULTILIB_RECIPES:remove:x86-64 = "libbpf" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-do-not-use-Werror.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-do-not-use-Werror.patch index 663a80ecdef..8d5c3da7c0a 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-do-not-use-Werror.patch +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-do-not-use-Werror.patch @@ -1,4 +1,4 @@ -From 668ee79f39614ad758edd44c42b8b0eff57877cf Mon Sep 17 00:00:00 2001 +From 3790a098f4905cd330234fc4d18b4d4536b360bf Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Sun, 3 Oct 2021 21:52:16 +0200 Subject: [PATCH] meson.build: do not use -Werror @@ -12,7 +12,7 @@ Signed-off-by: Yi Zhao 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index 30f33fe2..0b214795 100644 +index 6f517b5a..2ecb7f5d 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project('netplan', 'c', @@ -22,8 +22,8 @@ index 30f33fe2..0b214795 100644 - 'werror=true', + 'werror=false', ], - meson_version: '>= 0.61.0', + meson_version: '>= 1.3.0', ) -- -2.25.1 +2.34.1 diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.1.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.1.2.bb deleted file mode 100644 index ef1945b4fee..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.1.2.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "The network configuration abstraction renderer" -DESCRIPTION = "Netplan is a utility for easily configuring networking on a \ -linux system. You simply create a YAML description of the required network \ -interfaces and what each should be configured to do. From this description \ -Netplan will generate all the necessary configuration for your chosen renderer \ -tool." -HOMEPAGE = "https://netplan.io" -SECTION = "net/misc" - -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -inherit meson pkgconfig systemd python3targetconfig features_check - -REQUIRED_DISTRO_FEATURES = "systemd" - -SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=stable/1.1;protocol=https \ - file://0001-meson.build-do-not-use-Werror.patch \ - " - -SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" - -SRCREV = "01045f683b9419beb90119497cd1b2be44e83b8e" - - -DEPENDS = "glib-2.0 libyaml util-linux-libuuid \ - systemd python3-cffi-native \ - " - -EXTRA_OEMESON = "-Dtesting=false -Dunit_testing=false" - -RDEPENDS:${PN} = "python3-core python3-netifaces python3-pyyaml \ - python3-dbus python3-rich python3-cffi \ - python3-json python3-fcntl \ - util-linux-libuuid libnetplan \ - " - -do_install:append() { - install -d -m 755 ${D}${sysconfdir}/netplan -} - -PACKAGES += "${PN}-dbus libnetplan" - -FILES:libnetplan = "${libdir}/libnetplan.so.*" -FILES:${PN} = "${sbindir} ${libexecdir}/netplan/generate \ - ${datadir}/netplan ${datadir}/bash-completion \ - ${systemd_unitdir} ${PYTHON_SITEPACKAGES_DIR} \ - ${sysconfdir}/netplan \ - " -FILES:${PN}-dbus = "${libexecdir}/netplan/netplan-dbus ${datadir}/dbus-1" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.2.1.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.2.1.bb new file mode 100644 index 00000000000..22159dbcabc --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.2.1.bb @@ -0,0 +1,51 @@ +SUMMARY = "The network configuration abstraction renderer" +DESCRIPTION = "Netplan is a utility for easily configuring networking on a \ +linux system. You simply create a YAML description of the required network \ +interfaces and what each should be configured to do. From this description \ +Netplan will generate all the necessary configuration for your chosen renderer \ +tool." +HOMEPAGE = "https://netplan.io" +SECTION = "net/misc" + +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit meson pkgconfig systemd python3targetconfig features_check + +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=main;protocol=https \ + file://0001-meson.build-do-not-use-Werror.patch \ + " + +SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" + +SRCREV = "f758e3f6415aa68b7cf28991bc5b3e9631297d6d" + + +DEPENDS = "glib-2.0 libyaml util-linux-libuuid \ + systemd python3-cffi-native \ + " + +EXTRA_OEMESON = "-Dtesting=false -Dunit_testing=false" + +RDEPENDS:${PN} = "python3-core python3-netifaces python3-pyyaml \ + python3-dbus python3-rich python3-cffi \ + python3-json python3-fcntl \ + util-linux-libuuid libnetplan \ + " + +do_install:append() { + install -d -m 755 ${D}${sysconfdir}/netplan +} + +PACKAGES += "${PN}-dbus libnetplan" + +FILES:libnetplan = "${libdir}/libnetplan.so.*" +FILES:${PN} = "${sbindir} ${libexecdir}/netplan/generate \ + ${libexecdir}/netplan/configure \ + ${datadir}/netplan ${datadir}/bash-completion \ + ${systemd_unitdir} ${PYTHON_SITEPACKAGES_DIR} \ + ${sysconfdir}/netplan \ + " +FILES:${PN}-dbus = "${libexecdir}/netplan/netplan-dbus ${datadir}/dbus-1" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.8.0.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.8.0.bb deleted file mode 100644 index 3398ad9361c..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.8.0.bb +++ /dev/null @@ -1,81 +0,0 @@ -SUMMARY = "Open-source IoT platform for data collection, processing, visualization, and device management" -DESCRIPTION = "\ -The Thingsboard IoT Gateway is an open-source solution that allows you \ -to integrate devices connected to legacy and third-party systems with Thingsboard." -HOMEPAGE = "https://thingsboard.io/" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -SRCREV = "4215a302c649f8fe3739814e365b0d6af722b66b" -PYPI_SRC_URI = "git://github.com/thingsboard/${BPN};protocol=https;branch=master;tag=${PV}" -PYPI_PACKAGE = "thingsboard-gateway" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += " python3-jsonpath-rw \ - python3-regex \ - python3-paho-mqtt \ - python3-pyyaml \ - python3-simplejson \ - python3-requests \ - python3-pip \ - python3-pyrsistent \ - python3-cachetools \ - python3-orjson \ - python3-psutil \ - python3-pybase64 \ - python3-grpcio \ - python3-packaging \ - python3-protobuf \ - python3-service-identity \ - python3-termcolor \ - python3-charset-normalizer \ - python3-mmh3 \ - python3-dateutil \ - python3-setuptools \ - python3-urllib3 \ - python3-questionary \ - python3-pyfiglet \ - python3-cryptography \ - python3-pysocks \ -" - -SRC_URI += "file://thingsboard-gateway.service" - -inherit systemd useradd - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = " \ - --system --no-create-home \ - --comment 'ThingsBoard-Gateway Service' \ - --home-dir ${localstatedir}/lib/${BPN} \ - --shell ${base_sbindir}/nologin \ - --gid thingsboard_gateway thingsboard_gateway" -GROUPADD_PARAM:${PN} = "--system thingsboard_gateway" - -FILES:${PN} += "/etc \ - /lib \ - /usr \ - ${localstatedir} \ -" - -do_install:append(){ - install -d ${D}${sysconfdir}/${BPN}/config - install -m 0644 ${S}/thingsboard_gateway/config/*.json ${D}${sysconfdir}/${BPN}/config - chown -R thingsboard_gateway:thingsboard_gateway ${D}${sysconfdir}/${BPN} - - install -d ${D}${systemd_system_unitdir}/ - install -m 0644 ${UNPACKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/log/${BPN} 0755 thingsboard_gateway thingsboard_gateway -" \ - > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - echo "d ${localstatedir}/lib/${BPN} 0755 thingsboard_gateway thingsboard_gateway -" \ - >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - fi -} diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.8.3.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.8.3.bb new file mode 100644 index 00000000000..806d9d24e0b --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.8.3.bb @@ -0,0 +1,81 @@ +SUMMARY = "Open-source IoT platform for data collection, processing, visualization, and device management" +DESCRIPTION = "\ +The Thingsboard IoT Gateway is an open-source solution that allows you \ +to integrate devices connected to legacy and third-party systems with Thingsboard." +HOMEPAGE = "https://thingsboard.io/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRCREV = "7f7e0bf061bf92c2feb12b5098620f118dce364b" +PYPI_SRC_URI = "git://github.com/thingsboard/${BPN};protocol=https;branch=master;tag=${PV}" +PYPI_PACKAGE = "thingsboard-gateway" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " python3-jsonpath-rw \ + python3-regex \ + python3-paho-mqtt \ + python3-pyyaml \ + python3-simplejson \ + python3-requests \ + python3-pip \ + python3-pyrsistent \ + python3-cachetools \ + python3-orjson \ + python3-psutil \ + python3-pybase64 \ + python3-grpcio \ + python3-packaging \ + python3-protobuf \ + python3-service-identity \ + python3-termcolor \ + python3-charset-normalizer \ + python3-mmh3 \ + python3-dateutil \ + python3-setuptools \ + python3-urllib3 \ + python3-questionary \ + python3-pyfiglet \ + python3-cryptography \ + python3-pysocks \ +" + +SRC_URI += "file://thingsboard-gateway.service" + +inherit systemd useradd + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = " \ + --system --no-create-home \ + --comment 'ThingsBoard-Gateway Service' \ + --home-dir ${localstatedir}/lib/${BPN} \ + --shell ${base_sbindir}/nologin \ + --gid thingsboard_gateway thingsboard_gateway" +GROUPADD_PARAM:${PN} = "--system thingsboard_gateway" + +FILES:${PN} += "/etc \ + /lib \ + /usr \ + ${localstatedir} \ +" + +do_install:append(){ + install -d ${D}${sysconfdir}/${BPN}/config + install -m 0644 ${S}/thingsboard_gateway/config/*.json ${D}${sysconfdir}/${BPN}/config + chown -R thingsboard_gateway:thingsboard_gateway ${D}${sysconfdir}/${BPN} + + install -d ${D}${systemd_system_unitdir}/ + install -m 0644 ${UNPACKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/log/${BPN} 0755 thingsboard_gateway thingsboard_gateway -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d ${localstatedir}/lib/${BPN} 0755 thingsboard_gateway thingsboard_gateway -" \ + >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi +} diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Add-ARM64-syscall-prefix-detection-in-C-API.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Add-ARM64-syscall-prefix-detection-in-C-API.patch new file mode 100644 index 00000000000..d6b52438c42 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Add-ARM64-syscall-prefix-detection-in-C-API.patch @@ -0,0 +1,35 @@ +From b901fb0088a7605eec00af7b644e25987995d693 Mon Sep 17 00:00:00 2001 +From: Harish Sadineni +Date: Sat, 7 Mar 2026 07:18:43 -0800 +Subject: [PATCH] Add ARM64 syscall prefix detection in C++ API + +Fixes issue where bpf.get_syscall_fnname() on ARM64 returns bare +syscall name instead of the prefixed __arm64_sys_ variant, causing +kprobe attachment failures. Now detects ARM64 prefix alongside x64 +(__x64_sys_) and generic (sys_) prefixes. + +Fixes: #5350 + +Upstream-Status: Submitted [https://github.com/iovisor/bcc/pull/5489] + +Signed-off-by: Harish Sadineni +--- + src/cc/api/BPF.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/cc/api/BPF.cc b/src/cc/api/BPF.cc +index 2a77c2c9..11c6c542 100644 +--- a/src/cc/api/BPF.cc ++++ b/src/cc/api/BPF.cc +@@ -780,6 +780,8 @@ std::string BPF::get_syscall_fnname(const std::string& name) { + syscall_prefix_.reset(new std::string("sys_")); + else if (ksym.resolve_name(nullptr, "__x64_sys_bpf", &addr)) + syscall_prefix_.reset(new std::string("__x64_sys_")); ++ else if (ksym.resolve_name(nullptr, "__arm64_sys_bpf", &addr)) ++ syscall_prefix_.reset(new std::string("__arm64_sys_")); + else + syscall_prefix_.reset(new std::string()); + } +-- +2.49.0 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Fix-a-build-failure-with-clang21-5369.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Fix-a-build-failure-with-clang21-5369.patch deleted file mode 100644 index 571b496f71d..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Fix-a-build-failure-with-clang21-5369.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 2e3997121af597f3a54d97505a38b7fdb9febae3 Mon Sep 17 00:00:00 2001 -From: yonghong-song -Date: Mon, 14 Jul 2025 20:21:59 -0700 -Subject: [PATCH] Fix a build failure with clang21 (#5369) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The build error message: - src/cc/frontends/clang/loader.cc:400:73: error: no matching function for - call to ‘clang::TextDiagnosticPrinter::TextDiagnosticPrinter( - llvm::raw_fd_ostream&, clang::DiagnosticOptions*)’ - 400 | auto diag_client = new TextDiagnosticPrinter(llvm::errs(), &*diag_opts); - | ^ -The llvm commit - https://github.com/llvm/llvm-project/pull/139584 -caused the build failure. - -Adjust the code properly and the error is fixed. - -Upstream-Status: Backport [https://github.com/iovisor/bcc/commit/8c5c96ad3beeed2fa827017f451a952306826974] -Signed-off-by: Khem Raj ---- - src/cc/frontends/clang/loader.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/cc/frontends/clang/loader.cc b/src/cc/frontends/clang/loader.cc -index 07dc9d6a..6f8387aa 100644 ---- a/src/cc/frontends/clang/loader.cc -+++ b/src/cc/frontends/clang/loader.cc -@@ -396,11 +396,19 @@ int ClangLoader::do_compile( - flags_cstr_rem.end()); - - // set up the error reporting class -+#if LLVM_VERSION_MAJOR >= 21 -+ DiagnosticOptions diag_opts; -+ auto diag_client = new TextDiagnosticPrinter(llvm::errs(), diag_opts); -+ -+ IntrusiveRefCntPtr DiagID(new DiagnosticIDs()); -+ DiagnosticsEngine diags(DiagID, diag_opts, diag_client); -+#else - IntrusiveRefCntPtr diag_opts(new DiagnosticOptions()); - auto diag_client = new TextDiagnosticPrinter(llvm::errs(), &*diag_opts); - - IntrusiveRefCntPtr DiagID(new DiagnosticIDs()); - DiagnosticsEngine diags(DiagID, &*diag_opts, diag_client); -+#endif - - // set up the command line argument wrapper - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Fix-build-with-LLVM-22.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Fix-build-with-LLVM-22.patch new file mode 100644 index 00000000000..19f0a6ccb41 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0001-Fix-build-with-LLVM-22.patch @@ -0,0 +1,61 @@ +From 4c7be1ec6ab74e973f8d18a9011fa349c3d9dd58 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= +Date: Mon, 2 Mar 2026 10:03:15 +0100 +Subject: [PATCH] Fix build with LLVM-22 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +LLVM-22 changed the signatures of various createDiagnostics() calls [1]. +Introduce a new version macro guard and adapt the code to the changed API. + +Fixes #5483 + +[1] https://github.com/llvm/llvm-project/commit/30633f30894129919050f24fdd1f8f6bc46beae0 + +Upstream-Status: Backport [https://github.com/iovisor/bcc/commit/4c7be1ec6ab74e973f8d18a9011fa349c3d9dd58] +Signed-off-by: Holger Hoffstätte +--- + src/cc/frontends/clang/loader.cc | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/cc/frontends/clang/loader.cc b/src/cc/frontends/clang/loader.cc +index 6f8387aa..1f706344 100644 +--- a/src/cc/frontends/clang/loader.cc ++++ b/src/cc/frontends/clang/loader.cc +@@ -464,7 +464,10 @@ int ClangLoader::do_compile( + } + invocation0.getFrontendOpts().DisableFree = false; + +-#if LLVM_VERSION_MAJOR >= 20 ++#if LLVM_VERSION_MAJOR >= 22 ++ compiler0.setVirtualFileSystem(llvm::vfs::getRealFileSystem()); ++ compiler0.createDiagnostics(new IgnoringDiagConsumer()); ++#elif LLVM_VERSION_MAJOR >= 20 + compiler0.createDiagnostics(*llvm::vfs::getRealFileSystem(), new IgnoringDiagConsumer()); + #else + compiler0.createDiagnostics(new IgnoringDiagConsumer()); +@@ -487,7 +490,10 @@ int ClangLoader::do_compile( + add_main_input(invocation1, main_path, &*out_buf); + invocation1.getFrontendOpts().DisableFree = false; + +-#if LLVM_VERSION_MAJOR >= 20 ++#if LLVM_VERSION_MAJOR >= 22 ++ compiler1.setVirtualFileSystem(llvm::vfs::getRealFileSystem()); ++ compiler1.createDiagnostics(); ++#elif LLVM_VERSION_MAJOR >= 20 + compiler1.createDiagnostics(*llvm::vfs::getRealFileSystem()); + #else + compiler1.createDiagnostics(); +@@ -517,7 +523,10 @@ int ClangLoader::do_compile( + invocation2.getCodeGenOpts().setInlining(CodeGenOptions::NormalInlining); + // suppress warnings in the 2nd pass, but bail out on errors (our fault) + invocation2.getDiagnosticOpts().IgnoreWarnings = true; +-#if LLVM_VERSION_MAJOR >= 20 ++#if LLVM_VERSION_MAJOR >= 22 ++ compiler2.setVirtualFileSystem(llvm::vfs::getRealFileSystem()); ++ compiler2.createDiagnostics(); ++#elif LLVM_VERSION_MAJOR >= 20 + compiler2.createDiagnostics(*llvm::vfs::getRealFileSystem()); + #else + compiler2.createDiagnostics(); diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0002-Add-riscv-syscall-prefix-detection-in-C-API.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0002-Add-riscv-syscall-prefix-detection-in-C-API.patch new file mode 100644 index 00000000000..78bf1df7c3d --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0002-Add-riscv-syscall-prefix-detection-in-C-API.patch @@ -0,0 +1,32 @@ +From da01655f0f335584867b3427005b95384499a020 Mon Sep 17 00:00:00 2001 +From: Harish Sadineni +Date: Sat, 7 Mar 2026 20:20:04 -0800 +Subject: [PATCH 2/2] Add riscv syscall prefix detection in C++ API + +Fixes issue where bpf.get_syscall_fnname() on riscv64 returns bare syscall +name instead of the prefixed _riscv_sys variant, causing kprobe +attachment failures. + +Upstream-Status: Submitted [https://github.com/iovisor/bcc/pull/5490] + +Signed-off-by: Harish Sadineni +--- + src/cc/api/BPF.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/cc/api/BPF.cc b/src/cc/api/BPF.cc +index 11c6c542..e1df8208 100644 +--- a/src/cc/api/BPF.cc ++++ b/src/cc/api/BPF.cc +@@ -782,6 +782,8 @@ std::string BPF::get_syscall_fnname(const std::string& name) { + syscall_prefix_.reset(new std::string("__x64_sys_")); + else if (ksym.resolve_name(nullptr, "__arm64_sys_bpf", &addr)) + syscall_prefix_.reset(new std::string("__arm64_sys_")); ++ else if (ksym.resolve_name(nullptr, "__riscv_sys_bpf", &addr)) ++ syscall_prefix_.reset(new std::string("__riscv_sys_")); + else + syscall_prefix_.reset(new std::string()); + } +-- +2.49.0 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0003-folly-tracing-Remove-x86-specific-naming-from-tracin.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0003-folly-tracing-Remove-x86-specific-naming-from-tracin.patch new file mode 100644 index 00000000000..2c1ff2dd737 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0003-folly-tracing-Remove-x86-specific-naming-from-tracin.patch @@ -0,0 +1,25 @@ +From c2bd977c6c885d5cdca94ef5ac31bfcd9c4347ea Mon Sep 17 00:00:00 2001 +From: Harish Sadineni +Date: Sat, 7 Mar 2026 21:44:41 +0000 +Subject: [PATCH 1/2] folly/tracing: Remove x86-specific naming from tracing + header + +Rename StaticTracepoint-ELFx86.h to StaticTracepoint-ELF.h so the header +name is no longer tied to a specific architecture, enabling future +support for additional architectures. + +Upstream-Status: Submitted [https://github.com/iovisor/bcc/pull/5491] + +Signed-off-by: Harish Sadineni +--- + .../tracing/{StaticTracepoint-ELFx86.h => StaticTracepoint-ELF.h} | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename tests/python/include/folly/tracing/{StaticTracepoint-ELFx86.h => StaticTracepoint-ELF.h} (100%) + +diff --git a/tests/python/include/folly/tracing/StaticTracepoint-ELFx86.h b/tests/python/include/folly/tracing/StaticTracepoint-ELF.h +similarity index 100% +rename from tests/python/include/folly/tracing/StaticTracepoint-ELFx86.h +rename to tests/python/include/folly/tracing/StaticTracepoint-ELF.h +-- +2.49.1 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0004-folly-tracing-Add-ARM-and-AArch64-support-to-static-.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0004-folly-tracing-Add-ARM-and-AArch64-support-to-static-.patch new file mode 100644 index 00000000000..2b972427532 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/0004-folly-tracing-Add-ARM-and-AArch64-support-to-static-.patch @@ -0,0 +1,67 @@ +From f290f9df0556735041bfee8e67fcad55edb4c70b Mon Sep 17 00:00:00 2001 +From: Harish Sadineni +Date: Sat, 7 Mar 2026 22:02:07 +0000 +Subject: [PATCH 2/2] folly/tracing: Add ARM and AArch64 support to static + tracepoints + +Extend the static tracepoint (SDT) macros to work on ARM and AArch64 +by: + +- Defining FOLLY_SDT_NOP as "nop" (the same mnemonic works for both + ARM and AArch64) +- Adding `defined(__aarch64__) || defined(__arm__)` to the preprocessor + guard in StaticTracepoint.h + +This resolves USDT probe test failures on ARM64 platforms. +Without these changes, the .note.stapsdt section containing probe +information was missing entirely on ARM64, causing test failures when +attempting to find and attach to USDT probes in the BCC test suite. + +Fixes: #5354 + +Upstream-Status: Submitted [https://github.com/iovisor/bcc/pull/5491] + +Signed-off-by: Harish Sadineni +--- + tests/python/include/folly/tracing/StaticTracepoint-ELF.h | 6 ++++++ + tests/python/include/folly/tracing/StaticTracepoint.h | 4 ++-- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/tests/python/include/folly/tracing/StaticTracepoint-ELF.h b/tests/python/include/folly/tracing/StaticTracepoint-ELF.h +index 033809cb..47828309 100644 +--- a/tests/python/include/folly/tracing/StaticTracepoint-ELF.h ++++ b/tests/python/include/folly/tracing/StaticTracepoint-ELF.h +@@ -25,7 +25,13 @@ + #endif + + // Instruction to emit for the probe. ++#if defined(__x86_64__) || defined(__i386__) + #define FOLLY_SDT_NOP nop ++#elif defined(__aarch64__) || defined(__arm__) ++#define FOLLY_SDT_NOP nop ++#else ++#error "Unsupported architecture" ++#endif + + // Note section properties. + #define FOLLY_SDT_NOTE_NAME "stapsdt" +diff --git a/tests/python/include/folly/tracing/StaticTracepoint.h b/tests/python/include/folly/tracing/StaticTracepoint.h +index 858b7dbc..86f8e40c 100644 +--- a/tests/python/include/folly/tracing/StaticTracepoint.h ++++ b/tests/python/include/folly/tracing/StaticTracepoint.h +@@ -16,10 +16,10 @@ + + #pragma once + +-#if defined(__ELF__) && (defined(__x86_64__) || defined(__i386__)) && \ ++#if defined(__ELF__) && (defined(__x86_64__) || defined(__i386__) || defined(__aarch64__) || defined(__arm__)) && \ + !FOLLY_DISABLE_SDT + +-#include ++#include + + #define FOLLY_SDT(provider, name, ...) \ + FOLLY_SDT_PROBE_N( \ +-- +2.49.0 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/fix_for_memleak.patch b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/fix_for_memleak.patch deleted file mode 100644 index a3a1ec931dd..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc/fix_for_memleak.patch +++ /dev/null @@ -1,16 +0,0 @@ -Upstream-Status: Submitted [https://github.com/iovisor/bcc/pull/5355] -Signed-off-by: Harish Sadineni - -diff --git a/tests/python/test_tools_memleak.py b/tests/python/test_tools_memleak.py ---- a/tests/python/test_tools_memleak.py -+++ b/tests/python/test_tools_memleak.py -@@ -26,7 +26,7 @@ - # Build the memory leaking application. - c_src = 'test_tools_memleak_leaker_app.c' - tmp_dir = tempfile.mkdtemp(prefix='bcc-test-memleak-') -- c_src_full = os.path.dirname(sys.argv[0]) + os.path.sep + c_src -+ c_src_full = os.path.abspath(os.path.dirname(sys.argv[0])) + os.path.sep + c_src - exec_dst = tmp_dir + os.path.sep + 'leaker_app' - - if subprocess.call(['gcc', '-g', '-O0', '-o', exec_dst, c_src_full]) != 0: - diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.35.0.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.35.0.bb deleted file mode 100644 index 8c6e44edbc5..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.35.0.bb +++ /dev/null @@ -1,93 +0,0 @@ -SUMMARY = "BPF Compiler Collection (BCC)" -HOMEPAGE = "https://github.com/iovisor/bcc" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e" - -inherit cmake python3native manpages ptest - -DEPENDS += "bison-native \ - flex-native \ - zip-native \ - flex \ - elfutils \ - clang \ - libbpf \ - python3-setuptools-native \ - " - -RDEPENDS:${PN} += "bash python3 python3-core python3-setuptools xz" -RDEPENDS:${PN}-ptest = "kernel-devsrc packagegroup-core-buildessential cmake bash python3 python3-netaddr python3-pyroute2" - -SRC_URI = "gitsm://github.com/iovisor/bcc;branch=master;protocol=https;tag=v${PV} \ - file://0001-CMakeLists.txt-override-the-PY_CMD_ESCAPED.patch \ - file://0001-Vendor-just-enough-extra-headers-to-allow-libbpf-to-.patch \ - file://0001-Fix-a-build-failure-with-clang21-5369.patch \ - file://run-ptest \ - file://ptest_wrapper.sh \ - file://fix_for_memleak.patch \ - " - -SRCREV = "c31a1ca305f787ba53e001ead45ebf65233a32cf" - -PACKAGECONFIG ??= "examples" -PACKAGECONFIG:remove:libc-musl = "examples" - -PACKAGECONFIG[manpages] = "-DENABLE_MAN=ON,-DENABLE_MAN=OFF," -PACKAGECONFIG[examples] = "-DENABLE_EXAMPLES=ON,-DENABLE_EXAMPLES=OFF," - -EXTRA_OECMAKE = " \ - -DREVISION='${PV}' \ - -DCMAKE_USE_LIBBPF_PACKAGE=ON \ - -DENABLE_LLVM_SHARED=ON \ - -DENABLE_CLANG_JIT=ON \ - -DPY_SKIP_DEB_LAYOUT=ON \ - -DPYTHON_CMD=${PYTHON} \ - -DPYTHON_FLAGS=--install-lib=${PYTHON_SITEPACKAGES_DIR} \ -" - -# Avoid stripping debuginfo.so to fix some tests. -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -do_install:append() { - sed -e 's@#!/usr/bin/env python@#!/usr/bin/env python3@g' \ - -i $(find ${D}${datadir}/${PN} -type f) - sed -e 's@#!/usr/bin/python.*@#!/usr/bin/env python3@g' \ - -i $(find ${D}${datadir}/${PN} -type f) - rm -rf ${D}${datadir}/bcc/examples/lua -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests/cc - # ptest searches for shared libs and archive files in the build folder. - # Hence, these files are copied to the image to fix these tests. - install -d ${D}${B}/tests/cc - install ${B}/tests/cc/archive.zip ${B}/tests/cc/libdebuginfo_test_lib.so ${B}/tests/cc/with_gnu_debuglink.so ${B}/tests/cc/with_gnu_debugdata.so ${B}/tests/cc/debuginfo.so ${D}${B}/tests/cc - install -d ${D}/opt - install ${B}/tests/cc/test_libbcc_no_libbpf ${B}/tests/cc/libusdt_test_lib.so ${D}${PTEST_PATH}/tests/cc - cp -rf ${S}/tests/python ${D}${PTEST_PATH}/tests/python - install ${UNPACKDIR}/ptest_wrapper.sh ${D}${PTEST_PATH}/tests - install ${S}/examples/networking/simulation.py ${D}${PTEST_PATH}/tests/python - find ${S}/tools/ -type f -name "*.py" -exec \ - sed -i \ - -e 's@^#! */usr/bin/env python$@#!/usr/bin/env python3@' \ - -e 's@^#! */usr/bin/python.*@#!/usr/bin/env python3@' {} + - cp -rf ${S}/tools/ ${D}${PTEST_PATH}/../../tools/ -} - -FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}" -FILES:${PN} += "${B}/tests/cc" -FILES:${PN}-ptest += "${libdir}/libbcc.so" -FILES:${PN}-ptest += "${libdir}/tools/" -FILES:${PN}-ptest += "/opt/" -FILES:${PN}-doc += "${datadir}/${PN}/man" - -COMPATIBLE_HOST = "(x86_64.*|aarch64.*|powerpc64.*|riscv64.*)-linux" - -# WARNING: bcc-0.30.0+git-r0 do_package_qa: QA Issue: File /usr/lib/bcc/ptest/tests/cc/test_libbcc_no_libbpf in package bcc-ptest contains reference to TMPDIR [buildpaths] -# this one is difficult to resolve, because the tests use CMAKE_CURRENT_BINARY_DIR directly in .cc e.g.: -# https://github.com/iovisor/bcc/commit/7271bfc946a19413761be2e3c60c48bf72c5eea1#diff-233a0bfa490f3d7466c49935b64c86dd93956bbc0461f5af703b344cf6601461 -# we would probably need to use separate variable for "runtime" path for test assets from the standard CMAKE_CURRENT_BINARY_DIR variable or use relative -# path from the test binary -WARN_QA:append = "${@bb.utils.contains('PTEST_ENABLED', '1', ' buildpaths', '', d)}" -ERROR_QA:remove = "${@bb.utils.contains('PTEST_ENABLED', '1', 'buildpaths', '', d)}" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.36.1.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.36.1.bb new file mode 100644 index 00000000000..0d8bee5da4e --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bcc/bcc_0.36.1.bb @@ -0,0 +1,97 @@ +SUMMARY = "BPF Compiler Collection (BCC)" +HOMEPAGE = "https://github.com/iovisor/bcc" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e3fc50a88d0a364313df4b21ef20c29e" + +inherit cmake python3native manpages ptest + +DEPENDS += "bison-native \ + flex-native \ + zip-native \ + flex \ + elfutils \ + clang \ + libbpf \ + python3-setuptools-native \ + xz \ + " + +RDEPENDS:${PN} += "bash python3 python3-core python3-setuptools xz" +RDEPENDS:${PN}-ptest = "kernel-devsrc packagegroup-core-buildessential cmake bash python3 python3-netaddr python3-pyroute2" + +SRC_URI = "gitsm://github.com/iovisor/bcc;branch=master;protocol=https;lfs=0;tag=v${PV} \ + file://0001-CMakeLists.txt-override-the-PY_CMD_ESCAPED.patch \ + file://0001-Vendor-just-enough-extra-headers-to-allow-libbpf-to-.patch \ + file://0001-Add-ARM64-syscall-prefix-detection-in-C-API.patch \ + file://0002-Add-riscv-syscall-prefix-detection-in-C-API.patch \ + file://0003-folly-tracing-Remove-x86-specific-naming-from-tracin.patch \ + file://0004-folly-tracing-Add-ARM-and-AArch64-support-to-static-.patch \ + file://0001-Fix-build-with-LLVM-22.patch \ + file://run-ptest \ + file://ptest_wrapper.sh \ + " + +SRCREV = "b9f1b2ab025e3ac95b6aaa1cb20bf222a7b8804e" + +PACKAGECONFIG ??= "examples" +PACKAGECONFIG:remove:libc-musl = "examples" + +PACKAGECONFIG[manpages] = "-DENABLE_MAN=ON,-DENABLE_MAN=OFF," +PACKAGECONFIG[examples] = "-DENABLE_EXAMPLES=ON,-DENABLE_EXAMPLES=OFF," + +EXTRA_OECMAKE = " \ + -DREVISION='${PV}' \ + -DCMAKE_USE_LIBBPF_PACKAGE=ON \ + -DENABLE_LLVM_SHARED=ON \ + -DENABLE_CLANG_JIT=ON \ + -DPY_SKIP_DEB_LAYOUT=ON \ + -DPYTHON_CMD=${PYTHON} \ + -DPYTHON_FLAGS=--install-lib=${PYTHON_SITEPACKAGES_DIR} \ +" + +# Avoid stripping debuginfo.so to fix some tests. +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +do_install:append() { + sed -e 's@#!/usr/bin/env python@#!/usr/bin/env python3@g' \ + -i $(find ${D}${datadir}/${PN} -type f) + sed -e 's@#!/usr/bin/python.*@#!/usr/bin/env python3@g' \ + -i $(find ${D}${datadir}/${PN} -type f) + rm -rf ${D}${datadir}/bcc/examples/lua +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests/cc + # ptest searches for shared libs and archive files in the build folder. + # Hence, these files are copied to the image to fix these tests. + install -d ${D}${B}/tests/cc + install ${B}/tests/cc/archive.zip ${B}/tests/cc/libdebuginfo_test_lib.so ${B}/tests/cc/with_gnu_debuglink.so ${B}/tests/cc/with_gnu_debugdata.so ${B}/tests/cc/debuginfo.so ${D}${B}/tests/cc + install -d ${D}/opt + install ${B}/tests/cc/test_libbcc_no_libbpf ${B}/tests/cc/libusdt_test_lib.so ${D}${PTEST_PATH}/tests/cc + cp -rf ${S}/tests/python ${D}${PTEST_PATH}/tests/python + install ${UNPACKDIR}/ptest_wrapper.sh ${D}${PTEST_PATH}/tests + install ${S}/examples/networking/simulation.py ${D}${PTEST_PATH}/tests/python + find ${S}/tools/ -type f -name "*.py" -exec \ + sed -i \ + -e 's@^#! */usr/bin/env python$@#!/usr/bin/env python3@' \ + -e 's@^#! */usr/bin/python.*@#!/usr/bin/env python3@' {} + + cp -rf ${S}/tools/ ${D}${PTEST_PATH}/../../tools/ +} + +FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}" +FILES:${PN} += "${B}/tests/cc" +FILES:${PN}-ptest += "${libdir}/libbcc.so" +FILES:${PN}-ptest += "${libdir}/tools/" +FILES:${PN}-ptest += "/opt/" +FILES:${PN}-doc += "${datadir}/${PN}/man" + +COMPATIBLE_HOST = "(x86_64.*|aarch64.*|powerpc64.*|riscv64.*)-linux" + +# WARNING: bcc-0.30.0+git-r0 do_package_qa: QA Issue: File /usr/lib/bcc/ptest/tests/cc/test_libbcc_no_libbpf in package bcc-ptest contains reference to TMPDIR [buildpaths] +# this one is difficult to resolve, because the tests use CMAKE_CURRENT_BINARY_DIR directly in .cc e.g.: +# https://github.com/iovisor/bcc/commit/7271bfc946a19413761be2e3c60c48bf72c5eea1#diff-233a0bfa490f3d7466c49935b64c86dd93956bbc0461f5af703b344cf6601461 +# we would probably need to use separate variable for "runtime" path for test assets from the standard CMAKE_CURRENT_BINARY_DIR variable or use relative +# path from the test binary +WARN_QA:append = "${@bb.utils.contains('PTEST_ENABLED', '1', ' buildpaths', '', d)}" +ERROR_QA:remove = "${@bb.utils.contains('PTEST_ENABLED', '1', 'buildpaths', '', d)}" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.24.1.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.24.1.bb deleted file mode 100644 index add2ff01a80..00000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.24.1.bb +++ /dev/null @@ -1,69 +0,0 @@ -SUMMARY = "bpftrace" -HOMEPAGE = "https://github.com/iovisor/bpftrace" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS += "bison-native \ - flex-native \ - gzip-native \ - elfutils \ - bpftool-native \ - bcc \ - libcereal \ - libbpf \ - xxd-native \ - " -DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'pahole-native llvm-native', '', d)}" - -RDEPENDS:${PN} += "bash python3 xz" -RDEPENDS:${PN}-ptest += "bpftool" - -SRC_URI = "git://github.com/iovisor/bpftrace;branch=release/0.24.x;protocol=https;tag=v${PV} \ - file://run-ptest \ - file://0002-CMakeLists.txt-allow-to-set-BISON_FLAGS-like-l.patch \ -" -SRCREV = "4c1f02a43f993758d445952ccd96e552752defec" - -inherit bash-completion cmake ptest pkgconfig - -PACKAGECONFIG ?= " \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)} \ - " - -PACKAGECONFIG[tests] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF,gtest" -PACKAGECONFIG[systemd] = "-DENABLE_SYSTEMD=ON,-DENABLE_SYSTEMD=OFF,systemd" - -do_install_ptest() { - if [ -e ${B}/tests/bpftrace_test ]; then - install -Dm 755 ${B}/tests/bpftrace_test ${D}${PTEST_PATH}/tests/bpftrace_test - cp -rf ${B}/tests/runtime ${D}${PTEST_PATH}/tests - cp -rf ${B}/tests/test* ${D}${PTEST_PATH}/tests - fi - for f in testlibs/cmake_install.cmake \ - testprogs/cmake_install.cmake \ - testlibs/CTestTestfile.cmake \ - testprogs/CTestTestfile.cmake - do - sed -i -e 's|${STAGING_BINDIR_TOOLCHAIN}/||' ${D}${libdir}/bpftrace/ptest/tests/$f - sed -i -e 's|${S}/||' ${D}${libdir}/bpftrace/ptest/tests/$f - sed -i -e 's|${B}/||' ${D}${libdir}/bpftrace/ptest/tests/$f - done -} - -EXTRA_OECMAKE = " \ - -DCMAKE_ENABLE_EXPORTS=1 \ - -DCMAKE_BUILD_TYPE=Release \ - -DUSE_SYSTEM_BPF_BCC=ON \ - -DENABLE_MAN=OFF \ - -DBISON_FLAGS='--file-prefix-map=${WORKDIR}=' \ -" - -COMPATIBLE_HOST = "(x86_64.*|aarch64.*|powerpc64.*|riscv64.*)-linux" - -INHIBIT_PACKAGE_STRIP_FILES += "\ - ${PKGD}${PTEST_PATH}/tests/testprogs/uprobe_test \ -" - -WARN_QA:append = "${@bb.utils.contains('PTEST_ENABLED', '1', ' buildpaths', '', d)}" -ERROR_QA:remove = "${@bb.utils.contains('PTEST_ENABLED', '1', 'buildpaths', '', d)}" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.25.1.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.25.1.bb new file mode 100644 index 00000000000..f28c1547db4 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.25.1.bb @@ -0,0 +1,78 @@ +SUMMARY = "bpftrace" +HOMEPAGE = "https://github.com/iovisor/bpftrace" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS += "bison-native \ + flex-native \ + gzip-native \ + elfutils \ + bpftool-native \ + bcc \ + libcereal \ + libbpf \ + xxd-native \ + " +DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'pahole-native llvm-native', '', d)}" + +SRC_URI = "git://github.com/iovisor/bpftrace;branch=release/0.25.x;protocol=https;tag=v${PV} \ + file://run-ptest \ + file://0002-CMakeLists.txt-allow-to-set-BISON_FLAGS-like-l.patch \ +" +SRCREV = "e491811e5d648288c01f42ce087967b271f504a0" + +inherit bash-completion cmake ptest pkgconfig + +PACKAGECONFIG ?= " \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)} \ + " + +PACKAGECONFIG[tests] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF,gtest" +PACKAGECONFIG[systemd] = "-DENABLE_SYSTEMD=ON,-DENABLE_SYSTEMD=OFF,systemd" + +do_install_ptest() { + if [ -e ${B}/tests/bpftrace_test ]; then + install -Dm 755 ${B}/tests/bpftrace_test ${D}${PTEST_PATH}/tests/bpftrace_test + cp -rf ${B}/tests/runtime ${D}${PTEST_PATH}/tests + cp -rf ${B}/tests/test* ${D}${PTEST_PATH}/tests + fi + for f in testlibs/cmake_install.cmake \ + testprogs/cmake_install.cmake \ + testlibs/CTestTestfile.cmake \ + testprogs/CTestTestfile.cmake + do + sed -i -e 's|${STAGING_BINDIR_TOOLCHAIN}/||' ${D}${libdir}/bpftrace/ptest/tests/$f + sed -i -e 's|${S}/||' ${D}${libdir}/bpftrace/ptest/tests/$f + sed -i -e 's|${B}/||' ${D}${libdir}/bpftrace/ptest/tests/$f + done +} + +do_install_ptest:powerpc64() { +} + +do_install_ptest:powerpc64le() { +} + +EXTRA_OECMAKE = " \ + -DCMAKE_ENABLE_EXPORTS=1 \ + -DCMAKE_BUILD_TYPE=Release \ + -DUSE_SYSTEM_BPF_BCC=ON \ + -DUSE_SYSTEM_LIBBPF=ON \ + -DENABLE_MAN=OFF \ + -DBISON_FLAGS='--file-prefix-map=${WORKDIR}=' \ +" + +PACKAGES:remove:powerpc64 = "${PN}-ptest" +PACKAGES:remove:powerpc64le = "${PN}-ptest" + +RDEPENDS:${PN}-ptest += "bash bpftool python3" + +COMPATIBLE_HOST = "(x86_64.*|aarch64.*|powerpc64.*|riscv64.*)-linux" + +INHIBIT_PACKAGE_STRIP_FILES += "\ + ${PKGD}${PTEST_PATH}/tests/testprogs/uprobe_test \ +" + +WARN_QA:append = "${@bb.utils.contains('PTEST_ENABLED', '1', ' buildpaths', '', d)}" +ERROR_QA:remove = "${@bb.utils.contains('PTEST_ENABLED', '1', 'buildpaths', '', d)}" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb b/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb index c8caaff2210..583101f0821 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb +++ b/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad" BRANCH = "master" SRC_URI = "git://github.com/tomba/kmsxx.git;protocol=https;branch=${BRANCH}" -SRCREV = "412935a47b762c33e54a464243f2d789b065bbb6" +SRCREV = "4a7836fe42a7bc0664d912246c5fbf17f240d152" PACKAGES =+ "${PN}-python" PACKAGECONFIG ?= "utils python " diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch new file mode 100644 index 00000000000..1b37633a360 --- /dev/null +++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch @@ -0,0 +1,56 @@ +From d0326cd89b01600a6d8ba5e32e8e090f2ea29f2d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 15 Apr 2026 16:28:28 -0700 +Subject: [PATCH] misc: fix discarded const qualifiers in char pointer + assignments + +These show up with glibc 2.43 + clang-22, glibc-2.43 has C23 versions +of str* mem* functions + +Upstream-Status: Backport [https://github.com/taisei-project/taisei/commit/1c8f773912cbbd72b4a4df271fda1bd6d2aeb27f] +Signed-off-by: Khem Raj +--- + src/log.c | 2 +- + src/pixmap/pixmap.c | 2 +- + src/vfs/pathutil.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/log.c b/src/log.c +index 8194535a..88f34386 100644 +--- a/src/log.c ++++ b/src/log.c +@@ -161,7 +161,7 @@ static void add_debug_info(StringBuffer *buf) { + static size_t modname(const char *filename, size_t filename_len, char *mod) { + size_t mlen = filename_len; + +- char *dot = memchr(filename, '.', mlen); ++ const char *dot = memchr(filename, '.', mlen); + if(dot) { + mlen = dot - filename; + } +diff --git a/src/pixmap/pixmap.c b/src/pixmap/pixmap.c +index 25105215..9717f22a 100644 +--- a/src/pixmap/pixmap.c ++++ b/src/pixmap/pixmap.c +@@ -49,7 +49,7 @@ void *pixmap_alloc_buffer_for_conversion(const Pixmap *src, PixmapFormat format, + } + + static PixmapFileFormatHandler *pixmap_handler_for_filename(const char *file) { +- char *ext = strrchr(file, '.'); ++ const char *ext = strrchr(file, '.'); + + if(!ext || !*(++ext)) { + return NULL; +diff --git a/src/vfs/pathutil.c b/src/vfs/pathutil.c +index f6bd6a80..85ccf5ee 100644 +--- a/src/vfs/pathutil.c ++++ b/src/vfs/pathutil.c +@@ -14,7 +14,7 @@ char *vfs_path_normalize(const char *path, char *out) { + const char *p = path; + char *o = out; + char *last_sep = out - 1; +- char *path_end = strchr(path, 0); ++ const char *path_end = strchr(path, 0); + + #define IS_SEP_OR_NUL(chr) (VFS_IS_PATH_SEPARATOR(chr) || (chr == '\0')) + diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch new file mode 100644 index 00000000000..9f5d7a17d45 --- /dev/null +++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch @@ -0,0 +1,71 @@ +From c9c00a88c10db4ce93ffcc043c661727d2ec9758 Mon Sep 17 00:00:00 2001 +From: laochailan <239670+laochailan@users.noreply.github.com> +Date: Fri, 13 Feb 2026 20:21:44 -0500 +Subject: [PATCH] vfs: avoid unnecessary recursion in vfs_mkparents + +Signed-off-by: Khem Raj +Upstream-Status: Backport [https://github.com/taisei-project/taisei/commit/f2e074f4a6aecf78b980014ed98f12fc6ddfd016] +--- + src/vfs/public.c | 43 +++++++++++++++++-------------------------- + 1 file changed, 17 insertions(+), 26 deletions(-) + +diff --git a/src/vfs/public.c b/src/vfs/public.c +index abaa050f..cfeef83a 100644 +--- a/src/vfs/public.c ++++ b/src/vfs/public.c +@@ -146,38 +146,29 @@ void vfs_mkdir_required(const char *path) { + } + } + +-static bool vfs_mkparents_recurse(const char *path) { +- // FIXME this has stupid space complexity and is probably silly in general; optimize if you care +- +- char *psep = strrchr(path, VFS_PATH_SEPARATOR); +- +- if(!psep) { +- // parent is root +- return true; +- } ++bool vfs_mkparents(const char *path) { ++ char p[strlen(path)+1]; ++ path = vfs_path_normalize(path, p); + +- char p[strlen(path) + 1]; +- strcpy(p, path); +- psep += p - path; +- *psep = 0; ++ // loop over all parent directories ++ char *psep = p; ++ while((psep = strchr(psep, VFS_PATH_SEPARATOR))) { ++ *psep = 0; + +- VFSInfo i = vfs_query(p); ++ VFSInfo i = vfs_query(p); ++ if(i.error) { ++ return false; ++ } + +- if(i.error) { +- return false; +- } ++ if(!i.exists || !i.is_dir) { ++ vfs_mkdir(p); ++ } + +- if(i.exists) { +- return i.is_dir; ++ *psep = VFS_PATH_SEPARATOR; ++ psep++; + } + +- return vfs_mkparents_recurse(p) && vfs_mkdir(p); +-} +- +-bool vfs_mkparents(const char *path) { +- char p[strlen(path)+1]; +- path = vfs_path_normalize(path, p); +- return vfs_mkparents_recurse(p); ++ return true; + } + + char* vfs_repr(const char *path, bool try_syspath) { diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb index bb08ad4a1c3..844e735b69e 100644 --- a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb +++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb @@ -20,7 +20,10 @@ DEPENDS = "\ DEPENDS:append:libc-musl = " libucontext" LDFLAGS:append:libc-musl = " -lucontext" -SRC_URI = "gitsm://github.com/taisei-project/taisei.git;branch=v1.4.x;protocol=https;tag=v${PV}" +SRC_URI = "gitsm://github.com/taisei-project/taisei.git;branch=v1.4.x;protocol=https;tag=v${PV} \ + file://0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch \ + file://0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch \ + " SRCREV = "6a484e6e61cc51a22a9943762dc2ff6883914f38" inherit features_check meson mime mime-xdg pkgconfig diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/libunwind-fix-strchr-conformance-to-ISO-C23.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/libunwind-fix-strchr-conformance-to-ISO-C23.patch new file mode 100644 index 00000000000..4da65ea2855 --- /dev/null +++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/libunwind-fix-strchr-conformance-to-ISO-C23.patch @@ -0,0 +1,27 @@ +From d91f5324f809c3a5b0343927716e4b99bc31db53 Mon Sep 17 00:00:00 2001 +From: Viswanath Kraleti +Date: Fri, 13 Mar 2026 18:57:36 +0530 +Subject: [PATCH] libunwind: fix strchr() conformance to ISO C23 + +Fix uses of strchr() to conform to ISO C23, supported since glibc-2.43 + +Signed-off-by: Viswanath Kraleti +Upstream-Status: Pending +--- + external/libunwind/src/dwarf/Gfind_proc_info-lsb.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/external/libunwind/src/dwarf/Gfind_proc_info-lsb.c b/external/libunwind/src/dwarf/Gfind_proc_info-lsb.c +index 77ed3d09..37eadf52 100644 +--- a/external/libunwind/src/dwarf/Gfind_proc_info-lsb.c ++++ b/external/libunwind/src/dwarf/Gfind_proc_info-lsb.c +@@ -248,7 +248,8 @@ load_debug_frame (const char *file, char **buf, size_t *bufsize, + + if (*buf == NULL && linkbuf != NULL && memchr (linkbuf, 0, linksize) != NULL) + { +- char *newname, *basedir, *p; ++ char *newname, *basedir; ++ const char *p; + static const char *debugdir = "/usr/lib/debug"; + int ret; + diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb index 74928ed171b..3d4e95b4965 100644 --- a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb +++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb @@ -22,6 +22,7 @@ SRC_URI += " \ file://debian/external/libunwind/legacy_built-in_sync_functions.patch \ file://debian/external/libunwind/20150704-CVE-2015-3239_dwarf_i.h.patch \ file://debian/external/libunwind/libunwind-guard-unreachable-macro-to-avoid-redefinit.patch \ + file://debian/external/libunwind/libunwind-fix-strchr-conformance-to-ISO-C23.patch \ \ file://debian/system/core/move-log-file-to-proper-dir.patch \ file://debian/system/core/Added-missing-headers.patch \ diff --git a/meta-oe/licenses/LicenseRef-EEMBC-AUA b/meta-oe/licenses/LicenseRef-EEMBC-AUA new file mode 100644 index 00000000000..14e53e9eecd --- /dev/null +++ b/meta-oe/licenses/LicenseRef-EEMBC-AUA @@ -0,0 +1,100 @@ +# COREMARK® ACCEPTABLE USE AGREEMENT + +This ACCEPTABLE USE AGREEMENT (this “Agreement”) is offered by Embedded Microprocessor Benchmark Consortium, a California nonprofit corporation (“Licensor”), to users of its CoreMark® software (“Licensee”) exclusively on the following terms. + +Licensor offers benchmarking software (“Software”) pursuant to an open source license, but carefully controls use of its benchmarks and their associated goodwill. Licensor has registered its trademark in one of the benchmarks available through the Software, COREMARK, Ser. No. 85/487,290; Reg. No. 4,179,307 (the “Trademark”), and promotes the use of a standard metric as a benchmark for assessing the performance of embedded systems. Solely on the terms described herein, Licensee may use and display the Trademark in connection with the generation of data regarding measurement and analysis of computer and embedded system benchmarking via the Software (the “Licensed Use”). + +## Article 1 – License Grant. +1.1. License. Subject to the terms and conditions of this Agreement, Licensor hereby grants to Licensee, and Licensee hereby accepts from Licensor, a personal, non-exclusive, royalty-free, revocable right and license to use and display the Trademark during the term of this Agreement (the “Term”), solely and exclusively in connection with the Licensed Use. During the Term, Licensee (i) shall not modify or otherwise create derivative works of the Trademark, and (ii) may use the Trademark only to the extent permitted under this License. Neither Licensee nor any affiliate or agent thereof shall otherwise use the Trademark without the prior express written consent of Licensor, which may be withheld in its sole and absolute discretion. All rights not expressly granted to Licensee hereunder shall remain the exclusive property of Licensor. + +1.2. Modifications to the Software. Licensee shall not use the Trademark in connection with any use of a modified, derivative, or otherwise altered copy of the Software. + +1.3. Licensor’s Use. Nothing in this Agreement shall preclude Licensor or any of its successors or assigns from using or permitting other entities to use the Trademark, whether or not such entity directly or indirectly competes or conflicts with Licensee’s Licensed Use in any manner. + +1.4. Term and Termination. This Agreement is perpetual unless terminated by either of the parties. Licensee may terminate this Agreement for convenience, without cause or liability, for any reason or for no reason whatsoever, upon ten (10) business days written notice. Licensor may terminate this Agreement effective immediately upon notice of breach. Upon termination, Licensee shall immediately remove all implementations of the Trademark from the Licensed Use, and delete all digitals files and records of all materials related to the Trademark. + +## Article 2 – Ownership. +2.1. Ownership. Licensee acknowledges and agrees that Licensor is the owner of all right, title, and interest in and to the Trademark, and all such right, title, and interest shall remain with Licensor. Licensee shall not contest, dispute, challenge, oppose, or seek to cancel Licensor’s right, title, and interest in and to the Trademark. Licensee shall not prosecute any application for registration of the Trademark. Licensee shall display appropriate notices regarding ownership of the Trademark in connection with the Licensed Use. + +2.2. Goodwill. Licensee acknowledges that Licensee shall not acquire any right, title, or interest in the Trademark by virtue of this Agreement other than the license granted hereunder, and disclaims any such right, title, interest, or ownership. All goodwill and reputation generated by Licensee’s use of the Trademark shall inure to the exclusive benefit of Licensor. Licensee shall not by any act or omission use the Trademark in any manner that disparages or reflects adversely on Licensor or its Licensed Use or reputation. Licensee shall not take any action that would interfere with or prejudice Licensor’s ownership or registration of the Trademark, the validity of the Trademark or the validity of the license granted by this Agreement. If Licensor determines and notifies Licensee that any act taken in connection with the Licensed Use (i) is inaccurate, unlawful or offensive to good taste; (ii) fails to provide for proper trademark notices, or (iii) otherwise violates Licensee’s obligations under this Agreement, the license granted under this Agreement shall terminate. + +## Article 3 – Indemnification. +3.1. Indemnification Generally. Licensee agrees to indemnify, defend, and hold harmless (collectively “indemnify” or “indemnification”) Licensor, including Licensor’s members, managers, officers, and employees (collectively “Related Persons”), from and against, and pay or reimburse Licensor and such Related Persons for, any and all third-party actions, claims, demands, proceedings, investigations, inquiries (collectively, “Claims”), and any and all liabilities, obligations, fines, deficiencies, costs, expenses, royalties, losses, and damages (including reasonable outside counsel fees and expenses) associated with such Claims, to the extent that such Claim arises out of (i) Licensee’s material breach of this Agreement, or (ii) any allegation(s) that Licensee’s actions infringe or violate any third-party intellectual property right, including without limitation, any U.S. copyright, patent, or trademark, or are otherwise found to be tortious or criminal (whether or not such indemnified person is a named party in a legal proceeding). + +3.2. Notice and Defense of Claims. Licensor shall promptly notify Licensee of any Claim for which indemnification is sought, following actual knowledge of such Claim, provided however that the failure to give such notice shall not relieve Licensee of its obligations hereunder except to the extent that Licensee is materially prejudiced by such failure. In the event that any third-party Claim is brought, Licensee shall have the right and option to undertake and control the defense of such action with counsel of its choice, provided however that (i) Licensor at its own expense may participate and appear on an equal footing with Licensee in the defense of any such Claim, (ii) Licensor may undertake and control such defense in the event of the material failure of Licensee to undertake and control the same; and (iii) the defense of any Claim relating to the intellectual property rights of Licensor or its licensors and any related counterclaims shall be solely controlled by Licensor with counsel of its choice. Licensee shall not consent to judgment or concede or settle or compromise any Claim without the prior written approval of Licensor (whose approval shall not be unreasonably withheld), unless such concession or settlement or compromise includes a full and unconditional release of Licensor and any applicable Related Persons from all liabilities in respect of such Claim. + +## Article 4 – Miscellaneous. +4.1. Relationship of the Parties. This Agreement does not create a partnership, franchise, joint venture, agency, fiduciary, or employment relationship between the parties. + +4.2. No Third-Party Beneficiaries. Except for the rights of Related Persons under Article 3 (Indemnification), there are no third-party beneficiaries to this Agreement. + +4.3. Assignment. Licensee’s rights hereunder are non-assignable, and may not be sublicensed. + +4.4. Equitable Relief. Licensee acknowledges that the remedies available at law for any breach of this Agreement will, by their nature, be inadequate. Accordingly, Licensor may obtain injunctive relief or other equitable relief to restrain a breach or threatened breach of this Agreement or to specifically enforce this Agreement, without proving that any monetary damages have been sustained, and without the requirement of posting of a bond prior to obtaining such equitable relief. + +4.5. Governing Law. This Agreement will be interpreted, construed, and enforced in all respects in accordance with the laws of the State of California, without reference to its conflict of law principles. + +4.6. Attorneys’ Fees. If any legal action, arbitration or other proceeding is brought for the enforcement of this Agreement, or because of an alleged dispute, breach, default, or misrepresentation in connection with any of the provisions of this Agreement, the successful or prevailing party shall be entitled to recover its reasonable attorneys’ fees and other reasonable costs incurred in that action or proceeding, in addition to any other relief to which it may be entitled. + +4.7. Amendment; Waiver. This Agreement may not be amended, nor may any rights under it be waived, except in writing by Licensor. + +4.8. Severability. If any provision of this Agreement is held by a court of competent jurisdiction to be contrary to law, the provision shall be modified by the court and interpreted so as best to accomplish the objectives of the original provision to the fullest extent +permitted by law, and the remaining provisions of this Agreement shall remain in effect. + +4.9. Entire Agreement. This Agreement constitutes the entire agreement between the parties and supersedes all prior and contemporaneous agreements, proposals or representations, written or oral, concerning its subject matter. + + +# Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +## TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + + You must give any other recipients of the Work or Derivative Works a copy of this License; and + You must cause any modified files to carry prominent notices stating that You changed the files; and + You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + + You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/meta-oe/licenses/RSAL-2 b/meta-oe/licenses/RSAL-2 new file mode 100644 index 00000000000..4a37cf41364 --- /dev/null +++ b/meta-oe/licenses/RSAL-2 @@ -0,0 +1,163 @@ +1. Redis Source Available License 2.0 (RSALv2) Agreement +======================================================== + +Last Update: December 30, 2023 + +Acceptance +---------- + +This Agreement sets forth the terms and conditions on which the Licensor +makes available the Software. By installing, downloading, accessing, +Using, or distributing any of the Software, You agree to all of the +terms and conditions of this Agreement. + +If You are receiving the Software on behalf of Your Company, You +represent and warrant that You have the authority to agree to this +Agreement on behalf of such entity. + +The Licensor reserves the right to update this Agreement from time to +time. + +The terms below have the meanings set forth below for purposes of this +Agreement: + +Definitions +----------- + +Agreement: this Redis Source Available License 2.0 Agreement. + +Control: ownership, directly or indirectly, of substantially all the +assets of an entity, or the power to direct its management and policies +by vote, contract, or otherwise. + +License: the License as described in the License paragraph below. + +Licensor: the entity offering these terms, which includes Redis Ltd. on +behalf of itself and its subsidiaries and affiliates worldwide. + +Modify, Modified, or Modification: copy from or adapt all or part of the +work in a fashion requiring copyright permission other than making an +exact copy. The resulting work is called a Modified version of the +earlier work. + +Redis: the Redis software as described in redis.com redis.io. + +Software: certain Software components designed to work with Redis and +provided to You under this Agreement. + +Trademark: the trademarks, service marks, and any other similar rights. + +Use: anything You do with the Software requiring one of Your Licenses. + +You: the recipient of the Software, the individual or entity on whose +behalf You are agreeing to this Agreement. + +Your Company: any legal entity, sole proprietorship, or other kind of +organization that You work for, plus all organizations that have control +over, are under the control of, or are under common control with that +organization. + +Your Licenses: means all the Licenses granted to You for the Software +under this Agreement. + +License +------- + +The Licensor grants You a non-exclusive, royalty-free, worldwide, +non-sublicensable, non-transferable license to use, copy, distribute, +make available, and prepare derivative works of the Software, in each +case subject to the limitations and conditions below. + +Limitations +----------- + +You may not make the functionality of the Software or a Modified version +available to third parties as a service or distribute the Software or a +Modified version in a manner that makes the functionality of the +Software available to third parties. + +Making the functionality of the Software or Modified version available +to third parties includes, without limitation, enabling third parties to +interact with the functionality of the Software or Modified version in +distributed form or remotely through a computer network, offering a +product or service, the value of which entirely or primarily derives +from the value of the Software or Modified version, or offering a +product or service that accomplishes for users the primary purpose of +the Software or Modified version. + +You may not alter, remove, or obscure any licensing, copyright, or other +notices of the Licensor in the Software. Any use of the Licensor's +Trademarks is subject to applicable law. + +Patents +------- + +The Licensor grants You a License, under any patent claims the Licensor +can License, or becomes able to License, to make, have made, use, sell, +offer for sale, import and have imported the Software, in each case +subject to the limitations and conditions in this License. This License +does not cover any patent claims that You cause to be infringed by +Modifications or additions to the Software. If You or Your Company make +any written claim that the Software infringes or contributes to +infringement of any patent, your patent License for the Software granted +under this Agreement ends immediately. If Your Company makes such a +claim, your patent License ends immediately for work on behalf of Your +Company. + +Notices +------- + +You must ensure that anyone who gets a copy of any part of the Software +from You also gets a copy of the terms and conditions in this Agreement. + +If You modify the Software, You must include in any Modified copies of +the Software prominent notices stating that You have Modified the +Software. + +No Other Rights +--------------- + +The terms and conditions of this Agreement do not imply any Licenses +other than those expressly granted in this Agreement. + +Termination +----------- + +If You Use the Software in violation of this Agreement, such Use is not +Licensed, and Your Licenses will automatically terminate. If the +Licensor provides You with a notice of your violation, and You cease all +violations of this License no later than 30 days after You receive that +notice, Your Licenses will be reinstated retroactively. However, if You +violate this Agreement after such reinstatement, any additional +violation of this Agreement will cause your Licenses to terminate +automatically and permanently. + +No Liability +------------ + +As far as the law allows, the Software comes as is, without any +warranty or condition, and the Licensor will not be liable to You for +any damages arising out of this Agreement or the Use or nature of the +Software, under any kind of legal claim. + +Governing Law and Jurisdiction +------------------------------ + +If You are located in Asia, Pacific, Americas, or other jurisdictions +not listed below, the Agreement will be construed and enforced in all +respects in accordance with the laws of the State of California, U.S.A., +without reference to its choice of law rules. The courts located in the +County of Santa Clara, California, have exclusive jurisdiction for all +purposes relating to this Agreement. + +If You are located in Israel, the Agreement will be construed and +enforced in all respects in accordance with the laws of the State of +Israel without reference to its choice of law rules. The courts located +in the Central District of the State of Israel have exclusive +jurisdiction for all purposes relating to this Agreement. + +If You are located in Europe, United Kingdom, Middle East or Africa, the +Agreement will be construed and enforced in all respects in accordance +with the laws of England and Wales without reference to its choice of +law rules. The competent courts located in London, England, have +exclusive jurisdiction for all purposes relating to this Agreement. diff --git a/meta-oe/recipes-benchmark/coremark/coremark_git.bb b/meta-oe/recipes-benchmark/coremark/coremark_git.bb new file mode 100644 index 00000000000..f4974b754f4 --- /dev/null +++ b/meta-oe/recipes-benchmark/coremark/coremark_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "EEMBC CoreMark CPU benchmark" +DESCRIPTION = "CoreMark is a CPU benchmark program" +HOMEPAGE = "https://www.eembc.org/coremark/" +LICENSE = "Apache-2.0 & LicenseRef-EEMBC-AUA" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=0a18b17ae63deaa8a595035f668aebe1" + +SRC_URI = "git://github.com/eembc/coremark.git;branch=main;protocol=https" +SRCREV = "1f483d5b8316753a742cbf5590caf5bd0a4e4777" + +inherit pkgconfig + +do_configure[noexec] = "1" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_compile() { + oe_runmake compile +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/coremark.exe ${D}${bindir}/coremark +} diff --git a/meta-oe/recipes-benchmark/fio/fio/CVE-2025-10823.patch b/meta-oe/recipes-benchmark/fio/fio/CVE-2025-10823.patch deleted file mode 100644 index c5813273c78..00000000000 --- a/meta-oe/recipes-benchmark/fio/fio/CVE-2025-10823.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 6a39dfaffdb8a6c2080eec0dc7fb1ee532d54025 Mon Sep 17 00:00:00 2001 -From: Jens Axboe -Date: Tue, 23 Sep 2025 11:50:46 -0600 -Subject: [PATCH] options: check for NULL input string and fail - -Waste of time busy work. - -Link: https://github.com/axboe/fio/issues/1982 - -CVE: CVE-2025-10823 - -Upstream-Status: Backport -https://github.com/axboe/fio/commit/6a39dfaffdb8a6c2080eec0dc7fb1ee532d54025 - -Signed-off-by: Jens Axboe -Signed-off-by: Saravanan ---- - options.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/options.c b/options.c -index c35878f..562c5bc 100644 ---- a/options.c -+++ b/options.c -@@ -1616,6 +1616,9 @@ static int str_buffer_pattern_cb(void *data, const char *input) - struct thread_data *td = cb_data_to_td(data); - int ret; - -+ if (!input) -+ return 1; -+ - /* FIXME: for now buffer pattern does not support formats */ - ret = parse_and_fill_pattern_alloc(input, strlen(input), - &td->o.buffer_pattern, NULL, NULL, NULL); --- -2.48.1 - diff --git a/meta-oe/recipes-benchmark/fio/fio_3.41.bb b/meta-oe/recipes-benchmark/fio/fio_3.41.bb deleted file mode 100644 index 494a4eb3d7e..00000000000 --- a/meta-oe/recipes-benchmark/fio/fio_3.41.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Filesystem and hardware benchmark and stress tool" -DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ -stress/hardware verification. It has support for a number of I/O engines, \ -I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ -and much more. It can work on block devices as well as files. fio accepts \ -job descriptions in a simple-to-understand text format. Several example job \ -files are included. fio displays all sorts of I/O performance information." -HOMEPAGE = "http://freecode.com/projects/fio" -SECTION = "console/tests" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "libaio zlib coreutils-native" -DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}" -RDEPENDS:${PN} = "python3-core bash" - -PACKAGECONFIG_NUMA = "numa" -# ARM does not currently support NUMA -PACKAGECONFIG_NUMA:arm = "" -PACKAGECONFIG_NUMA:armeb = "" - -PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}" -PACKAGECONFIG[numa] = ",--disable-numa,numactl" - -SRC_URI = "git://git.kernel.dk/fio.git;branch=master;tag=${BP}" -SRCREV = "ed675d3477a70a42d2e757b713f6c7125a27cdca" - -SRC_URI += "file://CVE-2025-10823.patch" - -UPSTREAM_CHECK_GITTAGREGEX = "fio-(?P\d+(\.\d+)+)" - - -# avoids build breaks when using no-static-libs.inc -DISABLE_STATIC = "" - -EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'" -EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}" - -do_configure() { - ./configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} -} - -do_install() { - oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} - install -d ${D}/${docdir}/${PN} - cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ -} - -CVE_STATUS[CVE-2025-10824] = "disputed: Maintainer could not reproduce the issue, issue is closed without change." diff --git a/meta-oe/recipes-benchmark/fio/fio_3.42.bb b/meta-oe/recipes-benchmark/fio/fio_3.42.bb new file mode 100644 index 00000000000..dac7548d083 --- /dev/null +++ b/meta-oe/recipes-benchmark/fio/fio_3.42.bb @@ -0,0 +1,49 @@ +SUMMARY = "Filesystem and hardware benchmark and stress tool" +DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \ +stress/hardware verification. It has support for a number of I/O engines, \ +I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \ +and much more. It can work on block devices as well as files. fio accepts \ +job descriptions in a simple-to-understand text format. Several example job \ +files are included. fio displays all sorts of I/O performance information." +HOMEPAGE = "http://freecode.com/projects/fio" +SECTION = "console/tests" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "libaio zlib coreutils-native" +DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}" +RDEPENDS:${PN} = "python3-core bash" + +PACKAGECONFIG_NUMA = "numa" +# ARM does not currently support NUMA +PACKAGECONFIG_NUMA:arm = "" +PACKAGECONFIG_NUMA:armeb = "" + +PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}" +PACKAGECONFIG[numa] = ",--disable-numa,numactl" + +SRC_URI = " \ + git://git.kernel.dk/fio.git;branch=master;tag=${BP} \ +" +SRCREV = "ab77643023f5d7e3c1b71a7576a564f368bf577a" + +UPSTREAM_CHECK_GITTAGREGEX = "fio-(?P\d+(\.\d+)+)" + +# avoids build breaks when using no-static-libs.inc +DISABLE_STATIC = "" + +EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'" +EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}" + +do_configure() { + ./configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} +} + +do_install() { + oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir} + install -d ${D}/${docdir}/${PN} + cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/ +} + +CVE_STATUS[CVE-2025-10824] = "disputed: Maintainer could not reproduce the issue, issue is closed without change." +CVE_STATUS[CVE-2026-30656] = "fixed-version: fixed in 3.42" diff --git a/meta-oe/recipes-benchmark/iperf2/iperf2_2.2.1.bb b/meta-oe/recipes-benchmark/iperf2/iperf2_2.2.1.bb index d31f4ed634f..cc7a1561dfa 100644 --- a/meta-oe/recipes-benchmark/iperf2/iperf2_2.2.1.bb +++ b/meta-oe/recipes-benchmark/iperf2/iperf2_2.2.1.bb @@ -19,7 +19,7 @@ EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -CVE_PRODUCT = "iperf_project:iperf" +CVE_PRODUCT:append = " iperf_project:iperf" CVE_STATUS[CVE-2025-54349] = "cpe-incorrect: the vulnerability is in iperf3, which is a different project" CVE_STATUS[CVE-2025-54350] = "cpe-incorrect: the vulnerability is in iperf3, which is a different project" CVE_STATUS[CVE-2025-54351] = "cpe-incorrect: the vulnerability is in iperf3, which is a different project" diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.20.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_3.20.bb deleted file mode 100644 index 7d4d6beeb85..00000000000 --- a/meta-oe/recipes-benchmark/iperf3/iperf3_3.20.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Network benchmark tool" -DESCRIPTION = "\ -iperf is a tool for active measurements of the maximum achievable bandwidth \ -on IP networks. It supports tuning of various parameters related to timing, \ -protocols, and buffers. For each test it reports the bandwidth, loss, and \ -other parameters." - -HOMEPAGE = "http://software.es.net/iperf/" -SECTION = "console/network" -BUGTRACKER = "https://github.com/esnet/iperf/issues" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b51332d7f45357a9410daa9a14a3655f" - -SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https \ - file://0002-Remove-pg-from-profile_CFLAGS.patch \ - file://0001-configure.ac-check-for-CPP-prog.patch \ - " - -SRCREV = "0711330bacfaf1c2a804be66e7ecc26f481ede5d" - -RDEPENDS:${PN} = "libgcc" - -inherit autotools - -PACKAGECONFIG ?= "openssl" - -PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools" -PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl" - -CFLAGS += "-D_GNU_SOURCE" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.21.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_3.21.bb new file mode 100644 index 00000000000..de266551aee --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_3.21.bb @@ -0,0 +1,33 @@ +SUMMARY = "Network benchmark tool" +DESCRIPTION = "\ +iperf is a tool for active measurements of the maximum achievable bandwidth \ +on IP networks. It supports tuning of various parameters related to timing, \ +protocols, and buffers. For each test it reports the bandwidth, loss, and \ +other parameters." + +HOMEPAGE = "http://software.es.net/iperf/" +SECTION = "console/network" +BUGTRACKER = "https://github.com/esnet/iperf/issues" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f2eb355b6d3b9d63b6b7a861cdc62440" + +SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https;tag=${PV} \ + file://0002-Remove-pg-from-profile_CFLAGS.patch \ + file://0001-configure.ac-check-for-CPP-prog.patch \ + " + +SRCREV = "d39cf41526626b4e5a130f115d931cd6cbdffc19" + +RDEPENDS:${PN} = "libgcc" + +inherit autotools + +PACKAGECONFIG ?= "openssl" + +PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools" +PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl" + +CFLAGS += "-D_GNU_SOURCE" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb index 89ce11f6e41..dd2fbbc7cd7 100644 --- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb @@ -31,7 +31,7 @@ SRC_URI = " \ UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" -COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" +COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|riscv64|aarch64|arm).*-linux*" LIBARGS = "LIB32=${baselib} LIB64=${baselib}" LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" diff --git a/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb b/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb index 198552e5c68..3154db27053 100644 --- a/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb +++ b/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb @@ -15,7 +15,7 @@ SRCREV = "ebf1c90da05dea94648165e4f149abc20c979557" COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64).*-linux*" - +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" EXTRA_OECONF += "--enable-largefile --with-system-luajit --with-system-ck --without-gcc-arch --with-lib-prefix=no" PACKAGECONFIG ??= "" PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio," diff --git a/meta-oe/recipes-bsp/bolt/bolt_0.9.10.bb b/meta-oe/recipes-bsp/bolt/bolt_0.9.10.bb deleted file mode 100644 index 3d1686bcf68..00000000000 --- a/meta-oe/recipes-bsp/bolt/bolt_0.9.10.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Thunderbolt user-space management tool" -DESCRIPTION = "Userspace system daemon to enable security levels for Thunderbolt on GNU/Linux" -HOMEPAGE = "https://gitlab.freedesktop.org/bolt/bolt" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "udev polkit dbus" -REQUIRED_DISTRO_FEATURES = "polkit" - -SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master" -SRCREV = "c0d4cb2f4399e86417907a37c0d8ef3bb9fb406f" - - -CVE_PRODUCT = "freedesktop:bolt" - -inherit cmake pkgconfig meson features_check - -FILES:${PN} += "${datadir}/dbus-1/* \ - ${datadir}/polkit-1/* \ - ${systemd_system_unitdir} \ -" diff --git a/meta-oe/recipes-bsp/bolt/bolt_0.9.11.bb b/meta-oe/recipes-bsp/bolt/bolt_0.9.11.bb new file mode 100644 index 00000000000..924964f6b6b --- /dev/null +++ b/meta-oe/recipes-bsp/bolt/bolt_0.9.11.bb @@ -0,0 +1,21 @@ +SUMMARY = "Thunderbolt user-space management tool" +DESCRIPTION = "Userspace system daemon to enable security levels for Thunderbolt on GNU/Linux" +HOMEPAGE = "https://gitlab.freedesktop.org/bolt/bolt" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "udev polkit dbus" +REQUIRED_DISTRO_FEATURES = "polkit" + +SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master;tag=${PV}" +SRCREV = "9d1d66380353dab94c28466f34adb2ba6c7e4393" + + +CVE_PRODUCT = "freedesktop:bolt" + +inherit cmake pkgconfig meson features_check + +FILES:${PN} += "${datadir}/dbus-1/* \ + ${datadir}/polkit-1/* \ + ${systemd_system_unitdir} \ +" diff --git a/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.7.bb b/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.7.bb deleted file mode 100644 index d6ace116e78..00000000000 --- a/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.7.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "EFI executable for fwupd" -LICENSE = "LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/fwupd/fwupd-efi;protocol=https;branch=main" - -SRCREV = "cfd0be286a9b050c1aa4bfa3f0820256903a264a" - -DEPENDS = "gnu-efi python3-pefile-native" - -COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" - -inherit meson pkgconfig python3native - -# These should be configured as needed -SBAT_DISTRO_ID ?= "${DISTRO}" -SBAT_DISTRO_SUMMARY ?= "${DISTRO_NAME}" -SBAT_DISTRO_URL ?= "" - -EXTRA_OEMESON += "\ - -Defi-includedir=${STAGING_INCDIR}/efi \ - -Defi-libdir=${STAGING_LIBDIR} \ - -Defi_sbat_distro_id='${SBAT_DISTRO_ID}' \ - -Defi_sbat_distro_summary='${SBAT_DISTRO_SUMMARY}' \ - -Defi_sbat_distro_url='${SBAT_DISTRO_URL}' \ - -Defi_sbat_distro_pkgname='${PN}' \ - -Defi_sbat_distro_version='${PV}'\ - " - -# The compile assumes GCC at present -TOOLCHAIN = "gcc" - -# Multiple errors like below with gcc14 -#| ../git/efi/fwupdate.c:611:20: error: passing argument 5 of 'fwup_log' from incompatible pointer type [-Wincompatible-pointer-types] -#| 611 | fwup_debug(L"n_updates: %d", n_updates); -#| | ^~~~~~~~~~~~~~~~ -TOOLCHAIN_OPTIONS += "-Wno-error=incompatible-pointer-types" diff --git a/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.8.bb b/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.8.bb new file mode 100644 index 00000000000..8682d97c06c --- /dev/null +++ b/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.8.bb @@ -0,0 +1,31 @@ +SUMMARY = "EFI executable for fwupd" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/fwupd/fwupd-efi;protocol=https;branch=main;tag=${PV}" + +SRCREV = "8572a93e81e7110b88445d1907fdd73982557347" + +DEPENDS = "gnu-efi python3-pefile-native" + +COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" + +inherit meson pkgconfig python3native + +# These should be configured as needed +SBAT_DISTRO_ID ?= "${DISTRO}" +SBAT_DISTRO_SUMMARY ?= "${DISTRO_NAME}" +SBAT_DISTRO_URL ?= "" + +EXTRA_OEMESON += "\ + -Defi-includedir=${STAGING_INCDIR}/efi \ + -Defi-libdir=${STAGING_LIBDIR} \ + -Defi_sbat_distro_id='${SBAT_DISTRO_ID}' \ + -Defi_sbat_distro_summary='${SBAT_DISTRO_SUMMARY}' \ + -Defi_sbat_distro_url='${SBAT_DISTRO_URL}' \ + -Defi_sbat_distro_pkgname='${PN}' \ + -Defi_sbat_distro_version='${PV}'\ + " + +# The compile assumes GCC at present +TOOLCHAIN = "gcc" diff --git a/meta-oe/recipes-bsp/thermald/thermald/0001-Refactor-Intel-specific-logic-into-separate-files.patch b/meta-oe/recipes-bsp/thermald/thermald/0001-Refactor-Intel-specific-logic-into-separate-files.patch new file mode 100644 index 00000000000..86f6874daf0 --- /dev/null +++ b/meta-oe/recipes-bsp/thermald/thermald/0001-Refactor-Intel-specific-logic-into-separate-files.patch @@ -0,0 +1,829 @@ +From 4cf42fc89ccdbcecdcd30b32a7ca8040be55c253 Mon Sep 17 00:00:00 2001 +From: Priyansh Jain +Date: Tue, 27 Jan 2026 14:58:05 +0530 +Subject: [PATCH 1/3] Refactor Intel-specific logic into separate files + +Thermald currently only supports x86 platforms but is a very useful tool for +controlling user-space thermal policy on a wide range of systems. As more +SoCs and architectures adopt user-space driven thermal management models, +the limitation to x86-only backends prevents thermald from being used on +non-x86 platforms. + +This series adds support for non-x86 platforms by first refactoring all +x86-specific logic into a dedicated backend. This separation enables a clean +and modular structure where additional platform backends can be introduced +without impacting the existing Intel implementation. Once the backend +abstraction is in place, subsequent patches add support for ARM backends +and integrate them into the new platform detection logic. + +Suggested-by: Amit Kucheria +Signed-off-by: Priyansh Jain + +Upstream-Status: Backport [from commit 4cf42fc89ccdbcecdcd30b32a7ca8040be55c253] +--- + Android.mk | 4 +- + Makefile.am | 5 +- + src/thd_engine.cpp | 125 +++---------------- + src/thd_engine.h | 6 - + src/thd_engine_default.cpp | 79 ++---------- + src/thd_platform.cpp | 109 +++++++++++++++++ + src/thd_platform.h | 58 +++++++++ + src/thd_platform_intel.cpp | 238 +++++++++++++++++++++++++++++++++++++ + src/thd_platform_intel.h | 38 ++++++ + 9 files changed, 476 insertions(+), 186 deletions(-) + create mode 100644 src/thd_platform.cpp + create mode 100644 src/thd_platform.h + create mode 100644 src/thd_platform_intel.cpp + create mode 100644 src/thd_platform_intel.h + +diff --git a/Android.mk b/Android.mk +index 0b279f4..c14fa4a 100644 +--- a/Android.mk ++++ b/Android.mk +@@ -43,7 +43,9 @@ LOCAL_SRC_FILES := \ + src/thd_engine_adaptive.cpp \ + src/thd_lzma_dec.cpp \ + src/LzmaDec.c \ +- src/thd_gddv.cpp ++ src/thd_gddv.cpp \ ++ src/thd_platform.cpp \ ++ src/thd_platform_intel.cpp + + LOCAL_C_INCLUDES += external/libxml2/include + +diff --git a/Makefile.am b/Makefile.am +index dbf86db..2e76187 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -75,8 +75,9 @@ thermald_SOURCES = \ + src/thd_gddv.cpp \ + thermald-resource.c \ + src/thd_lzma_dec.cpp \ +- src/LzmaDec.c +- ++ src/LzmaDec.c \ ++ src/thd_platform.cpp \ ++ src/thd_platform_intel.cpp + + man5_MANS = man/thermal-conf.xml.5 + man8_MANS = man/thermald.8 +diff --git a/src/thd_engine.cpp b/src/thd_engine.cpp +index d2028c6..319f50b 100644 +--- a/src/thd_engine.cpp ++++ b/src/thd_engine.cpp +@@ -35,7 +35,6 @@ + #include + #include + #include +-#include + #include + #include + #include "thd_engine.h" +@@ -44,6 +43,8 @@ + #include "thd_zone_dynamic.h" + #include "thd_cdev_gen_sysfs.h" + #include "thd_int3400.h" ++#include "thd_platform.h" ++#include "thd_platform_intel.h" + + static void *cthd_engine_thread(void *arg); + +@@ -53,11 +54,10 @@ cthd_engine::cthd_engine(std::string _uuid) : + false), adaptive_mode(false), poll_timeout_msec(-1), wakeup_fd( + -1), uevent_fd(-1), control_mode(COMPLEMENTRY), write_pipe_fd( + 0), preference(0), status(true), thz_last_uevent_time(0), thz_last_temp_ind_time( +- 0), thz_last_update_event_time(0), terminate(false), genuine_intel( +- 0), has_invariant_tsc(0), has_aperf(0), proc_list_matched( +- false), poll_interval_sec(0), poll_sensor_mask(0), fast_poll_sensor_mask( +- 0), saved_poll_interval(0), poll_fd_cnt(0), rt_kernel(false), parser_init_done( +- false) { ++ 0), thz_last_update_event_time(0), terminate(false), has_invariant_tsc(0), ++ has_aperf(0), proc_list_matched(false), poll_interval_sec(0), poll_sensor_mask(0), ++ fast_poll_sensor_mask(0), saved_poll_interval(0), poll_fd_cnt(0), rt_kernel(false), ++ parser_init_done(false) { + thd_engine = pthread_t(); + thd_attr = pthread_attr_t(); + +@@ -742,112 +742,23 @@ void cthd_engine::thd_engine_reload_zones() { + } + } + +-// Add any tested platform ids in this table +-#ifndef ANDROID +-static const supported_ids_t id_table[] = { +- { 6, 0x2a }, // Sandybridge +- { 6, 0x3a }, // IvyBridge +- { 6, 0x3c }, // Haswell +- { 6, 0x45 }, // Haswell ULT +- { 6, 0x46 }, // Haswell ULT +- { 6, 0x3d }, // Broadwell +- { 6, 0x47 }, // Broadwell-GT3E +- { 6, 0x37 }, // Valleyview BYT +- { 6, 0x4c }, // Brasewell +- { 6, 0x4e }, // skylake +- { 6, 0x5e }, // skylake +- { 6, 0x5c }, // Broxton +- { 6, 0x7a }, // Gemini Lake +- { 6, 0x8e }, // kabylake +- { 6, 0x9e }, // kabylake +- { 6, 0x66 }, // Cannonlake +- { 6, 0x7e }, // Icelake +- { 6, 0x8c }, // Tigerlake_L +- { 6, 0x8d }, // Tigerlake +- { 6, 0xa5 }, // Cometlake +- { 6, 0xa6 }, // Cometlake_L +- { 6, 0xa7 }, // Rocketlake +- { 6, 0x9c }, // Jasper Lake +- { 6, 0x97 }, // Alderlake +- { 6, 0x9a }, // Alderlake +- { 6, 0xb7 }, // Raptorlake +- { 6, 0xba }, // Raptorlake +- { 6, 0xbe }, // Alderlake N +- { 6, 0xbf }, // Raptorlake S +- { 6, 0xaa }, // Mateor Lake L +- { 6, 0xbd }, // Lunar Lake M +- { 6, 0xc6 }, // Arrow Lake +- { 6, 0xc5 }, // Arrow Lake H +- { 6, 0xb5 }, // Arrow Lake U +- { 6, 0xcc }, // Panther Lake L +- { 6, 0xd5 }, // Wildcat Lake L +- { 0, 0 } // Last Invalid entry +-}; +- +-const char * const blocklist_paths[] { +- /* Some Lenovo machines have in-firmware thermal management, +- * avoid having two entities trying to manage things. +- * We may want to change this to dytc_perfmode once that is +- * widely available. */ +- "/sys/devices/platform/thinkpad_acpi/dytc_lapmode", +-}; +-#endif +- + int cthd_engine::check_cpu_id() { +-#ifndef ANDROID +- // Copied from turbostat program +- unsigned int ebx, ecx, edx, max_level; +- unsigned int fms, family, model, stepping; +- genuine_intel = 0; +- int i = 0; +- bool valid = false; +- +- proc_list_matched = false; +- ebx = ecx = edx = 0; +- +- __cpuid(0, max_level, ebx, ecx, edx); +- if (ebx == 0x756e6547 && edx == 0x49656e69 && ecx == 0x6c65746e) +- genuine_intel = 1; +- if (genuine_intel == 0) { +- // Simply return without further capability check +- return THD_SUCCESS; +- } +- __cpuid(1, fms, ebx, ecx, edx); +- family = (fms >> 8) & 0xf; +- model = (fms >> 4) & 0xf; +- stepping = fms & 0xf; +- if (family == 6 || family == 0xf) +- model += ((fms >> 16) & 0xf) << 4; +- +- thd_log_msg( +- "%u CPUID levels; family:model:stepping 0x%x:%x:%x (%u:%u:%u)\n", +- max_level, family, model, stepping, family, model, stepping); +- +- while (id_table[i].family) { +- if (id_table[i].family == family && id_table[i].model == model) { +- proc_list_matched = true; +- valid = true; +- break; +- } +- i++; +- } +- if (!valid) { +- thd_log_msg(" Need Linux PowerCap sysfs\n"); ++ // Create platform instance using factory method ++ cthd_platform *platform = cthd_platform::create_platform(); ++ if (!platform) { ++ thd_log_error("Failed to create platform instance\n"); ++ proc_list_matched = false; ++ return THD_ERROR; + } + ++ // Dump platform information ++ platform->dump_platform_info(); + +- for (const char *path : blocklist_paths) { +- struct stat s; ++ // Call platform-specific CPU ID check ++ int ret = platform->check_cpu_id(proc_list_matched); + +- if (!stat(path, &s)) { +- proc_list_matched = false; +- thd_log_warn("[%s] present: Thermald can't run on this platform\n", path); +- break; +- } +- } +- +-#endif +- return THD_SUCCESS; ++ delete platform; ++ return ret; + } + + void cthd_engine::thd_read_default_thermal_sensors() { +diff --git a/src/thd_engine.h b/src/thd_engine.h +index f6c9edf..2e024ca 100644 +--- a/src/thd_engine.h ++++ b/src/thd_engine.h +@@ -67,11 +67,6 @@ typedef struct { + unsigned long msg[MAX_MSG_SIZE]; + } message_capsul_t; + +-typedef struct { +- unsigned int family; +- unsigned int model; +-} supported_ids_t; +- + class cthd_engine { + + protected: +@@ -100,7 +95,6 @@ private: + time_t thz_last_temp_ind_time; + time_t thz_last_update_event_time; + bool terminate; +- int genuine_intel; + int has_invariant_tsc; + int has_aperf; + bool proc_list_matched; +diff --git a/src/thd_engine_default.cpp b/src/thd_engine_default.cpp +index 0e2a35c..62c2e67 100644 +--- a/src/thd_engine_default.cpp ++++ b/src/thd_engine_default.cpp +@@ -40,6 +40,8 @@ + #include "thd_int3400.h" + #include "thd_sensor_rapl_power.h" + #include "thd_zone_rapl_power.h" ++#include "thd_platform.h" ++#include "thd_platform_intel.h" + + + // Default CPU cooling devices, which are not part of thermal sysfs +@@ -795,7 +797,13 @@ void cthd_engine_default::workarounds() + { + // Every 30 seconds repeat + if (!disable_active_power && !workaround_interval) { +- workaround_rapl_mmio_power(); ++ // Create platform instance and call workaround ++ cthd_platform *platform = cthd_platform::create_platform(); ++ if (platform) { ++ platform->workaround_rapl_mmio_power(); ++ delete platform; ++ } ++ + workaround_tcc_offset(); + workaround_interval = 7; + } else { +@@ -803,75 +811,6 @@ void cthd_engine_default::workarounds() + } + } + +-#ifndef ANDROID +-#include +-#include +-#define BIT_ULL(nr) (1ULL << (nr)) +-#endif +- +-void cthd_engine_default::workaround_rapl_mmio_power(void) +-{ +- if (!workaround_enabled) +- return; +- +- cthd_cdev *cdev = search_cdev("rapl_controller_mmio"); +- if (cdev) { +- /* RAPL MMIO is enabled and getting used. No need to disable */ +- return; +- } else { +- csys_fs _sysfs("/sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/"); +- +- if (_sysfs.exists()) { +- std::ostringstream temp_str; +- +- temp_str << "enabled"; +- if (_sysfs.write(temp_str.str(), 0) > 0) +- return; +- +- thd_log_debug("Failed to write to RAPL MMIO\n"); +- } +- } +- +-#ifndef ANDROID +- int map_fd; +- void *rapl_mem; +- unsigned char *rapl_pkg_pwr_addr; +- unsigned long long pkg_power_limit; +- +- unsigned int ebx, ecx, edx; +- unsigned int fms, family, model; +- +- ecx = edx = 0; +- __cpuid(1, fms, ebx, ecx, edx); +- family = (fms >> 8) & 0xf; +- model = (fms >> 4) & 0xf; +- if (family == 6 || family == 0xf) +- model += ((fms >> 16) & 0xf) << 4; +- +- // Apply for KabyLake only +- if (model != 0x8e && model != 0x9e) +- return; +- +- map_fd = open("/dev/mem", O_RDWR, 0); +- if (map_fd < 0) +- return; +- +- rapl_mem = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, map_fd, +- 0xfed15000); +- if (!rapl_mem || rapl_mem == MAP_FAILED) { +- close(map_fd); +- return; +- } +- +- rapl_pkg_pwr_addr = ((unsigned char *)rapl_mem + 0x9a0); +- pkg_power_limit = *(unsigned long long *)rapl_pkg_pwr_addr; +- *(unsigned long long *)rapl_pkg_pwr_addr = pkg_power_limit +- & ~BIT_ULL(15); +- +- munmap(rapl_mem, 4096); +- close(map_fd); +-#endif +-} + + void cthd_engine_default::workaround_tcc_offset(void) + { +diff --git a/src/thd_platform.cpp b/src/thd_platform.cpp +new file mode 100644 +index 0000000..25ce094 +--- /dev/null ++++ b/src/thd_platform.cpp +@@ -0,0 +1,109 @@ ++/* ++ * thd_platform.cpp: Platform detection and abstraction layer implementation ++ * ++ * Copyright (c) 2026 Qualcomm Innovation Center, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License version ++ * 2 or later as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++ * 02110-1301, USA. ++ * ++ * Author Name ++ */ ++ ++#include "thd_platform.h" ++#include "thd_platform_intel.h" ++#include "thd_common.h" ++#include ++#include ++ ++cthd_platform::cthd_platform() : detected_platform(PLATFORM_UNKNOWN), machine_type("") { ++} ++ ++cthd_platform::~cthd_platform() { ++} ++ ++void cthd_platform::detect_platform() { ++ struct utsname sysinfo; ++ if (uname(&sysinfo) != 0) { ++ thd_log_error("Failed to get system information\n"); ++ detected_platform = PLATFORM_UNKNOWN; ++ return; ++ } ++ ++ machine_type = std::string(sysinfo.machine); ++ thd_log_info("Detected machine architecture: %s\n", machine_type.c_str()); ++ ++ if (strcmp(sysinfo.machine, "x86_64") == 0) { ++ detected_platform = PLATFORM_INTEL_X86; ++ } else { ++ detected_platform = PLATFORM_OTHER; ++ } ++} ++ ++platform_type_t cthd_platform::get_platform() { ++ return detected_platform; ++} ++ ++std::string cthd_platform::get_machine_type() { ++ return machine_type; ++} ++ ++int cthd_platform::check_cpu_id(bool &proc_list_matched) { ++ // Base implementation - to be overridden by derived classes ++ proc_list_matched = false; ++ return THD_SUCCESS; ++} ++ ++void cthd_platform::workaround_rapl_mmio_power() { ++ // Base implementation - to be overridden by derived classes ++ // No workaround needed for generic platform ++} ++ ++void cthd_platform::dump_platform_info() { ++ platform_type_t platform = get_platform(); ++ ++ thd_log_info("=== Platform Information ===\n"); ++ thd_log_info("Machine Type: %s\n", get_machine_type().c_str()); ++ ++ switch (platform) { ++ case PLATFORM_INTEL_X86: ++ thd_log_info("Platform: Intel x86/x86_64\n"); ++ break; ++ case PLATFORM_OTHER: ++ thd_log_info("Platform: Other (%s)\n", get_machine_type().c_str()); ++ break; ++ case PLATFORM_UNKNOWN: ++ default: ++ thd_log_info("Platform: Unknown\n"); ++ break; ++ } ++ thd_log_info("============================\n"); ++} ++ ++cthd_platform* cthd_platform::create_platform() { ++ // Detect platform architecture using uname ++ struct utsname sysinfo; ++ if (uname(&sysinfo) != 0) { ++ thd_log_error("Failed to get system information\n"); ++ return new cthd_platform(); ++ } ++ ++ // Create appropriate platform instance based on architecture ++ if (strcmp(sysinfo.machine, "x86_64") == 0) { ++ thd_log_info("Creating Intel platform instance\n"); ++ return new intel_platform(); ++ } else { ++ thd_log_info("Creating generic platform instance for %s\n", sysinfo.machine); ++ return new cthd_platform(); ++ } ++} +diff --git a/src/thd_platform.h b/src/thd_platform.h +new file mode 100644 +index 0000000..25746c3 +--- /dev/null ++++ b/src/thd_platform.h +@@ -0,0 +1,58 @@ ++/* ++ * thd_platform.h: Platform detection and abstraction layer ++ * ++ * Copyright (c) 2026 Qualcomm Innovation Center, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License version ++ * 2 or later as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++ * 02110-1301, USA. ++ * ++ * Author Name ++ */ ++ ++#ifndef THD_PLATFORM_H_ ++#define THD_PLATFORM_H_ ++ ++#include ++#include ++ ++typedef enum { ++ PLATFORM_UNKNOWN = 0, ++ PLATFORM_INTEL_X86, ++ PLATFORM_OTHER ++} platform_type_t; ++ ++class cthd_platform { ++protected: ++ platform_type_t detected_platform; ++ std::string machine_type; ++ ++public: ++ cthd_platform(); ++ virtual ~cthd_platform(); ++ ++ // Virtual methods to be overridden by derived classes ++ virtual void detect_platform(); ++ virtual int check_cpu_id(bool &proc_list_matched); ++ virtual void workaround_rapl_mmio_power(); ++ virtual void dump_platform_info(); ++ ++ // Common methods ++ platform_type_t get_platform(); ++ std::string get_machine_type(); ++ ++ // Factory method to create appropriate platform instance ++ static cthd_platform* create_platform(); ++}; ++ ++#endif /* THD_PLATFORM_H_ */ +diff --git a/src/thd_platform_intel.cpp b/src/thd_platform_intel.cpp +new file mode 100644 +index 0000000..622a9ad +--- /dev/null ++++ b/src/thd_platform_intel.cpp +@@ -0,0 +1,238 @@ ++/* ++ * thd_platform_intel.cpp: Intel platform-specific functionality implementation ++ * ++ * Copyright (c) 2026 Qualcomm Innovation Center, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License version ++ * 2 or later as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++ * 02110-1301, USA. ++ * ++ */ ++ ++#include "thd_platform_intel.h" ++#include "thd_common.h" ++#include "thd_engine.h" ++#include ++#include ++#include ++#include ++ ++#ifndef ANDROID ++#ifdef __x86_64__ ++#include ++#include ++#endif ++#include ++#endif ++ ++#define BIT_ULL(nr) (1ULL << (nr)) ++ ++#ifndef ANDROID ++#ifdef __x86_64__ ++typedef struct { ++ unsigned int family; ++ unsigned int model; ++} supported_ids_t; ++ ++static supported_ids_t intel_id_table[] = { ++ { 6, 0x2a }, // Sandybridge ++ { 6, 0x3a }, // IvyBridge ++ { 6, 0x3c }, // Haswell ++ { 6, 0x45 }, // Haswell ULT ++ { 6, 0x46 }, // Haswell ULT ++ { 6, 0x3d }, // Broadwell ++ { 6, 0x47 }, // Broadwell-GT3E ++ { 6, 0x37 }, // Valleyview BYT ++ { 6, 0x4c }, // Brasewell ++ { 6, 0x4e }, // skylake ++ { 6, 0x5e }, // skylake ++ { 6, 0x5c }, // Broxton ++ { 6, 0x7a }, // Gemini Lake ++ { 6, 0x8e }, // kabylake ++ { 6, 0x9e }, // kabylake ++ { 6, 0x66 }, // Cannonlake ++ { 6, 0x7e }, // Icelake ++ { 6, 0x8c }, // Tigerlake_L ++ { 6, 0x8d }, // Tigerlake ++ { 6, 0xa5 }, // Cometlake ++ { 6, 0xa6 }, // Cometlake_L ++ { 6, 0xa7 }, // Rocketlake ++ { 6, 0x9c }, // Jasper Lake ++ { 6, 0x97 }, // Alderlake ++ { 6, 0x9a }, // Alderlake ++ { 6, 0xb7 }, // Raptorlake ++ { 6, 0xba }, // Raptorlake ++ { 6, 0xbe }, // Alderlake N ++ { 6, 0xbf }, // Raptorlake S ++ { 6, 0xaa }, // Mateor Lake L ++ { 6, 0xbd }, // Lunar Lake M ++ { 6, 0xc6 }, // Arrow Lake ++ { 6, 0xc5 }, // Arrow Lake H ++ { 6, 0xb5 }, // Arrow Lake U ++ { 6, 0xcc }, // Panther Lake L ++ { 0, 0 } // Last Invalid entry ++}; ++ ++std::vector blocklist_paths { ++ /* Some Lenovo machines have in-firmware thermal management, ++ * avoid having two entities trying to manage things. ++ * We may want to change this to dytc_perfmode once that is ++ * widely available. */ ++ "/sys/devices/platform/thinkpad_acpi/dytc_lapmode", ++}; ++#endif // __x86_64__ ++#endif ++ ++intel_platform::intel_platform() : cthd_platform() { ++ // Intel platform specific initialization ++ detect_platform(); ++} ++ ++intel_platform::~intel_platform() { ++} ++ ++void intel_platform::detect_platform() { ++ // Call base class detection first ++ cthd_platform::detect_platform(); ++ ++ thd_log_info("Intel platform detected\n"); ++} ++ ++int intel_platform::check_cpu_id(bool &proc_list_matched) { ++#ifndef ANDROID ++#ifdef __x86_64__ ++ unsigned int ebx, ecx, edx, max_level; ++ unsigned int fms, family, model, stepping; ++ unsigned int genuine_intel = 0; ++ int i = 0; ++ bool valid = false; ++ ++ proc_list_matched = false; ++ ebx = ecx = edx = 0; ++ ++ __cpuid(0, max_level, ebx, ecx, edx); ++ if (ebx == 0x756e6547 && edx == 0x49656e69 && ecx == 0x6c65746e) ++ genuine_intel = 1; ++ if (genuine_intel == 0) { ++ // Simply return without further capability check ++ return THD_SUCCESS; ++ } ++ __cpuid(1, fms, ebx, ecx, edx); ++ family = (fms >> 8) & 0xf; ++ model = (fms >> 4) & 0xf; ++ stepping = fms & 0xf; ++ if (family == 6 || family == 0xf) ++ model += ((fms >> 16) & 0xf) << 4; ++ ++ thd_log_msg( ++ "%u CPUID levels; family:model:stepping 0x%x:%x:%x (%u:%u:%u)\n", ++ max_level, family, model, stepping, family, model, stepping); ++ ++ while (intel_id_table[i].family) { ++ if (intel_id_table[i].family == family && intel_id_table[i].model == model) { ++ proc_list_matched = true; ++ valid = true; ++ break; ++ } ++ i++; ++ } ++ if (!valid) { ++ thd_log_msg(" Need Linux PowerCap sysfs\n"); ++ } ++ ++ for (std::string path : blocklist_paths) { ++ struct stat s; ++ ++ if (!stat(path.c_str(), &s)) { ++ proc_list_matched = false; ++ thd_log_warn("[%s] present: Thermald can't run on this platform\n", path.c_str()); ++ break; ++ } ++ } ++#else ++ thd_log_info("Non-x86_64 platform detected in Intel check - skipping CPUID\n"); ++#endif // __x86_64__ ++#endif // ANDROID ++ return THD_SUCCESS; ++} ++ ++void intel_platform::workaround_rapl_mmio_power(void) { ++ // First check if workaround is enabled and needed ++ extern bool workaround_enabled; ++ if (!workaround_enabled) ++ return; ++ ++ // Check if RAPL MMIO controller is already being used ++ extern cthd_engine *thd_engine; ++ if (thd_engine) { ++ cthd_cdev *cdev = thd_engine->search_cdev("rapl_controller_mmio"); ++ if (cdev) { ++ /* RAPL MMIO is enabled and getting used. No need to disable */ ++ return; ++ } else { ++ csys_fs _sysfs("/sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/"); ++ ++ if (_sysfs.exists()) { ++ std::stringstream temp_str; ++ ++ temp_str << "enabled"; ++ if (_sysfs.write(temp_str.str(), 0) > 0) ++ return; ++ ++ thd_log_debug("Failed to write to RAPL MMIO\n"); ++ } ++ } ++ } ++ ++#ifndef ANDROID ++#ifdef __x86_64__ ++ int map_fd; ++ void *rapl_mem; ++ unsigned char *rapl_pkg_pwr_addr; ++ unsigned long long pkg_power_limit; ++ ++ unsigned int ebx, ecx, edx; ++ unsigned int fms, family, model; ++ ++ ecx = edx = 0; ++ __cpuid(1, fms, ebx, ecx, edx); ++ family = (fms >> 8) & 0xf; ++ model = (fms >> 4) & 0xf; ++ if (family == 6 || family == 0xf) ++ model += ((fms >> 16) & 0xf) << 4; ++ ++ // Apply for KabyLake only ++ if (model != 0x8e && model != 0x9e) ++ return; ++ ++ map_fd = open("/dev/mem", O_RDWR, 0); ++ if (map_fd < 0) ++ return; ++ ++ rapl_mem = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, map_fd, ++ 0xfed15000); ++ if (!rapl_mem || rapl_mem == MAP_FAILED) { ++ close(map_fd); ++ return; ++ } ++ ++ rapl_pkg_pwr_addr = ((unsigned char *)rapl_mem + 0x9a0); ++ pkg_power_limit = *(unsigned long long *)rapl_pkg_pwr_addr; ++ *(unsigned long long *)rapl_pkg_pwr_addr = pkg_power_limit ++ & ~BIT_ULL(15); ++ ++ munmap(rapl_mem, 4096); ++ close(map_fd); ++#endif // __x86_64__ ++#endif // ANDROID ++} +diff --git a/src/thd_platform_intel.h b/src/thd_platform_intel.h +new file mode 100644 +index 0000000..5753afe +--- /dev/null ++++ b/src/thd_platform_intel.h +@@ -0,0 +1,38 @@ ++/* ++ * thd_platform_intel.h: Intel platform-specific functionality ++ * ++ * Copyright (c) 2026 Qualcomm Innovation Center, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License version ++ * 2 or later as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++ * 02110-1301, USA. ++ * ++ */ ++ ++#ifndef THD_PLATFORM_INTEL_H_ ++#define THD_PLATFORM_INTEL_H_ ++ ++#include "thd_platform.h" ++ ++class intel_platform : public cthd_platform { ++public: ++ intel_platform(); ++ virtual ~intel_platform(); ++ ++ // Override virtual methods from base class ++ void detect_platform() override; ++ int check_cpu_id(bool &proc_list_matched) override; ++ void workaround_rapl_mmio_power() override; ++}; ++ ++#endif /* THD_PLATFORM_INTEL_H_ */ +-- +2.25.1 + diff --git a/meta-oe/recipes-bsp/thermald/thermald/0002-Invoke-parser_init-before-platform_match.patch b/meta-oe/recipes-bsp/thermald/thermald/0002-Invoke-parser_init-before-platform_match.patch new file mode 100644 index 00000000000..6f72d0cc015 --- /dev/null +++ b/meta-oe/recipes-bsp/thermald/thermald/0002-Invoke-parser_init-before-platform_match.patch @@ -0,0 +1,41 @@ +From 857fbdf3e9079cec04bfa5fe7a93a432485b5cab Mon Sep 17 00:00:00 2001 +From: Priyansh Jain +Date: Tue, 27 Jan 2026 15:26:24 +0530 +Subject: [PATCH 2/3] Invoke parser_init before platform_match + +The initialization flow currently invokes platform_match without +calling parser_init first. As a result, the platform matching +logic runs with no parsed configuration data available. This +can cause incorrect platform detection, or failure to load +the expected thermal configurations. + +This patch adds the missing parser_init() call before +platform_match(), ensuring that configuration files are properly +parsed and populated before any platform-specific matching occurs. +This makes initialization reliable and aligns with the intended +dependency order. + +Suggested-by: Amit Kucheria +Signed-off-by: Priyansh Jain + +Upstream-Status: Backport [from commit 857fbdf3e9079cec04bfa5fe7a93a432485b5cab] +--- + src/thd_engine.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/thd_engine.cpp b/src/thd_engine.cpp +index 319f50b..da52a5b 100644 +--- a/src/thd_engine.cpp ++++ b/src/thd_engine.cpp +@@ -318,7 +318,7 @@ int cthd_engine::thd_engine_start() { + poll_timeout_msec = poll_interval_sec * 1000; + } + +- if (parser.platform_matched()) { ++ if (!parser_init() && parser.platform_matched()) { + parser.set_default_preference(); + int poll_secs = parser.get_polling_interval(); + if (poll_secs) { +-- +2.25.1 + diff --git a/meta-oe/recipes-bsp/thermald/thermald/0003-Add-ARM-backend-and-enable-ARM-platform-detection.patch b/meta-oe/recipes-bsp/thermald/thermald/0003-Add-ARM-backend-and-enable-ARM-platform-detection.patch new file mode 100644 index 00000000000..a444c585ab8 --- /dev/null +++ b/meta-oe/recipes-bsp/thermald/thermald/0003-Add-ARM-backend-and-enable-ARM-platform-detection.patch @@ -0,0 +1,234 @@ +From 1931a12e7e44b6b85a02a5d8158829eff4b9cc92 Mon Sep 17 00:00:00 2001 +From: Priyansh Jain +Date: Mon, 9 Feb 2026 16:11:31 +0530 +Subject: [PATCH 3/3] Add ARM backend and enable ARM platform detection + +thermald historically supported only Intel platforms. As the +codebase is being refactored to allow multi-platform support, +ARM platforms require their own backend implementation to +handle platform-specific thermal controls, capabilities, and +configuration rules. + +This patch adds the initial ARM-specific backend files and +integrates ARM selection into the newly introduced platform +detection mechanism. With this change, thermald can correctly +identify ARM systems and route thermal management operations +to the appropriate backend. This establishes the foundation +needed for future ARM thermal features and expands thermald's +usefulness beyond Intel-based platforms. + +Suggested-by: Amit Kucheria +Signed-off-by: Priyansh Jain + +Upstream-Status: Backport [from commit 1931a12e7e44b6b85a02a5d8158829eff4b9cc92] +--- + Android.mk | 3 ++- + Makefile.am | 3 ++- + src/thd_engine.cpp | 1 + + src/thd_platform.cpp | 14 ++++++++++++ + src/thd_platform.h | 2 ++ + src/thd_platform_arm.cpp | 47 ++++++++++++++++++++++++++++++++++++++++ + src/thd_platform_arm.h | 38 ++++++++++++++++++++++++++++++++ + 7 files changed, 106 insertions(+), 2 deletions(-) + create mode 100644 src/thd_platform_arm.cpp + create mode 100644 src/thd_platform_arm.h + +diff --git a/Android.mk b/Android.mk +index c14fa4a..5d38c35 100644 +--- a/Android.mk ++++ b/Android.mk +@@ -45,7 +45,8 @@ LOCAL_SRC_FILES := \ + src/LzmaDec.c \ + src/thd_gddv.cpp \ + src/thd_platform.cpp \ +- src/thd_platform_intel.cpp ++ src/thd_platform_intel.cpp \ ++ src/thd_platform_arm.cpp + + LOCAL_C_INCLUDES += external/libxml2/include + +diff --git a/Makefile.am b/Makefile.am +index 2e76187..61741ba 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -77,7 +77,8 @@ thermald_SOURCES = \ + src/thd_lzma_dec.cpp \ + src/LzmaDec.c \ + src/thd_platform.cpp \ +- src/thd_platform_intel.cpp ++ src/thd_platform_intel.cpp \ ++ src/thd_platform_arm.cpp + + man5_MANS = man/thermal-conf.xml.5 + man8_MANS = man/thermald.8 +diff --git a/src/thd_engine.cpp b/src/thd_engine.cpp +index da52a5b..9024650 100644 +--- a/src/thd_engine.cpp ++++ b/src/thd_engine.cpp +@@ -45,6 +45,7 @@ + #include "thd_int3400.h" + #include "thd_platform.h" + #include "thd_platform_intel.h" ++#include "thd_platform_arm.h" + + static void *cthd_engine_thread(void *arg); + +diff --git a/src/thd_platform.cpp b/src/thd_platform.cpp +index 25ce094..647b079 100644 +--- a/src/thd_platform.cpp ++++ b/src/thd_platform.cpp +@@ -22,6 +22,7 @@ + + #include "thd_platform.h" + #include "thd_platform_intel.h" ++#include "thd_platform_arm.h" + #include "thd_common.h" + #include + #include +@@ -45,6 +46,10 @@ void cthd_platform::detect_platform() { + + if (strcmp(sysinfo.machine, "x86_64") == 0) { + detected_platform = PLATFORM_INTEL_X86; ++ } else if (strcmp(sysinfo.machine, "aarch64") == 0) { ++ detected_platform = PLATFORM_ARM64; ++ } else if (strcmp(sysinfo.machine, "arm") == 0) { ++ detected_platform = PLATFORM_ARM32; + } else { + detected_platform = PLATFORM_OTHER; + } +@@ -79,6 +84,12 @@ void cthd_platform::dump_platform_info() { + case PLATFORM_INTEL_X86: + thd_log_info("Platform: Intel x86/x86_64\n"); + break; ++ case PLATFORM_ARM64: ++ thd_log_info("Platform: ARM64 (aarch64)\n"); ++ break; ++ case PLATFORM_ARM32: ++ thd_log_info("Platform: ARM32\n"); ++ break; + case PLATFORM_OTHER: + thd_log_info("Platform: Other (%s)\n", get_machine_type().c_str()); + break; +@@ -102,6 +113,9 @@ cthd_platform* cthd_platform::create_platform() { + if (strcmp(sysinfo.machine, "x86_64") == 0) { + thd_log_info("Creating Intel platform instance\n"); + return new intel_platform(); ++ } else if (strcmp(sysinfo.machine, "aarch64") == 0 || strcmp(sysinfo.machine, "arm") == 0) { ++ thd_log_info("Creating ARM platform instance\n"); ++ return new arm_platform(); + } else { + thd_log_info("Creating generic platform instance for %s\n", sysinfo.machine); + return new cthd_platform(); +diff --git a/src/thd_platform.h b/src/thd_platform.h +index 25746c3..096a55e 100644 +--- a/src/thd_platform.h ++++ b/src/thd_platform.h +@@ -29,6 +29,8 @@ + typedef enum { + PLATFORM_UNKNOWN = 0, + PLATFORM_INTEL_X86, ++ PLATFORM_ARM64, ++ PLATFORM_ARM32, + PLATFORM_OTHER + } platform_type_t; + +diff --git a/src/thd_platform_arm.cpp b/src/thd_platform_arm.cpp +new file mode 100644 +index 0000000..a43ef9f +--- /dev/null ++++ b/src/thd_platform_arm.cpp +@@ -0,0 +1,47 @@ ++/* ++ * thd_platform_arm.cpp: ARM platform-specific functionality implementation ++ * ++ * Copyright (c) 2026 Qualcomm Innovation Center, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License version ++ * 2 or later as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++ * 02110-1301, USA. ++ * ++ * Author Name ++ */ ++ ++#include "thd_platform_arm.h" ++#include "thd_common.h" ++ ++arm_platform::arm_platform() : cthd_platform() { ++ // ARM platform specific initialization ++ detect_platform(); ++} ++ ++arm_platform::~arm_platform() { ++} ++ ++void arm_platform::detect_platform() { ++ // Call base class detection first ++ cthd_platform::detect_platform(); ++ ++ // ARM-specific platform detection can be added here if needed ++ thd_log_info("ARM platform detected\n"); ++} ++ ++int arm_platform::check_cpu_id(bool &proc_list_matched) { ++ // For ARM, we assume the platform is supported ++ proc_list_matched = true; ++ ++ return THD_SUCCESS; ++} +diff --git a/src/thd_platform_arm.h b/src/thd_platform_arm.h +new file mode 100644 +index 0000000..e970803 +--- /dev/null ++++ b/src/thd_platform_arm.h +@@ -0,0 +1,38 @@ ++/* ++ * thd_platform_arm.h: ARM platform-specific functionality ++ * ++ * Copyright (c) 2026 Qualcomm Innovation Center, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License version ++ * 2 or later as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++ * 02110-1301, USA. ++ * ++ * Author Name ++ */ ++ ++#ifndef THD_PLATFORM_ARM_H_ ++#define THD_PLATFORM_ARM_H_ ++ ++#include "thd_platform.h" ++ ++class arm_platform : public cthd_platform { ++public: ++ arm_platform(); ++ virtual ~arm_platform(); ++ ++ // Override virtual methods from base class ++ void detect_platform() override; ++ int check_cpu_id(bool &proc_list_matched) override; ++}; ++ ++#endif /* THD_PLATFORM_ARM_H_ */ +-- +2.25.1 + diff --git a/meta-oe/recipes-bsp/thermald/thermald_2.5.11.bb b/meta-oe/recipes-bsp/thermald/thermald_2.5.11.bb new file mode 100644 index 00000000000..0425d1c575d --- /dev/null +++ b/meta-oe/recipes-bsp/thermald/thermald_2.5.11.bb @@ -0,0 +1,47 @@ +SUMMARY = "Linux thermal daemon" + +DESCRIPTION = "Thermal Daemon is a Linux daemon used to prevent the \ +overheating of platforms. This daemon monitors temperature and applies \ +compensation using available cooling methods." + +HOMEPAGE = "https://github.com/intel/thermal_daemon" + +DEPENDS = "dbus dbus-glib dbus-glib-native libxml2 glib-2.0 glib-2.0-native upower libevdev" +DEPENDS += "autoconf-archive-native" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848" + +SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \ + file://0001-Refactor-Intel-specific-logic-into-separate-files.patch \ + file://0002-Invoke-parser_init-before-platform_match.patch \ + file://0003-Add-ARM-backend-and-enable-ARM-platform-detection.patch \ + " + +SRCREV = "5269afcf3e021e4e1b672b4640a0358f4ae5821b" + +inherit pkgconfig autotools systemd gtk-doc + +# gtkdocsize runs before autotools do_configure and it copies gtk-doc.m4 and fails +# to copy becuase there is no m4 dir yet. +do_configure:prepend () { + mkdir -p ${S}/m4 +} + +EXTRA_OECONF = " \ + --with-systemdsystemunitdir=${systemd_system_unitdir} \ + " + +FILES:${PN} += "${datadir}/dbus-1" + +SYSTEMD_SERVICE:${PN} = "thermald.service" + +COMPATIBLE_HOST = '(i.86|x86_64|aarch64|arm).*-linux' + +CONFFILES:${PN} = " \ + ${sysconfdir}/thermald/thermal-conf.xml \ + ${sysconfdir}/thermald/thermal-cpu-cdev-order.xml \ + " + +UPSTREAM_CHECK_URI = "https://github.com/intel/thermal_daemon/releases/" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P(?!2\.15\.10$)\d+(\.\d+)+)" diff --git a/meta-oe/recipes-connectivity/asyncmqtt/asyncmqtt_10.2.6.bb b/meta-oe/recipes-connectivity/asyncmqtt/asyncmqtt_10.2.6.bb deleted file mode 100644 index 47de7a73449..00000000000 --- a/meta-oe/recipes-connectivity/asyncmqtt/asyncmqtt_10.2.6.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "MQTT communication C++ library using Boost.Asio" -HOMEPAGE = "https://github.com/redboltz/async_mqtt" -LICENSE = "BSL-1.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=e4224ccaecb14d942c71d31bef20d78c" - -CVE_PRODUCT = "async_mqtt" - -SRC_URI = "git://github.com/redboltz/async_mqtt;protocol=http;branch=main;protocol=https;tag=${PV}" -SRCREV = "cb3d37dc3432b9c03fe631eeba2d548de7457bf9" - -DEPENDS = "openssl boost" - - -inherit cmake diff --git a/meta-oe/recipes-connectivity/asyncmqtt/asyncmqtt_10.3.0.bb b/meta-oe/recipes-connectivity/asyncmqtt/asyncmqtt_10.3.0.bb new file mode 100644 index 00000000000..0e1e1553566 --- /dev/null +++ b/meta-oe/recipes-connectivity/asyncmqtt/asyncmqtt_10.3.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "MQTT communication C++ library using Boost.Asio" +HOMEPAGE = "https://github.com/redboltz/async_mqtt" +LICENSE = "BSL-1.0" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=e4224ccaecb14d942c71d31bef20d78c" + +CVE_PRODUCT = "async_mqtt" + +SRC_URI = "git://github.com/redboltz/async_mqtt;protocol=http;branch=main;protocol=https;tag=${PV}" +SRCREV = "7129d72c1b9adf159bc506206df3fb422bb9fb84" + +DEPENDS = "openssl boost" + + +inherit cmake diff --git a/meta-oe/recipes-connectivity/conserver/conserver/conserver.service b/meta-oe/recipes-connectivity/conserver/conserver/conserver.service new file mode 100644 index 00000000000..8649896487e --- /dev/null +++ b/meta-oe/recipes-connectivity/conserver/conserver/conserver.service @@ -0,0 +1,58 @@ +[Unit] +Description=Console server +Documentation=man:conserver(8) +Documentation=https://www.conserver.com/ +After=network.target +ConditionPathExists=/etc/conserver.cf + +[Service] +Type=exec +ExecStart=/usr/sbin/conserver -C /etc/conserver.cf +ExecReload=+kill -HUP $MAINPID +User=conserver +# /run/conserver for Unix domain socket +RuntimeDirectory=conserver + +CapabilityBoundingSet= + +LockPersonality=true +MemoryDenyWriteExecute=true +NoNewPrivileges=true + +# No access to /dev/... +PrivateDevices=true +PrivateTmp=true +ProtectClock=true +ProtectControlGroups=true +ProtectHostname=true +ProtectKernelLogs=true +ProtectKernelModules=true +ProtectKernelTunables=true + +# strict: mounts the whole system read-only +# full: mount only /var as read-write +# true: mount /var and /etc as read-write +ProtectSystem=full +# Make some paths writable +#ReadWritePaths=/… +ProtectHome=true + +# Make sure that the process can only see PIDs and process details of itself, +# and the second option disables seeing details of things like system load and +# I/O etc +ProtectProc=invisible +ProcSubset=pid + +RemoveIPC=true +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +RestrictNamespaces=true +RestrictRealtime=true +RestrictSUIDSGID=true + +SystemCallArchitectures=native +SystemCallFilter=@system-service +SystemCallFilter=~@privileged @resources @obsolete + + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/conserver/conserver/run-ptest b/meta-oe/recipes-connectivity/conserver/conserver/run-ptest new file mode 100644 index 00000000000..51eb0ffbcfa --- /dev/null +++ b/meta-oe/recipes-connectivity/conserver/conserver/run-ptest @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e -u -C + +cd test + +./dotest |sed \ + -e 's,^executing test \(#[0-9]*\)...succeeded$,PASS: conserver \1,' \ + -e 's,^executing test \(#[0-9]*\)...failed\(.*\)$,FAIL: conserver \1 \2,' + +for i in test*.diff conserver.log shell.log shell2.log +do + test "$i" != 'test*.diff' || exit 0 + test -e "$i" || continue + + echo "----[ $i ]--------------------" + cat "$i" + echo "------------------------------------" +done + +exit 1 diff --git a/meta-oe/recipes-connectivity/conserver/conserver_8.3.0.bb b/meta-oe/recipes-connectivity/conserver/conserver_8.3.0.bb new file mode 100644 index 00000000000..c32d6f96460 --- /dev/null +++ b/meta-oe/recipes-connectivity/conserver/conserver_8.3.0.bb @@ -0,0 +1,111 @@ +SUMMARY = "Manages connections of multiple users to a serial console or TCP/unix sockets" +DESCRIPTION = "\ + Conserver allows multiple users to watch a serial console at the same \ + time. It can log the data, allows users to take write-access of a console \ + (one at a time), and has a variety of bells and whistles to accentuate \ + that basic functionality. The idea is that conserver will log all your \ + serial traffic so you can go back and review why something crashed, look \ + at changes (if done on the console), or tie the console logs into a \ + monitoring system (just watch the logfiles it creates). \ +" +HOMEPAGE = "https://www.conserver.com/" +BUGTRACKER = "https://github.com/bstansell/conserver/issues" +SECTION = "console/network" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b28513e7b696027d3d2b8dbf117f9fe5" + +DEPENDS = "libxcrypt" + +inherit autotools ptest systemd useradd + +SRC_URI = "\ + git://github.com/bstansell/conserver;protocol=https;branch=master;tag=v${PV} \ + file://conserver.service \ + file://run-ptest \ +" +SRCREV = "fe9aac337554f95721dc9f3da721092a81092089" + +# In 8.3.0, conserver fails to build with uds and ipv6 +# https://github.com/bstansell/conserver/issues/112 +PACKAGECONFIG ?= "\ + openssl \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'ipv4 ipv6', '', 'uds trust-uds-cred', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ +" + +# Trust reverse DNS information +PACKAGECONFIG[trustrevdns] = "--with-trustrevdns,--without-trustrevdns" +# Produce extended messages +PACKAGECONFIG[extmsgs] = "--with-extmsgs,--without-extmsgs" +# Use Unix domain sockets for client/server communication [/tmp/conserver] +PACKAGECONFIG[uds] = "--with-uds=/run/${PN},--without-uds" +# Trust UDS credentials obtained via socket +PACKAGECONFIG[trust-uds-cred] = "--with-trust-uds-cred,--without-trust-uds-cred" +# Compile in libwrap (tcp_wrappers) support +PACKAGECONFIG[libwrap] = "--with-libwrap,--without-libwrap,tcp-wrappers" +# Compile in OpenSSL support +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" +# Require server SSL certificate by client +PACKAGECONFIG[req-server-cert] = "--with-req-server-cert,--without-req-server-cert" +# Compile in GSS-API support +PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5" +# retry username without @REALM with gss-api authentication +PACKAGECONFIG[striprealm] = "--with-striprealm,--without-striprealm" +# Compile in FreeIPMI support +PACKAGECONFIG[freeipmi] = "--with-freeipmi,--without-freeipmi,freeipmi" +# Compile in dmalloc support +PACKAGECONFIG[dmalloc] = "--with-dmalloc,--without-dmalloc,dmalloc" +# Enable PAM support +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" +# (experimental) Use IPv6 for client/server communication +PACKAGECONFIG[ipv6] = "--with-ipv6,--without-ipv6" + +EXTRA_OECONF += "\ + INSTALL_PROGRAM='install --strip-program=true' \ + --with-pidfile=/run/conserver/conserver.pid \ + --without-rpath \ +" + +PACKAGE_BEFORE_PN += "${PN}-client" +SUMMARY:${PN}-client = "Client to connect to conserver" +FILES:${PN}-client += "${bindir}/console" + +PACKAGE_BEFORE_PN += "${PN}-convert" +SUMMARY:${PN}-convert = "Converter for old config files of conserver" +FILES:${PN}-convert += "${libdir}/${PN}" + +# tests fail with ash +RDEPENDS:${PN}-ptest += "bash" + +SYSTEMD_SERVICE:${PN} = "${PN}.service" + +USERADD_PACKAGES = "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${PN}', '', d)} \ +" +USERADD_PARAM:${PN} = "\ + -M -d /invalid -r -U -s ${sbindir}/nologin conserver; \ +" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} + then + rm ${D}${datadir}/examples/${PN}/conserver.rc + + install -m 644 -D -t ${D}/${systemd_unitdir}/system ${UNPACKDIR}/conserver.service + else + install -d ${D}${sysconfdir}/init.d + mv ${D}${datadir}/examples/${PN}/conserver.rc ${D}${sysconfdir}/init.d/${PN} + fi + + install -d ${D}${datadir}/doc/${PN}/examples + mv ${D}${datadir}/examples/${PN}/* ${D}${datadir}/doc/${PN}/examples + rmdir ${D}${datadir}/examples/${PN} ${D}${datadir}/examples +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/conserver ${D}${PTEST_PATH}/console + ln -s ${sbindir}/conserver ${D}${PTEST_PATH}/conserver + ln -s ${bindir}/console ${D}${PTEST_PATH}/console + cp -a ${S}/test ${D}${PTEST_PATH} +} diff --git a/meta-oe/recipes-connectivity/gattlib/gattlib_0.7.2.bb b/meta-oe/recipes-connectivity/gattlib/gattlib_0.7.2.bb index 1ebb8350b28..65b1e93468f 100644 --- a/meta-oe/recipes-connectivity/gattlib/gattlib_0.7.2.bb +++ b/meta-oe/recipes-connectivity/gattlib/gattlib_0.7.2.bb @@ -14,9 +14,6 @@ SRC_URI = "git://github.com/labapart/gattlib.git;branch=master;protocol=https;ta SRCBRANCH = "master" SRCREV = "f99558d9b8e3dbba2a952a0b292d3497aec8ee69" - -CVE_STATUS[CVE-2019-6498] = "fixed-version: patch is already included in sources" - PACKAGECONFIG[examples] = "-DGATTLIB_BUILD_EXAMPLES=ON,-DGATTLIB_BUILD_EXAMPLES=OFF" # Set this to force use of DBus API if Bluez version is older than 5.42 diff --git a/meta-oe/recipes-connectivity/gensio/gensio_3.0.1.bb b/meta-oe/recipes-connectivity/gensio/gensio_3.0.1.bb deleted file mode 100644 index 3427ef3a302..00000000000 --- a/meta-oe/recipes-connectivity/gensio/gensio_3.0.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc" -HOMEPAGE = "https://github.com/cminyard/gensio" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - " - -SRCREV = "f15f54da21697c3656a6fb3ad65a8bec1687c772" - -SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=ipv6-fix;tag=v${PV}" - - -inherit autotools - -PACKAGECONFIG ??= "openssl" - -PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl" -PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig" - -EXTRA_OECONF = "--without-python" - -RDEPENDS:${PN} += "bash" - -FILES:${PN}-staticdev += "${libexecdir}/gensio/${PV}/libgensio_*.a" diff --git a/meta-oe/recipes-connectivity/gensio/gensio_3.0.2.bb b/meta-oe/recipes-connectivity/gensio/gensio_3.0.2.bb new file mode 100644 index 00000000000..da6b1961d34 --- /dev/null +++ b/meta-oe/recipes-connectivity/gensio/gensio_3.0.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc" +HOMEPAGE = "https://github.com/cminyard/gensio" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + " + +SRCREV = "57320144c7f3a3ba3d00435a966aa811e219e374" + +SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master;tag=v${PV}" + + +inherit autotools + +PACKAGECONFIG ??= "openssl" + +PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl" +PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig" + +EXTRA_OECONF = "--without-python" + +RDEPENDS:${PN} += "bash" + +FILES:${PN}-staticdev += "${libexecdir}/gensio/${PV}/libgensio_*.a" diff --git a/meta-oe/recipes-connectivity/iwd/iwd_3.11.bb b/meta-oe/recipes-connectivity/iwd/iwd_3.11.bb deleted file mode 100644 index c4956fb22cb..00000000000 --- a/meta-oe/recipes-connectivity/iwd/iwd_3.11.bb +++ /dev/null @@ -1,62 +0,0 @@ -SUMMARY = "Wireless daemon for Linux" -HOMEPAGE = "https://iwd.wiki.kernel.org/" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "dbus" - -SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ - file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ - file://iwd \ - " -SRC_URI[sha256sum] = "85730e79de05978e26e44b958fd11e2ebb45424ca181f8db7a8daf25fc2226ea" - -inherit autotools manpages pkgconfig python3native systemd update-rc.d - -PACKAGECONFIG ??= " \ - client \ - monitor \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" -PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" -PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" -PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" -PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" - -INITSCRIPT_NAME = "iwd" -INITSCRIPT_PARAMS = "start 04 5 2 3 . stop 23 0 1 6 ." - -SYSTEMD_SERVICE:${PN} = " \ - iwd.service \ - ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ -" - -do_configure:prepend() { - install -d ${S}/build-aux -} - -do_install:append() { - # If client and monitor are disabled, bindir is empty, causing a QA error - rmdir --ignore-fail-on-non-empty ${D}/${bindir} - - if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/iwd ${D}${sysconfdir}/init.d/iwd - fi -} - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${nonarch_libdir}/modules-load.d \ - ${systemd_unitdir}/network \ -" - -RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_dbus}" - -RRECOMMENDS:${PN} = "\ - kernel-module-pkcs7-message \ - kernel-module-pkcs8-key-parser \ - kernel-module-x509-key-parser \ -" diff --git a/meta-oe/recipes-connectivity/iwd/iwd_3.12.bb b/meta-oe/recipes-connectivity/iwd/iwd_3.12.bb new file mode 100644 index 00000000000..073814d89d1 --- /dev/null +++ b/meta-oe/recipes-connectivity/iwd/iwd_3.12.bb @@ -0,0 +1,63 @@ +SUMMARY = "Wireless daemon for Linux" +HOMEPAGE = "https://iwd.wiki.kernel.org/" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "dbus" + +SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ + file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ + file://iwd \ + " +SRC_URI[sha256sum] = "d89a5e45c7180170e19be828f9e944a768c593758094fc57a358d0e7c4cb1a49" + +inherit autotools manpages pkgconfig python3native systemd update-rc.d + +PACKAGECONFIG ??= " \ + client \ + monitor \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" +PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" +PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" +PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" + +INITSCRIPT_NAME = "iwd" +INITSCRIPT_PARAMS = "start 04 5 2 3 . stop 23 0 1 6 ." + +SYSTEMD_SERVICE:${PN} = " \ + iwd.service \ + ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ +" + +do_configure:prepend() { + install -d ${S}/build-aux +} + +do_install:append() { + # If client and monitor are disabled, bindir is empty, causing a QA error + rmdir --ignore-fail-on-non-empty ${D}/${bindir} + + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/iwd ${D}${sysconfdir}/init.d/iwd + fi +} + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${nonarch_libdir}/modules-load.d \ + ${systemd_unitdir}/network \ +" + +RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_dbus}" + +RRECOMMENDS:${PN} = "\ + kernel-module-pkcs7-message \ + kernel-module-pkcs8-key-parser \ + kernel-module-x509-key-parser \ + wireless-regdb-static \ +" diff --git a/meta-oe/recipes-connectivity/krb5/krb5/0001-configure.ac-replace-K5_AC_INIT-with-explicit-AC_INI.patch b/meta-oe/recipes-connectivity/krb5/krb5/0001-configure.ac-replace-K5_AC_INIT-with-explicit-AC_INI.patch new file mode 100644 index 00000000000..9fb9b38a636 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/0001-configure.ac-replace-K5_AC_INIT-with-explicit-AC_INI.patch @@ -0,0 +1,37 @@ +From 1b54d6a42677bd4209cf5c893802c7f60dc0ad75 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Apr 2026 23:43:18 -0700 +Subject: [PATCH] configure.ac: replace K5_AC_INIT with explicit AC_INIT + +autoreconf expects configure.ac to contain a literal AC_INIT invocation. +krb5 currently uses the custom K5_AC_INIT wrapper, which expands to +AC_INIT but is not recognized by autoreconf's initial sanity check, +causing configuration to fail with: + + autoreconf: error: configure.ac: AC_INIT not found + +Replace K5_AC_INIT([aclocal.m4]) with its explicit expansion: +AC_INIT(...), AC_CONFIG_SRCDIR([aclocal.m4]), and build_dynobj=no. + +This preserves the existing behavior while allowing autoreconf-based +builds to succeed. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + src/configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/configure.ac b/src/configure.ac +index 4325fae..03e224f 100644 +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -1,4 +1,6 @@ +-K5_AC_INIT([aclocal.m4]) ++AC_INIT([Kerberos 5], m4_defn([K5_VERSION]), m4_defn([K5_BUGADDR]), [krb5]) ++AC_CONFIG_SRCDIR([aclocal.m4]) ++build_dynobj=no + + # If $runstatedir isn't set by autoconf (<2.70), set it manually. + if test x"$runstatedir" = x; then diff --git a/meta-oe/recipes-connectivity/krb5/krb5/fix-strchr-conformance-to-C23.patch b/meta-oe/recipes-connectivity/krb5/krb5/fix-strchr-conformance-to-C23.patch new file mode 100644 index 00000000000..0cc50d2fdb7 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/fix-strchr-conformance-to-C23.patch @@ -0,0 +1,191 @@ +From cf3fcbb7ad5f3ffd78eb7dd4ecbc96c98ad15208 Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy +Date: Wed, 10 Dec 2025 10:42:02 +0200 +Subject: [PATCH] Fix strchr() conformance to C23 + +C23 7.28.5.1 specifies search functions such as strchr() as generic, +returning const char * if the first argument is of type const char *. +Fix uses of strchr() to conform to this change. + +[jrische@redhat.com: altered changes to avoid casts; fixed an +additional case] +[ghudson@mit.edu: condensed some declarations; rewrote commit message] + +ticket: 9191 (new) + +Signed-off-by: Viswanath Kraleti +Upstream-Status: Backport [https://github.com/krb5/krb5/commit/ad4dcf1856dadc4b352b5c8ff08e51c7290fb41f] +--- + src/lib/krb5/ccache/ccbase.c | 4 ++-- + src/lib/krb5/os/expand_path.c | 3 ++- + src/lib/krb5/os/locate_kdc.c | 15 +++++++-------- + src/plugins/preauth/pkinit/pkinit_crypto.h | 2 +- + src/preauth/pkinit/pkinit_crypto_openssl.c | 6 +++--- + src/plugins/preauth/pkinit/pkinit_identity.c | 2 +- + src/plugins/preauth/pkinit/pkinit_matching.c | 2 +- + src/tests/responder.c | 3 +-- + 8 files changed, 18 insertions(+), 19 deletions(-) + +diff --git a/src/lib/krb5/ccache/ccbase.c b/src/lib/krb5/ccache/ccbase.c +index 696b681..30a0a41 100644 +--- a/src/lib/krb5/ccache/ccbase.c ++++ b/src/lib/krb5/ccache/ccbase.c +@@ -201,8 +201,8 @@ krb5_cc_register(krb5_context context, const krb5_cc_ops *ops, + krb5_error_code KRB5_CALLCONV + krb5_cc_resolve (krb5_context context, const char *name, krb5_ccache *cache) + { +- char *pfx, *cp; +- const char *resid; ++ char *pfx; ++ const char *cp, *resid; + unsigned int pfxlen; + krb5_error_code err; + const krb5_cc_ops *ops; +diff --git a/src/lib/krb5/os/expand_path.c b/src/lib/krb5/os/expand_path.c +index 5cbccf0..6569b88 100644 +--- a/src/lib/krb5/os/expand_path.c ++++ b/src/lib/krb5/os/expand_path.c +@@ -454,7 +454,8 @@ k5_expand_path_tokens_extra(krb5_context context, const char *path_in, + { + krb5_error_code ret; + struct k5buf buf; +- char *tok_begin, *tok_end, *tok_val, **extra_tokens = NULL, *path; ++ const char *tok_begin, *tok_end; ++ char *tok_val, **extra_tokens = NULL, *path; + const char *path_left; + size_t nargs = 0, i; + va_list ap; +diff --git a/src/lib/krb5/os/locate_kdc.c b/src/lib/krb5/os/locate_kdc.c +index d1df04a..6559465 100644 +--- a/src/lib/krb5/os/locate_kdc.c ++++ b/src/lib/krb5/os/locate_kdc.c +@@ -214,8 +214,8 @@ oom: + } + + static void +-parse_uri_if_https(const char *host_or_uri, k5_transport *transport, +- const char **host, const char **uri_path) ++parse_uri_if_https(char *host_or_uri, k5_transport *transport, ++ char **host, const char **uri_path) + { + char *cp; + +@@ -257,8 +257,7 @@ locate_srv_conf_1(krb5_context context, const krb5_data *realm, + k5_transport transport, int udpport) + { + const char *realm_srv_names[4]; +- char **hostlist = NULL, *realmstr = NULL, *host = NULL; +- const char *hostspec; ++ char **hostlist = NULL, *realmstr = NULL, *host = NULL, *hostspec; + krb5_error_code code; + size_t i; + int default_port; +@@ -587,8 +586,8 @@ prof_locate_server(krb5_context context, const krb5_data *realm, + * Return a NULL *host_out if there are any problems parsing the URI. + */ + static void +-parse_uri_fields(const char *uri, k5_transport *transport_out, +- const char **host_out, int *primary_out) ++parse_uri_fields(char *uri, k5_transport *transport_out, ++ char **host_out, int *primary_out) + + { + k5_transport transport; +@@ -656,8 +655,8 @@ locate_uri(krb5_context context, const krb5_data *realm, + krb5_error_code ret; + k5_transport transport, host_trans; + struct srv_dns_entry *answers, *entry; +- char *host, *sitename; +- const char *host_field, *path; ++ char *host, *sitename, *host_field; ++ const char *path; + int port, def_port, primary; + + ret = get_sitename(context, realm, &sitename); +diff --git a/src/plugins/preauth/pkinit/pkinit_crypto.h b/src/plugins/preauth/pkinit/pkinit_crypto.h +index 57bb3cb..be2d02c 100644 +--- a/src/plugins/preauth/pkinit/pkinit_crypto.h ++++ b/src/plugins/preauth/pkinit/pkinit_crypto.h +@@ -440,7 +440,7 @@ krb5_error_code crypto_load_cas_and_crls + defines the storage type (file, directory, etc) */ + int catype, /* IN + defines the ca type (anchor, intermediate, crls) */ +- char *id); /* IN ++ const char *id); /* IN + defines the location (filename, directory name, etc) */ + + /* +diff --git a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c +index f222dbd..0a731a8 100644 +--- a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c ++++ b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c +@@ -4999,7 +4999,7 @@ load_cas_and_crls(krb5_context context, + pkinit_req_crypto_context req_cryptoctx, + pkinit_identity_crypto_context id_cryptoctx, + int catype, +- char *filename) ++ const char *filename) + { + STACK_OF(X509_INFO) *sk = NULL; + STACK_OF(X509) *ca_certs = NULL; +@@ -5157,7 +5157,7 @@ load_cas_and_crls_dir(krb5_context context, + pkinit_req_crypto_context req_cryptoctx, + pkinit_identity_crypto_context id_cryptoctx, + int catype, +- char *dirname) ++ const char *dirname) + { + krb5_error_code retval = EINVAL; + char **fnames = NULL, *filename; +@@ -5201,7 +5201,7 @@ crypto_load_cas_and_crls(krb5_context context, + pkinit_identity_crypto_context id_cryptoctx, + int idtype, + int catype, +- char *id) ++ const char *id) + { + switch (idtype) { + case IDTYPE_FILE: +diff --git a/src/plugins/preauth/pkinit/pkinit_identity.c b/src/plugins/preauth/pkinit/pkinit_identity.c +index 0dcfcfc..ad65f23 100644 +--- a/src/plugins/preauth/pkinit/pkinit_identity.c ++++ b/src/plugins/preauth/pkinit/pkinit_identity.c +@@ -473,7 +473,7 @@ process_option_ca_crl(krb5_context context, + const char *value, + int catype) + { +- char *residual; ++ const char *residual; + unsigned int typelen; + int idtype; + +diff --git a/src/plugins/preauth/pkinit/pkinit_matching.c b/src/plugins/preauth/pkinit/pkinit_matching.c +index 0ea072c..b3c8df1 100644 +--- a/src/plugins/preauth/pkinit/pkinit_matching.c ++++ b/src/plugins/preauth/pkinit/pkinit_matching.c +@@ -262,7 +262,7 @@ parse_rule_component(krb5_context context, + char err_buf[128]; + int ret; + struct keyword_desc *kw, *nextkw; +- char *nk; ++ const char *nk; + int found_next_kw = 0; + char *value = NULL; + size_t len; +diff --git a/src/tests/responder.c b/src/tests/responder.c +index 82f870e..4221a20 100644 +--- a/src/tests/responder.c ++++ b/src/tests/responder.c +@@ -282,8 +282,7 @@ responder(krb5_context ctx, void *rawdata, krb5_responder_context rctx) + /* Provide a particular response for an OTP challenge. */ + if (data->otp_answer != NULL) { + if (krb5_responder_otp_get_challenge(ctx, rctx, &ochl) == 0) { +- key = strchr(data->otp_answer, '='); +- if (key != NULL) { ++ if (strchr(data->otp_answer, '=') != NULL) { + /* Make a copy of the answer that we can chop up. */ + key = strdup(data->otp_answer); + if (key == NULL) +-- +2.34.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb index 507a1b23811..89e55028479 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb @@ -21,7 +21,9 @@ inherit autotools-brokensep binconfig perlnative systemd update-rc.d pkgconfig SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ + file://fix-strchr-conformance-to-C23.patch;striplevel=2 \ file://crosscompile_nm.patch \ + file://0001-configure.ac-replace-K5_AC_INIT-with-explicit-AC_INI.patch;striplevel=2 \ file://etc/init.d/krb5-kdc \ file://etc/init.d/krb5-admin-server \ file://etc/default/krb5-kdc \ diff --git a/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_1.0.0.bb b/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_1.0.0.bb new file mode 100644 index 00000000000..bd1686e9a96 --- /dev/null +++ b/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_1.0.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Amarula libcppconnman library" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a87a7059d580c45495c1218f53e3610d" + +SECTION = "libs" + +SRC_URI = "git://github.com/amarula/libcppconnman.git;protocol=https;branch=main;tag=v${PV}" +SRCREV = "84fa99d3ba0908ff9debd9191c4eddabf08079d4" + +inherit cmake pkgconfig + +DEPENDS += "glib-2.0" + +EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_CONNMAN=ON" + +# LICENSE file +FILES:${PN} += "${datadir}/Amarula" diff --git a/meta-oe/recipes-connectivity/libtorrent-rasterbar/files/0001-Fix-Python3-site-packages-path-to-fix-package-QA-Iss.patch b/meta-oe/recipes-connectivity/libtorrent-rasterbar/files/0001-Fix-Python3-site-packages-path-to-fix-package-QA-Iss.patch new file mode 100644 index 00000000000..2ed6ab85006 --- /dev/null +++ b/meta-oe/recipes-connectivity/libtorrent-rasterbar/files/0001-Fix-Python3-site-packages-path-to-fix-package-QA-Iss.patch @@ -0,0 +1,27 @@ +Subject: [PATCH] Fix Python3 site packages path to fix package QA Issue + +libtorrent-rasterbar-2.0.12-r0 do_package: QA Issue: libtorrent-rasterbar: Files/directories were installed but not shipped in any package: + /lib/python3.14/site-packages/libtorrent.so + +Upstream-Status: Inappropriate [ OE specific ] +Signed-off-by: Liu Yiding +--- + bindings/python/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt +index 4e8ee816b..ee9566afc 100644 +--- a/bindings/python/CMakeLists.txt ++++ b/bindings/python/CMakeLists.txt +@@ -96,7 +96,7 @@ else() + execute_process( + COMMAND "${Python3_EXECUTABLE}" -c [=[ + import sysconfig +-print(sysconfig.get_path('platlib', vars={'platbase': '', 'base': ''})) ++print(sysconfig.get_path('platlib', vars={'platbase': '/usr', 'base': ''})) + ]=] + OUTPUT_VARIABLE _PYTHON3_SITE_ARCH + OUTPUT_STRIP_TRAILING_WHITESPACE +-- +2.43.0 + diff --git a/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.11.bb b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.11.bb deleted file mode 100644 index ca3fe2c8ee9..00000000000 --- a/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.11.bb +++ /dev/null @@ -1,32 +0,0 @@ -DESCRIPTION = "libtorrent is a feature complete C++ bittorrent implementation \ - focusing on efficiency and scalability." -HOMEPAGE = "https://libtorrent.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=d8b6cb42d66e6b3c47a909c3ce678a7b" - -DEPENDS = "boost openssl" - -SRC_URI = "git://github.com/arvidn/libtorrent.git;branch=master;protocol=https;tag=v${PV} \ - git://github.com/arvidn/try_signal.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/try_signal;name=try_signal" - -SRCREV = "9d7443f467147d1784fb7516d2a882db1abb5a8b" -SRCREV_try_signal = "105cce59972f925a33aa6b1c3109e4cd3caf583d" -SRCREV_FORMAT .= "_try_signal" - - -inherit cmake pkgconfig python3targetconfig - -CVE_PRODUCT = "libtorrent" - -EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" - -PACKAGECONFIG ??= "python3" -PACKAGECONFIG[python3] = "-Dpython-bindings=ON,-Dpython-bindings=OFF,python3-distutils-extra-native" - -# Strip host paths from autogenerated files -do_install:append() { - sed -i 's+${STAGING_LIBDIR}+${libdir}+g' ${D}${libdir}/pkgconfig/${BPN}.pc -} - -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)}" -FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*" diff --git a/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.12.bb b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.12.bb new file mode 100644 index 00000000000..6a61286f7a6 --- /dev/null +++ b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.12.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "libtorrent is a feature complete C++ bittorrent implementation \ + focusing on efficiency and scalability." +HOMEPAGE = "https://libtorrent.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=d8b6cb42d66e6b3c47a909c3ce678a7b" + +DEPENDS = "boost openssl" + +SRC_URI = "git://github.com/arvidn/libtorrent.git;branch=master;protocol=https;tag=v${PV} \ + git://github.com/arvidn/try_signal.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/deps/try_signal;name=try_signal \ + file://0001-Fix-Python3-site-packages-path-to-fix-package-QA-Iss.patch" + +SRCREV = "740a0b9aeabe00e762cc0efe4a0f27593db2550b" +SRCREV_try_signal = "105cce59972f925a33aa6b1c3109e4cd3caf583d" +SRCREV_FORMAT .= "_try_signal" + + +inherit cmake pkgconfig python3targetconfig + +CVE_PRODUCT = "libtorrent" + +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" + +PACKAGECONFIG ??= "python3" +PACKAGECONFIG[python3] = "-Dpython-bindings=ON,-Dpython-bindings=OFF,python3-distutils-extra-native" + +# Strip host paths from autogenerated files +do_install:append() { + sed -i 's+${STAGING_LIBDIR}+${libdir}+g' ${D}${libdir}/pkgconfig/${BPN}.pc +} + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)}" +FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*" diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.6.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.6.bb deleted file mode 100644 index 63f2bfccaac..00000000000 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.6.bb +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "libTorrent is a BitTorrent library written in C++ for *nix, \ -with a focus on high performance and good code." -HOMEPAGE = "http://libtorrent.rakshasa.no/" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" - -DEPENDS = "zlib curl libsigc++-2.0 openssl cppunit" - -SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https;tag=v${PV}" -SRCREV = "ecb3b6bb6ecb38c19da2d6bb899a23638cb7fa04" - -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -CVE_PRODUCT = "" - -PACKAGECONFIG ??= "instrumentation aligned" - -PACKAGECONFIG:remove:mipsarch = "instrumentation" -PACKAGECONFIG:remove:powerpc = "instrumentation" -PACKAGECONFIG:remove:riscv32 = "instrumentation" - -PACKAGECONFIG[instrumentation] = "--enable-instrumentation,--disable-instrumentation," -PACKAGECONFIG[aligned] = "--enable-aligned,--disable-aligned," - -inherit autotools pkgconfig - -EXTRA_OECONF = "--with-posix-fallocate" diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.9.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.9.bb new file mode 100644 index 00000000000..63c8a0bb7db --- /dev/null +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.9.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "libTorrent is a BitTorrent library written in C++ for *nix, \ +with a focus on high performance and good code." +HOMEPAGE = "http://libtorrent.rakshasa.no/" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" + +DEPENDS = "zlib curl libsigc++-2.0 openssl cppunit" + +SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https;tag=v${PV}" +SRCREV = "e88d4e7854abacd3036a0dec11927c1276c1e6b2" + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +CVE_PRODUCT = "" + +PACKAGECONFIG ??= "instrumentation aligned" + +PACKAGECONFIG:remove:mipsarch = "instrumentation" +PACKAGECONFIG:remove:powerpc = "instrumentation" +PACKAGECONFIG:remove:riscv32 = "instrumentation" + +PACKAGECONFIG[instrumentation] = "--enable-instrumentation,--disable-instrumentation," +PACKAGECONFIG[aligned] = "--enable-aligned,--disable-aligned," + +inherit autotools pkgconfig + +EXTRA_OECONF = "--with-posix-fallocate" diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb deleted file mode 100644 index 35545aacee9..00000000000 --- a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.2.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "Canonical libwebsockets.org websocket library" -HOMEPAGE = "https://libwebsockets.org/" -LICENSE = "MIT & Zlib & BSD-3-Clause & Apache-2.0 & OFL-1.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b5d391cc7929bcba238f9ba6805f7574" - -DEPENDS = "zlib" -DEPENDS:append:class-native = " libcap-native" - -SRCREV = "85c6f7959fd40d8aaf7a50be3c9b75f08389a01c" -SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.5-stable;tag=v${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -inherit cmake pkgconfig - -PACKAGECONFIG ?= "libuv client server http2 ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON," -PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF," -PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF," -PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent" -PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev" -PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" -PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," -PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl" -PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," -PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd" -PACKAGECONFIG[examples] = "-DLWS_WITH_MINIMAL_EXAMPLES=ON,-DLWS_WITH_MINIMAL_EXAMPLES=OFF" - -python __anonymous() { - if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d): - bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't") -} - -EXTRA_OECMAKE += " \ - -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ -" - -do_compile:prepend() { - sed -i -e 's|/etc/ssl|${RECIPE_SYSROOT_NATIVE}/etc/ssl|g' ${S}/lib/tls/CMakeLists.txt -} - -do_install:append() { - sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake - sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake - sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake - sed -i -e 's|${STAGING_INCDIR}||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \ - ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake - sed -i -e 's|${STAGING_LIBDIR}/||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \ - ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake -} - -PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd" - -FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*" -FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so" -FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so" -FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so" -FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so" - -RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}" -RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}" -RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}" -RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}" - -RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}" - -# Avoid absolute paths to end up in the sysroot. -SSTATE_SCAN_FILES += "*.cmake" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb new file mode 100644 index 00000000000..a18f88390e9 --- /dev/null +++ b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb @@ -0,0 +1,74 @@ +SUMMARY = "Canonical libwebsockets.org websocket library" +HOMEPAGE = "https://libwebsockets.org/" +LICENSE = "MIT & Zlib & BSD-3-Clause & Apache-2.0 & OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b5d391cc7929bcba238f9ba6805f7574" + +DEPENDS = "zlib" +DEPENDS:append:class-native = " libcap-native" + +SRCREV = "fbb0baf6af9c4324f0f1591734c78b0089b599d4" +SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.5-stable;tag=v${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +inherit cmake pkgconfig + +PACKAGECONFIG ?= "libuv client server http2 ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON," +PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF," +PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF," +PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent" +PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev" +PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" +PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," +PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl libcap" +PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," +PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd" +PACKAGECONFIG[examples] = "-DLWS_WITH_MINIMAL_EXAMPLES=ON,-DLWS_WITH_MINIMAL_EXAMPLES=OFF" + +python __anonymous() { + if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d): + bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't") +} + +EXTRA_OECMAKE += " \ + -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ + -DLWS_WITHOUT_TESTAPPS=ON \ +" + +do_compile:prepend() { + sed -i -e 's|/etc/ssl|${RECIPE_SYSROOT_NATIVE}/etc/ssl|g' ${S}/lib/tls/CMakeLists.txt +} + +do_install:append() { + sed -i -e 's|${STAGING_BASELIBDIR}/libcap.so|cap|g' ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake + sed -i -e 's|${STAGING_BASELIBDIR}/libcap.so|cap|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake + sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake + sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake + sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake + sed -i -e 's|${STAGING_INCDIR}||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \ + ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake + sed -i -e 's|${STAGING_LIBDIR}/||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \ + ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake +} + +PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd" + +FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*" +FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so" +FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so" +FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so" +FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so" + +RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}" +RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}" +RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}" +RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}" + +RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}" + +# Avoid absolute paths to end up in the sysroot. +SSTATE_SCAN_FILES += "*.cmake" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.24.2.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.24.2.bb index db42c00a92d..4e16436c98b 100644 --- a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.24.2.bb +++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.24.2.bb @@ -37,9 +37,8 @@ PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false" inherit upstream-version-is-even ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)} -EXTRA_OEMESON = " \ +EXTRA_OEMESON += " \ -Dudevdir=${nonarch_base_libdir}/udev \ - -Dqrtr=false \ " FILES:${PN} += " \ diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.15.bb b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.15.bb deleted file mode 100644 index 64b9de38482..00000000000 --- a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.15.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols" -DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)." -HOMEPAGE = "http://www.eclipse.org/paho/" -SECTION = "console/network" -LICENSE = "EPL-2.0 | EDL-1.0" - -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=fd3b896dadaeec3410d753ffaeadcfac \ - file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \ - file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ -" - -SRC_URI = " \ - git://github.com/eclipse/paho.mqtt.c;protocol=https;branch=master;tag=v${PV} \ -" - -SRCREV = "62782406bcf511ee8e22bc34e826f8c6b8254c7c" - -DEPENDS = "openssl" - - -inherit cmake - -do_configure:prepend() { - sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt -} - -do_install:append() { - # paho-mqtt installes some thing that we don't want. - rm -rf ${D}${prefix}/samples - find ${D}${prefix} -maxdepth 1 -type f -delete -} - -EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON -DPAHO_ENABLE_TESTING=OFF -DPAHO_HIGH_PERFORMANCE=ON" diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.16.bb b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.16.bb new file mode 100644 index 00000000000..a3ef667db77 --- /dev/null +++ b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.16.bb @@ -0,0 +1,34 @@ +SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols" +DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)." +HOMEPAGE = "http://www.eclipse.org/paho/" +SECTION = "console/network" +LICENSE = "EPL-2.0 | EDL-1.0" + +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=fd3b896dadaeec3410d753ffaeadcfac \ + file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \ + file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ +" + +SRC_URI = " \ + git://github.com/eclipse/paho.mqtt.c;protocol=https;branch=master;tag=v${PV} \ +" + +SRCREV = "4a939ddb01eea581a32fd6f0adcfee51b91d2601" + +DEPENDS = "openssl" + + +inherit cmake + +do_configure:prepend() { + sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt +} + +do_install:append() { + # paho-mqtt installes some thing that we don't want. + rm -rf ${D}${prefix}/samples + find ${D}${prefix} -maxdepth 1 -type f -delete +} + +EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON -DPAHO_ENABLE_TESTING=OFF -DPAHO_HIGH_PERFORMANCE=ON" diff --git a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.5.3.bb b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.5.3.bb deleted file mode 100644 index 5b4aed3001c..00000000000 --- a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.5.3.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Paho MQTT - C++ libraries for the MQTT and MQTT-SN protocols" -DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)." -HOMEPAGE = "http://www.eclipse.org/paho/" -SECTION = "console/network" -LICENSE = "EPL-2.0 | EDL-1.0" - -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=c0fa3a632eea67f4079c54df781d1441 \ - file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \ - file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ -" - -SRC_URI = "git://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=master;tag=v${PV}" -SRCREV = "17ff3dc0270738adc710667be44847eebc038ae0" - -DEPENDS = "openssl paho-mqtt-c" - - -inherit cmake - -EXTRA_OECMAKE += "-DPAHO_WITH_SSL=ON -DPAHO_BUILD_EXAMPLES=OFF" diff --git a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.6.0.bb b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.6.0.bb new file mode 100644 index 00000000000..53c1d5770b1 --- /dev/null +++ b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.6.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Paho MQTT - C++ libraries for the MQTT and MQTT-SN protocols" +DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)." +HOMEPAGE = "http://www.eclipse.org/paho/" +SECTION = "console/network" +LICENSE = "EPL-2.0 | EDL-1.0" + +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=c0fa3a632eea67f4079c54df781d1441 \ + file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \ + file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \ +" + +SRC_URI = "git://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=master;tag=v${PV}" +SRCREV = "c0b43a49d7b7e7b5e7009658ca22f19ac1112c83" + +DEPENDS = "openssl paho-mqtt-c" + + +inherit cmake + +EXTRA_OECMAKE += "-DPAHO_WITH_SSL=ON -DPAHO_BUILD_EXAMPLES=OFF" diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.6.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.6.bb deleted file mode 100644 index 9f0666f2bb9..00000000000 --- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.6.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Torrent client" -HOMEPAGE = "http://libtorrent.rakshasa.no/" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -DEPENDS = "autoconf-archive libsigc++-2.0 curl cppunit libtool libtorrent ncurses" - -SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https;tag=v${PV}" - -SRCREV = "ae14baa357aafd072de6f57f005cde4eb75e7dda" - -inherit autotools pkgconfig - -EXTRA_OECONF:append:libc-musl = " --disable-execinfo" diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.9.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.9.bb new file mode 100644 index 00000000000..7ce38e95978 --- /dev/null +++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.9.bb @@ -0,0 +1,14 @@ +SUMMARY = "Torrent client" +HOMEPAGE = "http://libtorrent.rakshasa.no/" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "autoconf-archive libsigc++-2.0 curl cppunit libtool libtorrent ncurses" + +SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https;tag=v${PV}" + +SRCREV = "b78fd9aef5d0060fe7bd8447cace38606e03f41c" + +inherit autotools pkgconfig + +EXTRA_OECONF:append:libc-musl = " --disable-execinfo" diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.6.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.6.bb deleted file mode 100644 index 56ade35bc75..00000000000 --- a/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.6.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "A serial to network proxy" -SECTION = "console/network" -HOMEPAGE = "http://sourceforge.net/projects/ser2net/" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "gensio libyaml" - -SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz \ - file://ser2net.service \ -" - -SRC_URI[sha256sum] = "a468073c7bf8166c78c61d30bba487916dc4088e98f96e190b37ea8100a94fd4" - -UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net" - -inherit autotools pkgconfig systemd - -SYSTEMD_SERVICE:${PN} = "ser2net.service" - -CONFFILES:${PN} += "${sysconfdir}/ser2net/ser2net.yaml" - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/ser2net.service ${D}${systemd_unitdir}/system/ - sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/ser2net.service - fi -} diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.7.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.7.bb new file mode 100644 index 00000000000..db442e41dc0 --- /dev/null +++ b/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.7.bb @@ -0,0 +1,30 @@ +SUMMARY = "A serial to network proxy" +SECTION = "console/network" +HOMEPAGE = "http://sourceforge.net/projects/ser2net/" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "gensio libyaml" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz \ + file://ser2net.service \ +" + +SRC_URI[sha256sum] = "6b921bc7efb1b9a8a78268d63332701902cc1c8dbac51842d46ede6ffb5fa2a4" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net" + +inherit autotools pkgconfig systemd + +SYSTEMD_SERVICE:${PN} = "ser2net.service" + +CONFFILES:${PN} += "${sysconfdir}/ser2net/ser2net.yaml" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/ser2net.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/ser2net.service + fi +} diff --git a/meta-oe/recipes-connectivity/transmission/transmission_4.1.0.bb b/meta-oe/recipes-connectivity/transmission/transmission_4.1.0.bb deleted file mode 100644 index aed1e2e32ad..00000000000 --- a/meta-oe/recipes-connectivity/transmission/transmission_4.1.0.bb +++ /dev/null @@ -1,64 +0,0 @@ -DESCRIPTION = "Transmission is a fast, easy, and free BitTorrent client" -SECTION = "network" -HOMEPAGE = "https://transmissionbt.com/" -LICENSE = "MIT & GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d54f298b276b8cc5f20168e43a0e8103" - -DEPENDS = "curl libevent libpsl gnutls openssl libtool intltool-native glib-2.0-native" -RDEPENDS:${PN}-web = "${PN}" - -SRC_URI = " \ - gitsm://github.com/transmission/transmission;branch=4.1.x;protocol=https;tag=${PV} \ - file://0001-bump-cmake-to-3.10.patch;patchdir=third-party/libb64 \ - file://0001-Increase-minimum-CMake-version-to-3.10.patch;patchdir=third-party/libdeflate \ - file://transmission-daemon \ -" - -# Transmission release 4.1.0 -SRCREV = "272401184f0736e6063f9da90be7d037e907508a" - - -inherit cmake gettext update-rc.d pkgconfig systemd mime-xdg - -LDFLAGS:append:riscv32 = " -latomic" - -PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gtk', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" - -PACKAGECONFIG[gtk] = "-DENABLE_GTK=ON,-DENABLE_GTK=OFF,gtk4 gtkmm4," -PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd," - -# Weak default values for transmission user and group -# Change them in bbappend if needed -TRANSMISSION_USER ??= "root" -TRANSMISSION_GROUP ??= "root" - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - sed -i '/USERNAME=/c\USERNAME=${TRANSMISSION_USER}' ${UNPACKDIR}/transmission-daemon - install -d ${D}${sysconfdir}/init.d - install -m 0744 ${UNPACKDIR}/transmission-daemon ${D}${sysconfdir}/init.d/ - chown ${TRANSMISSION_USER}:${TRANSMISSION_GROUP} ${D}${sysconfdir}/init.d/transmission-daemon - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - sed -i '/User=/c\User=${TRANSMISSION_USER}' ${B}/daemon/transmission-daemon.service - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${B}/daemon/transmission-daemon.service ${D}${systemd_unitdir}/system - fi -} - -PACKAGES += "${PN}-gtk ${PN}-client ${PN}-web" - -FILES:${PN}-client = "${bindir}/transmission-remote ${bindir}/transmission-cli ${bindir}/transmission-create ${bindir}/transmission-show ${bindir}/transmission-edit" -FILES:${PN}-gtk += "${bindir}/transmission-gtk ${datadir}/icons ${datadir}/applications ${datadir}/pixmaps ${datadir}/metainfo" -FILES:${PN}-web = "${datadir}/transmission/web ${datadir}/transmission/public_html" -FILES:${PN} = "${bindir}/transmission-daemon ${sysconfdir}/init.d/transmission-daemon ${datadir}/appdata" - -SYSTEMD_SERVICE:${PN} = "transmission-daemon.service" - -# Script transmission-daemon following the guidelines in: -# https://trac.transmissionbt.com/wiki/Scripts/initd -INITSCRIPT_PACKAGES = "transmission-daemon" -INITSCRIPT_NAME = "transmission-daemon" -INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ." diff --git a/meta-oe/recipes-connectivity/transmission/transmission_4.1.1.bb b/meta-oe/recipes-connectivity/transmission/transmission_4.1.1.bb new file mode 100644 index 00000000000..a4b7856abe7 --- /dev/null +++ b/meta-oe/recipes-connectivity/transmission/transmission_4.1.1.bb @@ -0,0 +1,66 @@ +DESCRIPTION = "Transmission is a fast, easy, and free BitTorrent client" +SECTION = "network" +HOMEPAGE = "https://transmissionbt.com/" +LICENSE = "MIT & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d54f298b276b8cc5f20168e43a0e8103" + +DEPENDS = "curl libevent libpsl gnutls openssl libtool intltool-native glib-2.0-native" +RDEPENDS:${PN}-web = "${PN}" + +SRC_URI = " \ + gitsm://github.com/transmission/transmission;branch=4.1.x;protocol=https;tag=${PV} \ + file://0001-bump-cmake-to-3.10.patch;patchdir=third-party/libb64 \ + file://0001-Increase-minimum-CMake-version-to-3.10.patch;patchdir=third-party/libdeflate \ + file://transmission-daemon \ +" + +# Transmission release 4.1.0 +SRCREV = "56442e2929cf4e9e20c8604a229e99fbb352190c" + + +inherit cmake gettext update-rc.d pkgconfig systemd mime-xdg + +LDFLAGS:append:riscv32 = " -latomic" + +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gtk', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" + +PACKAGECONFIG[gtk] = "-DENABLE_GTK=ON,-DENABLE_GTK=OFF,gtk4 gtkmm4," +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd," + +EXTRA_OECMAKE = "-DRUN_CLANG_TIDY=OFF" + +# Weak default values for transmission user and group +# Change them in bbappend if needed +TRANSMISSION_USER ??= "root" +TRANSMISSION_GROUP ??= "root" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + sed -i '/USERNAME=/c\USERNAME=${TRANSMISSION_USER}' ${UNPACKDIR}/transmission-daemon + install -d ${D}${sysconfdir}/init.d + install -m 0744 ${UNPACKDIR}/transmission-daemon ${D}${sysconfdir}/init.d/ + chown ${TRANSMISSION_USER}:${TRANSMISSION_GROUP} ${D}${sysconfdir}/init.d/transmission-daemon + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + sed -i '/User=/c\User=${TRANSMISSION_USER}' ${B}/daemon/transmission-daemon.service + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${B}/daemon/transmission-daemon.service ${D}${systemd_unitdir}/system + fi +} + +PACKAGES += "${PN}-gtk ${PN}-client ${PN}-web" + +FILES:${PN}-client = "${bindir}/transmission-remote ${bindir}/transmission-cli ${bindir}/transmission-create ${bindir}/transmission-show ${bindir}/transmission-edit" +FILES:${PN}-gtk += "${bindir}/transmission-gtk ${datadir}/icons ${datadir}/applications ${datadir}/pixmaps ${datadir}/metainfo" +FILES:${PN}-web = "${datadir}/transmission/web ${datadir}/transmission/public_html" +FILES:${PN} = "${bindir}/transmission-daemon ${sysconfdir}/init.d/transmission-daemon ${datadir}/appdata" + +SYSTEMD_SERVICE:${PN} = "transmission-daemon.service" + +# Script transmission-daemon following the guidelines in: +# https://trac.transmissionbt.com/wiki/Scripts/initd +INITSCRIPT_PACKAGES = "transmission-daemon" +INITSCRIPT_NAME = "transmission-daemon" +INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ." diff --git a/meta-oe/recipes-connectivity/ttyd/ttyd_1.7.7.bb b/meta-oe/recipes-connectivity/ttyd/ttyd_1.7.7.bb new file mode 100644 index 00000000000..8f4a1d32115 --- /dev/null +++ b/meta-oe/recipes-connectivity/ttyd/ttyd_1.7.7.bb @@ -0,0 +1,11 @@ +SUMMARY = "ttyd is a simple command-line tool for sharing terminal over the web." +SECTION = "console/network" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fe5f001c65f923d49dc96cce96ce935" + +SRC_URI = "git://github.com/tsl0922/ttyd.git;protocol=https;branch=main;tag=${PV}" +SRCREV = "40e79c706be14029b391f369bee6613c31667abb" + +inherit cmake + +DEPENDS = "libuv json-c zlib libwebsockets" diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix_7.0.19.bb b/meta-oe/recipes-connectivity/zabbix/zabbix_7.0.19.bb deleted file mode 100644 index 28e4cc4eb04..00000000000 --- a/meta-oe/recipes-connectivity/zabbix/zabbix_7.0.19.bb +++ /dev/null @@ -1,77 +0,0 @@ -SUMMARY = "Open-source monitoring solution for your IT infrastructure" -DESCRIPTION = "\ -ZABBIX is software that monitors numerous parameters of a network and the \ -health and integrity of servers. ZABBIX uses a flexible notification \ -mechanism that allows users to configure e-mail based alerts for virtually \ -any event. This allows a fast reaction to server problems. ZABBIX offers \ -excellent reporting and data visualisation features based on the stored \ -data. This makes ZABBIX ideal for capacity planning. \ -\ -ZABBIX supports both polling and trapping. All ZABBIX reports and \ -statistics, as well as configuration parameters are accessed through a \ -web-based front end. A web-based front end ensures that the status of \ -your network and the health of your servers can be assessed from any \ -location. Properly configured, ZABBIX can play an important role in \ -monitoring IT infrastructure. This is equally true for small \ -organisations with a few servers and for large companies with a \ -multitude of servers." -HOMEPAGE = "http://www.zabbix.com/" -SECTION = "Applications/Internet" -LICENSE = "AGPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb1e647870add0502f8f010b19de32af" -DEPENDS = "libevent libpcre openldap virtual/libiconv zlib" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/7.0/${BPN}-${PV}.tar.gz \ - file://0001-Fix-configure.ac.patch \ - file://zabbix-agent.service \ -" -SRC_URI[sha256sum] = "30bef0173493b199377c9061b34e8a2e16a28eb0d6f7e9c7b942433e4b75367f" - -inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE:${PN} = "zabbix-agent.service" -SYSTEMD_AUTO_ENABLE = "enable" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "-r zabbix" -USERADD_PARAM:${PN} = "-r -g zabbix -d /var/lib/zabbix \ - -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \ -" - -KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}" - -EXTRA_OECONF = " \ - --enable-dependency-tracking \ - --enable-agent \ - --enable-ipv6 \ - --with-net-snmp \ - --with-ldap=${STAGING_EXECPREFIXDIR} \ - --with-unixodbc \ - --with-ssh2 \ - --with-sqlite3 \ - --with-zlib \ - --with-libpthread \ - --with-libevent \ - --with-libpcre=${STAGING_EXECPREFIXDIR} \ - --with-iconv=${STAGING_EXECPREFIXDIR} \ -" -CFLAGS:append = " -lldap -llber -pthread" - -do_configure:prepend() { - export KERNEL_VERSION="${KERNEL_VERSION}" -} - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/ - sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service - fi -} - -FILES:${PN} += "${libdir}" - -RDEPENDS:${PN} = "logrotate" diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix_7.0.24.bb b/meta-oe/recipes-connectivity/zabbix/zabbix_7.0.24.bb new file mode 100644 index 00000000000..1ec159cdeeb --- /dev/null +++ b/meta-oe/recipes-connectivity/zabbix/zabbix_7.0.24.bb @@ -0,0 +1,84 @@ +SUMMARY = "Open-source monitoring solution for your IT infrastructure" +DESCRIPTION = "\ +ZABBIX is software that monitors numerous parameters of a network and the \ +health and integrity of servers. ZABBIX uses a flexible notification \ +mechanism that allows users to configure e-mail based alerts for virtually \ +any event. This allows a fast reaction to server problems. ZABBIX offers \ +excellent reporting and data visualisation features based on the stored \ +data. This makes ZABBIX ideal for capacity planning. \ +\ +ZABBIX supports both polling and trapping. All ZABBIX reports and \ +statistics, as well as configuration parameters are accessed through a \ +web-based front end. A web-based front end ensures that the status of \ +your network and the health of your servers can be assessed from any \ +location. Properly configured, ZABBIX can play an important role in \ +monitoring IT infrastructure. This is equally true for small \ +organisations with a few servers and for large companies with a \ +multitude of servers." +HOMEPAGE = "http://www.zabbix.com/" +SECTION = "Applications/Internet" +LICENSE = "AGPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb1e647870add0502f8f010b19de32af" +DEPENDS = "libevent libpcre openldap virtual/libiconv zlib" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/7.0/${BPN}-${PV}.tar.gz \ + file://0001-Fix-configure.ac.patch \ + file://zabbix-agent.service \ +" +SRC_URI[sha256sum] = "6f8ae990b9b25767e4fffbcb5cc7c455d674e2a392dc21478488a5d1c0e7d597" + +inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = "zabbix-agent.service" +SYSTEMD_AUTO_ENABLE = "enable" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "-r zabbix" +USERADD_PARAM:${PN} = "-r -g zabbix -d /var/lib/zabbix \ + -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \ +" + +KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}" + +EXTRA_OECONF = " \ + --enable-dependency-tracking \ + --enable-agent \ + --enable-ipv6 \ + --with-net-snmp \ + --with-ldap=${STAGING_EXECPREFIXDIR} \ + --with-unixodbc \ + --with-ssh2 \ + --with-sqlite3 \ + --with-zlib \ + --with-libpthread \ + --with-libevent \ + --with-libpcre=${STAGING_EXECPREFIXDIR} \ + --with-libpcre-lib=${STAGING_LIBDIR} \ + --with-iconv=${STAGING_EXECPREFIXDIR} \ +" +CFLAGS:append = " -lldap -llber -pthread" + +do_configure:prepend() { + export KERNEL_VERSION="${KERNEL_VERSION}" +} + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/ + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service + fi +} + +FILES:${PN} += "${libdir}" + +RDEPENDS:${PN} = "logrotate" + +CVE_STATUS[CVE-2026-23925] = "fixed-version: fixed since 7.0.18" +CVE_STATUS[CVE-2026-23919] = "fixed-version: fixed since 7.0.19" +CVE_STATUS[CVE-2026-23920] = "fixed-version: fixed since 7.0.22" +CVE_STATUS[CVE-2026-23921] = "fixed-version: fixed since 7.0.22" +CVE_STATUS[CVE-2026-23923] = "cpe-incorrect: 7.0 versions don't have the vulnerable code" diff --git a/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.6.0.bb b/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.6.0.bb deleted file mode 100644 index cfa476cd1c6..00000000000 --- a/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.6.0.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "D-Bus implementation in C++" -HOMEPAGE = "https://dbus-cxx.github.io/" -BUGTRACKER = "https://github.com/dbus-cxx/dbus-cxx/issues" -SECTION = "base" -LICENSE = "LGPL-3.0-or-later | BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=24594f493407a4cd401ce9794e0b9308" - -SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master;protocol=https;tag=${PV}" -SRCREV = "b705ad73bef724de0ed33f60462c70b380b6b300" - -DEPENDS = "libsigc++-3" - -RDEPENDS:${PN}:class-target = "${VIRTUAL-RUNTIME_dbus}" - - -inherit pkgconfig cmake - -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" -EXTRA_OECMAKE = "-DBUILD_TESTING=OFF -DTOOLS_BUNDLED_CPPGENERATE=OFF" - -PACKAGECONFIG ??= "" -PACKAGECONFIG:class-native ?= "tools" -PACKAGECONFIG:class-nativesdk ?= "tools" - -PACKAGECONFIG[tools] = "-DENABLE_TOOLS=ON,-DENABLE_TOOLS=OFF,popt cppgenerate dbus" -PACKAGECONFIG[glib] = "-DENABLE_GLIB_SUPPORT=ON,-DENABLE_GLIB_SUPPORT=OFF,glib-2.0" -PACKAGECONFIG[uv] = "-DENABLE_UV_SUPPORT=ON,-DENABLE_UV_SUPPORT=OFF,libuv" - -PACKAGES =+ " ${PN}-tools ${PN}-glib ${PN}-uv ${PN}-glib-dev ${PN}-uv-dev " -FILES:${PN}-tools = "${bindir}/dbus-cxx-xml2cpp ${bindir}/dbus-cxx-introspect" -FILES:${PN}-glib = "${libdir}/libdbus-cxx-glib.so.* " -FILES:${PN}-glib-dev = "${includedir}/dbus-cxx-glib-2.0/* \ - ${libdir}/pkgconfig/dbus-cxx-glib-2.0.pc \ - ${libdir}/libdbus-cxx-glib.so \ - " -FILES:${PN}-uv = "${libdir}/libdbus-cxx-uv.so.* " -FILES:${PN}-uv-dev = "${includedir}/dbus-cxx-uv-2.0/* \ - ${libdir}/pkgconfig/dbus-cxx-uv-2.0.pc\ - ${libdir}/libdbus-cxx-uv.so \ - " - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.6.1.bb b/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.6.1.bb new file mode 100644 index 00000000000..bedd379e89c --- /dev/null +++ b/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.6.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "D-Bus implementation in C++" +HOMEPAGE = "https://dbus-cxx.github.io/" +BUGTRACKER = "https://github.com/dbus-cxx/dbus-cxx/issues" +SECTION = "base" +LICENSE = "LGPL-3.0-or-later | BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=24594f493407a4cd401ce9794e0b9308" + +SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master;protocol=https;tag=${PV}" +SRCREV = "521a3d88bb731b94cc9998a0f711a5ca9e831e04" + +DEPENDS = "libsigc++-3" + +RDEPENDS:${PN}:class-target = "${VIRTUAL-RUNTIME_dbus}" + + +inherit pkgconfig cmake + +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" +EXTRA_OECMAKE = "-DBUILD_TESTING=OFF -DTOOLS_BUNDLED_CPPGENERATE=OFF" + +PACKAGECONFIG ??= "" +PACKAGECONFIG:class-native ?= "tools" +PACKAGECONFIG:class-nativesdk ?= "tools" + +PACKAGECONFIG[tools] = "-DENABLE_TOOLS=ON,-DENABLE_TOOLS=OFF,popt cppgenerate dbus" +PACKAGECONFIG[glib] = "-DENABLE_GLIB_SUPPORT=ON,-DENABLE_GLIB_SUPPORT=OFF,glib-2.0" +PACKAGECONFIG[uv] = "-DENABLE_UV_SUPPORT=ON,-DENABLE_UV_SUPPORT=OFF,libuv" + +PACKAGES =+ " ${PN}-tools ${PN}-glib ${PN}-uv ${PN}-glib-dev ${PN}-uv-dev " +FILES:${PN}-tools = "${bindir}/dbus-cxx-xml2cpp ${bindir}/dbus-cxx-introspect" +FILES:${PN}-glib = "${libdir}/libdbus-cxx-glib.so.* " +FILES:${PN}-glib-dev = "${includedir}/dbus-cxx-glib-2.0/* \ + ${libdir}/pkgconfig/dbus-cxx-glib-2.0.pc \ + ${libdir}/libdbus-cxx-glib.so \ + " +FILES:${PN}-uv = "${libdir}/libdbus-cxx-uv.so.* " +FILES:${PN}-uv-dev = "${includedir}/dbus-cxx-uv-2.0/* \ + ${libdir}/pkgconfig/dbus-cxx-uv-2.0.pc\ + ${libdir}/libdbus-cxx-uv.so \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-core/emlog/emlog.inc b/meta-oe/recipes-core/emlog/emlog.inc index ff2a106c6ea..d51c9723fdd 100644 --- a/meta-oe/recipes-core/emlog/emlog.inc +++ b/meta-oe/recipes-core/emlog/emlog.inc @@ -4,8 +4,7 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" SRC_URI = "git://github.com/nicupavel/emlog.git;protocol=https;branch=master" -SRC_URI += "file://0001-emlog-Do-not-use-no_llseek-with-kernel-6.12.0.patch" -SRCREV = "a9bbf324fde131ff4cf064e32674086c4ced4dca" +SRCREV = "a50aae487f689c1abb46b151abc68d6635b9b2fe" PV = "0.70+git" CVE_PRODUCT = "nicupavel:emlog" diff --git a/meta-oe/recipes-core/emlog/files/0001-emlog-Do-not-use-no_llseek-with-kernel-6.12.0.patch b/meta-oe/recipes-core/emlog/files/0001-emlog-Do-not-use-no_llseek-with-kernel-6.12.0.patch deleted file mode 100644 index 86f719b0bbf..00000000000 --- a/meta-oe/recipes-core/emlog/files/0001-emlog-Do-not-use-no_llseek-with-kernel-6.12.0.patch +++ /dev/null @@ -1,32 +0,0 @@ -From dca01ea62833249d78ac3bdf277b73424bf93e89 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 14 Dec 2024 09:55:10 -0800 -Subject: [PATCH] emlog: Do not use no_llseek with kernel 6.12.0+ - -no_llseek is finally gone with 6.12-rc1 [1] - -[1] https://github.com/torvalds/linux/commit/cb787f4ac0c2e439ea8d7e6387b925f74576bdf8 - -Upstream-Status: Submitted [https://github.com/nicupavel/emlog/pull/16] ---- - emlog.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/emlog.c b/emlog.c -index 2ead738..b45c72d 100644 ---- a/emlog.c -+++ b/emlog.c -@@ -464,7 +464,12 @@ static const struct file_operations emlog_fops = { - .open = emlog_open, - .release = emlog_release, - .poll = emlog_poll, -- .llseek = no_llseek, /* no_llseek by default introduced at v2.6.37-rc1 */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 12, 0) -+ /* no_llseek by default introduced at v2.6.37-rc1 and -+ * removed in 6.12.0 -+ */ -+ .llseek = no_llseek, -+#endif - .owner = THIS_MODULE, - }; - diff --git a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.80.0.bb b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.80.0.bb deleted file mode 100644 index 48a1a2a6241..00000000000 --- a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.80.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "C++ bindings for the glib library" -HOMEPAGE = "http://www.gtkmm.org/" -SECTION = "libs" -LICENSE = "LGPL-2.1-only & GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \ - file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native" - -GNOMEBN = "glibmm" -inherit gnomebase - -SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" - -SRC_URI[archive.sha256sum] = "539b0a29e15a96676c4f0594541250566c5ca44da5d4d87a3732fa2d07909e4a" - -S = "${UNPACKDIR}/${GNOMEBN}-${PV}" - -FILES:${PN} = "${libdir}/lib*.so.*" -FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/${BPN}/include/ ${libdir}/${BPN}/proc/ ${libdir}/giomm-2.68/include/" - -RDEPENDS:${PN}-dev = "perl" - -EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross -Dmaintainer-mode=false" - -do_write_config:append() { - cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross < = "-m 4096" +QB_MEM:virtclass-mcextend-tbb = "-m 2048" TEST_SUITES = "ping ssh parselogs ptest" diff --git a/meta-oe/recipes-core/minizip/minizip/0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch b/meta-oe/recipes-core/minizip/minizip/0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch new file mode 100644 index 00000000000..1d05989c74d --- /dev/null +++ b/meta-oe/recipes-core/minizip/minizip/0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch @@ -0,0 +1,25 @@ +From cb14dc9ade3759352417a300e6c2ed73268f1d97 Mon Sep 17 00:00:00 2001 +From: Rui Chen +Date: Tue, 17 Feb 2026 10:48:39 -0500 +Subject: [PATCH] Add dependency to ints.h in minizip Makefile.am. + +So that ints.h is part of the installation. + +Upstream-Status: Backport +Signed-off-by: Samuli Piippo +--- + contrib/minizip/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/contrib/minizip/Makefile.am b/contrib/minizip/Makefile.am +index d343011..b7dea4f 100644 +--- a/contrib/minizip/Makefile.am ++++ b/contrib/minizip/Makefile.am +@@ -27,6 +27,7 @@ libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz + minizip_includedir = $(includedir)/minizip + minizip_include_HEADERS = \ + crypt.h \ ++ ints.h \ + ioapi.h \ + mztools.h \ + unzip.h \ diff --git a/meta-oe/recipes-core/minizip/minizip_1.3.1.bb b/meta-oe/recipes-core/minizip/minizip_1.3.1.bb deleted file mode 100644 index 51a74d039b3..00000000000 --- a/meta-oe/recipes-core/minizip/minizip_1.3.1.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Minizip Compression Library" -DESCRIPTION = "Minizip is a general-purpose, patent-free, lossless data compression \ -library which is used by many different programs." -HOMEPAGE = "http://www.winimage.com/zLibDll/minizip.html" -SECTION = "libs" -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://zip.h;beginline=14;endline=30;md5=8eaa8535a3a1a2296b303f40f75385e7" - -GITHUB_BASE_URI ?= "https://github.com/madler/zlib/releases/" - -SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/zlib-${PV}.tar.xz" - -S = "${UNPACKDIR}/zlib-${PV}/contrib/minizip" - -SRC_URI[sha256sum] = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32" - -PACKAGECONFIG ??= "demos" -PACKAGECONFIG[demos] = "--enable-demos=yes,,," - -RCONFLICTS:${PN} += "minizip-ng" - -DEPENDS = "zlib" - -inherit autotools github-releases - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-core/minizip/minizip_1.3.2.bb b/meta-oe/recipes-core/minizip/minizip_1.3.2.bb new file mode 100644 index 00000000000..95a605ecf4e --- /dev/null +++ b/meta-oe/recipes-core/minizip/minizip_1.3.2.bb @@ -0,0 +1,28 @@ +SUMMARY = "Minizip Compression Library" +DESCRIPTION = "Minizip is a general-purpose, patent-free, lossless data compression \ +library which is used by many different programs." +HOMEPAGE = "http://www.winimage.com/zLibDll/minizip.html" +SECTION = "libs" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://zip.h;beginline=14;endline=30;md5=b7d2930a7332b2bc68fc1a7fdc5ba775" + +GITHUB_BASE_URI ?= "https://github.com/madler/zlib/releases/" + +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/zlib-${PV}.tar.xz \ + file://0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch;patchdir=../.. \ + " + +S = "${UNPACKDIR}/zlib-${PV}/contrib/minizip" + +SRC_URI[sha256sum] = "d7a0654783a4da529d1bb793b7ad9c3318020af77667bcae35f95d0e42a792f3" + +PACKAGECONFIG ??= "demos" +PACKAGECONFIG[demos] = "--enable-demos=yes,,," + +RCONFLICTS:${PN} += "minizip-ng" + +DEPENDS = "zlib" + +inherit autotools github-releases + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-core/ndctl/ndctl_v83.bb b/meta-oe/recipes-core/ndctl/ndctl_v83.bb deleted file mode 100644 index ed3c639369d..00000000000 --- a/meta-oe/recipes-core/ndctl/ndctl_v83.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "libnvdimm utility library" -DESCRIPTION = "Utility library for managing the libnvdimm \ -(non-volatile memory device) sub-system in the Linux kernel. \ -The LIBNVDIMM subsystem provides support for three types of \ -NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \ -simultaneously support both PMEM and BLK mode access." -HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next" -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & MIT & CC0-1.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=74a614eac8b2657a4b8e6607421a0883" - -inherit meson pkgconfig bash-completion systemd - -SRCREV = "4f7a1c63b3305c97013d3c46daa6c0f76feff10d" -SRC_URI = "git://github.com/pmem/ndctl.git;branch=main;protocol=https;tag=${PV} \ - file://0001-include-libgen.h-for-basename.patch" - -UPSTREAM_CHECK_GITTAGREGEX = "(?Pv\d+(\.\d+)*)" - -DEPENDS = "kmod udev json-c keyutils iniparser libtraceevent libtracefs" - - -EXTRA_OEMESON += "-Diniparserdir=${STAGING_INCDIR}/iniparser" - -PACKAGECONFIG ??= "tests ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" -PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" -PACKAGECONFIG[tests] = "-Dtest=enabled -Ddestructive=enabled, -Dtest=disabled," -PACKAGECONFIG[docs] = "-Ddocs=enabled -Dasciidoctor=disabled,-Ddocs=disabled, asciidoc-native xmlto-native" - -SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}" -SYSTEMD_SERVICE:${PN} = "ndctl-monitor.service daxdev-reconfigure@.service" -SYSTEMD_AUTO_ENABLE:${PN} = "disable" - -FILES:${PN} += "${datadir}/daxctl/daxctl.conf ${nonarch_libdir}/systemd/system" diff --git a/meta-oe/recipes-core/ndctl/ndctl_v84.bb b/meta-oe/recipes-core/ndctl/ndctl_v84.bb new file mode 100644 index 00000000000..582e90b96d5 --- /dev/null +++ b/meta-oe/recipes-core/ndctl/ndctl_v84.bb @@ -0,0 +1,33 @@ +SUMMARY = "libnvdimm utility library" +DESCRIPTION = "Utility library for managing the libnvdimm \ +(non-volatile memory device) sub-system in the Linux kernel. \ +The LIBNVDIMM subsystem provides support for three types of \ +NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \ +simultaneously support both PMEM and BLK mode access." +HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next" +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & MIT & CC0-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=74a614eac8b2657a4b8e6607421a0883" + +inherit meson pkgconfig bash-completion systemd + +SRCREV = "8ad90e54f0ff4f7291e7f21d44d769d10f24e2b6" +SRC_URI = "git://github.com/pmem/ndctl.git;branch=main;protocol=https;tag=${PV} \ + file://0001-include-libgen.h-for-basename.patch" + +UPSTREAM_CHECK_GITTAGREGEX = "(?Pv\d+(\.\d+)*)" + +DEPENDS = "kmod udev json-c keyutils iniparser libtraceevent libtracefs" + + +EXTRA_OEMESON += "-Diniparserdir=${STAGING_INCDIR}/iniparser" + +PACKAGECONFIG ??= "tests ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" +PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" +PACKAGECONFIG[tests] = "-Dtest=enabled -Ddestructive=enabled, -Dtest=disabled," +PACKAGECONFIG[docs] = "-Ddocs=enabled -Dasciidoctor=disabled,-Ddocs=disabled, asciidoc-native xmlto-native" + +SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}" +SYSTEMD_SERVICE:${PN} = "ndctl-monitor.service daxdev-reconfigure@.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" + +FILES:${PN} += "${datadir}/daxctl/daxctl.conf ${nonarch_libdir}/systemd/system" diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 87f8a1eed57..7c2df002077 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -52,6 +52,7 @@ RDEPENDS:packagegroup-meta-oe = "\ RDEPENDS:packagegroup-meta-oe-benchmarks = "\ bonnie++ \ + cpupower \ dbench \ dhrystone \ fio \ @@ -67,6 +68,7 @@ RDEPENDS:packagegroup-meta-oe-benchmarks = "\ nbench-byte \ phoronix-test-suite \ qperf \ + rtla \ s-suite \ stressapptest \ tinymembench \ @@ -834,17 +836,15 @@ RDEPENDS:packagegroup-meta-oe-support = "\ nss \ numactl \ onig \ - openct \ opencv \ openldap \ opensc \ p910nd \ - pcp \ pcsc-lite \ pcsc-tools \ picocom \ pidgin \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pidgin-otr", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pcp pidgin-otr", "", d)} \ pidgin-sipe \ pngcheck \ poco \ @@ -860,7 +860,6 @@ RDEPENDS:packagegroup-meta-oe-support = "\ rdfind \ re2 \ read-edid \ - remmina \ rsnapshot \ sassc \ satyr \ @@ -874,7 +873,7 @@ RDEPENDS:packagegroup-meta-oe-support = "\ srecord \ ssiapi \ stm32flash \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "synergy", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "remmina synergy", "", d)} \ syslog-ng \ tbb \ thin-provisioning-tools \ @@ -948,7 +947,6 @@ RDEPENDS:packagegroup-meta-oe-ptest-packages = "\ minicoredumper-ptest \ oprofile-ptest \ poco-ptest \ - protobuf-ptest \ psqlodbc-ptest \ rsyslog-ptest \ uthash-ptest \ diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-missing_type.h-add-comparison_fn_t.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-missing_type.h-add-comparison_fn_t.patch deleted file mode 100644 index 2aa5dee6b5d..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-missing_type.h-add-comparison_fn_t.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 01195eb9f7d59139fb45df506ac6b3968c14a57f Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 13:55:12 +0800 -Subject: [PATCH 01/22] missing_type.h: add comparison_fn_t - -Make it work with musl where comparison_fn_t and is not provided. - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Alex Kiernan -[Rebased for v244] -Signed-off-by: Chen Qi -[Rebased for v242] -Signed-off-by: Andrej Valek -[Rebased for v250, Drop __compare_fn_t] -Signed-off-by: Jiaqing Zhao ---- - src/basic/missing_type.h | 4 ++++ - src/basic/sort-util.h | 1 + - src/libsystemd/sd-journal/catalog.c | 1 + - 3 files changed, 6 insertions(+) - -diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h -index f6233090a9..6c0456349d 100644 ---- a/src/basic/missing_type.h -+++ b/src/basic/missing_type.h -@@ -10,3 +10,7 @@ - #if !HAVE_CHAR16_T - #define char16_t uint16_t - #endif -+ -+#ifndef __GLIBC__ -+typedef int (*comparison_fn_t)(const void *, const void *); -+#endif -diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h -index 9c818bd747..ef10c8be2c 100644 ---- a/src/basic/sort-util.h -+++ b/src/basic/sort-util.h -@@ -4,6 +4,7 @@ - #include - - #include "macro.h" -+#include "missing_type.h" - - /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the - * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that -diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c -index ae91534198..7f67eea38b 100644 ---- a/src/libsystemd/sd-journal/catalog.c -+++ b/src/libsystemd/sd-journal/catalog.c -@@ -28,6 +28,7 @@ - #include "string-util.h" - #include "strv.h" - #include "tmpfile-util.h" -+#include "missing_type.h" - - const char * const catalog_file_dirs[] = { - "/usr/local/lib/systemd/catalog/", --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch deleted file mode 100644 index 900a931632d..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch +++ /dev/null @@ -1,434 +0,0 @@ -From 872b72739e62123867ce6c4f82aa37de24cc3f75 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Sat, 22 May 2021 20:26:24 +0200 -Subject: [PATCH 02/22] add fallback parse_printf_format implementation - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Emil Renner Berthing -Signed-off-by: Khem Raj -Signed-off-by: Chen Qi -[rebased for systemd 243] -Signed-off-by: Scott Murray ---- - meson.build | 1 + - src/basic/meson.build | 5 + - src/basic/parse-printf-format.c | 273 +++++++++++++++++++++++ - src/basic/parse-printf-format.h | 57 +++++ - src/basic/stdio-util.h | 2 +- - src/libsystemd/sd-journal/journal-send.c | 2 +- - 6 files changed, 338 insertions(+), 2 deletions(-) - create mode 100644 src/basic/parse-printf-format.c - create mode 100644 src/basic/parse-printf-format.h - -diff --git a/meson.build b/meson.build -index 7419e2b0b0..01fd3ffc19 100644 ---- a/meson.build -+++ b/meson.build -@@ -725,6 +725,7 @@ endif - foreach header : ['crypt.h', - 'linux/memfd.h', - 'linux/vm_sockets.h', -+ 'printf.h', - 'sys/auxv.h', - 'threads.h', - 'valgrind/memcheck.h', -diff --git a/src/basic/meson.build b/src/basic/meson.build -index d7450d8b44..c3e3daf4bd 100644 ---- a/src/basic/meson.build -+++ b/src/basic/meson.build -@@ -183,6 +183,11 @@ endforeach - - basic_sources += generated_gperf_headers - -+if conf.get('HAVE_PRINTF_H') != 1 -+ basic_sources += [files('parse-printf-format.c')] -+endif -+ -+ - ############################################################ - - arch_list = [ -diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c -new file mode 100644 -index 0000000000..49437e5445 ---- /dev/null -+++ b/src/basic/parse-printf-format.c -@@ -0,0 +1,273 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Emil Renner Berthing -+ -+ With parts from the musl C library -+ Copyright 2005-2014 Rich Felker, et al. -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+#include -+#include -+ -+#include "parse-printf-format.h" -+ -+static const char *consume_nonarg(const char *fmt) -+{ -+ do { -+ if (*fmt == '\0') -+ return fmt; -+ } while (*fmt++ != '%'); -+ return fmt; -+} -+ -+static const char *consume_num(const char *fmt) -+{ -+ for (;*fmt >= '0' && *fmt <= '9'; fmt++) -+ /* do nothing */; -+ return fmt; -+} -+ -+static const char *consume_argn(const char *fmt, size_t *arg) -+{ -+ const char *p = fmt; -+ size_t val = 0; -+ -+ if (*p < '1' || *p > '9') -+ return fmt; -+ do { -+ val = 10*val + (*p++ - '0'); -+ } while (*p >= '0' && *p <= '9'); -+ -+ if (*p != '$') -+ return fmt; -+ *arg = val; -+ return p+1; -+} -+ -+static const char *consume_flags(const char *fmt) -+{ -+ while (1) { -+ switch (*fmt) { -+ case '#': -+ case '0': -+ case '-': -+ case ' ': -+ case '+': -+ case '\'': -+ case 'I': -+ fmt++; -+ continue; -+ } -+ return fmt; -+ } -+} -+ -+enum state { -+ BARE, -+ LPRE, -+ LLPRE, -+ HPRE, -+ HHPRE, -+ BIGLPRE, -+ ZTPRE, -+ JPRE, -+ STOP -+}; -+ -+enum type { -+ NONE, -+ PTR, -+ INT, -+ UINT, -+ ULLONG, -+ LONG, -+ ULONG, -+ SHORT, -+ USHORT, -+ CHAR, -+ UCHAR, -+ LLONG, -+ SIZET, -+ IMAX, -+ UMAX, -+ PDIFF, -+ UIPTR, -+ DBL, -+ LDBL, -+ MAXTYPE -+}; -+ -+static const short pa_types[MAXTYPE] = { -+ [NONE] = PA_INT, -+ [PTR] = PA_POINTER, -+ [INT] = PA_INT, -+ [UINT] = PA_INT, -+ [ULLONG] = PA_INT | PA_FLAG_LONG_LONG, -+ [LONG] = PA_INT | PA_FLAG_LONG, -+ [ULONG] = PA_INT | PA_FLAG_LONG, -+ [SHORT] = PA_INT | PA_FLAG_SHORT, -+ [USHORT] = PA_INT | PA_FLAG_SHORT, -+ [CHAR] = PA_CHAR, -+ [UCHAR] = PA_CHAR, -+ [LLONG] = PA_INT | PA_FLAG_LONG_LONG, -+ [SIZET] = PA_INT | PA_FLAG_LONG, -+ [IMAX] = PA_INT | PA_FLAG_LONG_LONG, -+ [UMAX] = PA_INT | PA_FLAG_LONG_LONG, -+ [PDIFF] = PA_INT | PA_FLAG_LONG_LONG, -+ [UIPTR] = PA_INT | PA_FLAG_LONG, -+ [DBL] = PA_DOUBLE, -+ [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE -+}; -+ -+#define S(x) [(x)-'A'] -+#define E(x) (STOP + (x)) -+ -+static const unsigned char states[]['z'-'A'+1] = { -+ { /* 0: bare types */ -+ S('d') = E(INT), S('i') = E(INT), -+ S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT), -+ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL), -+ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL), -+ S('c') = E(CHAR),S('C') = E(INT), -+ S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR), -+ S('m') = E(NONE), -+ S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE, -+ S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE -+ }, { /* 1: l-prefixed */ -+ S('d') = E(LONG), S('i') = E(LONG), -+ S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG), -+ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL), -+ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL), -+ S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR), -+ S('l') = LLPRE -+ }, { /* 2: ll-prefixed */ -+ S('d') = E(LLONG), S('i') = E(LLONG), -+ S('o') = E(ULLONG),S('u') = E(ULLONG), -+ S('x') = E(ULLONG),S('X') = E(ULLONG), -+ S('n') = E(PTR) -+ }, { /* 3: h-prefixed */ -+ S('d') = E(SHORT), S('i') = E(SHORT), -+ S('o') = E(USHORT),S('u') = E(USHORT), -+ S('x') = E(USHORT),S('X') = E(USHORT), -+ S('n') = E(PTR), -+ S('h') = HHPRE -+ }, { /* 4: hh-prefixed */ -+ S('d') = E(CHAR), S('i') = E(CHAR), -+ S('o') = E(UCHAR),S('u') = E(UCHAR), -+ S('x') = E(UCHAR),S('X') = E(UCHAR), -+ S('n') = E(PTR) -+ }, { /* 5: L-prefixed */ -+ S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL), -+ S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL), -+ S('n') = E(PTR) -+ }, { /* 6: z- or t-prefixed (assumed to be same size) */ -+ S('d') = E(PDIFF),S('i') = E(PDIFF), -+ S('o') = E(SIZET),S('u') = E(SIZET), -+ S('x') = E(SIZET),S('X') = E(SIZET), -+ S('n') = E(PTR) -+ }, { /* 7: j-prefixed */ -+ S('d') = E(IMAX), S('i') = E(IMAX), -+ S('o') = E(UMAX), S('u') = E(UMAX), -+ S('x') = E(UMAX), S('X') = E(UMAX), -+ S('n') = E(PTR) -+ } -+}; -+ -+size_t parse_printf_format(const char *fmt, size_t n, int *types) -+{ -+ size_t i = 0; -+ size_t last = 0; -+ -+ memset(types, 0, n); -+ -+ while (1) { -+ size_t arg; -+ unsigned int state; -+ -+ fmt = consume_nonarg(fmt); -+ if (*fmt == '\0') -+ break; -+ if (*fmt == '%') { -+ fmt++; -+ continue; -+ } -+ arg = 0; -+ fmt = consume_argn(fmt, &arg); -+ /* flags */ -+ fmt = consume_flags(fmt); -+ /* width */ -+ if (*fmt == '*') { -+ size_t warg = 0; -+ fmt = consume_argn(fmt+1, &warg); -+ if (warg == 0) -+ warg = ++i; -+ if (warg > last) -+ last = warg; -+ if (warg <= n && types[warg-1] == NONE) -+ types[warg-1] = INT; -+ } else -+ fmt = consume_num(fmt); -+ /* precision */ -+ if (*fmt == '.') { -+ fmt++; -+ if (*fmt == '*') { -+ size_t parg = 0; -+ fmt = consume_argn(fmt+1, &parg); -+ if (parg == 0) -+ parg = ++i; -+ if (parg > last) -+ last = parg; -+ if (parg <= n && types[parg-1] == NONE) -+ types[parg-1] = INT; -+ } else { -+ if (*fmt == '-') -+ fmt++; -+ fmt = consume_num(fmt); -+ } -+ } -+ /* length modifier and conversion specifier */ -+ state = BARE; -+ do { -+ unsigned char c = *fmt++; -+ -+ if (c < 'A' || c > 'z') -+ continue; -+ state = states[state]S(c); -+ if (state == 0) -+ continue; -+ } while (state < STOP); -+ -+ if (state == E(NONE)) -+ continue; -+ -+ if (arg == 0) -+ arg = ++i; -+ if (arg > last) -+ last = arg; -+ if (arg <= n) -+ types[arg-1] = state - STOP; -+ } -+ -+ if (last > n) -+ last = n; -+ for (i = 0; i < last; i++) -+ types[i] = pa_types[types[i]]; -+ -+ return last; -+} -diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h -new file mode 100644 -index 0000000000..47be7522d7 ---- /dev/null -+++ b/src/basic/parse-printf-format.h -@@ -0,0 +1,57 @@ -+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -+ -+/*** -+ This file is part of systemd. -+ -+ Copyright 2014 Emil Renner Berthing -+ -+ With parts from the GNU C Library -+ Copyright 1991-2014 Free Software Foundation, Inc. -+ -+ systemd is free software; you can redistribute it and/or modify it -+ under the terms of the GNU Lesser General Public License as published by -+ the Free Software Foundation; either version 2.1 of the License, or -+ (at your option) any later version. -+ -+ systemd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public License -+ along with systemd; If not, see . -+***/ -+ -+#pragma once -+ -+#include "config.h" -+ -+#if HAVE_PRINTF_H -+#include -+#else -+ -+#include -+ -+enum { /* C type: */ -+ PA_INT, /* int */ -+ PA_CHAR, /* int, cast to char */ -+ PA_WCHAR, /* wide char */ -+ PA_STRING, /* const char *, a '\0'-terminated string */ -+ PA_WSTRING, /* const wchar_t *, wide character string */ -+ PA_POINTER, /* void * */ -+ PA_FLOAT, /* float */ -+ PA_DOUBLE, /* double */ -+ PA_LAST -+}; -+ -+/* Flag bits that can be set in a type returned by `parse_printf_format'. */ -+#define PA_FLAG_MASK 0xff00 -+#define PA_FLAG_LONG_LONG (1 << 8) -+#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG -+#define PA_FLAG_LONG (1 << 9) -+#define PA_FLAG_SHORT (1 << 10) -+#define PA_FLAG_PTR (1 << 11) -+ -+size_t parse_printf_format(const char *fmt, size_t n, int *types); -+ -+#endif /* HAVE_PRINTF_H */ -diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h -index 4e93ac90c9..f9deb6f662 100644 ---- a/src/basic/stdio-util.h -+++ b/src/basic/stdio-util.h -@@ -1,12 +1,12 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - #pragma once - --#include - #include - #include - #include - - #include "macro.h" -+#include "parse-printf-format.h" - - _printf_(3, 4) - static inline char *snprintf_ok(char *buf, size_t len, const char *format, ...) { -diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c -index be23b2fe75..69a2eb6404 100644 ---- a/src/libsystemd/sd-journal/journal-send.c -+++ b/src/libsystemd/sd-journal/journal-send.c -@@ -2,7 +2,6 @@ - - #include - #include --#include - #include - #include - #include -@@ -28,6 +27,7 @@ - #include "stdio-util.h" - #include "string-util.h" - #include "tmpfile-util.h" -+#include "parse-printf-format.h" - - #define SNDBUF_SIZE (8*1024*1024) - --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch deleted file mode 100644 index be231cf6b2a..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 29a58009a172e369ad7166e16dab2f4945c6b0d2 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Thu, 21 Feb 2019 16:23:24 +0800 -Subject: [PATCH 1/2] binfmt: Don't install dependency links at install time - for the binfmt services - -use [Install] blocks so that they get created when the service is enabled -like a traditional service. - -The [Install] blocks were rejected upstream as they don't have a way to -"enable" it on install without static symlinks which can't be disabled, -only masked. We however can do that in a postinst. - -Upstream-Status: Denied - -Signed-off-by: Ross Burton -Signed-off-by: Khem Raj -Signed-off-by: Chen Qi -[rebased for systemd 243] -Signed-off-by: Scott Murray ---- - units/meson.build | 2 -- - units/proc-sys-fs-binfmt_misc.automount | 3 +++ - units/systemd-binfmt.service.in | 4 ++++ - 3 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/units/meson.build b/units/meson.build -index e7bfb7f838..1d5ec4b178 100644 ---- a/units/meson.build -+++ b/units/meson.build -@@ -154,7 +154,6 @@ units = [ - { - 'file' : 'proc-sys-fs-binfmt_misc.automount', - 'conditions' : ['ENABLE_BINFMT'], -- 'symlinks' : ['sysinit.target.wants/'], - }, - { - 'file' : 'proc-sys-fs-binfmt_misc.mount', -@@ -251,7 +250,6 @@ units = [ - { - 'file' : 'systemd-binfmt.service.in', - 'conditions' : ['ENABLE_BINFMT'], -- 'symlinks' : ['sysinit.target.wants/'], - }, - { - 'file' : 'systemd-bless-boot.service.in', -diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount -index 5d212015a5..6c2900ca77 100644 ---- a/units/proc-sys-fs-binfmt_misc.automount -+++ b/units/proc-sys-fs-binfmt_misc.automount -@@ -22,3 +22,6 @@ Before=shutdown.target - - [Automount] - Where=/proc/sys/fs/binfmt_misc -+ -+[Install] -+WantedBy=sysinit.target -diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in -index 6861c76674..531e9fbd90 100644 ---- a/units/systemd-binfmt.service.in -+++ b/units/systemd-binfmt.service.in -@@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html - Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems - DefaultDependencies=no - Conflicts=shutdown.target -+Wants=proc-sys-fs-binfmt_misc.automount - After=proc-sys-fs-binfmt_misc.automount - After=proc-sys-fs-binfmt_misc.mount - After=local-fs.target -@@ -31,3 +32,6 @@ RemainAfterExit=yes - ExecStart={{LIBEXECDIR}}/systemd-binfmt - ExecStop={{LIBEXECDIR}}/systemd-binfmt --unregister - TimeoutSec=90s -+ -+[Install] -+WantedBy=sysinit.target --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch deleted file mode 100644 index 5595b5bc237..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch +++ /dev/null @@ -1,699 +0,0 @@ -From 87f1d38f40c5fe9cadf2b2de442473e4e5605788 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 14:18:21 +0800 -Subject: [PATCH 03/22] src/basic/missing.h: check for missing strndupa - -include missing.h for definition of strndupa - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Khem Raj -Signed-off-by: Chen Qi -[Rebased for v242] -Signed-off-by: Andrej Valek -[rebased for systemd 243] -Signed-off-by: Scott Murray -Signed-off-by: Alex Kiernan -[rebased for systemd 244] -[Rebased for v247] -Signed-off-by: Luca Boccassi -[Rebased for v254] -Signed-off-by: Chen Qi -[Rebased for v255.1] ---- - meson.build | 1 + - src/backlight/backlight.c | 1 + - src/basic/cgroup-util.c | 1 + - src/basic/env-util.c | 1 + - src/basic/log.c | 1 + - src/basic/missing_stdlib.h | 12 ++++++++++++ - src/basic/mkdir.c | 1 + - src/basic/mountpoint-util.c | 1 + - src/basic/parse-util.c | 1 + - src/basic/path-lookup.c | 1 + - src/basic/percent-util.c | 1 + - src/basic/proc-cmdline.c | 1 + - src/basic/procfs-util.c | 1 + - src/basic/time-util.c | 1 + - src/boot/bless-boot.c | 1 + - src/core/dbus-cgroup.c | 1 + - src/core/dbus-execute.c | 1 + - src/core/dbus-util.c | 1 + - src/core/execute.c | 1 + - src/core/kmod-setup.c | 1 + - src/core/service.c | 1 + - src/coredump/coredump-vacuum.c | 1 + - src/fstab-generator/fstab-generator.c | 1 + - src/journal-remote/journal-remote-main.c | 1 + - src/journal/journalctl.c | 1 + - src/libsystemd/sd-bus/bus-message.c | 1 + - src/libsystemd/sd-bus/bus-objects.c | 1 + - src/libsystemd/sd-bus/bus-socket.c | 1 + - src/libsystemd/sd-bus/sd-bus.c | 1 + - src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + - src/libsystemd/sd-journal/sd-journal.c | 1 + - src/login/pam_systemd.c | 1 + - src/network/generator/network-generator.c | 1 + - src/nspawn/nspawn-settings.c | 1 + - src/nss-mymachines/nss-mymachines.c | 1 + - src/portable/portable.c | 1 + - src/resolve/resolvectl.c | 1 + - src/shared/bus-get-properties.c | 1 + - src/shared/bus-unit-procs.c | 1 + - src/shared/bus-unit-util.c | 1 + - src/shared/bus-util.c | 1 + - src/shared/dns-domain.c | 1 + - src/shared/journal-importer.c | 1 + - src/shared/logs-show.c | 1 + - src/shared/pager.c | 1 + - src/socket-proxy/socket-proxyd.c | 1 + - src/test/test-hexdecoct.c | 1 + - src/udev/udev-builtin-net_id.c | 1 + - src/udev/udev-builtin-path_id.c | 1 + - src/udev/udev-event.c | 1 + - src/udev/udev-rules.c | 1 + - 51 files changed, 62 insertions(+) - -diff --git a/meson.build b/meson.build -index 01fd3ffc19..61a872b753 100644 ---- a/meson.build -+++ b/meson.build -@@ -567,6 +567,7 @@ foreach ident : ['secure_getenv', '__secure_getenv'] - endforeach - - foreach ident : [ -+ ['strndupa' , '''#include '''], - ['memfd_create', '''#include '''], - ['gettid', '''#include - #include '''], -diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c -index 5ac9f904a9..99d5122dd7 100644 ---- a/src/backlight/backlight.c -+++ b/src/backlight/backlight.c -@@ -20,6 +20,7 @@ - #include "string-util.h" - #include "strv.h" - #include "terminal-util.h" -+#include "missing_stdlib.h" - - #define PCI_CLASS_GRAPHICS_CARD 0x30000 - -diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c -index 18b16ecc0e..d2be79622f 100644 ---- a/src/basic/cgroup-util.c -+++ b/src/basic/cgroup-util.c -@@ -38,6 +38,7 @@ - #include "unit-name.h" - #include "user-util.h" - #include "xattr-util.h" -+#include "missing_stdlib.h" - - static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) { - _cleanup_free_ char *fs = NULL; -diff --git a/src/basic/env-util.c b/src/basic/env-util.c -index d3bf73385f..16b17358ca 100644 ---- a/src/basic/env-util.c -+++ b/src/basic/env-util.c -@@ -19,6 +19,7 @@ - #include "string-util.h" - #include "strv.h" - #include "utf8.h" -+#include "missing_stdlib.h" - - /* We follow bash for the character set. Different shells have different rules. */ - #define VALID_BASH_ENV_NAME_CHARS \ -diff --git a/src/basic/log.c b/src/basic/log.c -index 1470611a75..9924ec2b9a 100644 ---- a/src/basic/log.c -+++ b/src/basic/log.c -@@ -40,6 +40,7 @@ - #include "terminal-util.h" - #include "time-util.h" - #include "utf8.h" -+#include "missing_stdlib.h" - - #define SNDBUF_SIZE (8*1024*1024) - #define IOVEC_MAX 256U -diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h -index 8c76f93eb2..9068bfb4f0 100644 ---- a/src/basic/missing_stdlib.h -+++ b/src/basic/missing_stdlib.h -@@ -11,3 +11,15 @@ - # error "neither secure_getenv nor __secure_getenv are available" - # endif - #endif -+ -+/* string.h */ -+#if ! HAVE_STRNDUPA -+#define strndupa(s, n) \ -+ ({ \ -+ const char *__old = (s); \ -+ size_t __len = strnlen(__old, (n)); \ -+ char *__new = (char *)alloca(__len + 1); \ -+ __new[__len] = '\0'; \ -+ (char *)memcpy(__new, __old, __len); \ -+ }) -+#endif -diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c -index c770e5ed32..1fd8816cd0 100644 ---- a/src/basic/mkdir.c -+++ b/src/basic/mkdir.c -@@ -16,6 +16,7 @@ - #include "stat-util.h" - #include "stdio-util.h" - #include "user-util.h" -+#include "missing_stdlib.h" - - int mkdirat_safe_internal( - int dir_fd, -diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c -index bf67f7e01a..409f8d8a73 100644 ---- a/src/basic/mountpoint-util.c -+++ b/src/basic/mountpoint-util.c -@@ -18,6 +18,7 @@ - #include "missing_stat.h" - #include "missing_syscall.h" - #include "mkdir.h" -+#include "missing_stdlib.h" - #include "mountpoint-util.h" - #include "nulstr-util.h" - #include "parse-util.h" -diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c -index 0430e33e40..f3728de026 100644 ---- a/src/basic/parse-util.c -+++ b/src/basic/parse-util.c -@@ -18,6 +18,7 @@ - #include "stat-util.h" - #include "string-util.h" - #include "strv.h" -+#include "missing_stdlib.h" - - int parse_boolean(const char *v) { - if (!v) -diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c -index 4e3d59fc56..726e240df0 100644 ---- a/src/basic/path-lookup.c -+++ b/src/basic/path-lookup.c -@@ -16,6 +16,7 @@ - #include "strv.h" - #include "tmpfile-util.h" - #include "user-util.h" -+#include "missing_stdlib.h" - - int xdg_user_runtime_dir(char **ret, const char *suffix) { - const char *e; -diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c -index cab9d0eaea..5f6ca258e9 100644 ---- a/src/basic/percent-util.c -+++ b/src/basic/percent-util.c -@@ -3,6 +3,7 @@ - #include "percent-util.h" - #include "string-util.h" - #include "parse-util.h" -+#include "missing_stdlib.h" - - static int parse_parts_value_whole(const char *p, const char *symbol) { - const char *pc, *n; -diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c -index 522d8de1f4..7c129dc0fc 100644 ---- a/src/basic/proc-cmdline.c -+++ b/src/basic/proc-cmdline.c -@@ -16,6 +16,7 @@ - #include "string-util.h" - #include "strv.h" - #include "virt.h" -+#include "missing_stdlib.h" - - int proc_cmdline_filter_pid1_args(char **argv, char ***ret) { - enum { -diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c -index d7cfcd9105..6cb0ddf575 100644 ---- a/src/basic/procfs-util.c -+++ b/src/basic/procfs-util.c -@@ -12,6 +12,7 @@ - #include "procfs-util.h" - #include "stdio-util.h" - #include "string-util.h" -+#include "missing_stdlib.h" - - int procfs_get_pid_max(uint64_t *ret) { - _cleanup_free_ char *value = NULL; -diff --git a/src/basic/time-util.c b/src/basic/time-util.c -index f9014dc560..1d7840a5b5 100644 ---- a/src/basic/time-util.c -+++ b/src/basic/time-util.c -@@ -27,6 +27,7 @@ - #include "string-util.h" - #include "strv.h" - #include "time-util.h" -+#include "missing_stdlib.h" - - static clockid_t map_clock_id(clockid_t c) { - -diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c -index 0c0b4f23c7..68fe5ca509 100644 ---- a/src/boot/bless-boot.c -+++ b/src/boot/bless-boot.c -@@ -22,6 +22,7 @@ - #include "terminal-util.h" - #include "verbs.h" - #include "virt.h" -+#include "missing_stdlib.h" - - static char **arg_path = NULL; - -diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c -index 4237e694c0..05f9d9d9a9 100644 ---- a/src/core/dbus-cgroup.c -+++ b/src/core/dbus-cgroup.c -@@ -25,6 +25,7 @@ - #include "parse-util.h" - #include "path-util.h" - #include "percent-util.h" -+#include "missing_stdlib.h" - #include "socket-util.h" - - BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve); -diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c -index 4daa1cefd3..2c77901471 100644 ---- a/src/core/dbus-execute.c -+++ b/src/core/dbus-execute.c -@@ -42,6 +42,7 @@ - #include "unit-printf.h" - #include "user-util.h" - #include "utf8.h" -+#include "missing_stdlib.h" - - BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); - static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); -diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c -index d680a64268..e59f48103e 100644 ---- a/src/core/dbus-util.c -+++ b/src/core/dbus-util.c -@@ -9,6 +9,7 @@ - #include "unit-printf.h" - #include "user-util.h" - #include "unit.h" -+#include "missing_stdlib.h" - - int bus_property_get_triggered_unit( - sd_bus *bus, -diff --git a/src/core/execute.c b/src/core/execute.c -index ef0bf88687..bd3da0c401 100644 ---- a/src/core/execute.c -+++ b/src/core/execute.c -@@ -72,6 +72,7 @@ - #include "unit-serialize.h" - #include "user-util.h" - #include "utmp-wtmp.h" -+#include "missing_stdlib.h" - - static bool is_terminal_input(ExecInput i) { - return IN_SET(i, -diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c -index b8e3f7aadd..8ce8ca68d8 100644 ---- a/src/core/kmod-setup.c -+++ b/src/core/kmod-setup.c -@@ -13,6 +13,7 @@ - #include "string-util.h" - #include "strv.h" - #include "virt.h" -+#include "missing_stdlib.h" - - #if HAVE_KMOD - #include "module-util.h" -diff --git a/src/core/service.c b/src/core/service.c -index b9eb40c555..268fe7573b 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -45,6 +45,7 @@ - #include "unit-name.h" - #include "unit.h" - #include "utf8.h" -+#include "missing_stdlib.h" - - #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__) - -diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c -index 7e0c98cb7d..978a7f5874 100644 ---- a/src/coredump/coredump-vacuum.c -+++ b/src/coredump/coredump-vacuum.c -@@ -17,6 +17,7 @@ - #include "string-util.h" - #include "time-util.h" - #include "user-util.h" -+#include "missing_stdlib.h" - - #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */ - #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */ -diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c -index 016f3baa7f..b1def81313 100644 ---- a/src/fstab-generator/fstab-generator.c -+++ b/src/fstab-generator/fstab-generator.c -@@ -37,6 +37,7 @@ - #include "unit-name.h" - #include "virt.h" - #include "volatile-util.h" -+#include "missing_stdlib.h" - - typedef enum MountPointFlags { - MOUNT_NOAUTO = 1 << 0, -diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c -index da0f20d3ce..f22ce41908 100644 ---- a/src/journal-remote/journal-remote-main.c -+++ b/src/journal-remote/journal-remote-main.c -@@ -27,6 +27,7 @@ - #include "stat-util.h" - #include "string-table.h" - #include "strv.h" -+#include "missing_stdlib.h" - - #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" - #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" -diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c -index 7f3dcd56a4..41b7cbaaf1 100644 ---- a/src/journal/journalctl.c -+++ b/src/journal/journalctl.c -@@ -77,6 +77,7 @@ - #include "unit-name.h" - #include "user-util.h" - #include "varlink.h" -+#include "missing_stdlib.h" - - #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) - #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ -diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c -index ff0228081f..9066fcb133 100644 ---- a/src/libsystemd/sd-bus/bus-message.c -+++ b/src/libsystemd/sd-bus/bus-message.c -@@ -19,6 +19,7 @@ - #include "strv.h" - #include "time-util.h" - #include "utf8.h" -+#include "missing_stdlib.h" - - static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); - static int message_parse_fields(sd_bus_message *m); -diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c -index c25c40ff37..57a5da704f 100644 ---- a/src/libsystemd/sd-bus/bus-objects.c -+++ b/src/libsystemd/sd-bus/bus-objects.c -@@ -11,6 +11,7 @@ - #include "missing_capability.h" - #include "string-util.h" - #include "strv.h" -+#include "missing_stdlib.h" - - static int node_vtable_get_userdata( - sd_bus *bus, -diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c -index 3c59d0d615..746922d46f 100644 ---- a/src/libsystemd/sd-bus/bus-socket.c -+++ b/src/libsystemd/sd-bus/bus-socket.c -@@ -29,6 +29,7 @@ - #include "string-util.h" - #include "user-util.h" - #include "utf8.h" -+#include "missing_stdlib.h" - - #define SNDBUF_SIZE (8*1024*1024) - -diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c -index 4a0259f8bb..aaa90d2223 100644 ---- a/src/libsystemd/sd-bus/sd-bus.c -+++ b/src/libsystemd/sd-bus/sd-bus.c -@@ -46,6 +46,7 @@ - #include "string-util.h" - #include "strv.h" - #include "user-util.h" -+#include "missing_stdlib.h" - - #define log_debug_bus_message(m) \ - do { \ -diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c -index d988588de0..458df8df9a 100644 ---- a/src/libsystemd/sd-bus/test-bus-benchmark.c -+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c -@@ -14,6 +14,7 @@ - #include "string-util.h" - #include "tests.h" - #include "time-util.h" -+#include "missing_stdlib.h" - - #define MAX_SIZE (2*1024*1024) - -diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c -index 6b9ff0a4ed..4a5027ad0f 100644 ---- a/src/libsystemd/sd-journal/sd-journal.c -+++ b/src/libsystemd/sd-journal/sd-journal.c -@@ -44,6 +44,7 @@ - #include "strv.h" - #include "syslog-util.h" - #include "uid-alloc-range.h" -+#include "missing_stdlib.h" - - #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC) - -diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c -index b8da266e27..4bb8dd9496 100644 ---- a/src/login/pam_systemd.c -+++ b/src/login/pam_systemd.c -@@ -35,6 +35,7 @@ - #include "login-util.h" - #include "macro.h" - #include "missing_syscall.h" -+#include "missing_stdlib.h" - #include "pam-util.h" - #include "parse-util.h" - #include "path-util.h" -diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c -index 48527a2c73..9777fe0561 100644 ---- a/src/network/generator/network-generator.c -+++ b/src/network/generator/network-generator.c -@@ -14,6 +14,7 @@ - #include "string-table.h" - #include "string-util.h" - #include "strv.h" -+#include "missing_stdlib.h" - - /* - # .network -diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c -index 161b1c1c70..ba1c459f78 100644 ---- a/src/nspawn/nspawn-settings.c -+++ b/src/nspawn/nspawn-settings.c -@@ -16,6 +16,7 @@ - #include "string-util.h" - #include "strv.h" - #include "user-util.h" -+#include "missing_stdlib.h" - - Settings *settings_new(void) { - Settings *s; -diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c -index c64e79bdff..eda26b0b9a 100644 ---- a/src/nss-mymachines/nss-mymachines.c -+++ b/src/nss-mymachines/nss-mymachines.c -@@ -21,6 +21,7 @@ - #include "nss-util.h" - #include "signal-util.h" - #include "string-util.h" -+#include "missing_stdlib.h" - - static void setup_logging_once(void) { - static pthread_once_t once = PTHREAD_ONCE_INIT; -diff --git a/src/portable/portable.c b/src/portable/portable.c -index d4b448a627..bb26623565 100644 ---- a/src/portable/portable.c -+++ b/src/portable/portable.c -@@ -40,6 +40,7 @@ - #include "strv.h" - #include "tmpfile-util.h" - #include "user-util.h" -+#include "missing_stdlib.h" - - /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was - * dropped there by the portable service logic and b) for which image it was dropped there. */ -diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c -index afa537f160..32ccee4ae5 100644 ---- a/src/resolve/resolvectl.c -+++ b/src/resolve/resolvectl.c -@@ -48,6 +48,7 @@ - #include "varlink.h" - #include "verb-log-control.h" - #include "verbs.h" -+#include "missing_stdlib.h" - - static int arg_family = AF_UNSPEC; - static int arg_ifindex = 0; -diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c -index 53e5d6b99f..851ecd5644 100644 ---- a/src/shared/bus-get-properties.c -+++ b/src/shared/bus-get-properties.c -@@ -4,6 +4,7 @@ - #include "rlimit-util.h" - #include "stdio-util.h" - #include "string-util.h" -+#include "missing_stdlib.h" - - int bus_property_get_bool( - sd_bus *bus, -diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c -index 8b462b5627..183ce1c18e 100644 ---- a/src/shared/bus-unit-procs.c -+++ b/src/shared/bus-unit-procs.c -@@ -11,6 +11,7 @@ - #include "sort-util.h" - #include "string-util.h" - #include "terminal-util.h" -+#include "missing_stdlib.h" - - struct CGroupInfo { - char *cgroup_path; -diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c -index 4ee9706847..30c8084847 100644 ---- a/src/shared/bus-unit-util.c -+++ b/src/shared/bus-unit-util.c -@@ -50,6 +50,7 @@ - #include "unit-def.h" - #include "user-util.h" - #include "utf8.h" -+#include "missing_stdlib.h" - - int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) { - assert(message); -diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c -index 4123152d93..74f148c8b4 100644 ---- a/src/shared/bus-util.c -+++ b/src/shared/bus-util.c -@@ -24,6 +24,7 @@ - #include "path-util.h" - #include "socket-util.h" - #include "stdio-util.h" -+#include "missing_stdlib.h" - - static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { - sd_event *e = ASSERT_PTR(userdata); -diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c -index b41c9b06ca..e69050a507 100644 ---- a/src/shared/dns-domain.c -+++ b/src/shared/dns-domain.c -@@ -18,6 +18,7 @@ - #include "string-util.h" - #include "strv.h" - #include "utf8.h" -+#include "missing_stdlib.h" - - int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { - const char *n; -diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c -index 83e9834bbf..74eaae6f5e 100644 ---- a/src/shared/journal-importer.c -+++ b/src/shared/journal-importer.c -@@ -16,6 +16,7 @@ - #include "string-util.h" - #include "strv.h" - #include "unaligned.h" -+#include "missing_stdlib.h" - - enum { - IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ -diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c -index a5d04003bd..10392c132d 100644 ---- a/src/shared/logs-show.c -+++ b/src/shared/logs-show.c -@@ -41,6 +41,7 @@ - #include "time-util.h" - #include "utf8.h" - #include "web-util.h" -+#include "missing_stdlib.h" - - /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ - #define PRINT_LINE_THRESHOLD 3 -diff --git a/src/shared/pager.c b/src/shared/pager.c -index 19deefab56..6b6d0af1a0 100644 ---- a/src/shared/pager.c -+++ b/src/shared/pager.c -@@ -25,6 +25,7 @@ - #include "string-util.h" - #include "strv.h" - #include "terminal-util.h" -+#include "missing_stdlib.h" - - static pid_t pager_pid = 0; - -diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c -index 287fd6c181..8f8d5493da 100644 ---- a/src/socket-proxy/socket-proxyd.c -+++ b/src/socket-proxy/socket-proxyd.c -@@ -27,6 +27,7 @@ - #include "set.h" - #include "socket-util.h" - #include "string-util.h" -+#include "missing_stdlib.h" - - #define BUFFER_SIZE (256 * 1024) - -diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c -index f884008660..987e180697 100644 ---- a/src/test/test-hexdecoct.c -+++ b/src/test/test-hexdecoct.c -@@ -7,6 +7,7 @@ - #include "macro.h" - #include "random-util.h" - #include "string-util.h" -+#include "missing_stdlib.h" - #include "tests.h" - - TEST(hexchar) { -diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c -index 91b40088f4..f528a46b8e 100644 ---- a/src/udev/udev-builtin-net_id.c -+++ b/src/udev/udev-builtin-net_id.c -@@ -39,6 +39,7 @@ - #include "strv.h" - #include "strxcpyx.h" - #include "udev-builtin.h" -+#include "missing_stdlib.h" - - #define ONBOARD_14BIT_INDEX_MAX ((1U << 14) - 1) - #define ONBOARD_16BIT_INDEX_MAX ((1U << 16) - 1) -diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c -index 467c9a6ad3..f74dae60af 100644 ---- a/src/udev/udev-builtin-path_id.c -+++ b/src/udev/udev-builtin-path_id.c -@@ -24,6 +24,7 @@ - #include "sysexits.h" - #include "udev-builtin.h" - #include "udev-util.h" -+#include "missing_stdlib.h" - - _printf_(2,3) - static void path_prepend(char **path, const char *fmt, ...) { -diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c -index ed22c8b679..19ebe20237 100644 ---- a/src/udev/udev-event.c -+++ b/src/udev/udev-event.c -@@ -16,6 +16,7 @@ - #include "udev-util.h" - #include "udev-watch.h" - #include "user-util.h" -+#include "missing_stdlib.h" - - UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) { - UdevEvent *event; -diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c -index 5f12002394..febe345b4c 100644 ---- a/src/udev/udev-rules.c -+++ b/src/udev/udev-rules.c -@@ -41,6 +41,7 @@ - #include "udev-util.h" - #include "user-util.h" - #include "virt.h" -+#include "missing_stdlib.h" - - #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d")) - --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch deleted file mode 100644 index 15877bea88f..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch +++ /dev/null @@ -1,156 +0,0 @@ -From 5325ab5813617f35f03806ec420829dde7104387 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 14:56:21 +0800 -Subject: [PATCH 04/22] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not - defined - -If the standard library doesn't provide brace -expansion users just won't get it. - -Dont use GNU GLOB extentions on non-glibc systems - -Conditionalize use of GLOB_ALTDIRFUNC - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Khem Raj -Signed-off-by: Chen Qi -[rebased for systemd 243] -Signed-off-by: Scott Murray ---- - src/basic/glob-util.c | 12 ++++++++++++ - src/test/test-glob-util.c | 16 ++++++++++++++++ - src/tmpfiles/tmpfiles.c | 10 ++++++++++ - 3 files changed, 38 insertions(+) - -diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c -index 802ca8c655..23818a67c6 100644 ---- a/src/basic/glob-util.c -+++ b/src/basic/glob-util.c -@@ -12,6 +12,12 @@ - #include "path-util.h" - #include "strv.h" - -+/* Don't fail if the standard library -+ * doesn't provide brace expansion */ -+#ifndef GLOB_BRACE -+#define GLOB_BRACE 0 -+#endif -+ - static void closedir_wrapper(void* v) { - (void) closedir(v); - } -@@ -19,6 +25,7 @@ static void closedir_wrapper(void* v) { - int safe_glob(const char *path, int flags, glob_t *pglob) { - int k; - -+#ifdef GLOB_ALTDIRFUNC - /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */ - assert(!(flags & GLOB_ALTDIRFUNC)); - -@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) { - pglob->gl_lstat = lstat; - if (!pglob->gl_stat) - pglob->gl_stat = stat; -+#endif - - errno = 0; -+#ifdef GLOB_ALTDIRFUNC - k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob); -+#else -+ k = glob(path, flags, NULL, pglob); -+#endif - if (k == GLOB_NOMATCH) - return -ENOENT; - if (k == GLOB_NOSPACE) -diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c -index 9b3e73cce0..3790ba3be5 100644 ---- a/src/test/test-glob-util.c -+++ b/src/test/test-glob-util.c -@@ -34,6 +34,12 @@ TEST(glob_first) { - assert_se(first == NULL); - } - -+/* Don't fail if the standard library -+ * doesn't provide brace expansion */ -+#ifndef GLOB_BRACE -+#define GLOB_BRACE 0 -+#endif -+ - TEST(glob_exists) { - char name[] = "/tmp/test-glob_exists.XXXXXX"; - int fd = -EBADF; -@@ -61,11 +67,13 @@ TEST(glob_no_dot) { - const char *fn; - - _cleanup_globfree_ glob_t g = { -+#ifdef GLOB_ALTDIRFUNC - .gl_closedir = closedir_wrapper, - .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot, - .gl_opendir = (void *(*)(const char *)) opendir, - .gl_lstat = lstat, - .gl_stat = stat, -+#endif - }; - - int r; -@@ -73,11 +81,19 @@ TEST(glob_no_dot) { - assert_se(mkdtemp(template)); - - fn = strjoina(template, "/*"); -+#ifdef GLOB_ALTDIRFUNC - r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g); -+#else -+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g); -+#endif - assert_se(r == GLOB_NOMATCH); - - fn = strjoina(template, "/.*"); -+#ifdef GLOB_ALTDIRFUNC - r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g); -+#else -+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g); -+#endif - assert_se(r == GLOB_NOMATCH); - - (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); -diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 230ec09b97..2cc5f391d7 100644 ---- a/src/tmpfiles/tmpfiles.c -+++ b/src/tmpfiles/tmpfiles.c -@@ -73,6 +73,12 @@ - #include "user-util.h" - #include "virt.h" - -+/* Don't fail if the standard library -+ * doesn't provide brace expansion */ -+#ifndef GLOB_BRACE -+#define GLOB_BRACE 0 -+#endif -+ - /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates - * them in the file system. This is intended to be used to create - * properly owned directories beneath /tmp, /var/tmp, /run, which are -@@ -2434,7 +2440,9 @@ finish: - - static int glob_item(Context *c, Item *i, action_t action) { - _cleanup_globfree_ glob_t g = { -+#ifdef GLOB_ALTDIRFUNC - .gl_opendir = (void *(*)(const char *)) opendir_nomod, -+#endif - }; - int r = 0, k; - -@@ -2461,7 +2469,9 @@ static int glob_item_recursively( - fdaction_t action) { - - _cleanup_globfree_ glob_t g = { -+#ifdef GLOB_ALTDIRFUNC - .gl_opendir = (void *(*)(const char *)) opendir_nomod, -+#endif - }; - int r = 0, k; - --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch deleted file mode 100644 index a1dfca22cdb..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch +++ /dev/null @@ -1,44 +0,0 @@ -From dad7f897c0de654fa5592fda3e90f874639849f9 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 15:00:06 +0800 -Subject: [PATCH 05/22] add missing FTW_ macros for musl - -This is to avoid build failures like below for musl. - - locale-util.c:296:24: error: 'FTW_STOP' undeclared - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Chen Qi ---- - src/basic/missing_type.h | 4 ++++ - src/test/test-recurse-dir.c | 1 + - 2 files changed, 5 insertions(+) - -diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h -index 6c0456349d..73a5b90e3c 100644 ---- a/src/basic/missing_type.h -+++ b/src/basic/missing_type.h -@@ -14,3 +14,7 @@ - #ifndef __GLIBC__ - typedef int (*comparison_fn_t)(const void *, const void *); - #endif -+ -+#ifndef FTW_CONTINUE -+#define FTW_CONTINUE 0 -+#endif -diff --git a/src/test/test-recurse-dir.c b/src/test/test-recurse-dir.c -index 8684d064ec..70fc2b5376 100644 ---- a/src/test/test-recurse-dir.c -+++ b/src/test/test-recurse-dir.c -@@ -8,6 +8,7 @@ - #include "recurse-dir.h" - #include "strv.h" - #include "tests.h" -+#include "missing_type.h" - - static char **list_nftw = NULL; - --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch deleted file mode 100644 index 4be14b72ecd..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 96e975a2412a20e5f80bd3ab144057d275eb8597 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 15:12:41 +0800 -Subject: [PATCH 06/22] Use uintmax_t for handling rlim_t - -PRIu{32,64} is not right format to represent rlim_t type -therefore use %ju and typecast the rlim_t variables to -uintmax_t. - -Fixes portablility errors like - -execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=] -| fprintf(f, "%s%s: " RLIM_FMT "\n", -| ^~~~~~~~ -| prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max); -| ~~~~~~~~~~~~~~~~~~~~~~ - -Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199] - -Signed-off-by: Khem Raj -[Rebased for v241] -Signed-off-by: Chen Qi ---- - src/basic/format-util.h | 8 +------- - src/basic/rlimit-util.c | 12 ++++++------ - src/core/execute.c | 4 ++-- - 3 files changed, 9 insertions(+), 15 deletions(-) - -diff --git a/src/basic/format-util.h b/src/basic/format-util.h -index 8719df3e29..9becc96066 100644 ---- a/src/basic/format-util.h -+++ b/src/basic/format-util.h -@@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t)); - # error Unknown timex member size - #endif - --#if SIZEOF_RLIM_T == 8 --# define RLIM_FMT "%" PRIu64 --#elif SIZEOF_RLIM_T == 4 --# define RLIM_FMT "%" PRIu32 --#else --# error Unknown rlim_t size --#endif -+#define RLIM_FMT "%ju" - - #if SIZEOF_DEV_T == 8 - # define DEV_FMT "%" PRIu64 -diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c -index c1f0b2b974..61c5412582 100644 ---- a/src/basic/rlimit-util.c -+++ b/src/basic/rlimit-util.c -@@ -44,7 +44,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { - fixed.rlim_max == highest.rlim_max) - return 0; - -- log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", rlim->rlim_max, rlimit_to_string(resource), fixed.rlim_max); -+ log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", (uintmax_t)rlim->rlim_max, rlimit_to_string(resource), (uintmax_t)fixed.rlim_max); - - return RET_NERRNO(setrlimit(resource, &fixed)); - } -@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { - if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) - r = free_and_strdup(&s, "infinity"); - else if (rl->rlim_cur >= RLIM_INFINITY) -- r = asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max); -+ r = asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max); - else if (rl->rlim_max >= RLIM_INFINITY) -- r = asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur); -+ r = asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur); - else if (rl->rlim_cur == rl->rlim_max) -- r = asprintf(&s, RLIM_FMT, rl->rlim_cur); -+ r = asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur); - else -- r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max); -+ r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max); - if (r < 0) - return -ENOMEM; - -@@ -422,7 +422,7 @@ int rlimit_nofile_safe(void) { - rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open()); - rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max); - if (setrlimit(RLIMIT_NOFILE, &rl) < 0) -- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur); -+ return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur); - - return 1; - } -diff --git a/src/core/execute.c b/src/core/execute.c -index bd3da0c401..df1870fd2f 100644 ---- a/src/core/execute.c -+++ b/src/core/execute.c -@@ -1045,9 +1045,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { - for (unsigned i = 0; i < RLIM_NLIMITS; i++) - if (c->rlimit[i]) { - fprintf(f, "%sLimit%s: " RLIM_FMT "\n", -- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max); -+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max); - fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n", -- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur); -+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur); - } - - if (c->ioprio_set) { --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch deleted file mode 100644 index 8d6084239eb..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 4842cff4f1329f0b5034b529d56f8ad1f234ac4c Mon Sep 17 00:00:00 2001 -From: Andre McCurdy -Date: Tue, 10 Oct 2017 14:33:30 -0700 -Subject: [PATCH 07/22] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() - -Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right -thing to do and it's not portable (not supported by musl). See: - - http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html - http://www.openwall.com/lists/musl/2015/02/05/2 - -Note that laccess() is never passing AT_EACCESS so a lot of the -discussion in the links above doesn't apply. Note also that -(currently) all systemd callers of laccess() pass mode as F_OK, so -only check for existence of a file, not access permissions. -Therefore, in this case, the only distiction between faccessat() -with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour -for broken symlinks; laccess() on a broken symlink will succeed with -(flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). - -The laccess() macros was added to systemd some time ago and it's not -clear if or why it needs to return success for broken symlinks. Maybe -just historical and not actually necessary or desired behaviour? - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Andre McCurdy ---- - src/basic/fs-util.h | 21 ++++++++++++++++++++- - src/shared/base-filesystem.c | 6 +++--- - 2 files changed, 23 insertions(+), 4 deletions(-) - -diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h -index 1023ab73ca..c78ff6f27f 100644 ---- a/src/basic/fs-util.h -+++ b/src/basic/fs-util.h -@@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); - int fd_warn_permissions(const char *path, int fd); - int stat_warn_permissions(const char *path, const struct stat *st); - -+/* -+ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to -+ do and it's not portable (not supported by musl). See: -+ -+ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html -+ http://www.openwall.com/lists/musl/2015/02/05/2 -+ -+ Note that laccess() is never passing AT_EACCESS so a lot of the discussion in -+ the links above doesn't apply. Note also that (currently) all systemd callers -+ of laccess() pass mode as F_OK, so only check for existence of a file, not -+ access permissions. Therefore, in this case, the only distiction between -+ faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the -+ behaviour for broken symlinks; laccess() on a broken symlink will succeed -+ with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). -+ -+ The laccess() macros was added to systemd some time ago and it's not clear if -+ or why it needs to return success for broken symlinks. Maybe just historical -+ and not actually necessary or desired behaviour? -+*/ - #define laccess(path, mode) \ -- RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)) -+ RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0)) - - int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); - -diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c -index 569ef466c3..7ae921a113 100644 ---- a/src/shared/base-filesystem.c -+++ b/src/shared/base-filesystem.c -@@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { - /* The "root" parameter is decoration only – it's only used as part of log messages */ - - for (size_t i = 0; i < ELEMENTSOF(table); i++) { -- if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0) -+ if (faccessat(fd, table[i].dir, F_OK, 0) >= 0) - continue; - - if (table[i].target) { /* Create as symlink? */ -@@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { - - /* check if one of the targets exists */ - NULSTR_FOREACH(s, table[i].target) { -- if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0) -+ if (faccessat(fd, s, F_OK, 0) < 0) - continue; - - /* check if a specific file exists at the target path */ -@@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { - if (!p) - return log_oom(); - -- if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0) -+ if (faccessat(fd, p, F_OK, 0) < 0) - continue; - } - --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch deleted file mode 100644 index c1a8bb19fe6..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch +++ /dev/null @@ -1,34 +0,0 @@ -From bab07e779ff23d5593bb118efaaa31b60a6dce87 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 27 May 2018 08:36:44 -0700 -Subject: [PATCH 08/22] Define glibc compatible basename() for non-glibc - systems - -Fixes builds with musl, even though systemd is adamant about -using non-posix basename implementation, we have a way out - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Khem Raj ---- - src/basic/string-util.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/basic/string-util.h b/src/basic/string-util.h -index b6d8be3083..0a29036c4c 100644 ---- a/src/basic/string-util.h -+++ b/src/basic/string-util.h -@@ -26,6 +26,10 @@ - #define URI_UNRESERVED ALPHANUMERICAL "-._~" /* [RFC3986] */ - #define URI_VALID URI_RESERVED URI_UNRESERVED /* [RFC3986] */ - -+#if !defined(__GLIBC__) -+#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src) -+#endif -+ - static inline char* strstr_ptr(const char *haystack, const char *needle) { - if (!haystack || !needle) - return NULL; --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch deleted file mode 100644 index acff18dc434..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 5712d56f1cd654d2e5d2e9117ff77fe4c299f76b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 5 Sep 2015 06:31:47 +0000 -Subject: [PATCH] implment systemd-sysv-install for OE - -Use update-rc.d for enabling/disabling and status command -to check the status of the sysv service - -Upstream-Status: Inappropriate [OE-Specific] - -Signed-off-by: Khem Raj ---- - src/systemctl/systemd-sysv-install.SKELETON | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON -index cb58d8243b..000bdf6165 100755 ---- a/src/systemctl/systemd-sysv-install.SKELETON -+++ b/src/systemctl/systemd-sysv-install.SKELETON -@@ -34,17 +34,17 @@ case "$1" in - enable) - # call the command to enable SysV init script $NAME here - # (consider optional $ROOT) -- echo "IMPLEMENT ME: enabling SysV init.d script $NAME" -+ update-rc.d -f $NAME defaults - ;; - disable) - # call the command to disable SysV init script $NAME here - # (consider optional $ROOT) -- echo "IMPLEMENT ME: disabling SysV init.d script $NAME" -+ update-rc.d -f $NAME remove - ;; - is-enabled) - # exit with 0 if $NAME is enabled, non-zero if it is disabled - # (consider optional $ROOT) -- echo "IMPLEMENT ME: checking SysV init.d script $NAME" -+ /etc/init.d/$NAME status - ;; - *) - usage ;; --- -2.39.2 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch deleted file mode 100644 index 3ff0177ae3f..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 25093c5017725b8577c444dfea0f42ad85b43522 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Wed, 4 Jul 2018 15:00:44 +0800 -Subject: [PATCH 09/22] Do not disable buffering when writing to oom_score_adj - -On musl, disabling buffering when writing to oom_score_adj will -cause the following error. - - Failed to adjust OOM setting: Invalid argument - -This error appears for systemd-udevd.service and dbus.service. -This is because kernel receives '-' instead of the whole '-900' -if buffering is disabled. - -This is libc implementation specific, as glibc does not have this issue. - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Chen Qi -[rebased for systemd 243] -Signed-off-by: Scott Murray ---- - src/basic/process-util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/basic/process-util.c b/src/basic/process-util.c -index 201c5596ae..ea51595b6c 100644 ---- a/src/basic/process-util.c -+++ b/src/basic/process-util.c -@@ -1716,7 +1716,7 @@ int set_oom_score_adjust(int value) { - xsprintf(t, "%i", value); - - return write_string_file("/proc/self/oom_score_adj", t, -- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); -+ WRITE_STRING_FILE_VERIFY_ON_FAILURE); - } - - int get_oom_score_adjust(int *ret) { --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch deleted file mode 100644 index cf59ac7d066..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 2adbe9773cd65c48eec9df96868d4a738927c8d9 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Tue, 10 Jul 2018 15:40:17 +0800 -Subject: [PATCH 10/22] distinguish XSI-compliant strerror_r from GNU-specifi - strerror_r - -XSI-compliant strerror_r and GNU-specifi strerror_r are different. - - int strerror_r(int errnum, char *buf, size_t buflen); - /* XSI-compliant */ - - char *strerror_r(int errnum, char *buf, size_t buflen); - /* GNU-specific */ - -We need to distinguish between them. Otherwise, we'll get an int value -assigned to (char *) variable, resulting in segment fault. - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Chen Qi ---- - src/libsystemd/sd-bus/bus-error.c | 11 ++++++++++- - src/libsystemd/sd-journal/journal-send.c | 5 +++++ - 2 files changed, 15 insertions(+), 1 deletion(-) - -diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c -index 77b2e1a0fd..fdba0e0142 100644 ---- a/src/libsystemd/sd-bus/bus-error.c -+++ b/src/libsystemd/sd-bus/bus-error.c -@@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { - return; - - errno = 0; -+#ifndef __GLIBC__ -+ strerror_r(error, m, k); -+ x = m; -+#else - x = strerror_r(error, m, k); -+#endif - if (errno == ERANGE || strlen(x) >= k - 1) { - free(m); - k *= 2; -@@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static - - if (e && e->message) - return e->message; -- -+#ifndef __GLIBC__ -+ strerror_r(abs(error), buf, ERRNO_BUF_LEN); -+ return buf; -+#else - return strerror_r(abs(error), buf, ERRNO_BUF_LEN); -+#endif - } - - static bool map_ok(const sd_bus_error_map *map) { -diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c -index 69a2eb6404..1561859650 100644 ---- a/src/libsystemd/sd-journal/journal-send.c -+++ b/src/libsystemd/sd-journal/journal-send.c -@@ -361,7 +361,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove - char* j; - - errno = 0; -+#ifndef __GLIBC__ -+ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); -+ j = buffer + 8 + k; -+#else - j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); -+#endif - if (errno == 0) { - char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; - --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch deleted file mode 100644 index e481b2e2e4b..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 49c446cfb78cf74a909bed8c3798b77a5469866a Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 15:44:54 +0800 -Subject: [PATCH 11/22] avoid redefinition of prctl_mm_map structure - -Fix the following compile failure: -error: redefinition of 'struct prctl_mm_map' - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Chen Qi ---- - src/basic/missing_prctl.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h -index 7d9e395c92..88c2d7dfac 100644 ---- a/src/basic/missing_prctl.h -+++ b/src/basic/missing_prctl.h -@@ -1,7 +1,9 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - #pragma once - -+#ifdef __GLIBC__ - #include -+#endif - - /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ - #ifndef PR_CAP_AMBIENT --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch deleted file mode 100644 index c23d9b7551d..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch +++ /dev/null @@ -1,515 +0,0 @@ -From e4885a8e60f883d9217e26e1db3754c2906aca31 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Fri, 1 Mar 2019 15:22:15 +0800 -Subject: [PATCH 12/22] do not disable buffer in writing files - -Do not disable buffer in writing files, otherwise we get -failure at boot for musl like below. - - [!!!!!!] Failed to allocate manager object. - -And there will be other failures, critical or not critical. -This is specific to musl. - -Upstream-Status: Inappropriate [musl] - -Signed-off-by: Chen Qi -[Rebased for v242] -Signed-off-by: Andrej Valek -[rebased for systemd 243] -Signed-off-by: Scott Murray -[rebased for systemd 254] -Signed-off-by: Chen Qi -[rebased for systemd 255.1] ---- - src/basic/cgroup-util.c | 12 ++++++------ - src/basic/namespace-util.c | 4 ++-- - src/basic/procfs-util.c | 4 ++-- - src/basic/sysctl-util.c | 2 +- - src/binfmt/binfmt.c | 6 +++--- - src/core/cgroup.c | 2 +- - src/core/main.c | 2 +- - src/core/smack-setup.c | 8 ++++---- - src/home/homework.c | 2 +- - src/libsystemd/sd-device/sd-device.c | 2 +- - src/nspawn/nspawn-cgroup.c | 2 +- - src/nspawn/nspawn.c | 6 +++--- - src/shared/binfmt-util.c | 2 +- - src/shared/cgroup-setup.c | 4 ++-- - src/shared/coredump-util.c | 4 ++-- - src/shared/hibernate-util.c | 4 ++-- - src/shared/smack-util.c | 2 +- - src/shared/watchdog.c | 2 +- - src/sleep/sleep.c | 4 ++-- - src/storagetm/storagetm.c | 24 ++++++++++++------------ - src/udev/udev-rules.c | 1 - - src/vconsole/vconsole-setup.c | 2 +- - 22 files changed, 50 insertions(+), 51 deletions(-) - ---- a/src/basic/cgroup-util.c -+++ b/src/basic/cgroup-util.c -@@ -417,7 +417,7 @@ int cg_kill_kernel_sigkill(const char *p - if (r < 0) - return r; - -- r = write_string_file(killfile, "1", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(killfile, "1", 0); - if (r < 0) - return r; - -@@ -843,7 +843,7 @@ int cg_install_release_agent(const char - - sc = strstrip(contents); - if (isempty(sc)) { -- r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(fs, agent, 0); - if (r < 0) - return r; - } else if (!path_equal(sc, agent)) -@@ -861,7 +861,7 @@ int cg_install_release_agent(const char - - sc = strstrip(contents); - if (streq(sc, "0")) { -- r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(fs, "1", 0); - if (r < 0) - return r; - -@@ -888,7 +888,7 @@ int cg_uninstall_release_agent(const cha - if (r < 0) - return r; - -- r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(fs, "0", 0); - if (r < 0) - return r; - -@@ -898,7 +898,7 @@ int cg_uninstall_release_agent(const cha - if (r < 0) - return r; - -- r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(fs, "", 0); - if (r < 0) - return r; - -@@ -1814,7 +1814,7 @@ int cg_set_attribute(const char *control - if (r < 0) - return r; - -- return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER); -+ return write_string_file(p, value, 0); - } - - int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { ---- a/src/basic/namespace-util.c -+++ b/src/basic/namespace-util.c -@@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map, - freeze(); - - xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); -- r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(path, uid_map, 0); - if (r < 0) - return log_error_errno(r, "Failed to write UID map: %m"); - - xsprintf(path, "/proc/" PID_FMT "/gid_map", pid); -- r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(path, gid_map, 0); - if (r < 0) - return log_error_errno(r, "Failed to write GID map: %m"); - ---- a/src/basic/procfs-util.c -+++ b/src/basic/procfs-util.c -@@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limi - * decrease it, as threads-max is the much more relevant sysctl. */ - if (limit > pid_max-1) { - sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ -- r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0); - if (r < 0) - return r; - } - - sprintf(buffer, "%" PRIu64, limit); -- r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0); - if (r < 0) { - uint64_t threads_max; - ---- a/src/basic/sysctl-util.c -+++ b/src/basic/sysctl-util.c -@@ -58,7 +58,7 @@ int sysctl_write(const char *property, c - - log_debug("Setting '%s' to '%s'", p, value); - -- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); -+ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); - } - - int sysctl_writef(const char *property, const char *format, ...) { ---- a/src/binfmt/binfmt.c -+++ b/src/binfmt/binfmt.c -@@ -30,7 +30,7 @@ static bool arg_unregister = false; - - static int delete_rule(const char *rulename) { - const char *fn = strjoina("/proc/sys/fs/binfmt_misc/", rulename); -- return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER); -+ return write_string_file(fn, "-1", 0); - } - - static int apply_rule(const char *filename, unsigned line, const char *rule) { -@@ -58,7 +58,7 @@ static int apply_rule(const char *filena - if (r >= 0) - log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename); - -- r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0); - if (r < 0) - return log_error_errno(r, "%s:%u: Failed to add binary format '%s': %m", - filename, line, rulename); -@@ -248,7 +248,7 @@ static int run(int argc, char *argv[]) { - return r; - - /* Flush out all rules */ -- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); - if (r < 0) - log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m"); - else ---- a/src/core/cgroup.c -+++ b/src/core/cgroup.c -@@ -4578,7 +4578,7 @@ int unit_cgroup_freezer_action(Unit *u, - u->freezer_state = FREEZER_THAWING; - } - -- r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0); - if (r < 0) - return r; - ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool - if (getpid_cached() != 1) - return; - -- r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0); - if (r < 0) - log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", - arg_early_core_pattern); ---- a/src/core/smack-setup.c -+++ b/src/core/smack-setup.c -@@ -321,17 +321,17 @@ int mac_smack_setup(bool *loaded_policy) - } - - #if HAVE_SMACK_RUN_LABEL -- r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0); - if (r < 0) - log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m"); -- r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0); - if (r < 0) - log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m"); - r = write_string_file("/sys/fs/smackfs/netlabel", -- "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); -+ "0.0.0.0/0 " SMACK_RUN_LABEL, 0); - if (r < 0) - log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m"); -- r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0); - if (r < 0) - log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); - #endif ---- a/src/home/homework.c -+++ b/src/home/homework.c -@@ -278,7 +278,7 @@ static void drop_caches_now(void) { - * for details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but - * not more. */ - -- r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0); - if (r < 0) - log_warning_errno(r, "Failed to drop caches, ignoring: %m"); - else ---- a/src/libsystemd/sd-device/sd-device.c -+++ b/src/libsystemd/sd-device/sd-device.c -@@ -2516,7 +2516,7 @@ _public_ int sd_device_set_sysattr_value - if (!value) - return -ENOMEM; - -- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW); -+ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW); - if (r < 0) { - /* On failure, clear cache entry, as we do not know how it fails. */ - device_remove_cached_sysattr_value(device, sysattr); ---- a/src/nspawn/nspawn-cgroup.c -+++ b/src/nspawn/nspawn-cgroup.c -@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified - fn = strjoina(tree, cgroup, "/cgroup.procs"); - - sprintf(pid_string, PID_FMT, pid); -- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755); -+ r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755); - if (r < 0) { - log_error_errno(r, "Failed to move process: %m"); - goto finish; ---- a/src/nspawn/nspawn.c -+++ b/src/nspawn/nspawn.c -@@ -2690,7 +2690,7 @@ static int reset_audit_loginuid(void) { - if (streq(p, "4294967295")) - return 0; - -- r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/self/loginuid", "4294967295", 0); - if (r < 0) { - log_error_errno(r, - "Failed to reset audit login UID. This probably means that your kernel is too\n" -@@ -4143,7 +4143,7 @@ static int setup_uid_map( - return log_oom(); - - xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); -- r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(uid_map, s, 0); - if (r < 0) - return log_error_errno(r, "Failed to write UID map: %m"); - -@@ -4153,7 +4153,7 @@ static int setup_uid_map( - return log_oom(); - - xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); -- r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(uid_map, s, 0); - if (r < 0) - return log_error_errno(r, "Failed to write GID map: %m"); - ---- a/src/shared/binfmt-util.c -+++ b/src/shared/binfmt-util.c -@@ -46,7 +46,7 @@ int disable_binfmt(void) { - return 0; - } - -- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); - if (r < 0) - return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m"); - ---- a/src/shared/cgroup-setup.c -+++ b/src/shared/cgroup-setup.c -@@ -351,7 +351,7 @@ int cg_attach(const char *controller, co - - xsprintf(c, PID_FMT "\n", pid); - -- r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(fs, c, 0); - if (r == -EOPNOTSUPP && cg_is_threaded(path) > 0) - /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */ - return -EUCLEAN; -@@ -966,7 +966,7 @@ int cg_enable_everywhere( - return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p); - } - -- r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_stream(f, s, 0); - if (r < 0) { - log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", - FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); ---- a/src/shared/coredump-util.c -+++ b/src/shared/coredump-util.c -@@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) - xsprintf(t, "0x%"PRIx64, value); - - return write_string_file("/proc/self/coredump_filter", t, -- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); -+ 0); - } - - /* Turn off core dumps but only if we're running outside of a container. */ -@@ -173,7 +173,7 @@ void disable_coredumps(void) { - if (detect_container() > 0) - return; - -- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0); - if (r < 0) - log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); - } ---- a/src/shared/hibernate-util.c -+++ b/src/shared/hibernate-util.c -@@ -501,7 +501,7 @@ int write_resume_config(dev_t devno, uin - - /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so - * fail gracefully if it doesn't exist and we're only overwriting it with 0. */ -- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/sys/power/resume_offset", offset_str, 0); - if (r == -ENOENT) { - if (offset != 0) - return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), -@@ -517,7 +517,7 @@ int write_resume_config(dev_t devno, uin - log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", - offset_str, device); - -- r = write_string_file("/sys/power/resume", devno_str, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/sys/power/resume", devno_str, 0); - if (r < 0) - return log_error_errno(r, - "Failed to write device '%s' (%s) to /sys/power/resume: %m", ---- a/src/shared/smack-util.c -+++ b/src/shared/smack-util.c -@@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const - return 0; - - p = procfs_file_alloca(pid, "attr/current"); -- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(p, label, 0); - if (r < 0) - return r; - ---- a/src/shared/watchdog.c -+++ b/src/shared/watchdog.c -@@ -93,7 +93,7 @@ static int set_pretimeout_governor(const - - r = write_string_file(sys_fn, - governor, -- WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); -+ WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); - if (r < 0) - return log_error_errno(r, "Failed to set watchdog pretimeout_governor to '%s': %m", governor); - ---- a/src/sleep/sleep.c -+++ b/src/sleep/sleep.c -@@ -137,7 +137,7 @@ static int write_state(int fd, char * co - if (k < 0) - return RET_GATHER(r, k); - -- k = write_string_stream(f, *state, WRITE_STRING_FILE_DISABLE_BUFFER); -+ k = write_string_stream(f, *state, 0); - if (k >= 0) { - log_debug("Using sleep state '%s'.", *state); - return 0; -@@ -155,7 +155,7 @@ static int write_mode(char * const *mode - STRV_FOREACH(mode, modes) { - int k; - -- k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER); -+ k = write_string_file("/sys/power/disk", *mode, 0); - if (k >= 0) { - log_debug("Using sleep disk mode '%s'.", *mode); - return 0; ---- a/src/storagetm/storagetm.c -+++ b/src/storagetm/storagetm.c -@@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSub - if (!enable_fn) - return log_oom(); - -- r = write_string_file_at(namespaces_fd, enable_fn, "0", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(namespaces_fd, enable_fn, "0", 0); - if (r < 0) - log_warning_errno(r, "Failed to disable namespace '%s' of NVME subsystem '%s', ignoring: %m", e->d_name, s->name); - -@@ -254,7 +254,7 @@ static int nvme_subsystem_write_metadata - _cleanup_free_ char *truncated = strndup(w, 40); /* kernel refuses more than 40 chars (as per nvme spec) */ - - /* The default string stored in 'attr_model' is "Linux" btw. */ -- r = write_string_file_at(subsystem_fd, "attr_model", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(subsystem_fd, "attr_model", truncated, 0); - if (r < 0) - log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", w); - } -@@ -268,7 +268,7 @@ static int nvme_subsystem_write_metadata - return log_oom(); - - /* The default string stored in 'attr_firmware' is `uname -r` btw, but truncated to 8 chars. */ -- r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, 0); - if (r < 0) - log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", truncated); - } -@@ -295,7 +295,7 @@ static int nvme_subsystem_write_metadata - if (!truncated) - return log_oom(); - -- r = write_string_file_at(subsystem_fd, "attr_serial", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(subsystem_fd, "attr_serial", truncated, 0); - if (r < 0) - log_warning_errno(r, "Failed to set serial of subsystem to '%s', ignoring: %m", truncated); - } -@@ -345,7 +345,7 @@ static int nvme_namespace_write_metadata - id = id128_digest(j, l); - } - -- r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), 0); - if (r < 0) - log_warning_errno(r, "Failed to set uuid of namespace to '%s', ignoring: %m", SD_ID128_TO_UUID_STRING(id)); - -@@ -408,7 +408,7 @@ static int nvme_subsystem_add(const char - if (subsystem_fd < 0) - return log_error_errno(subsystem_fd, "Failed to create NVME subsystem '%s': %m", j); - -- r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", 0); - if (r < 0) - return log_error_errno(r, "Failed to set 'attr_allow_any_host' flag: %m"); - -@@ -423,11 +423,11 @@ static int nvme_subsystem_add(const char - - /* We use /proc/$PID/fd/$FD rather than /proc/self/fd/$FD, because this string is visible to others - * via configfs, and by including the PID it's clear to who the stuff belongs. */ -- r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), 0); - if (r < 0) - return log_error_errno(r, "Failed to write 'device_path' attribute: %m"); - -- r = write_string_file_at(namespace_fd, "enable", "1", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(namespace_fd, "enable", "1", 0); - if (r < 0) - return log_error_errno(r, "Failed to write 'enable' attribute: %m"); - -@@ -557,19 +557,19 @@ static int nvme_port_add_portnr( - return 0; - } - -- r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), 0); - if (r < 0) - return log_error_errno(r, "Failed to set address family on NVME port %" PRIu16 ": %m", portnr); - -- r = write_string_file_at(port_fd, "addr_trtype", "tcp", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(port_fd, "addr_trtype", "tcp", 0); - if (r < 0) - return log_error_errno(r, "Failed to set transport type on NVME port %" PRIu16 ": %m", portnr); - -- r = write_string_file_at(port_fd, "addr_trsvcid", fname, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(port_fd, "addr_trsvcid", fname, 0); - if (r < 0) - return log_error_errno(r, "Failed to set IP port on NVME port %" PRIu16 ": %m", portnr); - -- r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", 0); - if (r < 0) - return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr); - ---- a/src/udev/udev-rules.c -+++ b/src/udev/udev-rules.c -@@ -2711,7 +2711,6 @@ static int udev_rule_apply_token_to_even - log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value); - r = write_string_file(buf, value, - WRITE_STRING_FILE_VERIFY_ON_FAILURE | -- WRITE_STRING_FILE_DISABLE_BUFFER | - WRITE_STRING_FILE_AVOID_NEWLINE | - WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); - if (r < 0) ---- a/src/vconsole/vconsole-setup.c -+++ b/src/vconsole/vconsole-setup.c -@@ -261,7 +261,7 @@ static int toggle_utf8_vc(const char *na - static int toggle_utf8_sysfs(bool utf8) { - int r; - -- r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0); - if (r < 0) - return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch deleted file mode 100644 index 43f75373a6b..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 2f90f8463423cfbb7e83fcef42f1071018c3b56e Mon Sep 17 00:00:00 2001 -From: Scott Murray -Date: Fri, 13 Sep 2019 19:26:27 -0400 -Subject: [PATCH 13/22] Handle __cpu_mask usage - -Fixes errors: - -src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function) -src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function) - -__cpu_mask is an internal type of glibc's cpu_set implementation, not -part of the POSIX definition, which is problematic when building with -musl, which does not define a matching type. From inspection of musl's -sched.h, however, it is clear that the corresponding type would be -unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So, -add a typedef to cpu-set-util.h defining __cpu_mask appropriately. - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Scott Murray ---- - src/shared/cpu-set-util.h | 2 ++ - src/test/test-sizeof.c | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h -index 3c63a58826..4c2d4347fc 100644 ---- a/src/shared/cpu-set-util.h -+++ b/src/shared/cpu-set-util.h -@@ -6,6 +6,8 @@ - #include "macro.h" - #include "missing_syscall.h" - -+typedef unsigned long __cpu_mask; -+ - /* This wraps the libc interface with a variable to keep the allocated size. */ - typedef struct CPUSet { - cpu_set_t *set; -diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c -index ea0c58770e..b65c0bd370 100644 ---- a/src/test/test-sizeof.c -+++ b/src/test/test-sizeof.c -@@ -1,6 +1,5 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include - #include - #include - #include -@@ -12,6 +11,7 @@ - #include - - #include "time-util.h" -+#include "cpu-set-util.h" - - /* Print information about various types. Useful when diagnosing - * gcc diagnostics on an unfamiliar architecture. */ --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch deleted file mode 100644 index a751e1ba6fd..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch +++ /dev/null @@ -1,173 +0,0 @@ -From b7c827bb44edbb6251c9fcdb80aa03982c0e7bf3 Mon Sep 17 00:00:00 2001 -From: Alex Kiernan -Date: Tue, 10 Mar 2020 11:05:20 +0000 -Subject: [PATCH 14/22] Handle missing gshadow - -gshadow usage is now present in the userdb code. Mask all uses of it to -allow compilation on musl - -Upstream-Status: Inappropriate [musl specific] -Signed-off-by: Alex Kiernan -[Rebased for v247] -Signed-off-by: Luca Boccassi ---- - src/shared/user-record-nss.c | 20 ++++++++++++++++++++ - src/shared/user-record-nss.h | 4 ++++ - src/shared/userdb.c | 7 ++++++- - 3 files changed, 30 insertions(+), 1 deletion(-) - -diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c -index 414a49331b..1a4e1b628c 100644 ---- a/src/shared/user-record-nss.c -+++ b/src/shared/user-record-nss.c -@@ -329,8 +329,10 @@ int nss_group_to_group_record( - if (isempty(grp->gr_name)) - return -EINVAL; - -+#if ENABLE_GSHADOW - if (sgrp && !streq_ptr(sgrp->sg_namp, grp->gr_name)) - return -EINVAL; -+#endif - - g = group_record_new(); - if (!g) -@@ -346,6 +348,7 @@ int nss_group_to_group_record( - - g->gid = grp->gr_gid; - -+#if ENABLE_GSHADOW - if (sgrp) { - if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) { - g->hashed_password = strv_new(sgrp->sg_passwd); -@@ -361,6 +364,7 @@ int nss_group_to_group_record( - if (r < 0) - return r; - } -+#endif - - r = json_build(&g->json, JSON_BUILD_OBJECT( - JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)), -@@ -387,6 +391,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re - assert(ret_sgrp); - assert(ret_buffer); - -+#if ENABLE_GSHADOW - for (;;) { - _cleanup_free_ char *buf = NULL; - struct sgrp sgrp, *result; -@@ -415,6 +420,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re - buflen *= 2; - buf = mfree(buf); - } -+#else -+ return -ESRCH; -+#endif - } - - int nss_group_record_by_name( -@@ -426,7 +434,9 @@ int nss_group_record_by_name( - struct group grp, *result; - bool incomplete = false; - size_t buflen = 4096; -+#if ENABLE_GSHADOW - struct sgrp sgrp, *sresult = NULL; -+#endif - int r; - - assert(name); -@@ -455,6 +465,7 @@ int nss_group_record_by_name( - buf = mfree(buf); - } - -+#if ENABLE_GSHADOW - if (with_shadow) { - r = nss_sgrp_for_group(result, &sgrp, &sbuf); - if (r < 0) { -@@ -466,6 +477,9 @@ int nss_group_record_by_name( - incomplete = true; - - r = nss_group_to_group_record(result, sresult, ret); -+#else -+ r = nss_group_to_group_record(result, NULL, ret); -+#endif - if (r < 0) - return r; - -@@ -483,7 +497,9 @@ int nss_group_record_by_gid( - struct group grp, *result; - bool incomplete = false; - size_t buflen = 4096; -+#if ENABLE_GSHADOW - struct sgrp sgrp, *sresult = NULL; -+#endif - int r; - - for (;;) { -@@ -509,6 +525,7 @@ int nss_group_record_by_gid( - buf = mfree(buf); - } - -+#if ENABLE_GSHADOW - if (with_shadow) { - r = nss_sgrp_for_group(result, &sgrp, &sbuf); - if (r < 0) { -@@ -520,6 +537,9 @@ int nss_group_record_by_gid( - incomplete = true; - - r = nss_group_to_group_record(result, sresult, ret); -+#else -+ r = nss_group_to_group_record(result, NULL, ret); -+#endif - if (r < 0) - return r; - -diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h -index 22ab04d6ee..4e52e7a911 100644 ---- a/src/shared/user-record-nss.h -+++ b/src/shared/user-record-nss.h -@@ -2,7 +2,11 @@ - #pragma once - - #include -+#if ENABLE_GSHADOW - #include -+#else -+struct sgrp; -+#endif - #include - #include - -diff --git a/src/shared/userdb.c b/src/shared/userdb.c -index f60d48ace4..e878199a28 100644 ---- a/src/shared/userdb.c -+++ b/src/shared/userdb.c -@@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { - if (gr) { - _cleanup_free_ char *buffer = NULL; - bool incomplete = false; -+#if ENABLE_GSHADOW - struct sgrp sgrp; -- -+#endif - if (streq_ptr(gr->gr_name, "root")) - iterator->synthesize_root = false; - if (gr->gr_gid == GID_NOBODY) - iterator->synthesize_nobody = false; - -+#if ENABLE_GSHADOW - if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { - r = nss_sgrp_for_group(gr, &sgrp, &buffer); - if (r < 0) { -@@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { - } - - r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); -+#else -+ r = nss_group_to_group_record(gr, NULL, ret); -+#endif - if (r < 0) - return r; - --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch deleted file mode 100644 index e112766a9b9..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3dc9d9d410bcce54fddfd94f43f7f77f3aa8e281 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 12 Apr 2021 23:44:53 -0700 -Subject: [PATCH 15/22] missing_syscall.h: Define MIPS ABI defines for musl - -musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64 -unlike glibc where these are provided by libc headers, therefore define -them here in case they are undefined - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - src/basic/missing_syscall.h | 6 ++++++ - src/shared/base-filesystem.c | 1 + - 2 files changed, 7 insertions(+) - -diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h -index d795efd8f2..d6729d3c1d 100644 ---- a/src/basic/missing_syscall.h -+++ b/src/basic/missing_syscall.h -@@ -20,6 +20,12 @@ - #include - #endif - -+#ifndef _MIPS_SIM_ABI32 -+#define _MIPS_SIM_ABI32 1 -+#define _MIPS_SIM_NABI32 2 -+#define _MIPS_SIM_ABI64 3 -+#endif -+ - #include "macro.h" - #include "missing_keyctl.h" - #include "missing_stat.h" -diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c -index 7ae921a113..0ef9d1fd39 100644 ---- a/src/shared/base-filesystem.c -+++ b/src/shared/base-filesystem.c -@@ -20,6 +20,7 @@ - #include "string-util.h" - #include "umask-util.h" - #include "user-util.h" -+#include "missing_syscall.h" - - typedef struct BaseFilesystem { - const char *dir; /* directory or symlink to create */ --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch deleted file mode 100644 index 0be817e62de..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 0994b59dba9f248ad31cb7087046dc00b72cb4ea Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 21 Jan 2022 15:15:11 -0800 -Subject: [PATCH 16/22] pass correct parameters to getdents64 - -Fixes -../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types] - n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -../git/src/basic/stat-util.c:102:28: error: incompatible pointer types passing 'union (unnamed union at ../git/src/basic/stat-util.c:78:9) *' to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types] - n = getdents64(fd, &buffer, sizeof(buffer)); - ^~~~~~~ - -Upstream-Status: Inappropriate [musl specific] -Signed-off-by: Khem Raj -Signed-off-by: Jiaqing Zhao ---- - src/basic/recurse-dir.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c -index 5e98b7a5d8..aef065047b 100644 ---- a/src/basic/recurse-dir.c -+++ b/src/basic/recurse-dir.c -@@ -55,7 +55,7 @@ int readdir_all(int dir_fd, - bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX); - assert(bs > de->buffer_size); - -- n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size); -+ n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size); - if (n < 0) - return -errno; - if (n == 0) --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch deleted file mode 100644 index 4176522a1cc..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch +++ /dev/null @@ -1,572 +0,0 @@ -From 3c094d443ca30f19114392fd8ef274af6eabc12d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 21 Jan 2022 22:19:37 -0800 -Subject: [PATCH 17/22] Adjust for musl headers - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Khem Raj - -[Rebased for v255.1] -Signed-off-by: Chen Qi ---- - src/libsystemd-network/sd-dhcp6-client.c | 2 +- - src/network/netdev/bareudp.c | 2 +- - src/network/netdev/batadv.c | 2 +- - src/network/netdev/bond.c | 2 +- - src/network/netdev/bridge.c | 2 +- - src/network/netdev/dummy.c | 2 +- - src/network/netdev/geneve.c | 2 +- - src/network/netdev/ifb.c | 2 +- - src/network/netdev/ipoib.c | 2 +- - src/network/netdev/ipvlan.c | 2 +- - src/network/netdev/macsec.c | 2 +- - src/network/netdev/macvlan.c | 2 +- - src/network/netdev/netdev.c | 2 +- - src/network/netdev/netdevsim.c | 2 +- - src/network/netdev/nlmon.c | 2 +- - src/network/netdev/tunnel.c | 2 +- - src/network/netdev/vcan.c | 2 +- - src/network/netdev/veth.c | 2 +- - src/network/netdev/vlan.c | 2 +- - src/network/netdev/vrf.c | 2 +- - src/network/netdev/vxcan.c | 2 +- - src/network/netdev/vxlan.c | 2 +- - src/network/netdev/wireguard.c | 2 +- - src/network/netdev/xfrm.c | 2 +- - src/network/networkd-bridge-mdb.c | 4 ++-- - src/network/networkd-dhcp-common.c | 3 ++- - src/network/networkd-dhcp-prefix-delegation.c | 3 ++- - src/network/networkd-dhcp-server.c | 2 +- - src/network/networkd-dhcp4.c | 2 +- - src/network/networkd-ipv6ll.c | 2 +- - src/network/networkd-link.c | 2 +- - src/network/networkd-ndisc.c | 2 +- - src/network/networkd-route.c | 8 ++++---- - src/network/networkd-setlink.c | 2 +- - src/network/networkd-sysctl.c | 2 +- - src/shared/linux/ethtool.h | 3 ++- - src/shared/netif-util.c | 2 +- - src/udev/udev-builtin-net_id.c | 2 +- - 38 files changed, 45 insertions(+), 42 deletions(-) - -diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c -index c20367dfc9..b8d4cd8c2a 100644 ---- a/src/libsystemd-network/sd-dhcp6-client.c -+++ b/src/libsystemd-network/sd-dhcp6-client.c -@@ -5,7 +5,7 @@ - - #include - #include --#include -+//#include - #include - - #include "sd-dhcp6-client.h" -diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c -index 1df886573b..c8b6714726 100644 ---- a/src/network/netdev/bareudp.c -+++ b/src/network/netdev/bareudp.c -@@ -2,7 +2,7 @@ - * Copyright © 2020 VMware, Inc. */ - - #include --#include -+//#include - - #include "bareudp.h" - #include "netlink-util.h" -diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c -index 26da0231d4..2e8002af8c 100644 ---- a/src/network/netdev/batadv.c -+++ b/src/network/netdev/batadv.c -@@ -3,7 +3,7 @@ - #include - #include - #include --#include -+//#include - - #include "batadv.h" - #include "fileio.h" -diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c -index 4d75a0d6bf..985b3197e0 100644 ---- a/src/network/netdev/bond.c -+++ b/src/network/netdev/bond.c -@@ -1,7 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include --#include -+//#include - - #include "alloc-util.h" - #include "bond.h" -diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c -index 3e394edadf..f12f667687 100644 ---- a/src/network/netdev/bridge.c -+++ b/src/network/netdev/bridge.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - #include - - #include "bridge.h" -diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c -index 00df1d2787..77b506b422 100644 ---- a/src/network/netdev/dummy.c -+++ b/src/network/netdev/dummy.c -@@ -1,6 +1,6 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include -+//#include - - #include "dummy.h" - -diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c -index bc655ec7ff..a77e8e17e4 100644 ---- a/src/network/netdev/geneve.c -+++ b/src/network/netdev/geneve.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - - #include "alloc-util.h" - #include "conf-parser.h" -diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c -index d7ff44cb9e..e037629ae4 100644 ---- a/src/network/netdev/ifb.c -+++ b/src/network/netdev/ifb.c -@@ -1,7 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later - * Copyright © 2019 VMware, Inc. */ - --#include -+//#include - - #include "ifb.h" - -diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c -index d5fe299b7b..c9c8002eac 100644 ---- a/src/network/netdev/ipoib.c -+++ b/src/network/netdev/ipoib.c -@@ -1,6 +1,6 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include -+//#include - #include - - #include "ipoib.h" -diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c -index 05d5d010f6..d440f49537 100644 ---- a/src/network/netdev/ipvlan.c -+++ b/src/network/netdev/ipvlan.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - - #include "conf-parser.h" - #include "ipvlan.h" -diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c -index 17d6acefb6..679d0984f9 100644 ---- a/src/network/netdev/macsec.c -+++ b/src/network/netdev/macsec.c -@@ -1,7 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include --#include -+//#include - #include - #include - #include -diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c -index 203807e3a5..8ab09a387e 100644 ---- a/src/network/netdev/macvlan.c -+++ b/src/network/netdev/macvlan.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - - #include "conf-parser.h" - #include "macvlan.h" -diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c -index 57127a861a..7f787d0b9f 100644 ---- a/src/network/netdev/netdev.c -+++ b/src/network/netdev/netdev.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - #include - - #include "alloc-util.h" -diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c -index 15d5c132f9..a3ffa48b15 100644 ---- a/src/network/netdev/netdevsim.c -+++ b/src/network/netdev/netdevsim.c -@@ -1,6 +1,6 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include -+//#include - - #include "netdevsim.h" - -diff --git a/src/network/netdev/nlmon.c b/src/network/netdev/nlmon.c -index ff372092e6..eef66811f4 100644 ---- a/src/network/netdev/nlmon.c -+++ b/src/network/netdev/nlmon.c -@@ -1,6 +1,6 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include -+//#include - - #include "nlmon.h" - -diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c -index db84e7cf6e..93d5642962 100644 ---- a/src/network/netdev/tunnel.c -+++ b/src/network/netdev/tunnel.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - #include - #include - #include -diff --git a/src/network/netdev/vcan.c b/src/network/netdev/vcan.c -index 380547ee1e..137c1adf8a 100644 ---- a/src/network/netdev/vcan.c -+++ b/src/network/netdev/vcan.c -@@ -1,6 +1,6 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include -+//#include - - #include "vcan.h" - -diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c -index e0f5b4ebb1..8a424ed03d 100644 ---- a/src/network/netdev/veth.c -+++ b/src/network/netdev/veth.c -@@ -3,7 +3,7 @@ - #include - #include - #include --#include -+//#include - #include - - #include "netlink-util.h" -diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c -index 2390206993..efec630e30 100644 ---- a/src/network/netdev/vlan.c -+++ b/src/network/netdev/vlan.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - #include - - #include "parse-util.h" -diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c -index b75ec2bcc6..6aeeea640b 100644 ---- a/src/network/netdev/vrf.c -+++ b/src/network/netdev/vrf.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - - #include "vrf.h" - -diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c -index c0343f45b6..f9e718f40b 100644 ---- a/src/network/netdev/vxcan.c -+++ b/src/network/netdev/vxcan.c -@@ -1,7 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include --#include -+//#include - - #include "vxcan.h" - -diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c -index b11fdbbd0d..a971a917f0 100644 ---- a/src/network/netdev/vxlan.c -+++ b/src/network/netdev/vxlan.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - - #include "conf-parser.h" - #include "alloc-util.h" -diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c -index 4c7d837c41..6df6dfb816 100644 ---- a/src/network/netdev/wireguard.c -+++ b/src/network/netdev/wireguard.c -@@ -6,7 +6,7 @@ - #include - #include - #include --#include -+//#include - #include - - #include "sd-resolve.h" -diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c -index 905bfc0bdf..39e34dbb3b 100644 ---- a/src/network/netdev/xfrm.c -+++ b/src/network/netdev/xfrm.c -@@ -1,6 +1,6 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include -+//#include - - #include "missing_network.h" - #include "xfrm.h" -diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c -index bd1a9745dc..949d3da029 100644 ---- a/src/network/networkd-bridge-mdb.c -+++ b/src/network/networkd-bridge-mdb.c -@@ -1,7 +1,5 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include --#include - - #include "netlink-util.h" - #include "networkd-bridge-mdb.h" -@@ -11,6 +9,8 @@ - #include "networkd-queue.h" - #include "string-util.h" - #include "vlan-util.h" -+#include -+#include - - #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U - -diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c -index 080b15387c..efe8283957 100644 ---- a/src/network/networkd-dhcp-common.c -+++ b/src/network/networkd-dhcp-common.c -@@ -1,7 +1,8 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include --#include -+//#include -+#include - - #include "bus-error.h" - #include "bus-locator.h" -diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c -index af2fe9efcd..511565700f 100644 ---- a/src/network/networkd-dhcp-prefix-delegation.c -+++ b/src/network/networkd-dhcp-prefix-delegation.c -@@ -1,6 +1,5 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include - - #include "dhcp6-lease-internal.h" - #include "hashmap.h" -@@ -20,6 +19,8 @@ - #include "strv.h" - #include "tunnel.h" - -+#include -+ - bool link_dhcp_pd_is_enabled(Link *link) { - assert(link); - -diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c -index 607fe0053c..9ce4005874 100644 ---- a/src/network/networkd-dhcp-server.c -+++ b/src/network/networkd-dhcp-server.c -@@ -1,7 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include --#include -+//#include - #include - - #include "sd-dhcp-server.h" -diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c -index efbae6d868..1ea2151d50 100644 ---- a/src/network/networkd-dhcp4.c -+++ b/src/network/networkd-dhcp4.c -@@ -3,7 +3,7 @@ - #include - #include - #include --#include -+//#include - - #include "alloc-util.h" - #include "dhcp-client-internal.h" -diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c -index 32229a3fc7..662a345d6e 100644 ---- a/src/network/networkd-ipv6ll.c -+++ b/src/network/networkd-ipv6ll.c -@@ -1,7 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include --#include -+//#include - - #include "in-addr-util.h" - #include "networkd-address.h" -diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c -index ee5f0f2c0a..ea5269a2de 100644 ---- a/src/network/networkd-link.c -+++ b/src/network/networkd-link.c -@@ -3,7 +3,7 @@ - #include - #include - #include --#include -+//#include - #include - #include - #include -diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c -index ab9eeb13a5..dd96fe7483 100644 ---- a/src/network/networkd-ndisc.c -+++ b/src/network/networkd-ndisc.c -@@ -6,7 +6,7 @@ - #include - #include - #include --#include -+//#include - - #include "sd-ndisc.h" - -diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c -index 7218d799fc..30d5574eae 100644 ---- a/src/network/networkd-route.c -+++ b/src/network/networkd-route.c -@@ -1,9 +1,5 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - --#include --#include --#include -- - #include "alloc-util.h" - #include "event-util.h" - #include "netlink-util.h" -@@ -21,6 +17,10 @@ - #include "vrf.h" - #include "wireguard.h" - -+#include -+#include -+#include -+ - int route_new(Route **ret) { - _cleanup_(route_freep) Route *route = NULL; - -diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c -index 2298f9ea3a..7d5f87de53 100644 ---- a/src/network/networkd-setlink.c -+++ b/src/network/networkd-setlink.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - #include - - #include "missing_network.h" -diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c -index 2b226b2e2a..f12a474e2f 100644 ---- a/src/network/networkd-sysctl.c -+++ b/src/network/networkd-sysctl.c -@@ -2,7 +2,7 @@ - - #include - #include --#include -+//#include - - #include "missing_network.h" - #include "networkd-link.h" -diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h -index 3d1da515c0..3fca9a4faf 100644 ---- a/src/shared/linux/ethtool.h -+++ b/src/shared/linux/ethtool.h -@@ -16,7 +16,8 @@ - - #include - #include --#include -+#include -+//#include - - #include /* for INT_MAX */ - -diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c -index f56c5646c1..5af28ff119 100644 ---- a/src/shared/netif-util.c -+++ b/src/shared/netif-util.c -@@ -1,7 +1,7 @@ - /* SPDX-License-Identifier: LGPL-2.1-or-later */ - - #include --#include -+//#include - - #include "arphrd-util.h" - #include "device-util.h" -diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c -index f528a46b8e..830318cda5 100644 ---- a/src/udev/udev-builtin-net_id.c -+++ b/src/udev/udev-builtin-net_id.c -@@ -18,7 +18,7 @@ - #include - #include - #include --#include -+//#include - #include - #include - --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch deleted file mode 100644 index 75f6b9094a5..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch +++ /dev/null @@ -1,52 +0,0 @@ -From be02bd0876a061728661535a709d313e39fe1ac3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 8 Nov 2022 13:31:34 -0800 -Subject: [PATCH 18/22] test-bus-error: strerror() is assumed to be GNU - specific version mark it so - -Upstream-Status: Inappropriate [Upstream systemd only supports glibc] - -Signed-off-by: Khem Raj ---- - src/libsystemd/sd-bus/test-bus-error.c | 2 ++ - src/test/test-errno-util.c | 3 ++- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c -index a55f3f9856..4123bf3da0 100644 ---- a/src/libsystemd/sd-bus/test-bus-error.c -+++ b/src/libsystemd/sd-bus/test-bus-error.c -@@ -99,7 +99,9 @@ TEST(error) { - assert_se(!sd_bus_error_is_set(&error)); - assert_se(sd_bus_error_set_errno(&error, EBUSY) == -EBUSY); - assert_se(streq(error.name, "System.Error.EBUSY")); -+#ifdef __GLIBC__ - assert_se(streq(error.message, STRERROR(EBUSY))); -+#endif - assert_se(sd_bus_error_has_name(&error, "System.Error.EBUSY")); - assert_se(sd_bus_error_get_errno(&error) == EBUSY); - assert_se(sd_bus_error_is_set(&error)); -diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c -index 376d532281..967cfd4d67 100644 ---- a/src/test/test-errno-util.c -+++ b/src/test/test-errno-util.c -@@ -4,7 +4,7 @@ - #include "stdio-util.h" - #include "string-util.h" - #include "tests.h" -- -+#ifdef __GLIBC__ - TEST(strerror_not_threadsafe) { - /* Just check that strerror really is not thread-safe. */ - log_info("strerror(%d) → %s", 200, strerror(200)); -@@ -46,6 +46,7 @@ TEST(STRERROR_OR_ELSE) { - log_info("STRERROR_OR_ELSE(EPERM, \"EOF\") → %s", STRERROR_OR_EOF(EPERM)); - log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM)); - } -+#endif /* __GLIBC__ */ - - TEST(PROTECT_ERRNO) { - errno = 12; --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch deleted file mode 100644 index e038b73678e..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 46d80840bfe37e67d4f18c37a77751ea1fe63a07 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 23 Jan 2023 23:39:46 -0800 -Subject: [PATCH 19/22] errno-util: Make STRERROR portable for musl - -Sadly, systemd has decided to use yet another GNU extention in a macro -lets make this such that we can use XSI compliant strerror_r() for -non-glibc hosts - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Khem Raj ---- - src/basic/errno-util.h | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h -index 27804e6382..274c1c6ef1 100644 ---- a/src/basic/errno-util.h -+++ b/src/basic/errno-util.h -@@ -15,8 +15,16 @@ - * https://stackoverflow.com/questions/34880638/compound-literal-lifetime-and-if-blocks - * - * Note that we use the GNU variant of strerror_r() here. */ --#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN) -- -+static inline const char * STRERROR(int errnum); -+ -+static inline const char * STRERROR(int errnum) { -+#ifdef __GLIBC__ -+ return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN); -+#else -+ static __thread char buf[ERRNO_BUF_LEN]; -+ return strerror_r(abs(errnum), buf, ERRNO_BUF_LEN) ? "unknown error" : buf; -+#endif -+} - /* A helper to print an error message or message for functions that return 0 on EOF. - * Note that we can't use ({ … }) to define a temporary variable, so errnum is - * evaluated twice. */ --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch deleted file mode 100644 index b83fffe7932..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 9eb4867b4e2dbdb2484ae854022aff97e2f0feb3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 2 Aug 2023 12:06:27 -0700 -Subject: [PATCH 20/22] sd-event: Make malloc_trim() conditional on glibc - -musl does not have this API - -Upstream-Status: Inappropriate [musl-specific] -Signed-off-by: Khem Raj ---- - src/libsystemd/sd-event/sd-event.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c -index 288798a0dc..6419a7f216 100644 ---- a/src/libsystemd/sd-event/sd-event.c -+++ b/src/libsystemd/sd-event/sd-event.c -@@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit( - } - - _public_ int sd_event_trim_memory(void) { -- int r; -+ int r = 0; - - /* A default implementation of a memory pressure callback. Simply releases our own allocation caches - * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a -@@ -1888,7 +1888,9 @@ _public_ int sd_event_trim_memory(void) { - - usec_t before_timestamp = now(CLOCK_MONOTONIC); - hashmap_trim_pools(); -+#ifdef __GLIBC__ - r = malloc_trim(0); -+#endif - usec_t after_timestamp = now(CLOCK_MONOTONIC); - - if (r > 0) --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch deleted file mode 100644 index 7eff069bb77..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 502597b9ddd6b145541b23fadca0b1d3ca9f6367 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 2 Aug 2023 12:20:40 -0700 -Subject: [PATCH 21/22] shared: Do not use malloc_info on musl - -Upstream-Status: Inappropriate [musl-specific] -Signed-off-by: Khem Raj ---- - src/shared/bus-util.c | 5 +++-- - src/shared/common-signal.c | 4 ++-- - 2 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c -index 74f148c8b4..2d862a123d 100644 ---- a/src/shared/bus-util.c -+++ b/src/shared/bus-util.c -@@ -611,15 +611,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat - _cleanup_close_ int fd = -EBADF; - size_t dump_size; - FILE *f; -- int r; -+ int r = 0; - - assert(message); - - f = memstream_init(&m); - if (!f) - return -ENOMEM; -- -+#ifdef __GLIBC__ - r = RET_NERRNO(malloc_info(/* options= */ 0, f)); -+#endif - if (r < 0) - return r; - -diff --git a/src/shared/common-signal.c b/src/shared/common-signal.c -index 8e70e365dd..9e782caec9 100644 ---- a/src/shared/common-signal.c -+++ b/src/shared/common-signal.c -@@ -65,12 +65,12 @@ int sigrtmin18_handler(sd_event_source *s, const struct signalfd_siginfo *si, vo - log_oom(); - break; - } -- -+#ifdef __GLIBC__ - if (malloc_info(0, f) < 0) { - log_error_errno(errno, "Failed to invoke malloc_info(): %m"); - break; - } -- -+#endif - (void) memstream_dump(LOG_INFO, &m); - break; - } --- -2.34.1 - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch deleted file mode 100644 index 56755ac559f..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 97d3ed7834bd86615ba4acdbef984c677b7e7791 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Tue, 2 Jan 2024 11:03:27 +0800 -Subject: [PATCH] avoid missing LOCK_EX declaration - -This only happens on MUSL. Include sys/file.h to avoid compilation -error about missing LOCK_EX declaration. - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Chen Qi ---- - src/core/exec-invoke.c | 1 + - src/shared/dev-setup.h | 1 + - 2 files changed, 2 insertions(+) - ---- a/src/core/exec-invoke.c -+++ b/src/core/exec-invoke.c -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - - #if HAVE_PAM - #include ---- a/src/shared/dev-setup.h -+++ b/src/shared/dev-setup.h -@@ -2,6 +2,7 @@ - #pragma once - - #include -+#include - - int lock_dev_console(void); - diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.6.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.6.bb deleted file mode 100644 index 9c39d40d23b..00000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.6.bb +++ /dev/null @@ -1,76 +0,0 @@ -SUMMARY = "libsystemd static library" -DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++" - -SECTION = "libs" - -LICENSE = "LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" - -inherit meson pkgconfig - -DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native" - -SRCREV = "5810c25792d4268282dd3892af1a253b690423c9" -SRCBRANCH = "v255-stable" -SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \ - file://static-libsystemd-pkgconfig.patch \ - " - -# patches needed by musl -SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}" - -SRC_URI_MUSL = "\ - file://0001-missing_type.h-add-comparison_fn_t.patch \ - file://0002-add-fallback-parse_printf_format-implementation.patch \ - file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ - file://0003-src-basic-missing.h-check-for-missing-strndupa.patch \ - file://0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ - file://0005-add-missing-FTW_-macros-for-musl.patch \ - file://0006-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ - file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ - file://0008-implment-systemd-sysv-install-for-OE.patch \ - file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ - file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ - file://0011-avoid-redefinition-of-prctl_mm_map-structure.patch \ - file://0012-do-not-disable-buffer-in-writing-files.patch \ - file://0013-Handle-__cpu_mask-usage.patch \ - file://0014-Handle-missing-gshadow.patch \ - file://0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ - file://0016-pass-correct-parameters-to-getdents64.patch \ - file://0017-Adjust-for-musl-headers.patch \ - file://0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \ - file://0019-errno-util-Make-STRERROR-portable-for-musl.patch \ - file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \ - file://0021-shared-Do-not-use-malloc_info-on-musl.patch \ - file://0022-avoid-missing-LOCK_EX-declaration.patch \ -" - -PACKAGECONFIG ??= "gshadow idn" -PACKAGECONFIG:remove:libc-musl = " gshadow idn" -PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" -PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" - -CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " - -EXTRA_OEMESON += "-Dstatic-libsystemd=pic" - - -RDEPENDS:${PN}-dev = "" - -do_compile() { - ninja -v ${PARALLEL_MAKE} version.h - ninja -v ${PARALLEL_MAKE} libsystemd.a - ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc -} - -do_install () { - install -d ${D}${libdir} - install ${B}/libsystemd.a ${D}${libdir} - - install -d ${D}${includedir}/systemd - install ${S}/src/systemd/*.h ${D}${includedir}/systemd - - install -d ${D}${libdir}/pkgconfig - install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig -} diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_259.5.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_259.5.bb new file mode 100644 index 00000000000..63a7bc7c27e --- /dev/null +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_259.5.bb @@ -0,0 +1,45 @@ +SUMMARY = "libsystemd static library" +DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++" + +SECTION = "libs" + +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=be0aaf4a380f73f7e00b420a007368f2" + +inherit meson pkgconfig + +DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native" + +SRCREV = "b3d8fc43e9cb531d958c17ef2cd93b374bc14e8a" +SRCBRANCH = "v259-stable" +SRC_URI = "git://github.com/systemd/systemd;protocol=https;branch=${SRCBRANCH};tag=v${PV} \ + file://static-libsystemd-pkgconfig.patch \ + " + +PACKAGECONFIG ??= "gshadow idn" +PACKAGECONFIG:remove:libc-musl = " gshadow idn" +PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" +PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" + +CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " + +EXTRA_OEMESON += "-Dstatic-libsystemd=pic" + + +RDEPENDS:${PN}-dev = "" + +do_compile() { + ninja -v ${PARALLEL_MAKE} libsystemd.a + ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc +} + +do_install () { + install -d ${D}${libdir} + install ${B}/libsystemd.a ${D}${libdir} + + install -d ${D}${includedir}/systemd + install ${S}/src/systemd/*.h ${D}${includedir}/systemd + + install -d ${D}${libdir}/pkgconfig + install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig +} diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc index 465f2262b6c..0118cc3f325 100644 --- a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc +++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc @@ -7,12 +7,12 @@ SRC_URI += " \ crate://crates.io/allocator-api2/0.2.21 \ crate://crates.io/android_system_properties/0.1.5 \ crate://crates.io/ansi-width/0.1.0 \ - crate://crates.io/anstream/0.6.21 \ + crate://crates.io/anstream/1.0.0 \ crate://crates.io/anstyle/1.0.13 \ - crate://crates.io/anstyle-parse/0.2.7 \ + crate://crates.io/anstyle-parse/1.0.0 \ crate://crates.io/anstyle-query/1.1.5 \ crate://crates.io/anstyle-wincon/3.0.11 \ - crate://crates.io/anyhow/1.0.100 \ + crate://crates.io/anyhow/1.0.101 \ crate://crates.io/approx/0.5.1 \ crate://crates.io/arrayref/0.3.9 \ crate://crates.io/arrayvec/0.7.6 \ @@ -22,43 +22,47 @@ SRC_URI += " \ crate://crates.io/binary-heap-plus/0.5.0 \ crate://crates.io/bindgen/0.72.1 \ crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bitflags/2.10.0 \ + crate://crates.io/bitflags/2.11.0 \ crate://crates.io/bitvec/1.0.1 \ crate://crates.io/blake2b_simd/1.0.4 \ - crate://crates.io/blake3/1.8.3 \ + crate://crates.io/blake3/1.8.4 \ crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/block-buffer/0.12.0 \ crate://crates.io/block2/0.6.2 \ crate://crates.io/bstr/1.12.1 \ crate://crates.io/bumpalo/3.19.1 \ crate://crates.io/bytecount/0.6.9 \ crate://crates.io/byteorder/1.5.0 \ - crate://crates.io/calendrical_calculations/0.2.3 \ - crate://crates.io/cc/1.2.52 \ + crate://crates.io/calendrical_calculations/0.2.4 \ + crate://crates.io/cc/1.2.55 \ crate://crates.io/cexpr/0.6.0 \ crate://crates.io/cfg-if/1.0.4 \ crate://crates.io/cfg_aliases/0.2.1 \ + crate://crates.io/chacha20/0.10.0 \ crate://crates.io/chrono/0.4.43 \ crate://crates.io/clang-sys/1.8.1 \ - crate://crates.io/clap/4.5.56 \ - crate://crates.io/clap_builder/4.5.56 \ - crate://crates.io/clap_complete/4.5.65 \ - crate://crates.io/clap_lex/0.7.7 \ - crate://crates.io/clap_mangen/0.2.31 \ - crate://crates.io/codspeed/4.3.0 \ - crate://crates.io/codspeed-divan-compat/4.3.0 \ - crate://crates.io/codspeed-divan-compat-macros/4.3.0 \ - crate://crates.io/codspeed-divan-compat-walltime/4.3.0 \ + crate://crates.io/clap/4.6.0 \ + crate://crates.io/clap_builder/4.6.0 \ + crate://crates.io/clap_complete/4.6.0 \ + crate://crates.io/clap_lex/1.0.0 \ + crate://crates.io/clap_mangen/0.3.0 \ + crate://crates.io/codspeed/4.4.1 \ + crate://crates.io/codspeed-divan-compat/4.4.1 \ + crate://crates.io/codspeed-divan-compat-macros/4.4.1 \ + crate://crates.io/codspeed-divan-compat-walltime/4.4.1 \ crate://crates.io/colorchoice/1.0.4 \ crate://crates.io/colored/2.2.0 \ crate://crates.io/compare/0.1.0 \ crate://crates.io/condtype/1.3.0 \ - crate://crates.io/console/0.16.2 \ + crate://crates.io/console/0.16.3 \ + crate://crates.io/const-oid/0.10.2 \ crate://crates.io/const-random/0.1.18 \ crate://crates.io/const-random-macro/0.1.16 \ crate://crates.io/constant_time_eq/0.4.2 \ crate://crates.io/core-foundation-sys/0.8.7 \ crate://crates.io/core_maths/0.1.1 \ crate://crates.io/cpufeatures/0.2.17 \ + crate://crates.io/cpufeatures/0.3.0 \ crate://crates.io/crc/3.3.0 \ crate://crates.io/crc-catalog/2.4.0 \ crate://crates.io/crc-fast/1.9.0 \ @@ -70,25 +74,24 @@ SRC_URI += " \ crate://crates.io/crossterm_winapi/0.9.1 \ crate://crates.io/crunchy/0.2.4 \ crate://crates.io/crypto-common/0.1.7 \ - crate://crates.io/ctor/0.6.3 \ + crate://crates.io/crypto-common/0.2.1 \ + crate://crates.io/ctor/0.8.0 \ crate://crates.io/ctor-proc-macro/0.0.7 \ - crate://crates.io/ctrlc/3.5.1 \ - crate://crates.io/darling/0.21.3 \ - crate://crates.io/darling_core/0.21.3 \ - crate://crates.io/darling_macro/0.21.3 \ + crate://crates.io/ctrlc/3.5.2 \ crate://crates.io/data-encoding/2.10.0 \ crate://crates.io/data-encoding-macro/0.1.19 \ crate://crates.io/data-encoding-macro-internal/0.1.17 \ crate://crates.io/deranged/0.5.5 \ crate://crates.io/diff/0.1.13 \ crate://crates.io/digest/0.10.7 \ + crate://crates.io/digest/0.11.2 \ crate://crates.io/dispatch2/0.3.0 \ crate://crates.io/displaydoc/0.2.5 \ crate://crates.io/divan-macros/0.1.17 \ crate://crates.io/dlv-list/0.5.2 \ crate://crates.io/dns-lookup/3.0.1 \ crate://crates.io/document-features/0.2.12 \ - crate://crates.io/dtor/0.1.1 \ + crate://crates.io/dtor/0.3.0 \ crate://crates.io/dtor-proc-macro/0.0.6 \ crate://crates.io/dunce/1.0.5 \ crate://crates.io/either/1.15.0 \ @@ -100,63 +103,65 @@ SRC_URI += " \ crate://crates.io/file_diff/1.0.0 \ crate://crates.io/filedescriptor/0.8.3 \ crate://crates.io/filetime/0.2.27 \ - crate://crates.io/find-msvc-tools/0.1.7 \ - crate://crates.io/fixed_decimal/0.7.1 \ - crate://crates.io/flate2/1.1.8 \ + crate://crates.io/find-msvc-tools/0.1.9 \ + crate://crates.io/fixed_decimal/0.7.2 \ + crate://crates.io/flate2/1.1.9 \ crate://crates.io/fluent/0.17.0 \ crate://crates.io/fluent-bundle/0.16.0 \ crate://crates.io/fluent-langneg/0.13.1 \ crate://crates.io/fluent-syntax/0.12.0 \ - crate://crates.io/fnv/1.0.7 \ crate://crates.io/foldhash/0.1.5 \ + crate://crates.io/foldhash/0.2.0 \ crate://crates.io/fs_extra/1.3.0 \ crate://crates.io/fsevent-sys/4.1.0 \ crate://crates.io/fts-sys/0.2.17 \ crate://crates.io/funty/2.0.0 \ - crate://crates.io/futures-core/0.3.31 \ - crate://crates.io/futures-macro/0.3.31 \ - crate://crates.io/futures-task/0.3.31 \ + crate://crates.io/futures-core/0.3.32 \ + crate://crates.io/futures-macro/0.3.32 \ + crate://crates.io/futures-task/0.3.32 \ crate://crates.io/futures-timer/3.0.3 \ - crate://crates.io/futures-util/0.3.31 \ + crate://crates.io/futures-util/0.3.32 \ crate://crates.io/gcd/2.3.0 \ crate://crates.io/generic-array/0.14.7 \ crate://crates.io/getrandom/0.2.17 \ - crate://crates.io/getrandom/0.3.4 \ + crate://crates.io/getrandom/0.4.2 \ crate://crates.io/glob/0.3.3 \ crate://crates.io/half/2.7.1 \ crate://crates.io/hashbrown/0.14.5 \ crate://crates.io/hashbrown/0.15.5 \ crate://crates.io/hashbrown/0.16.1 \ + crate://crates.io/heck/0.5.0 \ crate://crates.io/hex/0.4.3 \ crate://crates.io/hex-literal/1.1.0 \ crate://crates.io/hostname/0.4.2 \ - crate://crates.io/iana-time-zone/0.1.64 \ + crate://crates.io/hybrid-array/0.4.8 \ + crate://crates.io/iana-time-zone/0.1.65 \ crate://crates.io/iana-time-zone-haiku/0.1.2 \ - crate://crates.io/icu_calendar/2.1.1 \ - crate://crates.io/icu_calendar_data/2.1.1 \ - crate://crates.io/icu_collator/2.1.1 \ - crate://crates.io/icu_collator_data/2.1.1 \ - crate://crates.io/icu_collections/2.1.1 \ - crate://crates.io/icu_datetime/2.1.1 \ - crate://crates.io/icu_datetime_data/2.1.2 \ - crate://crates.io/icu_decimal/2.1.1 \ - crate://crates.io/icu_decimal_data/2.1.1 \ - crate://crates.io/icu_locale/2.1.1 \ - crate://crates.io/icu_locale_core/2.1.1 \ - crate://crates.io/icu_locale_data/2.1.2 \ - crate://crates.io/icu_normalizer/2.1.1 \ - crate://crates.io/icu_normalizer_data/2.1.1 \ - crate://crates.io/icu_pattern/0.4.1 \ - crate://crates.io/icu_plurals/2.1.1 \ - crate://crates.io/icu_plurals_data/2.1.1 \ - crate://crates.io/icu_properties/2.1.2 \ - crate://crates.io/icu_properties_data/2.1.2 \ - crate://crates.io/icu_provider/2.1.1 \ - crate://crates.io/icu_time/2.1.1 \ - crate://crates.io/icu_time_data/2.1.1 \ - crate://crates.io/ident_case/1.0.1 \ + crate://crates.io/icu_calendar/2.2.1 \ + crate://crates.io/icu_calendar_data/2.2.0 \ + crate://crates.io/icu_collator/2.2.0 \ + crate://crates.io/icu_collator_data/2.2.0 \ + crate://crates.io/icu_collections/2.2.0 \ + crate://crates.io/icu_datetime/2.2.0 \ + crate://crates.io/icu_datetime_data/2.2.0 \ + crate://crates.io/icu_decimal/2.2.0 \ + crate://crates.io/icu_decimal_data/2.2.0 \ + crate://crates.io/icu_locale/2.2.0 \ + crate://crates.io/icu_locale_core/2.2.0 \ + crate://crates.io/icu_locale_data/2.2.0 \ + crate://crates.io/icu_normalizer/2.2.0 \ + crate://crates.io/icu_normalizer_data/2.2.0 \ + crate://crates.io/icu_pattern/0.4.2 \ + crate://crates.io/icu_plurals/2.2.0 \ + crate://crates.io/icu_plurals_data/2.2.0 \ + crate://crates.io/icu_properties/2.2.0 \ + crate://crates.io/icu_properties_data/2.2.0 \ + crate://crates.io/icu_provider/2.2.0 \ + crate://crates.io/icu_time/2.2.0 \ + crate://crates.io/icu_time_data/2.2.0 \ + crate://crates.io/id-arena/2.3.0 \ crate://crates.io/indexmap/2.13.0 \ - crate://crates.io/indicatif/0.18.3 \ + crate://crates.io/indicatif/0.18.4 \ crate://crates.io/inotify/0.11.0 \ crate://crates.io/inotify-sys/0.1.5 \ crate://crates.io/intl-memoizer/0.5.3 \ @@ -164,47 +169,47 @@ SRC_URI += " \ crate://crates.io/is_terminal_polyfill/1.70.2 \ crate://crates.io/itertools/0.13.0 \ crate://crates.io/itertools/0.14.0 \ - crate://crates.io/itoa/1.0.17 \ - crate://crates.io/ixdtf/0.6.4 \ - crate://crates.io/jiff/0.2.18 \ + crate://crates.io/itoa/1.0.18 \ + crate://crates.io/jiff/0.2.23 \ crate://crates.io/jiff-icu/0.2.2 \ - crate://crates.io/jiff-static/0.2.18 \ + crate://crates.io/jiff-static/0.2.23 \ crate://crates.io/jiff-tzdb/0.1.5 \ crate://crates.io/jiff-tzdb-platform/0.1.3 \ crate://crates.io/js-sys/0.3.85 \ - crate://crates.io/keccak/0.1.5 \ + crate://crates.io/keccak/0.1.6 \ crate://crates.io/kqueue/1.1.1 \ crate://crates.io/kqueue-sys/1.0.4 \ crate://crates.io/lazy_static/1.5.0 \ - crate://crates.io/libc/0.2.180 \ + crate://crates.io/leb128fmt/0.1.0 \ + crate://crates.io/libc/0.2.182 \ crate://crates.io/libloading/0.8.9 \ - crate://crates.io/libm/0.2.15 \ - crate://crates.io/libredox/0.1.12 \ - crate://crates.io/linux-raw-sys/0.11.0 \ + crate://crates.io/libm/0.2.16 \ + crate://crates.io/libredox/0.1.15 \ + crate://crates.io/linux-raw-sys/0.12.1 \ crate://crates.io/litemap/0.8.1 \ crate://crates.io/litrs/1.0.0 \ crate://crates.io/lock_api/0.4.14 \ crate://crates.io/log/0.4.29 \ - crate://crates.io/lru/0.12.5 \ + crate://crates.io/lru/0.16.3 \ crate://crates.io/lscolors/0.21.0 \ crate://crates.io/md-5/0.10.6 \ - crate://crates.io/memchr/2.7.6 \ - crate://crates.io/memmap2/0.9.9 \ + crate://crates.io/memchr/2.8.0 \ + crate://crates.io/memmap2/0.9.10 \ crate://crates.io/memoffset/0.9.1 \ crate://crates.io/minimal-lexical/0.2.1 \ crate://crates.io/miniz_oxide/0.8.9 \ crate://crates.io/mio/1.1.1 \ - crate://crates.io/nix/0.30.1 \ + crate://crates.io/nix/0.31.2 \ crate://crates.io/nom/7.1.3 \ crate://crates.io/nom/8.0.0 \ crate://crates.io/notify/8.2.0 \ - crate://crates.io/notify-types/2.0.0 \ + crate://crates.io/notify-types/2.1.0 \ crate://crates.io/nu-ansi-term/0.50.3 \ crate://crates.io/num-bigint/0.4.6 \ - crate://crates.io/num-conv/0.1.0 \ + crate://crates.io/num-conv/0.2.0 \ crate://crates.io/num-integer/0.1.46 \ - crate://crates.io/num-modular/0.5.1 \ - crate://crates.io/num-prime/0.4.4 \ + crate://crates.io/num-modular/0.6.1 \ + crate://crates.io/num-prime/0.5.0 \ crate://crates.io/num-traits/0.2.19 \ crate://crates.io/num_threads/0.1.7 \ crate://crates.io/objc2/0.6.3 \ @@ -218,17 +223,17 @@ SRC_URI += " \ crate://crates.io/outref/0.5.2 \ crate://crates.io/parking_lot/0.12.5 \ crate://crates.io/parking_lot_core/0.9.12 \ - crate://crates.io/parse_datetime/0.13.3 \ + crate://crates.io/parse_datetime/0.14.0 \ crate://crates.io/phf/0.13.1 \ crate://crates.io/phf_codegen/0.13.1 \ crate://crates.io/phf_generator/0.13.1 \ crate://crates.io/phf_shared/0.13.1 \ crate://crates.io/pin-project-lite/0.2.16 \ - crate://crates.io/pin-utils/0.1.0 \ crate://crates.io/pkg-config/0.3.32 \ - crate://crates.io/platform-info/2.0.5 \ - crate://crates.io/portable-atomic/1.13.0 \ - crate://crates.io/portable-atomic-util/0.2.4 \ + crate://crates.io/plain/0.2.3 \ + crate://crates.io/platform-info/2.1.0 \ + crate://crates.io/portable-atomic/1.13.1 \ + crate://crates.io/portable-atomic-util/0.2.5 \ crate://crates.io/potential_utf/0.1.4 \ crate://crates.io/powerfmt/0.2.0 \ crate://crates.io/ppv-lite86/0.2.21 \ @@ -238,37 +243,38 @@ SRC_URI += " \ crate://crates.io/proc-macro2/1.0.106 \ crate://crates.io/procfs/0.18.0 \ crate://crates.io/procfs-core/0.18.0 \ - crate://crates.io/quote/1.0.44 \ - crate://crates.io/r-efi/5.3.0 \ + crate://crates.io/quote/1.0.45 \ + crate://crates.io/r-efi/6.0.0 \ crate://crates.io/radium/0.7.0 \ crate://crates.io/rand/0.8.5 \ - crate://crates.io/rand/0.9.2 \ + crate://crates.io/rand/0.10.0 \ crate://crates.io/rand_chacha/0.3.1 \ - crate://crates.io/rand_chacha/0.9.0 \ + crate://crates.io/rand_chacha/0.10.0 \ crate://crates.io/rand_core/0.6.4 \ - crate://crates.io/rand_core/0.9.5 \ + crate://crates.io/rand_core/0.10.0 \ crate://crates.io/rayon/1.11.0 \ crate://crates.io/rayon-core/1.13.0 \ crate://crates.io/redox_syscall/0.5.18 \ crate://crates.io/redox_syscall/0.7.0 \ - crate://crates.io/regex/1.12.2 \ - crate://crates.io/regex-automata/0.4.13 \ - crate://crates.io/regex-lite/0.1.8 \ - crate://crates.io/regex-syntax/0.8.8 \ + crate://crates.io/regex/1.12.3 \ + crate://crates.io/regex-automata/0.4.14 \ + crate://crates.io/regex-lite/0.1.9 \ + crate://crates.io/regex-syntax/0.8.9 \ crate://crates.io/relative-path/1.9.3 \ crate://crates.io/rlimit/0.11.0 \ - crate://crates.io/roff/0.2.2 \ + crate://crates.io/roff/1.1.0 \ crate://crates.io/rstest/0.26.1 \ crate://crates.io/rstest_macros/0.26.1 \ + crate://crates.io/rstest_reuse/0.7.0 \ crate://crates.io/rust-ini/0.21.3 \ - crate://crates.io/rustc-hash/2.1.1 \ + crate://crates.io/rustc-hash/2.1.2 \ crate://crates.io/rustc_version/0.4.1 \ - crate://crates.io/rustix/1.1.3 \ + crate://crates.io/rustix/1.1.4 \ crate://crates.io/rustversion/1.0.22 \ crate://crates.io/same-file/1.0.6 \ crate://crates.io/scopeguard/1.2.0 \ crate://crates.io/self_cell/1.2.2 \ - crate://crates.io/selinux/0.5.2 \ + crate://crates.io/selinux/0.6.0 \ crate://crates.io/selinux-sys/0.6.15 \ crate://crates.io/semver/1.0.27 \ crate://crates.io/serde/1.0.228 \ @@ -280,16 +286,15 @@ SRC_URI += " \ crate://crates.io/sha3/0.10.8 \ crate://crates.io/shlex/1.3.0 \ crate://crates.io/signal-hook/0.3.18 \ - crate://crates.io/signal-hook/0.4.3 \ crate://crates.io/signal-hook-mio/0.2.5 \ crate://crates.io/signal-hook-registry/1.4.8 \ crate://crates.io/simd-adler32/0.3.8 \ - crate://crates.io/siphasher/1.0.1 \ - crate://crates.io/slab/0.4.11 \ - crate://crates.io/sm3/0.4.2 \ + crate://crates.io/siphasher/1.0.2 \ + crate://crates.io/slab/0.4.12 \ + crate://crates.io/sm3/0.5.0 \ crate://crates.io/smallvec/1.15.1 \ crate://crates.io/smawk/0.3.2 \ - crate://crates.io/socket2/0.6.1 \ + crate://crates.io/socket2/0.6.2 \ crate://crates.io/spin/0.10.0 \ crate://crates.io/stable_deref_trait/1.2.1 \ crate://crates.io/statrs/0.18.0 \ @@ -298,23 +303,23 @@ SRC_URI += " \ crate://crates.io/syn/2.0.114 \ crate://crates.io/synstructure/0.13.2 \ crate://crates.io/tap/1.0.1 \ - crate://crates.io/tempfile/3.24.0 \ - crate://crates.io/terminal_size/0.4.3 \ + crate://crates.io/tempfile/3.27.0 \ + crate://crates.io/terminal_size/0.4.4 \ crate://crates.io/textwrap/0.16.2 \ crate://crates.io/thiserror/1.0.69 \ crate://crates.io/thiserror/2.0.18 \ crate://crates.io/thiserror-impl/1.0.69 \ crate://crates.io/thiserror-impl/2.0.18 \ - crate://crates.io/time/0.3.45 \ - crate://crates.io/time-core/0.1.7 \ - crate://crates.io/time-macros/0.2.25 \ + crate://crates.io/time/0.3.47 \ + crate://crates.io/time-core/0.1.8 \ + crate://crates.io/time-macros/0.2.27 \ crate://crates.io/tiny-keccak/2.0.2 \ - crate://crates.io/tinystr/0.8.2 \ + crate://crates.io/tinystr/0.8.3 \ crate://crates.io/toml_datetime/0.7.5+spec-1.1.0 \ crate://crates.io/toml_edit/0.23.10+spec-1.0.0 \ crate://crates.io/toml_parser/1.0.6+spec-1.1.0 \ crate://crates.io/type-map/0.5.1 \ - crate://crates.io/typed-path/0.12.0 \ + crate://crates.io/typed-path/0.12.2 \ crate://crates.io/typenum/1.19.0 \ crate://crates.io/unic-langid/0.9.6 \ crate://crates.io/unic-langid-impl/0.9.6 \ @@ -322,6 +327,7 @@ SRC_URI += " \ crate://crates.io/unicode-linebreak/0.1.5 \ crate://crates.io/unicode-width/0.1.14 \ crate://crates.io/unicode-width/0.2.2 \ + crate://crates.io/unicode-xid/0.2.6 \ crate://crates.io/unindent/0.2.4 \ crate://crates.io/unit-prefix/0.5.2 \ crate://crates.io/utf16_iter/1.0.5 \ @@ -329,25 +335,27 @@ SRC_URI += " \ crate://crates.io/utf8parse/0.2.2 \ crate://crates.io/utmp-classic/0.1.6 \ crate://crates.io/utmp-classic-raw/0.1.3 \ - crate://crates.io/uuid/1.19.0 \ - crate://crates.io/uutils_term_grid/0.7.0 \ + crate://crates.io/uuid/1.20.0 \ + crate://crates.io/uutils_term_grid/0.8.0 \ crate://crates.io/version_check/0.9.5 \ crate://crates.io/vsimd/0.8.0 \ crate://crates.io/walkdir/2.5.0 \ crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ - crate://crates.io/wasip2/1.0.1+wasi-0.2.4 \ + crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ + crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ crate://crates.io/wasm-bindgen/0.2.108 \ crate://crates.io/wasm-bindgen-macro/0.2.108 \ crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ crate://crates.io/wasm-bindgen-shared/0.2.108 \ + crate://crates.io/wasm-encoder/0.244.0 \ + crate://crates.io/wasm-metadata/0.244.0 \ + crate://crates.io/wasmparser/0.244.0 \ crate://crates.io/web-time/1.1.0 \ crate://crates.io/wild/2.2.1 \ crate://crates.io/winapi/0.3.9 \ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ crate://crates.io/winapi-util/0.1.11 \ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/wincode/0.2.5 \ - crate://crates.io/wincode-derive/0.2.3 \ crate://crates.io/windows-core/0.62.2 \ crate://crates.io/windows-implement/0.60.2 \ crate://crates.io/windows-interface/0.59.3 \ @@ -376,27 +384,32 @@ SRC_URI += " \ crate://crates.io/windows_x86_64_msvc/0.52.6 \ crate://crates.io/windows_x86_64_msvc/0.53.1 \ crate://crates.io/winnow/0.7.14 \ - crate://crates.io/wit-bindgen/0.46.0 \ + crate://crates.io/wit-bindgen/0.51.0 \ + crate://crates.io/wit-bindgen-core/0.51.0 \ + crate://crates.io/wit-bindgen-rust/0.51.0 \ + crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ + crate://crates.io/wit-component/0.244.0 \ + crate://crates.io/wit-parser/0.244.0 \ crate://crates.io/write16/1.0.0 \ crate://crates.io/writeable/0.6.2 \ crate://crates.io/wyz/0.5.1 \ crate://crates.io/xattr/1.6.1 \ crate://crates.io/yansi/1.0.1 \ - crate://crates.io/yoke/0.8.1 \ - crate://crates.io/yoke-derive/0.8.1 \ - crate://crates.io/z85/3.0.6 \ + crate://crates.io/yoke/0.8.2 \ + crate://crates.io/yoke-derive/0.8.2 \ + crate://crates.io/z85/3.0.7 \ crate://crates.io/zerocopy/0.7.35 \ - crate://crates.io/zerocopy/0.8.33 \ + crate://crates.io/zerocopy/0.8.39 \ crate://crates.io/zerocopy-derive/0.7.35 \ - crate://crates.io/zerocopy-derive/0.8.33 \ + crate://crates.io/zerocopy-derive/0.8.39 \ crate://crates.io/zerofrom/0.1.6 \ crate://crates.io/zerofrom-derive/0.1.6 \ - crate://crates.io/zerotrie/0.2.3 \ - crate://crates.io/zerovec/0.11.5 \ - crate://crates.io/zerovec-derive/0.11.2 \ - crate://crates.io/zip/7.2.0 \ - crate://crates.io/zlib-rs/0.5.5 \ - crate://crates.io/zmij/1.0.14 \ + crate://crates.io/zerotrie/0.2.4 \ + crate://crates.io/zerovec/0.11.6 \ + crate://crates.io/zerovec-derive/0.11.3 \ + crate://crates.io/zip/8.5.0 \ + crate://crates.io/zlib-rs/0.6.0 \ + crate://crates.io/zmij/1.0.19 \ crate://crates.io/zopfli/0.8.3 \ " @@ -405,12 +418,12 @@ SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b2 SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" SRC_URI[ansi-width-0.1.0.sha256sum] = "219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608" -SRC_URI[anstream-0.6.21.sha256sum] = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +SRC_URI[anstream-1.0.0.sha256sum] = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" -SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +SRC_URI[anstyle-parse-1.0.0.sha256sum] = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" -SRC_URI[anyhow-1.0.100.sha256sum] = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +SRC_URI[anyhow-1.0.101.sha256sum] = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" SRC_URI[approx-0.5.1.sha256sum] = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" SRC_URI[arrayref-0.3.9.sha256sum] = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" @@ -420,43 +433,47 @@ SRC_URI[bigdecimal-0.4.10.sha256sum] = "4d6867f1565b3aad85681f1015055b087fcfd840 SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296" SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +SRC_URI[bitflags-2.11.0.sha256sum] = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" SRC_URI[bitvec-1.0.1.sha256sum] = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" -SRC_URI[blake3-1.8.3.sha256sum] = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" +SRC_URI[blake3-1.8.4.sha256sum] = "4d2d5991425dfd0785aed03aedcf0b321d61975c9b5b3689c774a2610ae0b51e" SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[block-buffer-0.12.0.sha256sum] = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" -SRC_URI[calendrical_calculations-0.2.3.sha256sum] = "3a0b39595c6ee54a8d0900204ba4c401d0ab4eb45adaf07178e8d017541529e7" -SRC_URI[cc-1.2.52.sha256sum] = "cd4932aefd12402b36c60956a4fe0035421f544799057659ff86f923657aada3" +SRC_URI[calendrical_calculations-0.2.4.sha256sum] = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26" +SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +SRC_URI[chacha20-0.10.0.sha256sum] = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -SRC_URI[clap-4.5.56.sha256sum] = "a75ca66430e33a14957acc24c5077b503e7d374151b2b4b3a10c83b4ceb4be0e" -SRC_URI[clap_builder-4.5.56.sha256sum] = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0" -SRC_URI[clap_complete-4.5.65.sha256sum] = "430b4dc2b5e3861848de79627b2bedc9f3342c7da5173a14eaa5d0f8dc18ae5d" -SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" -SRC_URI[clap_mangen-0.2.31.sha256sum] = "439ea63a92086df93893164221ad4f24142086d535b3a0957b9b9bea2dc86301" -SRC_URI[codspeed-4.3.0.sha256sum] = "38c2eb3388ebe26b5a0ab6bf4969d9c4840143d7f6df07caa3cc851b0606cef6" -SRC_URI[codspeed-divan-compat-4.3.0.sha256sum] = "b2de65b7489a59709724d489070c6d05b7744039e4bf751d0a2006b90bb5593d" -SRC_URI[codspeed-divan-compat-macros-4.3.0.sha256sum] = "56ca01ce4fd22b8dcc6c770dcd6b74343642e842482b94e8920d14e10c57638d" -SRC_URI[codspeed-divan-compat-walltime-4.3.0.sha256sum] = "720ab9d0714718afe5f5832be6e5f5eb5ce97836e24ca7bf7042eea4308b9fb8" +SRC_URI[clap-4.6.0.sha256sum] = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" +SRC_URI[clap_builder-4.6.0.sha256sum] = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" +SRC_URI[clap_complete-4.6.0.sha256sum] = "19c9f1dde76b736e3681f28cec9d5a61299cbaae0fce80a68e43724ad56031eb" +SRC_URI[clap_lex-1.0.0.sha256sum] = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" +SRC_URI[clap_mangen-0.3.0.sha256sum] = "d82842b45bf9f6a3be090dd860095ac30728042c08e0d6261ca7259b5d850f07" +SRC_URI[codspeed-4.4.1.sha256sum] = "b684e94583e85a5ca7e1a6454a89d76a5121240f2fb67eb564129d9bafdb9db0" +SRC_URI[codspeed-divan-compat-4.4.1.sha256sum] = "89e4bf8c7793c170fd0fcf3be97b9032b2ae39c2b9e8818aba3cc10ca0f0c6c0" +SRC_URI[codspeed-divan-compat-macros-4.4.1.sha256sum] = "78aae02f2a278588e16e8ca62ea1915b8ab30f8230a09926671bba19ede801a4" +SRC_URI[codspeed-divan-compat-walltime-4.4.1.sha256sum] = "59ffd32c0c59ab8b674b15be65ba7c59aebac047036cfa7fa1e11bc2c178b81f" SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" SRC_URI[colored-2.2.0.sha256sum] = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" SRC_URI[condtype-1.3.0.sha256sum] = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" -SRC_URI[console-0.16.2.sha256sum] = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" +SRC_URI[console-0.16.3.sha256sum] = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" +SRC_URI[const-oid-0.10.2.sha256sum] = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +SRC_URI[cpufeatures-0.3.0.sha256sum] = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" SRC_URI[crc-3.3.0.sha256sum] = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" SRC_URI[crc-catalog-2.4.0.sha256sum] = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" SRC_URI[crc-fast-1.9.0.sha256sum] = "2fd92aca2c6001b1bf5ba0ff84ee74ec8501b52bbef0cac80bf25a6c1d87a83d" @@ -468,25 +485,24 @@ SRC_URI[crossterm-0.29.0.sha256sum] = "d8b9f2e4c67f833b660cdb0a3523065869fb35570 SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -SRC_URI[ctor-0.6.3.sha256sum] = "424e0138278faeb2b401f174ad17e715c829512d74f3d1e81eb43365c2e0590e" +SRC_URI[crypto-common-0.2.1.sha256sum] = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" +SRC_URI[ctor-0.8.0.sha256sum] = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" SRC_URI[ctor-proc-macro-0.0.7.sha256sum] = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" -SRC_URI[ctrlc-3.5.1.sha256sum] = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" -SRC_URI[darling-0.21.3.sha256sum] = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" -SRC_URI[darling_core-0.21.3.sha256sum] = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" -SRC_URI[darling_macro-0.21.3.sha256sum] = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" SRC_URI[deranged-0.5.5.sha256sum] = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[digest-0.11.2.sha256sum] = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" SRC_URI[divan-macros-0.1.17.sha256sum] = "8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c" SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" SRC_URI[dns-lookup-3.0.1.sha256sum] = "6e39034cee21a2f5bbb66ba0e3689819c4bb5d00382a282006e802a7ffa6c41d" SRC_URI[document-features-0.2.12.sha256sum] = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" -SRC_URI[dtor-0.1.1.sha256sum] = "404d02eeb088a82cfd873006cb713fe411306c7d182c344905e101fb1167d301" +SRC_URI[dtor-0.3.0.sha256sum] = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" SRC_URI[dtor-proc-macro-0.0.6.sha256sum] = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" @@ -498,63 +514,65 @@ SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e9 SRC_URI[file_diff-1.0.0.sha256sum] = "31a7a908b8f32538a2143e59a6e4e2508988832d5d4d6f7c156b3cbc762643a5" SRC_URI[filedescriptor-0.8.3.sha256sum] = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" SRC_URI[filetime-0.2.27.sha256sum] = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" -SRC_URI[find-msvc-tools-0.1.7.sha256sum] = "f449e6c6c08c865631d4890cfacf252b3d396c9bcc83adb6623cdb02a8336c41" -SRC_URI[fixed_decimal-0.7.1.sha256sum] = "35eabf480f94d69182677e37571d3be065822acfafd12f2f085db44fbbcc8e57" -SRC_URI[flate2-1.1.8.sha256sum] = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" +SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +SRC_URI[fixed_decimal-0.7.2.sha256sum] = "79c3c892f121fff406e5dd6b28c1b30096b95111c30701a899d4f2b18da6d1bd" +SRC_URI[flate2-1.1.9.sha256sum] = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" SRC_URI[fluent-langneg-0.13.1.sha256sum] = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" -SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" SRC_URI[fs_extra-1.3.0.sha256sum] = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" SRC_URI[fsevent-sys-4.1.0.sha256sum] = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" SRC_URI[fts-sys-0.2.17.sha256sum] = "9c03259139c9b098dd92241b046fedfeebcd6b000d491c821b24ced28558a9c2" SRC_URI[funty-2.0.0.sha256sum] = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" -SRC_URI[futures-core-0.3.31.sha256sum] = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" -SRC_URI[futures-macro-0.3.31.sha256sum] = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -SRC_URI[futures-task-0.3.31.sha256sum] = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +SRC_URI[futures-core-0.3.32.sha256sum] = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +SRC_URI[futures-macro-0.3.32.sha256sum] = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +SRC_URI[futures-task-0.3.32.sha256sum] = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" SRC_URI[futures-timer-3.0.3.sha256sum] = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" -SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +SRC_URI[futures-util-0.3.32.sha256sum] = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" -SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +SRC_URI[getrandom-0.4.2.sha256sum] = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" SRC_URI[hex-literal-1.1.0.sha256sum] = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" SRC_URI[hostname-0.4.2.sha256sum] = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" -SRC_URI[iana-time-zone-0.1.64.sha256sum] = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +SRC_URI[hybrid-array-0.4.8.sha256sum] = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" +SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -SRC_URI[icu_calendar-2.1.1.sha256sum] = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" -SRC_URI[icu_calendar_data-2.1.1.sha256sum] = "527f04223b17edfe0bd43baf14a0cb1b017830db65f3950dc00224860a9a446d" -SRC_URI[icu_collator-2.1.1.sha256sum] = "32eed11a5572f1088b63fa21dc2e70d4a865e5739fc2d10abc05be93bae97019" -SRC_URI[icu_collator_data-2.1.1.sha256sum] = "5ab06f0e83a613efddba3e4913e00e43ed4001fae651cb7d40fc7e66b83b6fb9" -SRC_URI[icu_collections-2.1.1.sha256sum] = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" -SRC_URI[icu_datetime-2.1.1.sha256sum] = "1b9d49f41ded8e63761b6b4c3120dfdc289415a1ed10107db6198eb311057ca5" -SRC_URI[icu_datetime_data-2.1.2.sha256sum] = "46597233625417b7c8052a63d916e4fdc73df21614ac0b679492a5d6e3b01aeb" -SRC_URI[icu_decimal-2.1.1.sha256sum] = "a38c52231bc348f9b982c1868a2af3195199623007ba2c7650f432038f5b3e8e" -SRC_URI[icu_decimal_data-2.1.1.sha256sum] = "2905b4044eab2dd848fe84199f9195567b63ab3a93094711501363f63546fef7" -SRC_URI[icu_locale-2.1.1.sha256sum] = "532b11722e350ab6bf916ba6eb0efe3ee54b932666afec989465f9243fe6dd60" -SRC_URI[icu_locale_core-2.1.1.sha256sum] = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" -SRC_URI[icu_locale_data-2.1.2.sha256sum] = "1c5f1d16b4c3a2642d3a719f18f6b06070ab0aef246a6418130c955ae08aa831" -SRC_URI[icu_normalizer-2.1.1.sha256sum] = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" -SRC_URI[icu_normalizer_data-2.1.1.sha256sum] = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" -SRC_URI[icu_pattern-0.4.1.sha256sum] = "7a7ff8c0ff6f61cdce299dcb54f557b0a251adbc78f6f0c35a21332c452b4a1b" -SRC_URI[icu_plurals-2.1.1.sha256sum] = "4f9cfe49f5b1d1163cc58db451562339916a9ca5cbcaae83924d41a0bf839474" -SRC_URI[icu_plurals_data-2.1.1.sha256sum] = "f018a98dccf7f0eb02ba06ac0ff67d102d8ded80734724305e924de304e12ff0" -SRC_URI[icu_properties-2.1.2.sha256sum] = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" -SRC_URI[icu_properties_data-2.1.2.sha256sum] = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" -SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" -SRC_URI[icu_time-2.1.1.sha256sum] = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" -SRC_URI[icu_time_data-2.1.1.sha256sum] = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" -SRC_URI[ident_case-1.0.1.sha256sum] = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +SRC_URI[icu_calendar-2.2.1.sha256sum] = "a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45" +SRC_URI[icu_calendar_data-2.2.0.sha256sum] = "118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d" +SRC_URI[icu_collator-2.2.0.sha256sum] = "b521b92a2666061ddda902769d8a4cf730b5c9529a845cc1b69770b12a6c9a71" +SRC_URI[icu_collator_data-2.2.0.sha256sum] = "038ed8e5817f2059c2f3efb0945ba78d060d3d25e8f1a1bea5139f821a21a2f0" +SRC_URI[icu_collections-2.2.0.sha256sum] = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +SRC_URI[icu_datetime-2.2.0.sha256sum] = "989d56ea5bbc43ae2b4e0388874b002884eaf4ed3a76c84a6c8c5ad575e04d72" +SRC_URI[icu_datetime_data-2.2.0.sha256sum] = "40d3cc1b690d9703202bc319692ac8a1f3a6390686f0930ff40542450fa34f0b" +SRC_URI[icu_decimal-2.2.0.sha256sum] = "288247df2e32aa776ac54fdd64de552149ac43cb840f2761811f0e8d09719dd4" +SRC_URI[icu_decimal_data-2.2.0.sha256sum] = "6f14a5ca9e8af29eef62064f269078424283d90dbaffeac5225addf62aaabc22" +SRC_URI[icu_locale-2.2.0.sha256sum] = "d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26" +SRC_URI[icu_locale_core-2.2.0.sha256sum] = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +SRC_URI[icu_locale_data-2.2.0.sha256sum] = "d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993" +SRC_URI[icu_normalizer-2.2.0.sha256sum] = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +SRC_URI[icu_normalizer_data-2.2.0.sha256sum] = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" +SRC_URI[icu_pattern-0.4.2.sha256sum] = "1c4c568054ffe735398a9f4c55aec37ad7c768844553cc0978f09cc9b933a1fb" +SRC_URI[icu_plurals-2.2.0.sha256sum] = "2a50023f1d49ad5c4333380328a0d4a19e4b9d6d842ec06639affd5ba47c8103" +SRC_URI[icu_plurals_data-2.2.0.sha256sum] = "8485497155dc865f901decb93ecc20d3e467df67bfeceb91e3ba34e2b11e8e1d" +SRC_URI[icu_properties-2.2.0.sha256sum] = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +SRC_URI[icu_properties_data-2.2.0.sha256sum] = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" +SRC_URI[icu_provider-2.2.0.sha256sum] = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +SRC_URI[icu_time-2.2.0.sha256sum] = "ec3af0c141da0a61d4f6970cd1d5f4b388b17ea22f8124f8f6049d3d5147586a" +SRC_URI[icu_time_data-2.2.0.sha256sum] = "6f2f8aeca682d874a5247084aa4fb7d1cef9ba45d889c21209a8818dcaaa0ec9" +SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" -SRC_URI[indicatif-0.18.3.sha256sum] = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" +SRC_URI[indicatif-0.18.4.sha256sum] = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" SRC_URI[inotify-0.11.0.sha256sum] = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" SRC_URI[inotify-sys-0.1.5.sha256sum] = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" @@ -562,47 +580,47 @@ SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff607 SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" -SRC_URI[ixdtf-0.6.4.sha256sum] = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" -SRC_URI[jiff-0.2.18.sha256sum] = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" +SRC_URI[itoa-1.0.18.sha256sum] = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +SRC_URI[jiff-0.2.23.sha256sum] = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" -SRC_URI[jiff-static-0.2.18.sha256sum] = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" +SRC_URI[jiff-static-0.2.23.sha256sum] = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" SRC_URI[jiff-tzdb-0.1.5.sha256sum] = "68971ebff725b9e2ca27a601c5eb38a4c5d64422c4cbab0c535f248087eda5c2" SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" SRC_URI[js-sys-0.3.85.sha256sum] = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" -SRC_URI[keccak-0.1.5.sha256sum] = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +SRC_URI[keccak-0.1.6.sha256sum] = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" SRC_URI[kqueue-1.1.1.sha256sum] = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" SRC_URI[kqueue-sys-1.0.4.sha256sum] = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -SRC_URI[libc-0.2.180.sha256sum] = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" -SRC_URI[libm-0.2.15.sha256sum] = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" -SRC_URI[libredox-0.1.12.sha256sum] = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" -SRC_URI[linux-raw-sys-0.11.0.sha256sum] = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +SRC_URI[libredox-0.1.15.sha256sum] = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" +SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" SRC_URI[litemap-0.8.1.sha256sum] = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" SRC_URI[litrs-1.0.0.sha256sum] = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" SRC_URI[lock_api-0.4.14.sha256sum] = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" SRC_URI[log-0.4.29.sha256sum] = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" -SRC_URI[lru-0.12.5.sha256sum] = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +SRC_URI[lru-0.16.3.sha256sum] = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" SRC_URI[lscolors-0.21.0.sha256sum] = "d60e266dfb1426eb2d24792602e041131fdc0236bb7007abc0e589acafd60929" SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" -SRC_URI[memmap2-0.9.9.sha256sum] = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +SRC_URI[memmap2-0.9.10.sha256sum] = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" SRC_URI[mio-1.1.1.sha256sum] = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" -SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +SRC_URI[nix-0.31.2.sha256sum] = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" SRC_URI[notify-8.2.0.sha256sum] = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" -SRC_URI[notify-types-2.0.0.sha256sum] = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" +SRC_URI[notify-types-2.1.0.sha256sum] = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" SRC_URI[nu-ansi-term-0.50.3.sha256sum] = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +SRC_URI[num-conv-0.2.0.sha256sum] = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -SRC_URI[num-modular-0.5.1.sha256sum] = "64a5fe11d4135c3bcdf3a95b18b194afa9608a5f6ff034f5d857bc9a27fb0119" -SRC_URI[num-prime-0.4.4.sha256sum] = "e238432a7881ec7164503ccc516c014bf009be7984cde1ba56837862543bdec3" +SRC_URI[num-modular-0.6.1.sha256sum] = "17bb261bf36fa7d83f4c294f834e91256769097b3cb505d44831e0a179ac647f" +SRC_URI[num-prime-0.5.0.sha256sum] = "b285c575532a33ef6fdd3a57640d0b1c70e6ca48644d6df7bbd4b7a0cfbbb12d" SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" SRC_URI[num_threads-0.1.7.sha256sum] = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" SRC_URI[objc2-0.6.3.sha256sum] = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" @@ -616,17 +634,17 @@ SRC_URI[os_display-0.1.4.sha256sum] = "ad5fd71b79026fb918650dde6d125000a233764f1 SRC_URI[outref-0.5.2.sha256sum] = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" SRC_URI[parking_lot-0.12.5.sha256sum] = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" SRC_URI[parking_lot_core-0.9.12.sha256sum] = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" -SRC_URI[parse_datetime-0.13.3.sha256sum] = "acea383beda9652270f3c9678d83aa58cbfc16880343cae0c0c8c7d6c0974132" +SRC_URI[parse_datetime-0.14.0.sha256sum] = "413775a7eac2261d2211a79d10ef275e5b6f7b527eec42ad09adce2ffa92b6e5" SRC_URI[phf-0.13.1.sha256sum] = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" SRC_URI[phf_codegen-0.13.1.sha256sum] = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" SRC_URI[phf_generator-0.13.1.sha256sum] = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" SRC_URI[phf_shared-0.13.1.sha256sum] = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" -SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" -SRC_URI[platform-info-2.0.5.sha256sum] = "7539aeb3fdd8cb4f6a331307cf71a1039cee75e94e8a71725b9484f4a0d9451a" -SRC_URI[portable-atomic-1.13.0.sha256sum] = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" -SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +SRC_URI[platform-info-2.1.0.sha256sum] = "9368d62437c8cbb7c31ee37fd8c08a7d390e09a3ff75698a674953f46705ffcb" +SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" @@ -636,37 +654,38 @@ SRC_URI[proc-macro-crate-3.4.0.sha256sum] = "219cb19e96be00ab2e37d6e299658a0cfa8 SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" -SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" -SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +SRC_URI[r-efi-6.0.0.sha256sum] = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +SRC_URI[rand-0.10.0.sha256sum] = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +SRC_URI[rand_chacha-0.10.0.sha256sum] = "3e6af7f3e25ded52c41df4e0b1af2d047e45896c2f3281792ed68a1c243daedb" SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -SRC_URI[rand_core-0.9.5.sha256sum] = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +SRC_URI[rand_core-0.10.0.sha256sum] = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" SRC_URI[redox_syscall-0.7.0.sha256sum] = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27" -SRC_URI[regex-1.12.2.sha256sum] = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" -SRC_URI[regex-automata-0.4.13.sha256sum] = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" -SRC_URI[regex-lite-0.1.8.sha256sum] = "8d942b98df5e658f56f20d592c7f868833fe38115e65c33003d8cd224b0155da" -SRC_URI[regex-syntax-0.8.8.sha256sum] = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +SRC_URI[regex-automata-0.4.14.sha256sum] = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +SRC_URI[regex-lite-0.1.9.sha256sum] = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973" +SRC_URI[regex-syntax-0.8.9.sha256sum] = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" SRC_URI[rlimit-0.11.0.sha256sum] = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3" -SRC_URI[roff-0.2.2.sha256sum] = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" +SRC_URI[roff-1.1.0.sha256sum] = "dbf2048e0e979efb2ca7b91c4f1a8d77c91853e9b987c94c555668a8994915ad" SRC_URI[rstest-0.26.1.sha256sum] = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" SRC_URI[rstest_macros-0.26.1.sha256sum] = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" +SRC_URI[rstest_reuse-0.7.0.sha256sum] = "b3a8fb4672e840a587a66fc577a5491375df51ddb88f2a2c2a792598c326fe14" SRC_URI[rust-ini-0.21.3.sha256sum] = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" -SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +SRC_URI[rustc-hash-2.1.2.sha256sum] = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -SRC_URI[rustix-1.1.3.sha256sum] = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" SRC_URI[self_cell-1.2.2.sha256sum] = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" -SRC_URI[selinux-0.5.2.sha256sum] = "2ef2ca58174235414aee5465f5d8ef9f5833023b31484eb52ca505f306f4573c" +SRC_URI[selinux-0.6.0.sha256sum] = "7f4d7a0c34b924081f7fbdcb93121399f0d4182c0ec4bf9c01bfe4e7e21fcf16" SRC_URI[selinux-sys-0.6.15.sha256sum] = "debaba5832b4831ffe0ba9118b526c752c960f41c46c4ef197d9a15f5179d6fd" SRC_URI[semver-1.0.27.sha256sum] = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" @@ -678,16 +697,15 @@ SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6 SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" SRC_URI[signal-hook-0.3.18.sha256sum] = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" -SRC_URI[signal-hook-0.4.3.sha256sum] = "3b57709da74f9ff9f4a27dce9526eec25ca8407c45a7887243b031a58935fb8e" SRC_URI[signal-hook-mio-0.2.5.sha256sum] = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" SRC_URI[signal-hook-registry-1.4.8.sha256sum] = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" -SRC_URI[siphasher-1.0.1.sha256sum] = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" -SRC_URI[slab-0.4.11.sha256sum] = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" -SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860" +SRC_URI[siphasher-1.0.2.sha256sum] = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" +SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +SRC_URI[sm3-0.5.0.sha256sum] = "da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6" SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" -SRC_URI[socket2-0.6.1.sha256sum] = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +SRC_URI[socket2-0.6.2.sha256sum] = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" SRC_URI[spin-0.10.0.sha256sum] = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" SRC_URI[statrs-0.18.0.sha256sum] = "2a3fe7c28c6512e766b0874335db33c94ad7b8f9054228ae1c2abd47ce7d335e" @@ -696,23 +714,23 @@ SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70 SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -SRC_URI[tempfile-3.24.0.sha256sum] = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" -SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" +SRC_URI[tempfile-3.27.0.sha256sum] = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +SRC_URI[terminal_size-0.4.4.sha256sum] = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" SRC_URI[textwrap-0.16.2.sha256sum] = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" SRC_URI[thiserror-impl-2.0.18.sha256sum] = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" -SRC_URI[time-0.3.45.sha256sum] = "f9e442fc33d7fdb45aa9bfeb312c095964abdf596f7567261062b2a7107aaabd" -SRC_URI[time-core-0.1.7.sha256sum] = "8b36ee98fd31ec7426d599183e8fe26932a8dc1fb76ddb6214d05493377d34ca" -SRC_URI[time-macros-0.2.25.sha256sum] = "71e552d1249bf61ac2a52db88179fd0673def1e1ad8243a00d9ec9ed71fee3dd" +SRC_URI[time-0.3.47.sha256sum] = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +SRC_URI[time-core-0.1.8.sha256sum] = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +SRC_URI[time-macros-0.2.27.sha256sum] = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -SRC_URI[tinystr-0.8.2.sha256sum] = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +SRC_URI[tinystr-0.8.3.sha256sum] = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" SRC_URI[toml_datetime-0.7.5+spec-1.1.0.sha256sum] = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" SRC_URI[toml_edit-0.23.10+spec-1.0.0.sha256sum] = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" SRC_URI[toml_parser-1.0.6+spec-1.1.0.sha256sum] = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" SRC_URI[type-map-0.5.1.sha256sum] = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" -SRC_URI[typed-path-0.12.0.sha256sum] = "7922f2cdc51280d47b491af9eafc41eb0cdab85eabcb390c854412fcbf26dbe8" +SRC_URI[typed-path-0.12.2.sha256sum] = "3015e6ce46d5ad8751e4a772543a30c7511468070e98e64e20165f8f81155b64" SRC_URI[typenum-1.19.0.sha256sum] = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" SRC_URI[unic-langid-0.9.6.sha256sum] = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05" SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" @@ -720,6 +738,7 @@ SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059 SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" @@ -727,25 +746,27 @@ SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27 SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" SRC_URI[utmp-classic-0.1.6.sha256sum] = "e24c654e19afaa6b8f3877ece5d3bed849c2719c56f6752b18ca7da4fcc6e85a" SRC_URI[utmp-classic-raw-0.1.3.sha256sum] = "22c226537a3d6e01c440c1926ca0256dbee2d19b2229ede6fc4863a6493dd831" -SRC_URI[uuid-1.19.0.sha256sum] = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" -SRC_URI[uutils_term_grid-0.7.0.sha256sum] = "fcba141ce511bad08e80b43f02976571072e1ff4286f7d628943efbd277c6361" +SRC_URI[uuid-1.20.0.sha256sum] = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" +SRC_URI[uutils_term_grid-0.8.0.sha256sum] = "382d49b39de4a115f203305057741126b09a615892d773a2d419a2b816e30e39" SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" -SRC_URI[wasip2-1.0.1+wasi-0.2.4.sha256sum] = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[wincode-0.2.5.sha256sum] = "d5cec722a3274e47d1524cbe2cea762f2c19d615bd9d73ada21db9066349d57e" -SRC_URI[wincode-derive-0.2.3.sha256sum] = "8961eb04054a1b2e026b5628e24da7e001350249a787e1a85aa961f33dc5f286" SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" SRC_URI[windows-implement-0.60.2.sha256sum] = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" SRC_URI[windows-interface-0.59.3.sha256sum] = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" @@ -774,37 +795,44 @@ SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436 SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" -SRC_URI[wit-bindgen-0.46.0.sha256sum] = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" SRC_URI[xattr-1.6.1.sha256sum] = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" -SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" -SRC_URI[yoke-derive-0.8.1.sha256sum] = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" -SRC_URI[z85-3.0.6.sha256sum] = "9b3a41ce106832b4da1c065baa4c31cf640cf965fa1483816402b7f6b96f0a64" +SRC_URI[yoke-0.8.2.sha256sum] = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" +SRC_URI[yoke-derive-0.8.2.sha256sum] = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" +SRC_URI[z85-3.0.7.sha256sum] = "c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675" SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -SRC_URI[zerocopy-0.8.33.sha256sum] = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +SRC_URI[zerocopy-0.8.39.sha256sum] = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" SRC_URI[zerocopy-derive-0.7.35.sha256sum] = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -SRC_URI[zerocopy-derive-0.8.33.sha256sum] = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +SRC_URI[zerocopy-derive-0.8.39.sha256sum] = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" -SRC_URI[zerovec-0.11.5.sha256sum] = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" -SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" -SRC_URI[zip-7.2.0.sha256sum] = "c42e33efc22a0650c311c2ef19115ce232583abbe80850bc8b66509ebef02de0" -SRC_URI[zlib-rs-0.5.5.sha256sum] = "40990edd51aae2c2b6907af74ffb635029d5788228222c4bb811e9351c0caad3" -SRC_URI[zmij-1.0.14.sha256sum] = "bd8f3f50b848df28f887acb68e41201b5aea6bc8a8dacc00fb40635ff9a72fea" +SRC_URI[zerotrie-0.2.4.sha256sum] = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +SRC_URI[zerovec-0.11.6.sha256sum] = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" +SRC_URI[zerovec-derive-0.11.3.sha256sum] = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" +SRC_URI[zip-8.5.0.sha256sum] = "2726508a48f38dceb22b35ecbbd2430efe34ff05c62bd3285f965d7911b33464" +SRC_URI[zlib-rs-0.6.0.sha256sum] = "a7948af682ccbc3342b6e9420e8c51c1fe5d7bf7756002b4a3c6cabfe96a7e3c" +SRC_URI[zmij-1.0.19.sha256sum] = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" SRC_URI[zopfli-0.8.3.sha256sum] = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" # from fuzz/Cargo.lock SRC_URI += " \ crate://crates.io/adler2/2.0.1 \ + crate://crates.io/aho-corasick/1.1.4 \ crate://crates.io/android_system_properties/0.1.5 \ crate://crates.io/anstream/0.6.21 \ crate://crates.io/anstyle/1.0.13 \ crate://crates.io/anstyle-parse/0.2.7 \ crate://crates.io/anstyle-query/1.1.5 \ crate://crates.io/anstyle-wincon/3.0.11 \ + crate://crates.io/anyhow/1.0.102 \ crate://crates.io/arbitrary/1.4.2 \ crate://crates.io/arrayref/0.3.9 \ crate://crates.io/arrayvec/0.7.6 \ @@ -816,27 +844,31 @@ SRC_URI += " \ crate://crates.io/blake2b_simd/1.0.4 \ crate://crates.io/blake3/1.8.3 \ crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/block-buffer/0.12.0 \ crate://crates.io/block2/0.6.2 \ crate://crates.io/bstr/1.12.1 \ crate://crates.io/bumpalo/3.19.1 \ crate://crates.io/bytecount/0.6.9 \ crate://crates.io/calendrical_calculations/0.2.3 \ - crate://crates.io/cc/1.2.54 \ + crate://crates.io/cc/1.2.55 \ crate://crates.io/cfg-if/1.0.4 \ crate://crates.io/cfg_aliases/0.2.1 \ + crate://crates.io/chacha20/0.10.0 \ crate://crates.io/chrono/0.4.43 \ - crate://crates.io/clap/4.5.54 \ - crate://crates.io/clap_builder/4.5.54 \ + crate://crates.io/clap/4.5.57 \ + crate://crates.io/clap_builder/4.5.57 \ crate://crates.io/clap_lex/0.7.7 \ crate://crates.io/colorchoice/1.0.4 \ crate://crates.io/compare/0.1.0 \ - crate://crates.io/console/0.16.2 \ + crate://crates.io/console/0.16.3 \ + crate://crates.io/const-oid/0.10.2 \ crate://crates.io/const-random/0.1.18 \ crate://crates.io/const-random-macro/0.1.16 \ crate://crates.io/constant_time_eq/0.4.2 \ crate://crates.io/core-foundation-sys/0.8.7 \ crate://crates.io/core_maths/0.1.1 \ crate://crates.io/cpufeatures/0.2.17 \ + crate://crates.io/cpufeatures/0.3.0 \ crate://crates.io/crc-fast/1.10.0 \ crate://crates.io/crc32fast/1.5.0 \ crate://crates.io/crossbeam-deque/0.8.6 \ @@ -844,34 +876,43 @@ SRC_URI += " \ crate://crates.io/crossbeam-utils/0.8.21 \ crate://crates.io/crunchy/0.2.4 \ crate://crates.io/crypto-common/0.1.7 \ - crate://crates.io/ctrlc/3.5.1 \ + crate://crates.io/crypto-common/0.2.1 \ + crate://crates.io/ctrlc/3.5.2 \ crate://crates.io/data-encoding/2.10.0 \ crate://crates.io/data-encoding-macro/0.1.19 \ crate://crates.io/data-encoding-macro-internal/0.1.17 \ crate://crates.io/digest/0.10.7 \ + crate://crates.io/digest/0.11.2 \ crate://crates.io/dispatch2/0.3.0 \ crate://crates.io/displaydoc/0.2.5 \ crate://crates.io/dlv-list/0.5.2 \ crate://crates.io/dunce/1.0.5 \ crate://crates.io/either/1.15.0 \ crate://crates.io/encode_unicode/1.0.0 \ + crate://crates.io/equivalent/1.0.2 \ crate://crates.io/errno/0.3.14 \ crate://crates.io/fastrand/2.3.0 \ - crate://crates.io/find-msvc-tools/0.1.8 \ + crate://crates.io/find-msvc-tools/0.1.9 \ crate://crates.io/fixed_decimal/0.7.1 \ - crate://crates.io/flate2/1.1.8 \ + crate://crates.io/flate2/1.1.9 \ crate://crates.io/fluent/0.17.0 \ crate://crates.io/fluent-bundle/0.16.0 \ crate://crates.io/fluent-langneg/0.13.1 \ crate://crates.io/fluent-syntax/0.12.0 \ - crate://crates.io/fnv/1.0.7 \ + crate://crates.io/foldhash/0.1.5 \ + crate://crates.io/foldhash/0.2.0 \ crate://crates.io/generic-array/0.14.7 \ crate://crates.io/getrandom/0.2.17 \ crate://crates.io/getrandom/0.3.4 \ + crate://crates.io/getrandom/0.4.1 \ crate://crates.io/glob/0.3.3 \ crate://crates.io/hashbrown/0.14.5 \ + crate://crates.io/hashbrown/0.15.5 \ + crate://crates.io/hashbrown/0.16.1 \ + crate://crates.io/heck/0.5.0 \ crate://crates.io/hex/0.4.3 \ - crate://crates.io/iana-time-zone/0.1.64 \ + crate://crates.io/hybrid-array/0.4.8 \ + crate://crates.io/iana-time-zone/0.1.65 \ crate://crates.io/iana-time-zone-haiku/0.1.2 \ crate://crates.io/icu_calendar/2.1.1 \ crate://crates.io/icu_calendar_data/2.1.1 \ @@ -895,29 +936,32 @@ SRC_URI += " \ crate://crates.io/icu_provider/2.1.1 \ crate://crates.io/icu_time/2.1.1 \ crate://crates.io/icu_time_data/2.1.1 \ + crate://crates.io/id-arena/2.3.0 \ + crate://crates.io/indexmap/2.13.0 \ crate://crates.io/intl-memoizer/0.5.3 \ crate://crates.io/intl_pluralrules/7.0.2 \ crate://crates.io/is_terminal_polyfill/1.70.2 \ crate://crates.io/itertools/0.14.0 \ - crate://crates.io/ixdtf/0.6.4 \ - crate://crates.io/jiff/0.2.18 \ + crate://crates.io/itoa/1.0.17 \ + crate://crates.io/jiff/0.2.19 \ crate://crates.io/jiff-icu/0.2.2 \ - crate://crates.io/jiff-static/0.2.18 \ + crate://crates.io/jiff-static/0.2.19 \ crate://crates.io/jiff-tzdb/0.1.5 \ crate://crates.io/jiff-tzdb-platform/0.1.3 \ crate://crates.io/jobserver/0.1.34 \ crate://crates.io/js-sys/0.3.85 \ - crate://crates.io/keccak/0.1.5 \ - crate://crates.io/libc/0.2.180 \ - crate://crates.io/libfuzzer-sys/0.4.10 \ + crate://crates.io/keccak/0.1.6 \ + crate://crates.io/leb128fmt/0.1.0 \ + crate://crates.io/libc/0.2.182 \ + crate://crates.io/libfuzzer-sys/0.4.12 \ crate://crates.io/libm/0.2.16 \ - crate://crates.io/linux-raw-sys/0.11.0 \ + crate://crates.io/linux-raw-sys/0.12.1 \ crate://crates.io/litemap/0.8.1 \ crate://crates.io/log/0.4.29 \ crate://crates.io/md-5/0.10.6 \ - crate://crates.io/memchr/2.7.6 \ + crate://crates.io/memchr/2.8.0 \ crate://crates.io/miniz_oxide/0.8.9 \ - crate://crates.io/nix/0.30.1 \ + crate://crates.io/nix/0.31.2 \ crate://crates.io/nom/8.0.0 \ crate://crates.io/num-bigint/0.4.6 \ crate://crates.io/num-integer/0.1.46 \ @@ -931,45 +975,52 @@ SRC_URI += " \ crate://crates.io/ordered-multimap/0.7.3 \ crate://crates.io/os_display/0.1.4 \ crate://crates.io/outref/0.5.2 \ - crate://crates.io/parse_datetime/0.13.3 \ + crate://crates.io/parse_datetime/0.14.0 \ crate://crates.io/pkg-config/0.3.32 \ - crate://crates.io/portable-atomic/1.13.0 \ - crate://crates.io/portable-atomic-util/0.2.4 \ + crate://crates.io/portable-atomic/1.13.1 \ + crate://crates.io/portable-atomic-util/0.2.5 \ crate://crates.io/potential_utf/0.1.4 \ crate://crates.io/ppv-lite86/0.2.21 \ + crate://crates.io/prettyplease/0.2.37 \ crate://crates.io/proc-macro2/1.0.106 \ crate://crates.io/procfs/0.18.0 \ crate://crates.io/procfs-core/0.18.0 \ crate://crates.io/quote/1.0.44 \ crate://crates.io/r-efi/5.3.0 \ crate://crates.io/rand/0.9.2 \ + crate://crates.io/rand/0.10.0 \ crate://crates.io/rand_chacha/0.9.0 \ crate://crates.io/rand_core/0.9.5 \ + crate://crates.io/rand_core/0.10.0 \ crate://crates.io/rayon/1.11.0 \ crate://crates.io/rayon-core/1.13.0 \ - crate://crates.io/regex-automata/0.4.13 \ + crate://crates.io/regex/1.12.3 \ + crate://crates.io/regex-automata/0.4.14 \ + crate://crates.io/regex-syntax/0.8.9 \ crate://crates.io/rust-ini/0.21.3 \ crate://crates.io/rustc-hash/2.1.1 \ - crate://crates.io/rustix/1.1.3 \ + crate://crates.io/rustix/1.1.4 \ crate://crates.io/rustversion/1.0.22 \ crate://crates.io/self_cell/1.2.2 \ + crate://crates.io/semver/1.0.27 \ crate://crates.io/serde/1.0.228 \ crate://crates.io/serde_core/1.0.228 \ crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/serde_json/1.0.149 \ crate://crates.io/sha1/0.10.6 \ crate://crates.io/sha2/0.10.9 \ crate://crates.io/sha3/0.10.8 \ crate://crates.io/shlex/1.3.0 \ crate://crates.io/simd-adler32/0.3.8 \ - crate://crates.io/similar/2.7.0 \ - crate://crates.io/sm3/0.4.2 \ + crate://crates.io/similar/3.0.0 \ + crate://crates.io/sm3/0.5.0 \ crate://crates.io/smallvec/1.15.1 \ crate://crates.io/spin/0.10.0 \ crate://crates.io/stable_deref_trait/1.2.1 \ crate://crates.io/strsim/0.11.1 \ crate://crates.io/syn/2.0.114 \ crate://crates.io/synstructure/0.13.2 \ - crate://crates.io/tempfile/3.24.0 \ + crate://crates.io/tempfile/3.27.0 \ crate://crates.io/terminal_size/0.4.3 \ crate://crates.io/thiserror/2.0.18 \ crate://crates.io/thiserror-impl/2.0.18 \ @@ -981,6 +1032,7 @@ SRC_URI += " \ crate://crates.io/unic-langid-impl/0.9.6 \ crate://crates.io/unicode-ident/1.0.22 \ crate://crates.io/unicode-width/0.2.2 \ + crate://crates.io/unicode-xid/0.2.6 \ crate://crates.io/unit-prefix/0.5.2 \ crate://crates.io/utf16_iter/1.0.5 \ crate://crates.io/utf8_iter/1.0.4 \ @@ -989,10 +1041,14 @@ SRC_URI += " \ crate://crates.io/vsimd/0.8.0 \ crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ + crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ crate://crates.io/wasm-bindgen/0.2.108 \ crate://crates.io/wasm-bindgen-macro/0.2.108 \ crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ crate://crates.io/wasm-bindgen-shared/0.2.108 \ + crate://crates.io/wasm-encoder/0.244.0 \ + crate://crates.io/wasm-metadata/0.244.0 \ + crate://crates.io/wasmparser/0.244.0 \ crate://crates.io/wild/2.2.1 \ crate://crates.io/winapi-util/0.1.11 \ crate://crates.io/windows-core/0.62.2 \ @@ -1014,27 +1070,35 @@ SRC_URI += " \ crate://crates.io/windows_x86_64_msvc/0.53.1 \ crate://crates.io/winnow/0.7.14 \ crate://crates.io/wit-bindgen/0.51.0 \ + crate://crates.io/wit-bindgen-core/0.51.0 \ + crate://crates.io/wit-bindgen-rust/0.51.0 \ + crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ + crate://crates.io/wit-component/0.244.0 \ + crate://crates.io/wit-parser/0.244.0 \ crate://crates.io/write16/1.0.0 \ crate://crates.io/writeable/0.6.2 \ crate://crates.io/yoke/0.8.1 \ crate://crates.io/yoke-derive/0.8.1 \ crate://crates.io/z85/3.0.6 \ - crate://crates.io/zerocopy/0.8.34 \ - crate://crates.io/zerocopy-derive/0.8.34 \ + crate://crates.io/zerocopy/0.8.39 \ + crate://crates.io/zerocopy-derive/0.8.39 \ crate://crates.io/zerofrom/0.1.6 \ crate://crates.io/zerofrom-derive/0.1.6 \ crate://crates.io/zerotrie/0.2.3 \ crate://crates.io/zerovec/0.11.5 \ crate://crates.io/zerovec-derive/0.11.2 \ + crate://crates.io/zmij/1.0.21 \ " SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" SRC_URI[anstream-0.6.21.sha256sum] = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +SRC_URI[anyhow-1.0.102.sha256sum] = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" SRC_URI[arbitrary-1.4.2.sha256sum] = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" SRC_URI[arrayref-0.3.9.sha256sum] = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" @@ -1046,27 +1110,31 @@ SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acf SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" SRC_URI[blake3-1.8.3.sha256sum] = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[block-buffer-0.12.0.sha256sum] = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" SRC_URI[calendrical_calculations-0.2.3.sha256sum] = "3a0b39595c6ee54a8d0900204ba4c401d0ab4eb45adaf07178e8d017541529e7" -SRC_URI[cc-1.2.54.sha256sum] = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" +SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +SRC_URI[chacha20-0.10.0.sha256sum] = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" -SRC_URI[clap-4.5.54.sha256sum] = "c6e6ff9dcd79cff5cd969a17a545d79e84ab086e444102a591e288a8aa3ce394" -SRC_URI[clap_builder-4.5.54.sha256sum] = "fa42cf4d2b7a41bc8f663a7cab4031ebafa1bf3875705bfaf8466dc60ab52c00" +SRC_URI[clap-4.5.57.sha256sum] = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" +SRC_URI[clap_builder-4.5.57.sha256sum] = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" -SRC_URI[console-0.16.2.sha256sum] = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" +SRC_URI[console-0.16.3.sha256sum] = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" +SRC_URI[const-oid-0.10.2.sha256sum] = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +SRC_URI[cpufeatures-0.3.0.sha256sum] = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" SRC_URI[crc-fast-1.10.0.sha256sum] = "e75b2483e97a5a7da73ac68a05b629f9c53cff58d8ed1c77866079e18b00dba5" SRC_URI[crc32fast-1.5.0.sha256sum] = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" @@ -1074,34 +1142,43 @@ SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5 SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -SRC_URI[ctrlc-3.5.1.sha256sum] = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +SRC_URI[crypto-common-0.2.1.sha256sum] = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" +SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[digest-0.11.2.sha256sum] = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" +SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -SRC_URI[find-msvc-tools-0.1.8.sha256sum] = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" +SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" SRC_URI[fixed_decimal-0.7.1.sha256sum] = "35eabf480f94d69182677e37571d3be065822acfafd12f2f085db44fbbcc8e57" -SRC_URI[flate2-1.1.8.sha256sum] = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" +SRC_URI[flate2-1.1.9.sha256sum] = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" SRC_URI[fluent-langneg-0.13.1.sha256sum] = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" -SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +SRC_URI[getrandom-0.4.1.sha256sum] = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -SRC_URI[iana-time-zone-0.1.64.sha256sum] = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +SRC_URI[hybrid-array-0.4.8.sha256sum] = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" +SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" SRC_URI[icu_calendar-2.1.1.sha256sum] = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" SRC_URI[icu_calendar_data-2.1.1.sha256sum] = "527f04223b17edfe0bd43baf14a0cb1b017830db65f3950dc00224860a9a446d" @@ -1125,29 +1202,32 @@ SRC_URI[icu_properties_data-2.1.2.sha256sum] = "616c294cf8d725c6afcd8f55abc17c56 SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" SRC_URI[icu_time-2.1.1.sha256sum] = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" SRC_URI[icu_time_data-2.1.1.sha256sum] = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" +SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -SRC_URI[ixdtf-0.6.4.sha256sum] = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" -SRC_URI[jiff-0.2.18.sha256sum] = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" +SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +SRC_URI[jiff-0.2.19.sha256sum] = "d89a5b5e10d5a9ad6e5d1f4bd58225f655d6fe9767575a5e8ac5a6fe64e04495" SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" -SRC_URI[jiff-static-0.2.18.sha256sum] = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" +SRC_URI[jiff-static-0.2.19.sha256sum] = "ff7a39c8862fc1369215ccf0a8f12dd4598c7f6484704359f0351bd617034dbf" SRC_URI[jiff-tzdb-0.1.5.sha256sum] = "68971ebff725b9e2ca27a601c5eb38a4c5d64422c4cbab0c535f248087eda5c2" SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" SRC_URI[jobserver-0.1.34.sha256sum] = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" SRC_URI[js-sys-0.3.85.sha256sum] = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" -SRC_URI[keccak-0.1.5.sha256sum] = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -SRC_URI[libc-0.2.180.sha256sum] = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" -SRC_URI[libfuzzer-sys-0.4.10.sha256sum] = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" +SRC_URI[keccak-0.1.6.sha256sum] = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" +SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" +SRC_URI[libfuzzer-sys-0.4.12.sha256sum] = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" -SRC_URI[linux-raw-sys-0.11.0.sha256sum] = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" SRC_URI[litemap-0.8.1.sha256sum] = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" SRC_URI[log-0.4.29.sha256sum] = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +SRC_URI[nix-0.31.2.sha256sum] = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" @@ -1161,45 +1241,52 @@ SRC_URI[onig_sys-69.9.1.sha256sum] = "c7f86c6eef3d6df15f23bcfb6af487cbd2fed4e558 SRC_URI[ordered-multimap-0.7.3.sha256sum] = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" SRC_URI[os_display-0.1.4.sha256sum] = "ad5fd71b79026fb918650dde6d125000a233764f1c2f1659a1c71118e33ea08f" SRC_URI[outref-0.5.2.sha256sum] = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" -SRC_URI[parse_datetime-0.13.3.sha256sum] = "acea383beda9652270f3c9678d83aa58cbfc16880343cae0c0c8c7d6c0974132" +SRC_URI[parse_datetime-0.14.0.sha256sum] = "413775a7eac2261d2211a79d10ef275e5b6f7b527eec42ad09adce2ffa92b6e5" SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" -SRC_URI[portable-atomic-1.13.0.sha256sum] = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" -SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +SRC_URI[rand-0.10.0.sha256sum] = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" SRC_URI[rand_core-0.9.5.sha256sum] = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +SRC_URI[rand_core-0.10.0.sha256sum] = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" -SRC_URI[regex-automata-0.4.13.sha256sum] = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +SRC_URI[regex-automata-0.4.14.sha256sum] = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +SRC_URI[regex-syntax-0.8.9.sha256sum] = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" SRC_URI[rust-ini-0.21.3.sha256sum] = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" -SRC_URI[rustix-1.1.3.sha256sum] = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" SRC_URI[self_cell-1.2.2.sha256sum] = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" +SRC_URI[semver-1.0.27.sha256sum] = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" -SRC_URI[similar-2.7.0.sha256sum] = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" -SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860" +SRC_URI[similar-3.0.0.sha256sum] = "26d0b06eba54f0ca0770f970a3e89823e766ca638dd940f8469fa0fa50c75396" +SRC_URI[sm3-0.5.0.sha256sum] = "da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6" SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" SRC_URI[spin-0.10.0.sha256sum] = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -SRC_URI[tempfile-3.24.0.sha256sum] = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +SRC_URI[tempfile-3.27.0.sha256sum] = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" SRC_URI[thiserror-impl-2.0.18.sha256sum] = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" @@ -1211,6 +1298,7 @@ SRC_URI[unic-langid-0.9.6.sha256sum] = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84c SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" @@ -1219,10 +1307,14 @@ SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5 SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" @@ -1244,15 +1336,21 @@ SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436 SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" SRC_URI[yoke-derive-0.8.1.sha256sum] = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" SRC_URI[z85-3.0.6.sha256sum] = "9b3a41ce106832b4da1c065baa4c31cf640cf965fa1483816402b7f6b96f0a64" -SRC_URI[zerocopy-0.8.34.sha256sum] = "71ddd76bcebeed25db614f82bf31a9f4222d3fbba300e6fb6c00afa26cbd4d9d" -SRC_URI[zerocopy-derive-0.8.34.sha256sum] = "d8187381b52e32220d50b255276aa16a084ec0a9017a0ca2152a1f55c539758d" +SRC_URI[zerocopy-0.8.39.sha256sum] = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" +SRC_URI[zerocopy-derive-0.8.39.sha256sum] = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" SRC_URI[zerovec-0.11.5.sha256sum] = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +SRC_URI[zmij-1.0.21.sha256sum] = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.6.0.bb b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.6.0.bb deleted file mode 100644 index 2d0963c4b5c..00000000000 --- a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.6.0.bb +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright (c) 2022, Snap Inc. -# Released under the MIT license (see COPYING.MIT for the terms) -SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust" -HOMEPAGE = "https://github.com/uutils/coreutils" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e74349878141b240070458d414ab3b64" - -inherit cargo cargo-update-recipe-crates - -SRC_URI = " \ - git://github.com/uutils/coreutils.git;protocol=https;branch=main;tag=${PV} \ -" - -SRCREV = "2319a99057d11b0c9744c885df84806eea019166" - -require ${BPN}-crates.inc - -PROVIDES = "coreutils" -RPROVIDES:${PN} = "coreutils" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux systemd', d)}" -PACKAGECONFIG[selinux] = "--features feat_selinux,,clang-native libselinux-native libselinux" -PACKAGECONFIG[systemd] = "--features feat_systemd_logind,,systemd" - -CARGO_BUILD_FLAGS += "--features unix --features feat_external_libstdbuf" - -# The code which follows is strongly inspired from the GNU coreutils bitbake recipe: - -# df mktemp nice printenv base32 base64 get a special treatment and are not included in this -bindir_progs = "[ arch basename cksum comm csplit cut dir dircolors dirname du \ - env expand expr factor fmt fold groups head hostid id install \ - join link logname md5sum mkfifo nl nohup nproc od paste pathchk \ - pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \ - sha384sum sha512sum shred shuf sort split stdbuf sum tac tail tee test timeout \ - tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes" - -bindir_progs += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'chcon runcon', '', d)}" - -base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \ - mknod mv pwd rm rmdir sleep stty sync touch true uname stat" - -sbindir_progs = "chroot" - -FILES:${PN}:append = " ${libdir}/coreutils/libstdbuf.so" -inherit update-alternatives - -# Higher than busybox (which uses 50) -ALTERNATIVE_PRIORITY = "100" - -# Higher than net-tools (which uses 100) -ALTERNATIVE_PRIORITY[hostname] = "110" - -ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df" - -# Use the multicall binary named "coreutils" for symlinks -ALTERNATIVE_TARGET = "${bindir}/coreutils" - -python __anonymous() { - for prog in d.getVar('base_bindir_progs').split(): - d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) - - for prog in d.getVar('sbindir_progs').split(): - d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog)) -} - -BBCLASSEXTEND = "native nativesdk" - -do_compile:prepend() { - export LIBSTDBUF_DIR="${libdir}/coreutils" -} - -do_install:append() { - mkdir -p ${D}${libdir}/coreutils - cp ${B}/target/${CARGO_TARGET_SUBDIR}/deps/libstdbuf.so ${D}${libdir}/coreutils/libstdbuf.so -} diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.8.0.bb b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.8.0.bb new file mode 100644 index 00000000000..8b9b4dc199a --- /dev/null +++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.8.0.bb @@ -0,0 +1,75 @@ +# Copyright (c) 2022, Snap Inc. +# Released under the MIT license (see COPYING.MIT for the terms) +SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust" +HOMEPAGE = "https://github.com/uutils/coreutils" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e74349878141b240070458d414ab3b64" + +inherit cargo cargo-update-recipe-crates + +SRC_URI = " \ + git://github.com/uutils/coreutils.git;protocol=https;branch=main;tag=${PV} \ +" + +SRCREV = "c4093734e2ebe2efb7d65e216cd1444664bcf26a" + +require ${BPN}-crates.inc + +PROVIDES = "coreutils" +RPROVIDES:${PN} = "coreutils" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux systemd', d)}" +PACKAGECONFIG[selinux] = "--features feat_selinux,,clang-native libselinux-native libselinux" +PACKAGECONFIG[systemd] = "--features feat_systemd_logind,,systemd" + +CARGO_BUILD_FLAGS += "--features unix --features feat_external_libstdbuf" + +# The code which follows is strongly inspired from the GNU coreutils bitbake recipe: + +# df mktemp nice printenv base32 base64 get a special treatment and are not included in this +bindir_progs = "[ arch basename cksum comm csplit cut dir dircolors dirname du \ + env expand expr factor fmt fold groups head hostid id install \ + join link logname md5sum mkfifo nl nohup nproc od paste pathchk \ + pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \ + sha384sum sha512sum shred shuf sort split stdbuf sum tac tail tee test timeout \ + tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes" + +bindir_progs += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'chcon runcon', '', d)}" + +base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \ + mknod mv pwd rm rmdir sleep stty sync touch true uname stat" + +sbindir_progs = "chroot" + +FILES:${PN}:append = " ${libdir}/coreutils/libstdbuf.so" +inherit update-alternatives + +# Higher than busybox (which uses 50) +ALTERNATIVE_PRIORITY = "100" + +# Higher than net-tools (which uses 100) +ALTERNATIVE_PRIORITY[hostname] = "110" + +ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df" + +# Use the multicall binary named "coreutils" for symlinks +ALTERNATIVE_TARGET = "${bindir}/coreutils" + +python __anonymous() { + for prog in d.getVar('base_bindir_progs').split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) + + for prog in d.getVar('sbindir_progs').split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog)) +} + +BBCLASSEXTEND = "native nativesdk" + +do_compile:prepend() { + export LIBSTDBUF_DIR="${libdir}/coreutils" +} + +do_install:append() { + mkdir -p ${D}${libdir}/coreutils + cp ${B}/target/${CARGO_TARGET_SUBDIR}/deps/libstdbuf.so ${D}${libdir}/coreutils/libstdbuf.so +} diff --git a/meta-oe/recipes-crypto/botan/botan_3.10.0.bb b/meta-oe/recipes-crypto/botan/botan_3.10.0.bb deleted file mode 100644 index dcc0e6aa771..00000000000 --- a/meta-oe/recipes-crypto/botan/botan_3.10.0.bb +++ /dev/null @@ -1,67 +0,0 @@ -SUMMARY = "Crypto and TLS for C++11" -HOMEPAGE = "https://botan.randombit.net" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://license.txt;md5=3f911cecfc74a2d9f1ead9a07bd92a6e" -SECTION = "libs" - -SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz \ - file://run-ptest" -SRC_URI[sha256sum] = "fde194236f6d5434f136ea0a0627f6cc9d26af8b96e9f1e1c7d8c82cd90f4f24" - -S = "${UNPACKDIR}/Botan-${PV}" - -inherit python3native siteinfo lib_package ptest - -CPU ?= "${TARGET_ARCH}" -CPU:x86 = "x86_32" -CPU:armv7a = "armv7" -CPU:armv7ve = "armv7" - -do_configure() { - python3 ${S}/configure.py \ - --prefix="${exec_prefix}" \ - --libdir="${libdir}" \ - --cpu="${CPU}" \ - --cc-bin="${CXX}" \ - --cxxflags="${CXXFLAGS}" \ - --ldflags="${LDFLAGS}" \ - --with-sysroot-dir=${STAGING_DIR_HOST} \ - --with-build-dir="${B}" \ - --optimize-for-size \ - --with-stack-protector \ - --enable-shared-library \ - --with-python-versions=3 \ - ${EXTRA_OECONF} -} - -do_compile() { - sed -i -e 's|${WORKDIR}||g' ${B}/build/target_info.h - oe_runmake -} - -do_install() { - oe_runmake DESTDIR=${D} install - sed -i -e 's|${WORKDIR}||g' ${D}${includedir}/botan-3/botan/build.h - - # Add botan binary and test tool - install -d ${D}${bindir} - install -d ${D}${datadir}/${PN}/tests/data - install -m 0755 ${B}/botan-test ${D}${bindir} - cp -R --no-dereference --preserve=mode,links -v ${B}/src/tests/data/* ${D}${datadir}/${PN}/tests/data/ -} - -PACKAGES += "${PN}-test ${PN}-python3" - -FILES:${PN}-python3 = "${libdir}/python3" - -RDEPENDS:${PN}-python3 += "python3" -RDEPENDS:${PN}-bin += "${PN}" -RDEPENDS:${PN}-test += "${PN} ca-certificates" -RDEPENDS:${PN}-ptest += "${PN}-test" -FILES:${PN}:remove = "${bindir}/*" -FILES:${PN}-bin:remove = "${bindir}/*" -FILES:${PN}-bin = "${bindir}/botan" -FILES:${PN}-test = "${bindir}/botan-test ${datadir}/${PN}/tests/data" -COMPATIBLE_HOST:riscv32 = "null" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-crypto/botan/botan_3.11.1.bb b/meta-oe/recipes-crypto/botan/botan_3.11.1.bb new file mode 100644 index 00000000000..2d6b64ad648 --- /dev/null +++ b/meta-oe/recipes-crypto/botan/botan_3.11.1.bb @@ -0,0 +1,70 @@ +SUMMARY = "Crypto and TLS for C++11" +HOMEPAGE = "https://botan.randombit.net" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://license.txt;md5=ed13158b71912fb101b89310b23b921f" +SECTION = "libs" + +SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz \ + file://run-ptest" +SRC_URI[sha256sum] = "c1cd7152519f4188591fa4f6ddeb116bc1004491f5f3c58aa99b00582eb8a137" + +S = "${UNPACKDIR}/Botan-${PV}" + +inherit python3native siteinfo lib_package ptest + +CPU ?= "${TARGET_ARCH}" +CPU:x86 = "x86_32" +CPU:armv7a = "armv7" +CPU:armv7ve = "armv7" + +do_configure() { + python3 ${S}/configure.py \ + --prefix="${exec_prefix}" \ + --libdir="${libdir}" \ + --cpu="${CPU}" \ + --cc-bin="${CXX}" \ + --cxxflags="${CXXFLAGS}" \ + --ldflags="${LDFLAGS}" \ + --with-sysroot-dir=${STAGING_DIR_HOST} \ + --with-build-dir="${B}" \ + --optimize-for-size \ + --with-stack-protector \ + --enable-shared-library \ + --with-python-versions=3 \ + ${EXTRA_OECONF} +} + +do_compile() { + sed -i -e 's|${WORKDIR}||g' ${B}/build/target_info.h + oe_runmake +} + +do_install() { + oe_runmake DESTDIR=${D} install + sed -i -e 's|${WORKDIR}||g' ${D}${includedir}/botan-3/botan/build.h + + # Add botan binary and test tool + install -d ${D}${bindir} + install -d ${D}${datadir}/${PN}/tests/data + install -m 0755 ${B}/botan-test ${D}${bindir} + cp -R --no-dereference --preserve=mode,links -v ${B}/src/tests/data/* ${D}${datadir}/${PN}/tests/data/ +} + +PACKAGES += "${PN}-test ${PN}-python3" + +FILES:${PN}-python3 = "${libdir}/python3" + +RDEPENDS:${PN}-python3 += "python3" +RDEPENDS:${PN}-bin += "${PN}" +RDEPENDS:${PN}-test += "${PN} ca-certificates" +RDEPENDS:${PN}-ptest += "${PN}-test" +FILES:${PN}:remove = "${bindir}/*" +FILES:${PN}-bin:remove = "${bindir}/*" +FILES:${PN}-bin = "${bindir}/botan" +FILES:${PN}-test = "${bindir}/botan-test ${datadir}/${PN}/tests/data" +COMPATIBLE_HOST:riscv32 = "null" + +BBCLASSEXTEND = "native nativesdk" + +CVE_STATUS[CVE-2026-32877] = "fixed-version: fixed since 3.11.0" +CVE_STATUS[CVE-2026-32883] = "fixed-version: fixed since 3.11.0" diff --git a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.4.bb b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.4.bb deleted file mode 100644 index 34755fc3ade..00000000000 --- a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.4.bb +++ /dev/null @@ -1,121 +0,0 @@ -SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes" -DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \ -device-mapper mappings. These include plain dm-crypt volumes and \ -LUKS volumes. The difference is that LUKS uses a metadata header \ -and can hence offer more features than plain dm-crypt. On the other \ -hand, the header is visible and vulnerable to damage." -HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup" -SECTION = "console" -LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later & GPL-2.0-with-OpenSSL-exception & Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326 \ - file://docs/licenses/COPYING.Apache-2.0;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://docs/licenses/COPYING.GPL-2.0-or-later-WITH-cryptsetup-OpenSSL-exception;md5=32107dd283b1dfeb66c9b3e6be312326 \ - file://docs/licenses/COPYING.LGPL-2.1-or-later-WITH-cryptsetup-OpenSSL-exception;md5=1960515788100ce5f9c98ea78a65dc52 \ - file://README.licensing;md5=45c1ba157f18d08991819f41f56d72e9" - -DEPENDS = " \ - json-c \ - libdevmapper \ - popt \ - util-linux-libuuid \ -" - -DEPENDS:append:libc-musl = " argp-standalone" -LDFLAGS:append:libc-musl = " -largp" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" -SRC_URI[sha256sum] = "443e46f8964c9acc780f455afbb8e23aa0e8ed7ec504cfc59e04f406fa1e8a83" - -inherit autotools gettext pkgconfig - -# Use openssl because libgcrypt drops root privileges -# if libgcrypt is linked with libcap support -PACKAGECONFIG ??= " \ - keyring \ - cryptsetup \ - veritysetup \ - luks2-reencryption \ - integritysetup \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ - kernel_crypto \ - internal-argon2 \ - blkid \ - luks-adjust-xts-keysize \ - openssl \ - ssh-token \ -" -PACKAGECONFIG:append:class-target = " \ - udev \ -" - -PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring" -PACKAGECONFIG[fips] = "--enable-fips,--disable-fips" -PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality" -PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc" -PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup" -PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup" -PACKAGECONFIG[luks2-reencryption] = "--enable-luks2-reencryption,--disable-luks2-reencryption" -PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux" -PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,,udev lvm2" -PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto" -# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't -# recognized. -PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2" -PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2" -PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2" -PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" -PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random" -PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize" -PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl" -PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt" -PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss" -PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel" -PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle" -PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1" -PACKAGECONFIG[ssh-token] = "--enable-ssh-token,--disable-ssh-token,libssh" - -EXTRA_OECONF = "--enable-static" -# Building without largefile is not supported by upstream -EXTRA_OECONF += "--enable-largefile" -# Requires a static popt library -EXTRA_OECONF += "--disable-static-cryptsetup" -# There's no recipe for libargon2 yet -EXTRA_OECONF += "--disable-libargon2" -# Disable documentation, there is no asciidoctor-native available in OE -EXTRA_OECONF += "--disable-asciidoc" -# libcryptsetup default PBKDF algorithm, Argon2 memory cost (KB), parallel threads and iteration time (ms) -LUKS2_PBKDF ?= "argon2i" -LUKS2_MEMORYKB ?= "1048576" -LUKS2_PARALLEL_THREADS ?= "4" -LUKS2_ITERTIME ?= "2000" - -EXTRA_OECONF += "--with-luks2-pbkdf=${LUKS2_PBKDF} \ - --with-luks2-memory-kb=${LUKS2_MEMORYKB} \ - --with-luks2-parallel-threads=${LUKS2_PARALLEL_THREADS} \ - --with-luks2-iter-time=${LUKS2_ITERTIME}" - -do_install:append() { - # The /usr/lib/cryptsetup directory is always created, even when ssh-token - # is disabled. In that case it is empty and causes a packaging error. Since - # there is no reason to distribute the empty directory, the easiest solution - # is to remove it if it is empty. - rmdir -p --ignore-fail-on-non-empty ${D}${libdir}/${BPN} -} - -FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}" - -RDEPENDS:${PN} = " \ - libdevmapper \ -" - -RRECOMMENDS:${PN}:class-target = " \ - kernel-module-aes-generic \ - kernel-module-dm-crypt \ - kernel-module-md5 \ - kernel-module-cbc \ - kernel-module-sha256-generic \ - kernel-module-xts \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.6.bb b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.6.bb new file mode 100644 index 00000000000..c754131e3f9 --- /dev/null +++ b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.6.bb @@ -0,0 +1,121 @@ +SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes" +DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \ +device-mapper mappings. These include plain dm-crypt volumes and \ +LUKS volumes. The difference is that LUKS uses a metadata header \ +and can hence offer more features than plain dm-crypt. On the other \ +hand, the header is visible and vulnerable to damage." +HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup" +SECTION = "console" +LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later & GPL-2.0-with-OpenSSL-exception & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326 \ + file://docs/licenses/COPYING.Apache-2.0;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://docs/licenses/COPYING.GPL-2.0-or-later-WITH-cryptsetup-OpenSSL-exception;md5=32107dd283b1dfeb66c9b3e6be312326 \ + file://docs/licenses/COPYING.LGPL-2.1-or-later-WITH-cryptsetup-OpenSSL-exception;md5=1960515788100ce5f9c98ea78a65dc52 \ + file://README.licensing;md5=45c1ba157f18d08991819f41f56d72e9" + +DEPENDS = " \ + json-c \ + libdevmapper \ + popt \ + util-linux-libuuid \ +" + +DEPENDS:append:libc-musl = " argp-standalone" +LDFLAGS:append:libc-musl = " -largp" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" +SRC_URI[sha256sum] = "8004265fd993885d08f7b633dbe056851de1a210307613a4ebddc743fccefe5a" + +inherit autotools gettext pkgconfig + +# Use openssl because libgcrypt drops root privileges +# if libgcrypt is linked with libcap support +PACKAGECONFIG ??= " \ + keyring \ + cryptsetup \ + veritysetup \ + luks2-reencryption \ + integritysetup \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ + kernel_crypto \ + internal-argon2 \ + blkid \ + luks-adjust-xts-keysize \ + openssl \ + ssh-token \ +" +PACKAGECONFIG:append:class-target = " \ + udev \ +" + +PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring" +PACKAGECONFIG[fips] = "--enable-fips,--disable-fips" +PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality" +PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc" +PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup" +PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup" +PACKAGECONFIG[luks2-reencryption] = "--enable-luks2-reencryption,--disable-luks2-reencryption" +PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,,udev libdevmapper" +PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto" +# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't +# recognized. +PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2" +PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2" +PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2" +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" +PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random" +PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize" +PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl" +PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt" +PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss" +PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel" +PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle" +PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1" +PACKAGECONFIG[ssh-token] = "--enable-ssh-token,--disable-ssh-token,libssh" + +EXTRA_OECONF = "--enable-static" +# Building without largefile is not supported by upstream +EXTRA_OECONF += "--enable-largefile" +# Requires a static popt library +EXTRA_OECONF += "--disable-static-cryptsetup" +# There's no recipe for libargon2 yet +EXTRA_OECONF += "--disable-libargon2" +# Disable documentation, there is no asciidoctor-native available in OE +EXTRA_OECONF += "--disable-asciidoc" +# libcryptsetup default PBKDF algorithm, Argon2 memory cost (KB), parallel threads and iteration time (ms) +LUKS2_PBKDF ?= "argon2i" +LUKS2_MEMORYKB ?= "1048576" +LUKS2_PARALLEL_THREADS ?= "4" +LUKS2_ITERTIME ?= "2000" + +EXTRA_OECONF += "--with-luks2-pbkdf=${LUKS2_PBKDF} \ + --with-luks2-memory-kb=${LUKS2_MEMORYKB} \ + --with-luks2-parallel-threads=${LUKS2_PARALLEL_THREADS} \ + --with-luks2-iter-time=${LUKS2_ITERTIME}" + +do_install:append() { + # The /usr/lib/cryptsetup directory is always created, even when ssh-token + # is disabled. In that case it is empty and causes a packaging error. Since + # there is no reason to distribute the empty directory, the easiest solution + # is to remove it if it is empty. + rmdir -p --ignore-fail-on-non-empty ${D}${libdir}/${BPN} +} + +FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}" + +RDEPENDS:${PN} = " \ + libdevmapper \ +" + +RRECOMMENDS:${PN}:class-target = " \ + kernel-module-aes-generic \ + kernel-module-dm-crypt \ + kernel-module-md5 \ + kernel-module-cbc \ + kernel-module-sha256-generic \ + kernel-module-xts \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-crypto/leancrypto/files/leancrypto-tests.sh b/meta-oe/recipes-crypto/leancrypto/files/leancrypto-tests.sh new file mode 100644 index 00000000000..5db9c4dc8be --- /dev/null +++ b/meta-oe/recipes-crypto/leancrypto/files/leancrypto-tests.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# SPDX-License-Identifier: MIT +# +# leancrypto test runner +# Runs all leancrypto test binaries and reports pass/fail summary +# + +TESTDIR="/usr/libexec/leancrypto/tests" +GREEN='\033[0;32m' +RED='\033[0;31m' +YELLOW='\033[0;33m' +NC='\033[0m' +PASS=0 +FAIL=0 +SKIP=0 +FAILED="" + +if [ ! -d "$TESTDIR" ]; then + echo "ERROR: Test directory $TESTDIR not found" + exit 1 +fi + +count=$(find "$TESTDIR" -maxdepth 1 -type f -executable | wc -l) +if [ "$count" -eq 0 ]; then + echo "ERROR: No test binaries found in $TESTDIR" + exit 1 +fi + +echo "Running $count leancrypto tests..." +echo "" + +for t in "$TESTDIR"/*; do + [ -x "$t" ] || continue + name=$(basename "$t") + printf "%-60s " "$name" + "$t" > /dev/null 2>&1 + rc=$? + if [ "$rc" -eq 0 ]; then + printf "${GREEN}PASS${NC}\n" + PASS=$((PASS + 1)) + elif [ "$rc" -eq 77 ]; then + printf "${YELLOW}SKIP${NC}\n" + SKIP=$((SKIP + 1)) + else + printf "${RED}FAIL${NC}\n" + FAIL=$((FAIL + 1)) + FAILED="$FAILED $name" + fi +done + +echo "" +echo "Results: $PASS passed, $FAIL failed, $SKIP skipped, $((PASS + FAIL + SKIP)) total" + +if [ "$FAIL" -gt 0 ]; then + echo "Failed tests:$FAILED" + exit 1 +fi diff --git a/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.2.bb b/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.2.bb new file mode 100644 index 00000000000..4c42b774908 --- /dev/null +++ b/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.2.bb @@ -0,0 +1,57 @@ +SUMMARY = "Lean cryptographic library with PQC-resistant algorithms" +DESCRIPTION = "leancrypto is a cryptographic library that exclusively contains \ +PQC-resistant cryptographic algorithms. It is lean, has minimal dependencies, \ +supports stack-only operation and provides optimized implementations for \ +ML-KEM (Kyber), ML-DSA (Dilithium), SLH-DSA (Sphincs+) and many more" +HOMEPAGE = "https://leancrypto.org" +LICENSE = "BSD-3-Clause | GPL-2.0-only" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=4cc9ea7ae2518fb4fb0bbd9d1a60cbf4 \ + file://LICENSE.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \ + file://LICENSE.gplv2;md5=eb723b61539feef013de476e68b5c50a \ + " +SECTION = "libs" +SRC_URI = "git://github.com/smuellerDD/leancrypto.git;branch=master;protocol=https;tag=v${PV} \ + file://leancrypto-tests.sh \ + " +SRCREV = "8a3e942baa3388ec9597c35005264ef9aefbf97c" + +inherit pkgconfig meson + +CVE_STATUS[CVE-2026-34610] = "fixed-version: fixed since v1.7.1" + +EXTRA_OEMESON = "-Dstrip=false" +TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" + +PACKAGECONFIG ??= "secure-exec apps tests" +PACKAGECONFIG[apps] = "-Dapps=enabled,-Dapps=disabled" +PACKAGECONFIG[small-stack] = "-Dsmall_stack=enabled,-Dsmall_stack=disabled" +PACKAGECONFIG[no-asm] = "-Ddisable-asm=true,-Ddisable-asm=false" +PACKAGECONFIG[efi] = "-Defi=enabled,-Defi=disabled" +PACKAGECONFIG[secure-exec] = "-Dsecure_execution=enabled,-Dsecure_execution=disabled" +PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled" + +do_install:append () { + if ${@bb.utils.contains('PACKAGECONFIG', 'tests', 'true', 'false', d)}; then + install -d ${D}${libexecdir}/leancrypto/tests + for t in $(find ${B} -maxdepth 3 -type f -executable \( -name '*_tester*' -o -name '*_test' \)); do + basename=$(basename "$t") + install -m 0755 "$t" ${D}${libexecdir}/leancrypto/tests/leancrypto_${basename} + done + install -d ${D}${bindir} + install -m 0755 ${UNPACKDIR}/leancrypto-tests.sh ${D}${bindir}/leancrypto-tests + fi +} + +PACKAGES =+ "${PN}-tests ${PN}-apps" + +RDEPENDS:${PN}-apps += "${PN}" +FILES:${PN}-apps = "${bindir}/lc_* \ + ${libexecdir}/leancrypto \ + " +RDEPENDS:${PN}-tests += "${PN}" +FILES:${PN}-tests = "${bindir}/leancrypto-tests \ + ${libexecdir}/leancrypto/tests \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb b/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb index 7d270819649..532c9e29df0 100644 --- a/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb +++ b/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb @@ -9,6 +9,8 @@ SRC_URI = "git://github.com/smuellerDD/libkcapi.git;branch=master;protocol=https inherit autotools +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + PACKAGECONFIG ??= "" PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash" PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,," diff --git a/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb b/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb index c55a01d3b9d..fca29eed059 100644 --- a/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb +++ b/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb @@ -16,6 +16,8 @@ UPSTREAM_CHECK_REGEX = "Libmcrypt/(?P\d+(\.\d+)+)/" inherit autotools-brokensep gettext binconfig multilib_script +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + CFLAGS += "-Wno-error=implicit-int" do_configure() { diff --git a/meta-oe/recipes-crypto/libsodium/libsodium/CVE-2025-69277.patch b/meta-oe/recipes-crypto/libsodium/libsodium/CVE-2025-69277.patch deleted file mode 100644 index a2ced62760f..00000000000 --- a/meta-oe/recipes-crypto/libsodium/libsodium/CVE-2025-69277.patch +++ /dev/null @@ -1,61 +0,0 @@ -From ad3004ec8731730e93fcfbbc824e67eadc1c1bae Mon Sep 17 00:00:00 2001 -From: Frank Denis -Date: Mon, 29 Dec 2025 23:22:15 +0100 -Subject: [PATCH] core_ed25519_is_valid_point: check Y==Z in addition to X==0 - -CVE: CVE-2025-69277 -Upstream-Status: Backport [https://github.com/jedisct1/libsodium/commit/ad3004ec8731730e93fcfbbc824e67eadc1c1bae] -Signed-off-by: Peter Marko ---- - src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c | 5 ++++- - test/default/core_ed25519.c | 7 ++++++- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c b/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c -index d3020132..4b824f6d 100644 ---- a/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c -+++ b/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c -@@ -1141,10 +1141,13 @@ int - ge25519_is_on_main_subgroup(const ge25519_p3 *p) - { - ge25519_p3 pl; -+ fe25519 t; - - ge25519_mul_l(&pl, p); - -- return fe25519_iszero(pl.X); -+ fe25519_sub(t, pl.Y, pl.Z); -+ -+ return fe25519_iszero(pl.X) & fe25519_iszero(t); - } - - int -diff --git a/test/default/core_ed25519.c b/test/default/core_ed25519.c -index bc457493..02f72bd6 100644 ---- a/test/default/core_ed25519.c -+++ b/test/default/core_ed25519.c -@@ -13,6 +13,10 @@ static const unsigned char max_canonical_p[32] = { - 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f - }; -+static const unsigned char not_main_subgroup_p[32] = { -+ 0x95, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, -+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99 -+}; - static const unsigned char L_p1[32] = { - 0xee, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 -@@ -133,11 +137,12 @@ main(void) - assert(crypto_core_ed25519_is_valid_point(p) == 0); - - p[0] = 9; -- assert(crypto_core_ed25519_is_valid_point(p) == 1); -+ assert(crypto_core_ed25519_is_valid_point(p) == 0); - - assert(crypto_core_ed25519_is_valid_point(max_canonical_p) == 1); - assert(crypto_core_ed25519_is_valid_point(non_canonical_invalid_p) == 0); - assert(crypto_core_ed25519_is_valid_point(non_canonical_p) == 0); -+ assert(crypto_core_ed25519_is_valid_point(not_main_subgroup_p) == 0); - - memcpy(p2, p, crypto_core_ed25519_BYTES); - add_P(p2); diff --git a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.20.bb b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.20.bb deleted file mode 100644 index 972b8b86948..00000000000 --- a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.20.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "The Sodium crypto library" -HOMEPAGE = "http://libsodium.org/" -BUGTRACKER = "https://github.com/jedisct1/libsodium/issues" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c59be7bb29f8e431b5f2d690b6734185" - -SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz" -SRC_URI[sha256sum] = "ebb65ef6ca439333c2bb41a0c1990587288da07f6c7fd07cb3a18cc18d30ce19" - -SRC_URI += "file://CVE-2025-69277.patch" - -inherit autotools - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.22.bb b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.22.bb new file mode 100644 index 00000000000..fbd14a81818 --- /dev/null +++ b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.22.bb @@ -0,0 +1,15 @@ +SUMMARY = "The Sodium crypto library" +HOMEPAGE = "http://libsodium.org/" +BUGTRACKER = "https://github.com/jedisct1/libsodium/issues" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4942a8ebbbc7f2212bd68a47df264a4f" + +SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz" +SRC_URI[sha256sum] = "adbdd8f16149e81ac6078a03aca6fc03b592b89ef7b5ed83841c086191be3349" + + +inherit autotools + +BBCLASSEXTEND = "native nativesdk" + +CVE_STATUS[CVE-2025-69277] = "fixed-version: fixed in 1.0.20" diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_11.4.9.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_11.4.10.bb similarity index 100% rename from meta-oe/recipes-dbs/mysql/mariadb-native_11.4.9.bb rename to meta-oe/recipes-dbs/mysql/mariadb-native_11.4.10.bb diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc index 4fcb5a1e40c..9470184d3d4 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -23,12 +23,10 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://lfs64.patch \ file://0001-Add-missing-includes-cstdint-and-cstdio.patch \ file://riscv32.patch \ - file://0001-Remove-x86-specific-loop-in-my_convert.patch \ file://0001-support-reproducible-builds.patch \ file://0001-storage-mroonga-CMakeLists.txt-fix-reproducible-buil.patch \ - file://0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch \ " -SRC_URI[sha256sum] = "8e481ca29b5a740444d45451c8ea2d93711cf525d6fa5d27bc9512cf8973b075" +SRC_URI[sha256sum] = "14783ddc5edd966ff05aa0efd5ed6d3d369ed5b9e4080a448f00f87a9f0a4a6b" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/tags" diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch deleted file mode 100644 index f1e07e304a0..00000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 61bc216ff9e1d0a8a7fafce57ba916018cd6ac6d Mon Sep 17 00:00:00 2001 -From: Vladislav Vaintroub -Date: Wed, 19 Nov 2025 13:01:56 +0100 -Subject: [PATCH] MDEV-38029 my_tzinfo-t fails for certain TZ values on musl - -From: Vladislav Vaintroub - -The test fails for TZ values such as `PST8PDT` (present but outdated in -tzdb) and custom forms like `GST-1GDT`. On musl, these values do not -trigger the expected DST transitions, leading to incorrect DST offsets -or abbreviations. - -This appears to be a musl libc bug; the same TZ values behave correctly -elsewhere, including Windows. We work around it by skipping the -affected tests when musl is detected. - -Upstream-Status: Submitted [https://github.com/MariaDB/server/pull/4452] -Signed-off-by: Gyorgy Sarvari ---- - unittest/mysys/my_tzinfo-t.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/unittest/mysys/my_tzinfo-t.c b/unittest/mysys/my_tzinfo-t.c -index b38ebd37..585d52f8 100644 ---- a/unittest/mysys/my_tzinfo-t.c -+++ b/unittest/mysys/my_tzinfo-t.c -@@ -112,6 +112,20 @@ void test_timezone(const char *tz_env, const char **expected_tznames, - } - } - ok(found, "%s: timezone_name = %s", tz_env, timezone_name); -+ -+#if defined __linux__ && !defined __GLIBC__ && !defined __UCLIBC__ -+ /* -+ MUSL incorrectly calculates UTC offsets and abbreviations -+ for certain values of TZ (DST related). See MDEV-38029 -+ Skip tests in this case. -+ */ -+ if (!strcmp(tz_env, "PST8PDT") || !strcmp(tz_env, "GST-1GDT")) -+ { -+ skip(6, "musl UTC offset/abbreviation bug, tzname %s, see MDEV-38029", tz_env); -+ return; -+ } -+#endif -+ - my_tzinfo(SUMMER_TIMESTAMP, &tz); - ok(summer_gmt_off == tz.seconds_offset, "%s: Summer GMT offset %ld", tz_env, tz.seconds_offset); - check_utc_offset(SUMMER_TIMESTAMP,tz.seconds_offset, tz_env); diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-x86-specific-loop-in-my_convert.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-x86-specific-loop-in-my_convert.patch deleted file mode 100644 index afcf4fe843e..00000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-x86-specific-loop-in-my_convert.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 79d2a95391abc133e86688696ae21628b7035b2d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= - -Date: Wed, 1 Oct 2025 09:29:04 +0200 -Subject: [PATCH] Remove x86 specific loop in my_convert() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -mysqldump/mariadb-dump crashes with this backtrace: - -| (gdb) bt -| #0 my_convert (to=, to_length=160, to_cs=0x55b5740fbda0 , from=, from_length=40, -| from_cs=0x55b57408bda0 , errors=0x7f950c35cd6c) at /usr/src/debug/mariadb/11.8.3/strings/ctype.c:1256 -| #1 0x000055b572d9f4a0 in copy_and_convert (to=0x7f94fc00c9db "Configuratiogicate_log\020automagicate_log\017is_done_message\017is_done_message", -| to_length=, to_cs=, from=0x7f94fc059f37 "Configuration downloading from portal...", from_length=40, from_cs=, -| errors=0x7f950c35cd6c) at /usr/src/debug/mariadb/11.8.3/sql/sql_string.h:53 -| #2 Protocol::net_store_data_cs (this=0x7f94fc001260, from=0x7f94fc059f37 "Configuration downloading from portal...", length=40, from_cs=, -| to_cs=) at /usr/src/debug/mariadb/11.8.3/sql/protocol.cc:114 -| #3 0x000055b572da103f in Protocol::send_result_set_row (this=this@entry=0x7f94fc001260, row_items=row_items@entry=0x7f94fc013418) -| at /usr/src/debug/mariadb/11.8.3/sql/protocol.cc:1359 -| #4 0x000055b572e19442 in select_send::send_data (this=0x7f94fc014f78, items=...) at /usr/src/debug/mariadb/11.8.3/sql/sql_class.cc:3294 -| #5 0x000055b572ef7c69 in select_result_sink::send_data_with_check (u=, sent=, this=, items=...) -| at /usr/src/debug/mariadb/11.8.3/sql/sql_class.h:6264 -| #6 select_result_sink::send_data_with_check (this=, items=..., u=, sent=) -| at /usr/src/debug/mariadb/11.8.3/sql/sql_class.h:6254 -| #7 end_send (join=, join_tab=, end_of_records=) at /usr/src/debug/mariadb/11.8.3/sql/sql_select.cc:25629 -| #8 0x000055b572ec38b6 in evaluate_join_record (join=join@entry=0x7f94fc014fa0, join_tab=join_tab@entry=0x7f94fc016940, error=error@entry=0) -| at /usr/src/debug/mariadb/11.8.3/sql/sql_select.cc:24523 -| #9 0x000055b572edcbf2 in sub_select (join=0x7f94fc014fa0, join_tab=0x7f94fc016940, end_of_records=) -| at /usr/src/debug/mariadb/11.8.3/sql/sql_select.cc:24290 -| #10 0x000055b572f119c6 in do_select (join=0x7f94fc014fa0, procedure=) at /usr/src/debug/mariadb/11.8.3/sql/sql_select.cc:23801 -| #11 JOIN::exec_inner (this=this@entry=0x7f94fc014fa0) at /usr/src/debug/mariadb/11.8.3/sql/sql_select.cc:5071 -| #12 0x000055b572f11d43 in JOIN::exec (this=this@entry=0x7f94fc014fa0) at /usr/src/debug/mariadb/11.8.3/sql/sql_select.cc:4859 -| #13 0x000055b572f0ffe6 in mysql_select (thd=thd@entry=0x7f94fc000cd8, tables=0x7f94fc013f38, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, -| proc_param=0x0, select_options=551922436864, result=0x7f94fc014f78, unit=0x7f94fc005038, select_lex=0x7f94fc013160) -| at /usr/src/debug/mariadb/11.8.3/sql/sql_select.cc:5387 -| #14 0x000055b572f107dd in handle_select (thd=thd@entry=0x7f94fc000cd8, lex=lex@entry=0x7f94fc004f58, result=result@entry=0x7f94fc014f78, -| setup_tables_done_option=setup_tables_done_option@entry=0) at /usr/src/debug/mariadb/11.8.3/sql/sql_select.cc:633 -| #15 0x000055b572e77d9e in execute_sqlcom_select (thd=thd@entry=0x7f94fc000cd8, all_tables=0x7f94fc013f38) at /usr/src/debug/mariadb/11.8.3/sql/sql_parse.cc:6190 -| #16 0x000055b572e877be in mysql_execute_command (thd=thd@entry=0x7f94fc000cd8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) -| at /usr/src/debug/mariadb/11.8.3/sql/sql_parse.cc:3975 -| #17 0x000055b572e88e03 in mysql_parse (thd=0x7f94fc000cd8, rawbuf=, length=, parser_state=) -| at /usr/src/debug/mariadb/11.8.3/sql/sql_parse.cc:7905 -| #18 0x000055b572e8b2a1 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f94fc000cd8, packet=packet@entry=0x7f94fc0088a9 "", -| packet_length=packet_length@entry=152, blocking=blocking@entry=true) at /usr/src/debug/mariadb/11.8.3/sql/sql_parse.cc:1903 -| #19 0x000055b572e8cf7c in do_command (thd=thd@entry=0x7f94fc000cd8, blocking=blocking@entry=true) at /usr/src/debug/mariadb/11.8.3/sql/sql_parse.cc:1416 -| #20 0x000055b572fcfc0d in do_handle_one_connection (connect=, put_in_cache=true) at /usr/src/debug/mariadb/11.8.3/sql/sql_connect.cc:1415 -| #21 0x000055b572fcffc5 in handle_one_connection (arg=arg@entry=0x55b57943cbd8) at /usr/src/debug/mariadb/11.8.3/sql/sql_connect.cc:1327 -| #22 0x000055b573382440 in pfs_spawn_thread (arg=0x55b5795eb598) at /usr/src/debug/mariadb/11.8.3/storage/perfschema/pfs.cc:2198 -| #23 0x00007f952e8571dd in start_thread (arg=) at pthread_create.c:448 -| #24 0x00007f952e8d318c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 - -See also: -https://jira.mariadb.org/browse/MDEV-37786 -https://jira.mariadb.org/browse/MDEV-37148 - -Signed-off-by: Zoltán Böszörményi -Upstream-Status: Inappropriate [oe specific] ---- - strings/ctype.c | 16 ---------------- - 1 file changed, 16 deletions(-) - -diff --git a/strings/ctype.c b/strings/ctype.c -index 629514e5e9c..d7e788c693b 100644 ---- a/strings/ctype.c -+++ b/strings/ctype.c -@@ -1243,22 +1243,6 @@ my_convert(char *to, uint32 to_length, CHARSET_INFO *to_cs, - - length= length2= MY_MIN(to_length, from_length); - --#if defined(__i386__) || defined(__x86_64__) -- /* -- Special loop for i386, it allows to refer to a -- non-aligned memory block as UINT32, which makes -- it possible to copy four bytes at once. This -- gives about 10% performance improvement comparing -- to byte-by-byte loop. -- */ -- for ( ; length >= 4; length-= 4, from+= 4, to+= 4) -- { -- if ((*(uint32*)from) & 0x80808080) -- break; -- *((uint32*) to)= *((const uint32*) from); -- } --#endif /* __i386__ */ -- - for (; ; *to++= *from++, length--) - { - if (!length) --- -2.51.0 - diff --git a/meta-oe/recipes-dbs/mysql/mariadb_11.4.9.bb b/meta-oe/recipes-dbs/mysql/mariadb_11.4.10.bb similarity index 100% rename from meta-oe/recipes-dbs/mysql/mariadb_11.4.9.bb rename to meta-oe/recipes-dbs/mysql/mariadb_11.4.10.bb diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-tcl.m4-Recognize-tclsh9.patch b/meta-oe/recipes-dbs/postgresql/files/0001-tcl.m4-Recognize-tclsh9.patch index 89a509087fd..445a6d49108 100644 --- a/meta-oe/recipes-dbs/postgresql/files/0001-tcl.m4-Recognize-tclsh9.patch +++ b/meta-oe/recipes-dbs/postgresql/files/0001-tcl.m4-Recognize-tclsh9.patch @@ -1,4 +1,4 @@ -From f0d8240dbf594e6dfab31fd7d70ce340ac365a65 Mon Sep 17 00:00:00 2001 +From ab23817b4f4a02de21f63800adc30d6236c15c8b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 3 Nov 2024 15:50:50 -0800 Subject: [PATCH] tcl.m4: Recognize tclsh9 diff --git a/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch b/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch index b3e87cbc46b..e0605347e3b 100644 --- a/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch +++ b/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch @@ -1,7 +1,7 @@ -From 084cc44215c1d5e6d33bc3d2e1d24da4fc98bdcd Mon Sep 17 00:00:00 2001 +From 736c190e0c8a1c5ce3dc84292d066292e969d81e Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Mon, 28 Dec 2020 16:38:21 +0800 -Subject: [PATCH 2/5] Improve reproducibility, +Subject: [PATCH] Improve reproducibility, Remove build patch from binaries which pg_config do not record var-CC, var-CFLAGS, and configure @@ -23,7 +23,7 @@ Signed-off-by: Changqing Li 1 file changed, 3 deletions(-) diff --git a/src/common/Makefile b/src/common/Makefile -index 113029b..58842a6 100644 +index 3d83299..e14cda6 100644 --- a/src/common/Makefile +++ b/src/common/Makefile @@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.global @@ -36,6 +36,3 @@ index 113029b..58842a6 100644 override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\"" override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\"" override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\"" --- -2.25.1 - diff --git a/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch index ce19bacc472..b91228aedd1 100644 --- a/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch +++ b/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch @@ -1,4 +1,4 @@ -From 30b1b37d309f67ba6d58f2197bd917107bc7d56c Mon Sep 17 00:00:00 2001 +From 29289c6f5b665ed9943bb7701a542fcdf64c4a22 Mon Sep 17 00:00:00 2001 From: Yi Fan Yu Date: Fri, 5 Feb 2021 17:15:42 -0500 Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check @@ -13,12 +13,12 @@ Signed-off-by: Yi Fan Yu 1 file changed, 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 642dbde..af37179 100644 +index 856b091..646394c 100644 --- a/configure.ac +++ b/configure.ac @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros - AC_INIT([PostgreSQL], [17.7], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) + AC_INIT([PostgreSQL], [17.8], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. -Untested combinations of 'autoconf' and PostgreSQL versions are not diff --git a/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch b/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch index d94f0280366..1514c223c1f 100644 --- a/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch +++ b/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch @@ -1,4 +1,4 @@ -From 62733bdc9346651637d9e5ac7cbf8d7311ef5d97 Mon Sep 17 00:00:00 2001 +From e4b32033827ed73c95e6e6aa26dd45e828ffc18b Mon Sep 17 00:00:00 2001 From: Mingli Yu Date: Mon, 1 Aug 2022 15:44:38 +0800 Subject: [PATCH] config_info.c: not expose build info @@ -14,7 +14,7 @@ Signed-off-by: Mingli Yu 2 files changed, 2 insertions(+), 70 deletions(-) diff --git a/configure.ac b/configure.ac -index f0fa973..8ccd8bc 100644 +index 646394c..f5a5590 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2024, PostgreSQL Global Development Group]) diff --git a/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch b/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch index 8219fc80e9f..753cd1bb970 100644 --- a/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch +++ b/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch @@ -1,4 +1,4 @@ -From d1fb37569b5a8c21968f69164e8bc6e4bb0185eb Mon Sep 17 00:00:00 2001 +From 220b65291734b81a3c232877cf5fced20fe773e3 Mon Sep 17 00:00:00 2001 From: Manoj Saun Date: Wed, 22 Mar 2023 08:07:26 +0000 Subject: [PATCH] postgresql: fix ptest failure of sysviews @@ -44,6 +44,3 @@ index b047fb5..d1e3999 100644 -- We expect no cursors in this test; see also portals.sql select count(*) = 0 as ok from pg_cursors; --- -2.34.1 - diff --git a/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch b/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch index a2f0500a8c4..1142ff4878d 100644 --- a/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch +++ b/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch @@ -1,4 +1,4 @@ -From 1a9416bae71aa935797add3fa11407732ad010c0 Mon Sep 17 00:00:00 2001 +From 29e76cad362c7154920aa49aa0137e1773c4d3ec Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Tue, 27 Nov 2018 13:25:15 +0800 Subject: [PATCH] not check libperl under cross compiling @@ -20,10 +20,10 @@ Signed-off-by: Changqing Li 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index f398184..493d5cd 100644 +index ce0966f..856b091 100644 --- a/configure.ac +++ b/configure.ac -@@ -2336,7 +2336,7 @@ Use --without-tcl to disable building PL/Tcl.]) +@@ -2340,7 +2340,7 @@ Use --without-tcl to disable building PL/Tcl.]) fi # check for diff --git a/meta-oe/recipes-dbs/postgresql/files/run-ptest b/meta-oe/recipes-dbs/postgresql/files/run-ptest new file mode 100644 index 00000000000..4cb8e5c7e1e --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/run-ptest @@ -0,0 +1,65 @@ +#!/bin/sh +# +# PostgreSQL regression test runner for ptest +# +# This script initializes a temporary PostgreSQL database cluster, +# starts a server instance, and executes the standard regression test +# suite via pg_regress against the installed PostgreSQL binaries. +# + +set -e + +PGDATA=/tmp/ptest_pgdata +PTEST_PATH=$(dirname "$(readlink -f "$0")") +TESTDIR="${PTEST_PATH}/test" +PGBIN=$(pg_config --bindir) +PKGLIBDIR=$(pg_config --pkglibdir) + +cleanup() { + su - postgres -c "pg_ctl -D ${PGDATA} stop -m immediate" 2>/dev/null || true + rm -rf "${PGDATA}" +} +trap cleanup EXIT + +# Initialize the database cluster +rm -rf "${PGDATA}" +su - postgres -c "${PGBIN}/initdb -D ${PGDATA} --no-locale" || exit 1 + +# Start the server +su - postgres -c "pg_ctl -D ${PGDATA} -l ${PGDATA}/logfile start -w -t 120" || exit 1 + +# Ensure the test directory is writable by the postgres user for +# regression output files (regression.out, regression.diffs, results/). +chown -R postgres:postgres "${TESTDIR}" + +# Prepare the tablespace test directory +mkdir -p "${TESTDIR}/testtablespace" +chmod 0700 "${TESTDIR}/testtablespace" +chown postgres:postgres "${TESTDIR}/testtablespace" + +# Disable set -e before the pipe so we can capture PIPESTATUS +set +e + +# Run the regression tests. +# --dlpath points to the standard PostgreSQL package library directory +# where regress.so and contrib modules (autoinc.so, refint.so, etc.) +# are installed, so that CREATE FUNCTION ... AS tests can locate them. +su - postgres -c "cd ${TESTDIR} && \ + ${TESTDIR}/pg_regress \ + --inputdir=. \ + --bindir=${PGBIN} \ + --dlpath=${PKGLIBDIR} \ + --max-concurrent-tests=20 \ + --schedule=parallel_schedule" 2>&1 | \ + stdbuf -oL sed -n \ + -e 's/^ok [0-9]\+\s\+[+* ]\?\s*/PASS: /p' \ + -e 's/^not ok [0-9]\+\s\+[+* ]\?\s*/FAIL: /p' +RESULT=${PIPESTATUS[0]} + +if [ "${RESULT}" = "0" ]; then + echo "PASS: all tests passed" +else + echo "FAIL: some tests failed" +fi + +exit ${RESULT} diff --git a/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-oe/recipes-dbs/postgresql/postgresql.inc index 040b3d5e347..07cd121511a 100644 --- a/meta-oe/recipes-dbs/postgresql/postgresql.inc +++ b/meta-oe/recipes-dbs/postgresql/postgresql.inc @@ -29,6 +29,7 @@ SRC_URI = "https://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \ file://postgresql.pam \ file://postgresql-setup \ file://postgresql.service \ + file://run-ptest \ " LEAD_SONAME = "libpq.so" @@ -37,7 +38,7 @@ LEAD_SONAME = "libpq.so" export LDFLAGS_SL = "${LDFLAGS}" export LDFLAGS_EX_BE = "-Wl,--export-dynamic" -inherit autotools pkgconfig perlnative python3native python3targetconfig useradd update-rc.d systemd gettext perl-version multilib_header +inherit autotools pkgconfig perlnative python3native python3targetconfig useradd update-rc.d systemd gettext perl-version multilib_header ptest CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR}" @@ -77,7 +78,7 @@ EXTRA_OECONF += "--disable-rpath \ --datadir=${datadir}/${BPN} \ --sysconfdir=${sysconfdir}/${BPN} \ " -EXTRA_OECONF:sh4 += "--disable-spinlocks" +EXTRA_OECONF:append:sh4 = " --disable-spinlocks" DEBUG_OPTIMIZATION:remove:mips = " -Og" DEBUG_OPTIMIZATION:append:mips = " -O" @@ -184,6 +185,45 @@ do_compile:append() { done } +do_compile_ptest() { + oe_runmake -C src/test/regress all +} + +do_install_ptest() { + mkdir -p ${D}${PTEST_PATH}/test + + # Install pg_regress binary + install -m 0755 ${B}/src/test/regress/pg_regress ${D}${PTEST_PATH}/test/ + + # Install test schedules and resultmap + for f in parallel_schedule serial_schedule resultmap; do + [ -f ${S}/src/test/regress/$f ] && install -m 0644 ${S}/src/test/regress/$f ${D}${PTEST_PATH}/test/ + done + + # Install SQL, expected, input, output, and data files + for d in sql expected input output data; do + if [ -d ${S}/src/test/regress/$d ]; then + cp -r ${S}/src/test/regress/$d ${D}${PTEST_PATH}/test/ + fi + done + + # Install the regress test shared library into the standard PostgreSQL + # package library directory (PKGLIBDIR) alongside contrib modules such + # as autoinc.so and refint.so. This allows pg_regress --dlpath to + # resolve all required shared libraries from a single location. + install -d ${D}${libdir}/${BPN} + install -m 0755 ${B}/src/test/regress/regress.so ${D}${libdir}/${BPN}/ + + # Install run-ptest + install -m 0755 ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/ + + # Set ownership to postgres user for running tests + chown -R postgres:postgres ${D}${PTEST_PATH} +} + +RDEPENDS:${PN}-ptest += "${PN}-client ${PN}-contrib perl" +FILES:${PN}-ptest += "${libdir}/${BPN}/regress.so" + # server needs to configure user and group usernum = "28" groupnum = "28" diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_17.7.bb b/meta-oe/recipes-dbs/postgresql/postgresql_17.7.bb deleted file mode 100644 index 81b096194cc..00000000000 --- a/meta-oe/recipes-dbs/postgresql/postgresql_17.7.bb +++ /dev/null @@ -1,17 +0,0 @@ -require postgresql.inc - -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=08b6032a749e67f6e3de84ea8e466933" - -SRC_URI += "\ - file://not-check-libperl.patch \ - file://0001-Add-support-for-RISC-V.patch \ - file://0002-Improve-reproducibility.patch \ - file://0003-configure.ac-bypass-autoconf-2.69-version-check.patch \ - file://0004-config_info.c-not-expose-build-info.patch \ - file://0005-postgresql-fix-ptest-failure-of-sysviews.patch \ - file://0001-tcl.m4-Recognize-tclsh9.patch \ -" - -SRC_URI[sha256sum] = "ef9e343302eccd33112f1b2f0247be493cb5768313adeb558b02de8797a2e9b5" - -CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Doesn't apply to our configuration of postgresql so we can safely ignore it." diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_17.8.bb b/meta-oe/recipes-dbs/postgresql/postgresql_17.8.bb new file mode 100644 index 00000000000..ad1e9704ccd --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/postgresql_17.8.bb @@ -0,0 +1,17 @@ +require postgresql.inc + +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55760ee57ce4e51e4b57f0801ff032dd" + +SRC_URI += "\ + file://not-check-libperl.patch \ + file://0001-Add-support-for-RISC-V.patch \ + file://0002-Improve-reproducibility.patch \ + file://0003-configure.ac-bypass-autoconf-2.69-version-check.patch \ + file://0004-config_info.c-not-expose-build-info.patch \ + file://0005-postgresql-fix-ptest-failure-of-sysviews.patch \ + file://0001-tcl.m4-Recognize-tclsh9.patch \ +" + +SRC_URI[sha256sum] = "a88d195dd93730452d0cfa1a11896720d6d1ba084bc2be7d7fc557fa4e4158a0" + +CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Doesn't apply to our configuration of postgresql so we can safely ignore it." diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-error-with-gcc-13-by-adding-cstdint-header.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-error-with-gcc-13-by-adding-cstdint-header.patch index 168bd76ac7b..31e3eb53d3a 100644 --- a/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-error-with-gcc-13-by-adding-cstdint-header.patch +++ b/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-error-with-gcc-13-by-adding-cstdint-header.patch @@ -22,35 +22,9 @@ TOPDIR/tmp/work/core2-64-oe-linux/rocksdb/9.10.0/git/db/blob/blob_file_meta.h:28 Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/13437] Signed-off-by: mark.yang --- - db/blob/blob_file_meta.h | 1 + - include/rocksdb/trace_record.h | 1 + include/rocksdb/write_batch_base.h | 1 + - 3 files changed, 3 insertions(+) + 1 file changed, 1 insertion(+) -diff --git a/db/blob/blob_file_meta.h b/db/blob/blob_file_meta.h -index d7c8a1243..2e47726f8 100644 ---- a/db/blob/blob_file_meta.h -+++ b/db/blob/blob_file_meta.h -@@ -6,6 +6,7 @@ - #pragma once - - #include -+#include - #include - #include - #include -diff --git a/include/rocksdb/trace_record.h b/include/rocksdb/trace_record.h -index 8f9c3ee2f..d321f5387 100644 ---- a/include/rocksdb/trace_record.h -+++ b/include/rocksdb/trace_record.h -@@ -5,6 +5,7 @@ - - #pragma once - -+#include - #include - #include - #include diff --git a/include/rocksdb/write_batch_base.h b/include/rocksdb/write_batch_base.h index 3334a1292..43b186029 100644 --- a/include/rocksdb/write_batch_base.h diff --git a/meta-oe/recipes-dbs/rocksdb/files/0005-Implement-timer-implementation-for-mips-platform.patch b/meta-oe/recipes-dbs/rocksdb/files/0005-Implement-timer-implementation-for-mips-platform.patch index 2979b73d2f4..6205e55b3f6 100644 --- a/meta-oe/recipes-dbs/rocksdb/files/0005-Implement-timer-implementation-for-mips-platform.patch +++ b/meta-oe/recipes-dbs/rocksdb/files/0005-Implement-timer-implementation-for-mips-platform.patch @@ -14,9 +14,9 @@ diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_t index 0a7488c397..ad7d9f2124 100644 --- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h -@@ -162,6 +162,12 @@ static inline tokutime_t toku_time_now(void) { +@@ -158,6 +158,12 @@ static inline tokutime_t toku_time_now(void) { unsigned long result; - asm volatile ("rdtime.d\t%0,$r0" : "=r" (result)); + asm volatile("rdtime.d\t%0,$r0" : "=r"(result)); return result; +#elif defined(__mips__) + // mips apparently only allows rdtsc for superusers, so we fall diff --git a/meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch b/meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch index 9a85e8db453..0f957433a7e 100644 --- a/meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch +++ b/meta-oe/recipes-dbs/rocksdb/files/static_library_as_option.patch @@ -26,7 +26,7 @@ index 93b884dd9c1..2ca925d505c 100644 +option(ROCKSDB_BUILD_STATIC "Build static versions of the RocksDB libraries" ON) if( NOT DEFINED CMAKE_CXX_STANDARD ) - set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD 20) @@ -1139,11 +1140,13 @@ string(REGEX REPLACE "[^0-9: /-]+" "" GIT_DATE "${GIT_DATE}") set(BUILD_VERSION_CC ${CMAKE_BINARY_DIR}/build_version.cc) configure_file(util/build_version.cc.in ${BUILD_VERSION_CC} @ONLY) diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb new file mode 100644 index 00000000000..b810911b988 --- /dev/null +++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb @@ -0,0 +1,80 @@ +SUMMARY = "RocksDB an embeddable, persistent key-value store" +DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage." +HOMEPAGE = "http://rocksdb.org/" +LICENSE = "(Apache-2.0 | GPL-2.0-only) & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" + +SRCREV = "4595a5e95ae8525c42e172a054435782b3479c57" +SRCBRANCH = "10.10.fb" + +SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=https;tag=v${PV} \ + file://0001-cmake-Add-check-for-atomic-support.patch \ + file://0002-cmake-Use-exported-target-for-bz2.patch \ + file://0003-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch \ + file://0004-Implement-support-for-musl-ppc64.patch \ + file://0005-Implement-timer-implementation-for-mips-platform.patch \ + file://0006-Implement-timer-for-arm-v6.patch \ + file://0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch \ + file://static_library_as_option.patch \ + file://0001-CMakeLists.txt-Make-the-test-discovery-occur-on-targ.patch \ + file://run-ptest \ + file://0001-Fix-build-error-with-gcc-13-by-adding-cstdint-header.patch \ + file://0001-checkpoint.h-Add-missing-includes-cstdint.patch \ + file://0001-Findzstd.cmake-support-pkg-config-based-zstd-detecti.patch \ + " + +SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" +SRC_URI:append:mips = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" +SRC_URI:append:powerpc = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" +SRC_URI:remove:toolchain-clang:riscv32 = "file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" + +LDFLAGS:append:toolchain-clang:x86 = "${@bb.utils.contains_any("TC_CXX_RUNTIME", "gnu", " -latomic", "", d)}" + +inherit cmake ptest + +PACKAGECONFIG ??= "bzip2 zlib lz4 gflags" +PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2" +PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4" +PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" +PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" +PACKAGECONFIG[liburing] = "-DWITH_LIBURING=ON,-DWITH_LIBURING=OFF,liburing" +PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" +PACKAGECONFIG[rocksdb_static] = "-DROCKSDB_BUILD_STATIC=ON, -DROCKSDB_BUILD_STATIC=OFF" + +# Tools and tests currently don't compile on armv5 so we disable them +EXTRA_OECMAKE = "\ + -DPORTABLE=ON \ + -DWITH_TESTS=${@bb.utils.contains("DISTRO_FEATURES", "ptest", "ON", "OFF", d)} \ + -DWITH_BENCHMARK_TOOLS=OFF \ + -DWITH_TOOLS=OFF \ + -DFAIL_ON_WARNINGS=OFF \ +" + +CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" +CXXFLAGS += "${@bb.utils.contains('TUNE_FEATURES', 'x86-64-v3', '-mpclmul', '', d)}" + +do_install:append() { + # Fix for qa check buildpaths + sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + # only cover the basic test as all the tests need to take about 6 hours + # time ./run-ptest + # real 356m32.956s + # user 252m32.004s + # sys 178m50.246s + install -m 0755 ${B}/env_basic_test ${D}${PTEST_PATH}/tests/ + install -m 0755 ${B}/db_basic_test ${D}${PTEST_PATH}/tests/ + install -m 0755 ${B}/agg_merge_test ${D}${PTEST_PATH}/tests/ + install -m 0755 ${B}/testutil_test ${D}${PTEST_PATH}/tests/ + install -m 0755 ${B}/cache_test ${D}${PTEST_PATH}/tests/ +} + +# Need toku_time_now() implemented for ppc/musl +# see utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h +COMPATIBLE_HOST:libc-musl:powerpc = "null" +COMPATIBLE_HOST:armv5 = 'null' diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_9.10.0.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_9.10.0.bb deleted file mode 100644 index d8ba31e8ca7..00000000000 --- a/meta-oe/recipes-dbs/rocksdb/rocksdb_9.10.0.bb +++ /dev/null @@ -1,80 +0,0 @@ -SUMMARY = "RocksDB an embeddable, persistent key-value store" -DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage." -HOMEPAGE = "http://rocksdb.org/" -LICENSE = "(Apache-2.0 | GPL-2.0-only) & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" - -SRCREV = "ae8fb3e5000e46d8d4c9dbf3a36019c0aaceebff" -SRCBRANCH = "9.10.fb" - -SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=https \ - file://0001-cmake-Add-check-for-atomic-support.patch \ - file://0002-cmake-Use-exported-target-for-bz2.patch \ - file://0003-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch \ - file://0004-Implement-support-for-musl-ppc64.patch \ - file://0005-Implement-timer-implementation-for-mips-platform.patch \ - file://0006-Implement-timer-for-arm-v6.patch \ - file://0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch \ - file://static_library_as_option.patch \ - file://0001-CMakeLists.txt-Make-the-test-discovery-occur-on-targ.patch \ - file://run-ptest \ - file://0001-Fix-build-error-with-gcc-13-by-adding-cstdint-header.patch \ - file://0001-checkpoint.h-Add-missing-includes-cstdint.patch \ - file://0001-Findzstd.cmake-support-pkg-config-based-zstd-detecti.patch \ - " - -SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" -SRC_URI:append:mips = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" -SRC_URI:append:powerpc = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" -SRC_URI:remove:toolchain-clang:riscv32 = "file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch" - -LDFLAGS:append:toolchain-clang:x86 = "${@bb.utils.contains_any("TC_CXX_RUNTIME", "gnu", " -latomic", "", d)}" - -inherit cmake ptest - -PACKAGECONFIG ??= "bzip2 zlib lz4 gflags" -PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2" -PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4" -PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" -PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" -PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF" -PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" - -# Tools and tests currently don't compile on armv5 so we disable them -EXTRA_OECMAKE = "\ - -DPORTABLE=ON \ - -DWITH_TESTS=${@bb.utils.contains("DISTRO_FEATURES", "ptest", "ON", "OFF", d)} \ - -DWITH_BENCHMARK_TOOLS=OFF \ - -DWITH_TOOLS=OFF \ - -DFAIL_ON_WARNINGS=OFF \ - -DROCKSDB_BUILD_STATIC=OFF \ -" - -CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" -CXXFLAGS += "${@bb.utils.contains('TUNE_FEATURES', 'x86-64-v3', '-mpclmul', '', d)}" - -do_install:append() { - # Fix for qa check buildpaths - sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - # only cover the basic test as all the tests need to take about 6 hours - # time ./run-ptest - # real 356m32.956s - # user 252m32.004s - # sys 178m50.246s - install -m 0755 ${B}/env_basic_test ${D}${PTEST_PATH}/tests/ - install -m 0755 ${B}/db_basic_test ${D}${PTEST_PATH}/tests/ - install -m 0755 ${B}/agg_merge_test ${D}${PTEST_PATH}/tests/ - install -m 0755 ${B}/testutil_test ${D}${PTEST_PATH}/tests/ - install -m 0755 ${B}/cache_test ${D}${PTEST_PATH}/tests/ -} - -# Need toku_time_now() implemented for ppc/musl -# see utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h -COMPATIBLE_HOST:libc-musl:powerpc = "null" -COMPATIBLE_HOST:armv5 = 'null' diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20260107.0.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20260107.0.bb deleted file mode 100644 index d4475ee73a5..00000000000 --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20260107.0.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Abseil is a cpp library like STL" -DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \ -additional useful libraries like algorithm, container, debugging, hash, memory, \ -meta, numeric, strings, synchronization, time, types and utility." -HOMEPAGE = "https://abseil.io/" -SECTION = "libs" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915" - -SRC_URI = "https://github.com/abseil/${BPN}/releases/download/${PV}/${BP}.tar.gz \ - file://0001-absl-always-use-asm-sgidefs.h.patch \ - file://0002-abseil-ppc-fixes.patch \ - " -SRC_URI[sha256sum] = "4c124408da902be896a2f368042729655709db5e3004ec99f57e3e14439bc1b2" - -UPSTREAM_CHECK_URI = "https://github.com/abseil/abseil-cpp/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/(?P\d+(\.\d+)+)" - -inherit cmake - -EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ - -DBUILD_TESTING=OFF \ - -DABSL_ENABLE_INSTALL=ON \ - -DCMAKE_CXX_STANDARD=17 \ - " -# riscv32-yoe-linux-ld.lld: error: undefined reference: __atomic_store_8 -# >>> referenced by /usr/lib/libabsl_flags_internal.so.2505.0.0 (disallowed by --no-allow-shlib-undefined) -LDFLAGS:append:riscv32 = " -latomic" - -SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}" - -PACKAGES_DYNAMIC += "^libabsl-*" -PACKAGES_DYNAMIC:class-native = "" - -PACKAGESPLITFUNCS =+ "split_dynamic_packages" - -python split_dynamic_packages() { - libdir = d.getVar('libdir') - - libpackages = do_split_packages( - d, - root=libdir, - file_regex=r'^libabsl_(.*)\.so\..*$', - output_pattern='libabsl-%s', - description="abseil shared library %s", - prepend=True, - extra_depends='', - ) - if libpackages: - d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(libpackages)) -} - -ALLOW_EMPTY:${PN} = "1" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20260107.1.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20260107.1.bb new file mode 100644 index 00000000000..128ed81556e --- /dev/null +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20260107.1.bb @@ -0,0 +1,58 @@ +SUMMARY = "Abseil is a cpp library like STL" +DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \ +additional useful libraries like algorithm, container, debugging, hash, memory, \ +meta, numeric, strings, synchronization, time, types and utility." +HOMEPAGE = "https://abseil.io/" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915" + +SRC_URI = "https://github.com/abseil/${BPN}/releases/download/${PV}/${BP}.tar.gz \ + file://0001-absl-always-use-asm-sgidefs.h.patch \ + file://0002-abseil-ppc-fixes.patch \ + " +SRC_URI[sha256sum] = "4314e2a7cbac89cac25a2f2322870f343d81579756ceff7f431803c2c9090195" + +UPSTREAM_CHECK_URI = "https://github.com/abseil/abseil-cpp/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/(?P\d+(\.\d+)+)" + +inherit cmake + +EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DABSL_ENABLE_INSTALL=ON \ + -DCMAKE_CXX_STANDARD=17 \ + " +# riscv32-yoe-linux-ld.lld: error: undefined reference: __atomic_store_8 +# >>> referenced by /usr/lib/libabsl_flags_internal.so.2505.0.0 (disallowed by --no-allow-shlib-undefined) +LDFLAGS:append:riscv32 = " -latomic" + +SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}" + +PACKAGES_DYNAMIC += "^libabsl-*" +PACKAGES_DYNAMIC:class-native = "" + +PACKAGESPLITFUNCS =+ "split_dynamic_packages" + +python split_dynamic_packages() { + libdir = d.getVar('libdir') + + libpackages = do_split_packages( + d, + root=libdir, + file_regex=r'^libabsl_(.*)\.so\..*$', + output_pattern='libabsl-%s', + description="abseil shared library %s", + prepend=True, + extra_depends='', + ) + if libpackages: + d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(libpackages)) +} + +ALLOW_EMPTY:${PN} = "1" + +BBCLASSEXTEND = "native nativesdk" + +# Add CVE_PRODUCT to match the NVD CPE product name +CVE_PRODUCT = "abseil:common_libraries" diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup index dbd71151510..47e4edb9bee 100644 --- a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup +++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup @@ -2,9 +2,12 @@ set -e +conf="Conf 1" manufacturer=RPB model="Android device" +product=0xd002 serial=0123456789ABCDEF +vendor=0x18d1 if [ -r /etc/android-gadget-setup.machine ] ; then . /etc/android-gadget-setup.machine @@ -23,12 +26,12 @@ mkdir configs/c.1 mkdir functions/ffs.usb0 mkdir strings/0x409 mkdir configs/c.1/strings/0x409 -echo -n 0x18d1 > idVendor -echo -n 0xd002 > idProduct +echo -n "$vendor" > idVendor +echo -n "$product" > idProduct echo "$serial" > strings/0x409/serialnumber echo "$manufacturer" > strings/0x409/manufacturer echo "$model" > strings/0x409/product -echo "Conf 1" > configs/c.1/strings/0x409/configuration +echo "$conf" > configs/c.1/strings/0x409/configuration ln -s functions/ffs.usb0 configs/c.1 mkdir -p /dev/usb-ffs/adb diff --git a/meta-oe/recipes-devtools/b4/b4_0.14.3.bb b/meta-oe/recipes-devtools/b4/b4_0.14.3.bb deleted file mode 100644 index a922f999e2b..00000000000 --- a/meta-oe/recipes-devtools/b4/b4_0.14.3.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Utility to work with patches made available via a public-inbox archive like lore.kernel.org." - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -inherit pypi python_pep517 python_setuptools_build_meta - -SRC_URI[sha256sum] = "31a4927b8dfbb5c97edfc9569cda3b6737bbfd8430881e8cc48a0b088ced6147" - -RDEPENDS:${PN} += " \ - python3-mailbox \ - python3-requests \ -" diff --git a/meta-oe/recipes-devtools/b4/b4_0.15.2.bb b/meta-oe/recipes-devtools/b4/b4_0.15.2.bb new file mode 100644 index 00000000000..002f6ccfeb5 --- /dev/null +++ b/meta-oe/recipes-devtools/b4/b4_0.15.2.bb @@ -0,0 +1,13 @@ +SUMMARY = "Utility to work with patches made available via a public-inbox archive like lore.kernel.org." + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit pypi python_pep517 python_setuptools_build_meta + +SRC_URI[sha256sum] = "b815f2aed2288718cfe2a14c76421a00bc4f0918ea32b45dd1645c999fdda69d" + +RDEPENDS:${PN} += " \ + python3-mailbox \ + python3-requests \ +" diff --git a/meta-oe/recipes-devtools/canvenient/canvenient_1.01.bb b/meta-oe/recipes-devtools/canvenient/canvenient_1.01.bb new file mode 100644 index 00000000000..8ae41f0a83c --- /dev/null +++ b/meta-oe/recipes-devtools/canvenient/canvenient_1.01.bb @@ -0,0 +1,41 @@ + +SUMMARY = "CANvenient is an abstraction layer for multiple CAN APIs \ + on Windows and Linux. \ + " +DESCRIPTION = "CANvenient is an abstraction layer for multiple CAN APIs on \ + Windows and Linux. It provides a unified interface for CAN \ + communication, allowing developers to write code that is \ + portable across different platforms and CAN hardware. \ + " +HOMEPAGE = "https://canopenterm.de/canvenient" +BUGTRACKER = "https://github.com/CANopenTerm/CANvenient/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bd2edc721b4a0289efe949bdbe7dda79" + +DEPENDS = "libsocketcan" + +SRC_URI = "git://github.com/CANopenTerm/CANvenient.git;protocol=https;branch=main;tag=v${PV}" + +SRCREV = "b8b37e3915caf5bce93f38c2c6cca71356dcfcab" + +inherit cmake ptest + + +do_install:append() { + install -d ${D}${includedir} + install -d ${D}${libdir} + + install -m 0644 ${S}/include/CANvenient.h ${D}${includedir}/ + install -m 0755 ${B}/libCANvenient.so.1.0.1 ${D}${libdir}/ + + ln -sf libCANvenient.so.1.0.1 ${D}${libdir}/libCANvenient.so.1 + ln -sf libCANvenient.so.1.0.1 ${D}${libdir}/libCANvenient.so +} + +FILES:${PN} += "${libdir}/libCANvenient.so ${libdir}/libCANvenient.so.*" +FILES:${PN}-dev += "${includedir}" + +SOLIBS = ".so" + +RDEPENDS:${PN} = "libsocketcan" diff --git a/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb b/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb deleted file mode 100644 index 0ea243fd20c..00000000000 --- a/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Cap'n Proto serialization/RPC system" -DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. " -HOMEPAGE = "https://github.com/sandstorm-io/capnproto" -SECTION = "console/tools" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9" - -SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https \ - file://0001-Export-binaries-only-for-native-build.patch" -SRCREV = "1a0e12c0a3ba1f0dbbad45ddfef555166e0a14fc" - -S = "${UNPACKDIR}/${BP}/c++" - -inherit cmake - -CVE_PRODUCT = "capnproto capnp" - -CXXFLAGS:append:mips = " -latomic" -CXXFLAGS:append:powerpc = " -latomic" -CXXFLAGS:append:riscv32 = " -latomic" - -EXTRA_OECMAKE += "\ - -DBUILD_TESTING=OFF \ -" - -FILES:${PN}-compiler = "${bindir}" - -PACKAGE_BEFORE_PN = "${PN}-compiler" -RDEPENDS:${PN}-dev += "${PN}-compiler" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/capnproto/capnproto_1.4.0.bb b/meta-oe/recipes-devtools/capnproto/capnproto_1.4.0.bb new file mode 100644 index 00000000000..948ff803454 --- /dev/null +++ b/meta-oe/recipes-devtools/capnproto/capnproto_1.4.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Cap'n Proto serialization/RPC system" +DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. " +HOMEPAGE = "https://github.com/sandstorm-io/capnproto" +SECTION = "console/tools" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9" + +SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https;tag=v${PV} \ + file://0001-Export-binaries-only-for-native-build.patch" +SRCREV = "8b892a8a11a632f5d52b877a49728808a142379a" + +S = "${UNPACKDIR}/${BP}/c++" + +inherit cmake + +CVE_PRODUCT = "capnproto capnp" + +CXXFLAGS:append:mips = " -latomic" +CXXFLAGS:append:powerpc = " -latomic" +CXXFLAGS:append:riscv32 = " -latomic" + +EXTRA_OECMAKE += "\ + -DBUILD_TESTING=OFF \ +" + +FILES:${PN}-compiler = "${bindir}" + +PACKAGE_BEFORE_PN = "${PN}-compiler" +RDEPENDS:${PN}-dev += "${PN}-compiler" + +BBCLASSEXTEND = "native nativesdk" + +CVE_STATUS[CVE-2026-32239] = "fixed-version: fixed in 1.4.0" +CVE_STATUS[CVE-2026-32240] = "fixed-version: fixed in 1.4.0" diff --git a/meta-oe/recipes-devtools/castxml/castxml_0.6.13.bb b/meta-oe/recipes-devtools/castxml/castxml_0.6.13.bb deleted file mode 100644 index 9e506a8709a..00000000000 --- a/meta-oe/recipes-devtools/castxml/castxml_0.6.13.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "C-family abstract syntax tree XML output tool." -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRCREV = "13e1572729981289a7a96d762960994134f73f76" -SRC_URI = "git://github.com/CastXML/CastXML;protocol=https;branch=master;tag=v${PV}" - -DEPENDS = "clang" - -inherit cmake pkgconfig python3native - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/castxml/castxml_0.7.0.bb b/meta-oe/recipes-devtools/castxml/castxml_0.7.0.bb new file mode 100644 index 00000000000..43eeeeace73 --- /dev/null +++ b/meta-oe/recipes-devtools/castxml/castxml_0.7.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "C-family abstract syntax tree XML output tool." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "2d52b47cfd88b703d3247f77bb7c3ad7372bc9cb" +SRC_URI = "git://github.com/CastXML/CastXML;protocol=https;branch=master;tag=v${PV}" + +DEPENDS = "clang" + +inherit cmake pkgconfig python3native + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/ctags/ctags_6.2.20260125.0.bb b/meta-oe/recipes-devtools/ctags/ctags_6.2.20260125.0.bb deleted file mode 100644 index eb36e886ccc..00000000000 --- a/meta-oe/recipes-devtools/ctags/ctags_6.2.20260125.0.bb +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright (C) 2015 Igor Santos -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Universal Ctags" -DESCRIPTION = "Universal Ctags is a multilanguage reimplementation of the \ - Unix ctags utility. Ctags generates an index of source code \ - definitions which is used by numerous editors and utilities \ - to instantly locate the definitions." - -HOMEPAGE = "https://ctags.io/" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" - -inherit autotools-brokensep pkgconfig manpages - -SRCREV = "2046889979ed8e741de2bbe97f73da4e9cef2196" -SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https;tag=p${PV}" - - -PACKAGECONFIG ??= " \ - readcmd \ - xml \ - json \ - yaml \ -" -PACKAGECONFIG[readcmd] = "--enable-readcmd,--disable-readcmd" -PACKAGECONFIG[etags] = "--enable-etags,--disable-etags" -PACKAGECONFIG[xml] = "--enable-xml,--disable-xml,libxml2" -PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson" -PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" -PACKAGECONFIG[yaml] = "--enable-yaml,--disable-yaml,libyaml" -PACKAGECONFIG[manpages] = ",,python3-docutils-native" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/ctags/ctags_6.2.20260329.0.bb b/meta-oe/recipes-devtools/ctags/ctags_6.2.20260329.0.bb new file mode 100644 index 00000000000..76bb5b77be9 --- /dev/null +++ b/meta-oe/recipes-devtools/ctags/ctags_6.2.20260329.0.bb @@ -0,0 +1,35 @@ +# Copyright (C) 2015 Igor Santos +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Universal Ctags" +DESCRIPTION = "Universal Ctags is a multilanguage reimplementation of the \ + Unix ctags utility. Ctags generates an index of source code \ + definitions which is used by numerous editors and utilities \ + to instantly locate the definitions." + +HOMEPAGE = "https://ctags.io/" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +inherit autotools-brokensep pkgconfig manpages + +SRCREV = "34659e2cb02e055c74e929c5bad291470a729570" +SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https;tag=p${PV}" + + +PACKAGECONFIG ??= " \ + readcmd \ + xml \ + json \ + yaml \ +" +PACKAGECONFIG[readcmd] = "--enable-readcmd,--disable-readcmd" +PACKAGECONFIG[etags] = "--enable-etags,--disable-etags" +PACKAGECONFIG[xml] = "--enable-xml,--disable-xml,libxml2" +PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson" +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" +PACKAGECONFIG[yaml] = "--enable-yaml,--disable-yaml,libyaml" +PACKAGECONFIG[manpages] = ",,python3-docutils-native" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.142.bb b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.142.bb deleted file mode 100644 index 1478ebb1e4c..00000000000 --- a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.142.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Install a Debian system into a subdirectory" -HOMEPAGE = "https://wiki.debian.org/Debootstrap" -SECTION = "devel" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=e7b45429ef05610abf91ac199fdb3a6e" - -SRC_URI = "\ - ${DEBIAN_MIRROR}/main/d/debootstrap/debootstrap_${PV}.tar.gz \ - file://0001-support-to-override-usr-sbin-and-usr-share.patch \ - file://0002-support-to-override-usr-bin-arch-test.patch \ - file://0003-do-not-hardcode-the-full-path-of-dpkg.patch \ -" - -SRC_URI[sha256sum] = "334b188c2bab5c1aa6f858a044274631d342f07f5ddec1bad870d728f02fd652" - -S = "${UNPACKDIR}/debootstrap" - -DEPENDS = " \ - virtual/fakeroot-native \ -" - -fakeroot do_install() { - oe_runmake 'DESTDIR=${D}' install - chown -R root:root ${D}${datadir}/debootstrap -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.143.bb b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.143.bb new file mode 100644 index 00000000000..531d613cea2 --- /dev/null +++ b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.143.bb @@ -0,0 +1,27 @@ +SUMMARY = "Install a Debian system into a subdirectory" +HOMEPAGE = "https://wiki.debian.org/Debootstrap" +SECTION = "devel" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=e7b45429ef05610abf91ac199fdb3a6e" + +SRC_URI = "\ + ${DEBIAN_MIRROR}/main/d/debootstrap/debootstrap_${PV}.tar.gz \ + file://0001-support-to-override-usr-sbin-and-usr-share.patch \ + file://0002-support-to-override-usr-bin-arch-test.patch \ + file://0003-do-not-hardcode-the-full-path-of-dpkg.patch \ +" + +SRC_URI[sha256sum] = "c638730e50d3cd8a46ff4ce8b1f74d579e9c8323974285cf3fd1ac36aa8f2ade" + +S = "${UNPACKDIR}/debootstrap" + +DEPENDS = " \ + virtual/fakeroot-native \ +" + +fakeroot do_install() { + oe_runmake 'DESTDIR=${D}' install + chown -R root:root ${D}${datadir}/debootstrap +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb index c51a49ba014..289330ee043 100644 --- a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb +++ b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb @@ -25,7 +25,7 @@ inherit cmake python3native rm_flatc_cmaketarget_for_target() { rm -f "${SYSROOT_DESTDIR}/${libdir}/cmake/flatbuffers/FlatcTargets.cmake" } -SYSROOT_PREPROCESS_FUNCS:class-target += "rm_flatc_cmaketarget_for_target" +SYSROOT_PREPROCESS_FUNCS:append:class-target = " rm_flatc_cmaketarget_for_target" FILES:${PN}-compiler = "${bindir}" diff --git a/meta-oe/recipes-devtools/giflib/giflib/0001-Makefile-fix-typo-in-soname-argument.patch b/meta-oe/recipes-devtools/giflib/giflib/0001-Makefile-fix-typo-in-soname-argument.patch deleted file mode 100644 index dc87ed60b96..00000000000 --- a/meta-oe/recipes-devtools/giflib/giflib/0001-Makefile-fix-typo-in-soname-argument.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7f0cd4b6b56183b0afbefd01425e5ebd2b8733b4 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Mon, 8 Jul 2024 13:18:11 +0200 -Subject: [PATCH] Makefile: fix typo in soname argument - -* introduced in: - https://sourceforge.net/p/giflib/code/ci/b65c7ac2905c0842e7977a7b51d83af4486ca7b8/ - there is no LIBUTILMAJOR variable only LIBUTILSOMAJOR leading to: - - ld: fatal error: -soname: must take a non-empty argument - collect2: error: ld returned 1 exit status - - with some linkers like GOLD - -Signed-off-by: Martin Jansa ---- -Upstream-Status: Submitted [https://sourceforge.net/p/giflib/code/merge-requests/17/] - - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 87966a9..41b149e 100644 ---- a/Makefile -+++ b/Makefile -@@ -109,7 +109,7 @@ $(LIBUTILSO): $(UOBJECTS) $(UHEADERS) - ifeq ($(UNAME), Darwin) - $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o $(LIBUTILSO) - else -- $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBUTILMAJOR) -o $(LIBUTILSO) $(UOBJECTS) -+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBUTILSOMAJOR) -o $(LIBUTILSO) $(UOBJECTS) - endif - - libutil.a: $(UOBJECTS) $(UHEADERS) diff --git a/meta-oe/recipes-devtools/giflib/giflib_5.2.2.bb b/meta-oe/recipes-devtools/giflib/giflib_5.2.2.bb deleted file mode 100644 index aa47f930950..00000000000 --- a/meta-oe/recipes-devtools/giflib/giflib_5.2.2.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "shared library for GIF images" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a" - -CVE_PRODUCT = "giflib_project:giflib" - -DEPENDS = "xmlto-native" - -SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.gz \ - https://sourceforge.net/p/giflib/code/ci/d54b45b0240d455bbaedee4be5203d2703e59967/tree/doc/giflib-logo.gif?format=raw;subdir=${BP}/doc;name=logo;downloadfilename=giflib-logo.gif \ - file://0001-Makefile-fix-typo-in-soname-argument.patch \ -" - -SRC_URI[logo.sha256sum] = "1a54383986adad1521d00e003b4c482c27e8bc60690be944a1f3319c75abc2c9" -SRC_URI[sha256sum] = "be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb" - -do_install() { - # using autotools's default will end up in /usr/local - oe_runmake DESTDIR=${D} PREFIX=${prefix} LIBDIR=${libdir} install -} - -PACKAGES += "${PN}-utils" -FILES:${PN} = "${libdir}/libgif.so.*" -FILES:${PN}-utils = "${bindir}" - -BBCLASSEXTEND = "native" - -RDEPENDS:${PN}-utils = "perl" diff --git a/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb b/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb new file mode 100644 index 00000000000..9cb2a518792 --- /dev/null +++ b/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb @@ -0,0 +1,30 @@ +SUMMARY = "shared library for GIF images" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=b427970b2f3a9142a4e432c78c4680f4" + +CVE_PRODUCT = "giflib_project:giflib" + +DEPENDS = "xmlto-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.gz \ + https://sourceforge.net/p/giflib/code/ci/d54b45b0240d455bbaedee4be5203d2703e59967/tree/doc/giflib-logo.gif?format=raw;subdir=${BP}/doc;name=logo;downloadfilename=giflib-logo.gif \ +" + +SRC_URI[logo.sha256sum] = "1a54383986adad1521d00e003b4c482c27e8bc60690be944a1f3319c75abc2c9" +SRC_URI[sha256sum] = "2421abb54f5906b14965d28a278fb49e1ec9fe5ebbc56244dd012383a973d5c0" + +do_install() { + # using autotools's default will end up in /usr/local + oe_runmake DESTDIR=${D} PREFIX=${prefix} LIBDIR=${libdir} install +} + +PACKAGES += "${PN}-utils" +FILES:${PN} = "${libdir}/libgif.so.*" +FILES:${PN}-utils = "${bindir}" + +BBCLASSEXTEND = "native" + +RDEPENDS:${PN}-utils = "perl" + +CVE_STATUS[CVE-2026-23868] = "fixed-version: fixed since v6.1.2" diff --git a/meta-oe/recipes-devtools/grpc/grpc/0001-build-add-missing-includes-41351.patch b/meta-oe/recipes-devtools/grpc/grpc/0001-build-add-missing-includes-41351.patch deleted file mode 100644 index bf1f22b906e..00000000000 --- a/meta-oe/recipes-devtools/grpc/grpc/0001-build-add-missing-includes-41351.patch +++ /dev/null @@ -1,58 +0,0 @@ -From a976f66ac7d1b9f43a3071e22b5014fcfeab04b3 Mon Sep 17 00:00:00 2001 -From: "Mark D. Roth" -Date: Tue, 6 Jan 2026 10:09:45 -0800 -Subject: [PATCH] [build] add missing includes (#41351) - -Fixes #41305. - -Closes #41351 - -COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41351 from markdroth:add_missing_includes 223be6932adb00d085149c53167c1b0318745f6c -PiperOrigin-RevId: 852829597 - -Upstream-Status: Backport [https://github.com/grpc/grpc/commit/d54219b508423f0a2ff6a0b98c16fb6dafd44b84] -Signed-off-by: Khem Raj ---- - include/grpc/event_engine/memory_request.h | 2 ++ - src/core/channelz/v2tov1/property_list.cc | 1 + - src/core/util/glob.cc | 2 ++ - 3 files changed, 5 insertions(+) - -diff --git a/include/grpc/event_engine/memory_request.h b/include/grpc/event_engine/memory_request.h -index 76bcbb2036..ad8cab842e 100644 ---- a/include/grpc/event_engine/memory_request.h -+++ b/include/grpc/event_engine/memory_request.h -@@ -17,6 +17,8 @@ - #include - #include - -+#include -+ - #include "absl/strings/string_view.h" - - namespace grpc_event_engine { -diff --git a/src/core/channelz/v2tov1/property_list.cc b/src/core/channelz/v2tov1/property_list.cc -index 64bbb6307c..03367cce7c 100644 ---- a/src/core/channelz/v2tov1/property_list.cc -+++ b/src/core/channelz/v2tov1/property_list.cc -@@ -15,6 +15,7 @@ - #include "src/core/channelz/v2tov1/property_list.h" - - #include -+#include - #include - #include - -diff --git a/src/core/util/glob.cc b/src/core/util/glob.cc -index 1b1c16e23d..22e54259f0 100644 ---- a/src/core/util/glob.cc -+++ b/src/core/util/glob.cc -@@ -12,6 +12,8 @@ - // See the License for the specific language governing permissions and - // limitations under the License. - -+#include -+ - #include "absl/strings/string_view.h" - - namespace grpc_core { diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.76.0.bb b/meta-oe/recipes-devtools/grpc/grpc_1.76.0.bb deleted file mode 100644 index 39c9fb98de1..00000000000 --- a/meta-oe/recipes-devtools/grpc/grpc_1.76.0.bb +++ /dev/null @@ -1,69 +0,0 @@ -DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ -Provides gRPC libraries for multiple languages written on top of shared C core library \ -(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" -HOMEPAGE = "https://github.com/grpc/grpc" -SECTION = "libs" -LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0 & MIT & BSD-2-Clause" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906 \ - file://third_party/utf8_range/LICENSE;md5=d4974d297231477b2ff507c35d61c13c \ - file://third_party/xxhash/LICENSE;md5=cdfe7764d5685d8e08b3df302885d7f3 \ -" - -DEPENDS = "abseil-cpp c-ares openssl protobuf protobuf-native re2 zlib" -DEPENDS:append:class-target = " grpc-native" -DEPENDS:append:class-nativesdk = " grpc-native " - -PACKAGE_BEFORE_PN = "${PN}-compiler" - -RDEPENDS:${PN}-compiler = "${PN}" -RDEPENDS:${PN}-dev:append:class-native = " ${PN}-compiler" -# Configuration above allows to cross-compile gRPC applications -# In order to compile applications on the target, use the dependency below -# Both dependencies are mutually exclusive -# RDEPENDS:${PN}-dev += "${PN}-compiler" - -SRCREV = "f5ffb68d8a2fd603dff16287e90a4ac571e1fec6" -BRANCH = "v1.76.x" -SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;branch=${BRANCH};tag=v${PV} \ - file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \ - file://0001-build-add-missing-includes-41351.patch \ - " - -inherit cmake pkgconfig - -EXTRA_OECMAKE = " \ - -DgRPC_CARES_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_PROTOBUF_PROVIDER=package \ - -D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/protoc \ - -DgRPC_ABSL_PROVIDER=package \ - -DgRPC_RE2_PROVIDER=package \ - -DgRPC_INSTALL=ON \ - -DCMAKE_CROSSCOMPILING=ON \ - -DgRPC_INSTALL_LIBDIR=${baselib} \ - -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ - " - -PACKAGECONFIG ??= "cpp shared" -PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF" -PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" -PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" -PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" -PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" -PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" -PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" -PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF" -PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,," - -do_configure:prepend() { - sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt -} - -BBCLASSEXTEND = "native nativesdk" - -FILES:${PN}-compiler += " \ - ${bindir} \ - ${libdir}/libgrpc_plugin_support${SOLIBS} \ - " diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.80.0.bb b/meta-oe/recipes-devtools/grpc/grpc_1.80.0.bb new file mode 100644 index 00000000000..14ead4ccf96 --- /dev/null +++ b/meta-oe/recipes-devtools/grpc/grpc_1.80.0.bb @@ -0,0 +1,68 @@ +DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ +Provides gRPC libraries for multiple languages written on top of shared C core library \ +(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" +HOMEPAGE = "https://github.com/grpc/grpc" +SECTION = "libs" +LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0 & MIT & BSD-2-Clause" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=fe8c552b7748e45c00ac55ac0257f6c9 \ + file://third_party/utf8_range/LICENSE;md5=d4974d297231477b2ff507c35d61c13c \ + file://third_party/xxhash/LICENSE;md5=cdfe7764d5685d8e08b3df302885d7f3 \ +" + +DEPENDS = "abseil-cpp c-ares openssl protobuf protobuf-native re2 zlib" +DEPENDS:append:class-target = " grpc-native" +DEPENDS:append:class-nativesdk = " grpc-native " + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +RDEPENDS:${PN}-compiler = "${PN}" +RDEPENDS:${PN}-dev:append:class-native = " ${PN}-compiler" +# Configuration above allows to cross-compile gRPC applications +# In order to compile applications on the target, use the dependency below +# Both dependencies are mutually exclusive +# RDEPENDS:${PN}-dev += "${PN}-compiler" + +SRCREV = "f5e2d6e856176c2f6b7691032adfefe21e5f64c1" +BRANCH = "v1.80.x" +SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;branch=${BRANCH};tag=v${PV} \ + file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \ + " + +inherit cmake pkgconfig + +EXTRA_OECMAKE = " \ + -DgRPC_CARES_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/protoc \ + -DgRPC_ABSL_PROVIDER=package \ + -DgRPC_RE2_PROVIDER=package \ + -DgRPC_INSTALL=ON \ + -DCMAKE_CROSSCOMPILING=ON \ + -DgRPC_INSTALL_LIBDIR=${baselib} \ + -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ + " + +PACKAGECONFIG ??= "cpp shared" +PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF" +PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" +PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" +PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" +PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" +PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" +PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" +PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF" +PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,," + +do_configure:prepend() { + sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt +} + +BBCLASSEXTEND = "native nativesdk" + +FILES:${PN}-compiler += " \ + ${bindir} \ + ${libdir}/libgrpc_plugin_support${SOLIBS} \ + " diff --git a/meta-oe/recipes-devtools/include-what-you-use/include-what-you-use_0.25.bb b/meta-oe/recipes-devtools/include-what-you-use/include-what-you-use_0.25.bb deleted file mode 100644 index 138f7fc2bc4..00000000000 --- a/meta-oe/recipes-devtools/include-what-you-use/include-what-you-use_0.25.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Include What You Use (IWYU) - Clang based checker for C/C++ header includes" -DESCRIPTION = "For every symbol (type, function, variable, or macro) that you \ - use in foo.cc (or foo.cpp), either foo.cc or foo.h should \ - include a .h file that exports the declaration of that symbol." -HOMEPAGE = "https://include-what-you-use.org" -BUGTRACKER = "https://github.com/include-what-you-use/include-what-you-use/issues" -LICENSE = "NCSA" -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=3bb66a14534286912cd6f26649b5c60a \ - file://iwyu-check-license-header.py;md5=7bdb749831163fbe9232b3cb7186116f" - -DEPENDS = "clang" - -PV .= "+git" -SRCREV = "791e69ea4662cb3e74e8128fd5fd69bd7f4ea6b3" -SRC_URI = "git://github.com/include-what-you-use/include-what-you-use.git;protocol=https;branch=clang_21" - -inherit cmake python3native - -EXTRA_OECMAKE = "-DIWYU_RESOURCE_RELATIVE_TO=iwyu" - -FILES:${PN} += "${datadir}/${BPN}" - -BBCLASSEXTEND = "nativesdk" diff --git a/meta-oe/recipes-devtools/include-what-you-use/include-what-you-use_0.26.bb b/meta-oe/recipes-devtools/include-what-you-use/include-what-you-use_0.26.bb new file mode 100644 index 00000000000..57ade99a1dd --- /dev/null +++ b/meta-oe/recipes-devtools/include-what-you-use/include-what-you-use_0.26.bb @@ -0,0 +1,22 @@ +SUMMARY = "Include What You Use (IWYU) - Clang based checker for C/C++ header includes" +DESCRIPTION = "For every symbol (type, function, variable, or macro) that you \ + use in foo.cc (or foo.cpp), either foo.cc or foo.h should \ + include a .h file that exports the declaration of that symbol." +HOMEPAGE = "https://include-what-you-use.org" +BUGTRACKER = "https://github.com/include-what-you-use/include-what-you-use/issues" +LICENSE = "NCSA" +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=3bb66a14534286912cd6f26649b5c60a \ + file://iwyu-check-license-header.py;md5=7bdb749831163fbe9232b3cb7186116f" + +DEPENDS = "clang" + +SRCREV = "01a091d16b3dedb808db21f32ed3e761737a3691" +SRC_URI = "git://github.com/include-what-you-use/include-what-you-use.git;protocol=https;branch=clang_22;tag=${PV}" + +inherit cmake python3native + +EXTRA_OECMAKE = "-DIWYU_RESOURCE_RELATIVE_TO=iwyu" + +FILES:${PN} += "${datadir}/${BPN}" + +BBCLASSEXTEND = "nativesdk" diff --git a/meta-oe/recipes-devtools/isocline/isocline_1.0.9.bb b/meta-oe/recipes-devtools/isocline/isocline_1.0.9.bb new file mode 100644 index 00000000000..2afc4500dfe --- /dev/null +++ b/meta-oe/recipes-devtools/isocline/isocline_1.0.9.bb @@ -0,0 +1,28 @@ +SUMMARY = "Isocline is a portable GNU readline alternative." +DESCRIPTION = "Isocline is a pure C library that can be used \ + as an alternative to the GNU readline library. \ + " +HOMEPAGE = "https://github.com/daanx/isocline" +BUGTRACKER = "https://github.com/daanx/isocline/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8d05469c537534c7405c82c81a526bcd" + +SRC_URI = "git://github.com/daanx/isocline.git;protocol=https;branch=main;tag=v${PV}" +SRCREV = "74d34bc453f5b91f1f8d8ded2840e1553623d135" + + +inherit cmake + +CFLAGS += "-fPIC" + +do_install() { + install -d ${D}${libdir} + install -m 0644 ${B}/libisocline.a ${D}${libdir}/ + install -d ${D}${includedir} + cp ${S}/include/isocline.h ${D}${includedir}/ +} + +FILES:${PN}-dev = "${libdir}/libisocline.a" +FILES:${PN}-dev = "${includedir}/isocline.h" +FILES:${PN}-dbg += "${libdir}/.debug/libisocline.a" diff --git a/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb b/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb index aa1f4176047..edaaea26b64 100644 --- a/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb +++ b/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb @@ -29,6 +29,8 @@ EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_" # For some reason VERSION file populated only in tarball distribution. # Adding jemalloc version since this recipe is using source code from git tag EXTRA_OECONF:append = " --with-version=${PV_LONG} --enable-xmalloc" +# Enable jemalloc debug build flag if DEBUG_BUILD is enabled +EXTRA_OECONF:append = " ${@oe.utils.vartrue('DEBUG_BUILD', '--enable-debug=yes', '', d)}" do_install:append() { sed -i -e 's@${STAGING_DIR_HOST}@@g' \ diff --git a/meta-oe/recipes-devtools/jq/jq/0001-Support-building-with-disable-maintainer-mode-and-so.patch b/meta-oe/recipes-devtools/jq/jq/0001-Support-building-with-disable-maintainer-mode-and-so.patch new file mode 100644 index 00000000000..12a64a75edc --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/0001-Support-building-with-disable-maintainer-mode-and-so.patch @@ -0,0 +1,44 @@ +From 27f417f4812e688a59fc5186b7768cec004cd6e5 Mon Sep 17 00:00:00 2001 +From: Peter Kjellerstedt +Date: Wed, 8 Apr 2026 05:58:49 +0200 +Subject: [PATCH] Support building with --disable-maintainer-mode and source != + build dir (#3518) + +If --disable-maintainer-mode is enabled, then the rules for generating +parser.[ch] and lexer.[ch] did nothing. This worked fine if the source +and build directories are the same as the pre-generated parser.c and +lexer.c files would suffice. However, if the build directory is not the +same as the source directory, then the rest of the Make rules expect +parser.[ch] and lexer.[ch] to have been created in the build directory +if their source files (parser.y and lexer.l) are newer than the target +files, which can happen in case the source is fetched using Git. + +Avoid the problem by copying the files to the build directory if needed. + +Co-authored-by: Peter Kjellerstedt +Upstream-Status: Backport [https://github.com/jqlang/jq/commit/27f417f4812e688a59fc5186b7768cec004cd6e5] +--- + Makefile.am | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 96d6038..acb9443 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -41,9 +41,14 @@ src/lexer.h: src/lexer.c + else + BUILT_SOURCES = src/builtin.inc src/config_opts.inc src/version.h + .y.c: +- $(AM_V_YACC) echo "NOT building parser.c!" ++ $(AM_V_YACC) [ "$( +Date: Thu, 12 Mar 2026 20:28:43 +0900 +Subject: [PATCH] Fix heap buffer overflow in `jvp_string_append` and + `jvp_string_copy_replace_bad` + +In `jvp_string_append`, the allocation size `(currlen + len) * 2` could +overflow `uint32_t` when `currlen + len` exceeds `INT_MAX`, causing a small +allocation followed by a large `memcpy`. + +In `jvp_string_copy_replace_bad`, the output buffer size calculation +`length * 3 + 1` could overflow `uint32_t`, again resulting in a small +allocation followed by a large write. + +Add overflow checks to both functions to return an error for strings +that would exceed `INT_MAX` in length. Fixes CVE-2026-32316. + +CVE: CVE-2026-32316 +Upstream-Status: Backport [https://github.com/jqlang/jq/commit/e47e56d226519635768e6aab2f38f0ab037c09e5] +Signed-off-by: Gyorgy Sarvari +--- + src/jv.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/jv.c b/src/jv.c +index e4529a4..74be05a 100644 +--- a/src/jv.c ++++ b/src/jv.c +@@ -1114,7 +1114,12 @@ static jv jvp_string_copy_replace_bad(const char* data, uint32_t length) { + const char* end = data + length; + const char* i = data; + +- uint32_t maxlength = length * 3 + 1; // worst case: all bad bytes, each becomes a 3-byte U+FFFD ++ // worst case: all bad bytes, each becomes a 3-byte U+FFFD ++ uint64_t maxlength = (uint64_t)length * 3 + 1; ++ if (maxlength >= INT_MAX) { ++ return jv_invalid_with_msg(jv_string("String too long")); ++ } ++ + jvp_string* s = jvp_string_alloc(maxlength); + char* out = s->data; + int c = 0; +@@ -1174,6 +1179,10 @@ static uint32_t jvp_string_remaining_space(jvp_string* s) { + static jv jvp_string_append(jv string, const char* data, uint32_t len) { + jvp_string* s = jvp_string_ptr(string); + uint32_t currlen = jvp_string_length(s); ++ if ((uint64_t)currlen + len >= INT_MAX) { ++ jv_free(string); ++ return jv_invalid_with_msg(jv_string("String too long")); ++ } + + if (jvp_refcnt_unshared(string.u.ptr) && + jvp_string_remaining_space(s) >= len) { diff --git a/meta-oe/recipes-devtools/jq/jq/CVE-2026-33947.patch b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33947.patch new file mode 100644 index 00000000000..69a8381f06c --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33947.patch @@ -0,0 +1,104 @@ +From 5fd935884a6f5b3d8ecdcacfc5d3982140f3a478 Mon Sep 17 00:00:00 2001 +From: itchyny +Date: Mon, 13 Apr 2026 11:23:40 +0900 +Subject: [PATCH] Limit path depth to prevent stack overflow + +Deeply nested path arrays can cause unbounded recursion in +`jv_setpath`, `jv_getpath`, and `jv_delpaths`, leading to +stack overflow. Add a depth limit of 10000 to match the +existing `tojson` depth limit. This fixes CVE-2026-33947. + +CVE: CVE-2026-33947 +Upstream-Status: Backport [https://github.com/jqlang/jq/commit/fb59f1491058d58bdc3e8dd28f1773d1ac690a1f] +Signed-off-by: Gyorgy Sarvari +--- + src/jv_aux.c | 21 +++++++++++++++++++++ + tests/jq.test | 25 +++++++++++++++++++++++++ + 2 files changed, 46 insertions(+) + +diff --git a/src/jv_aux.c b/src/jv_aux.c +index bc1405f..594a21f 100644 +--- a/src/jv_aux.c ++++ b/src/jv_aux.c +@@ -375,6 +375,10 @@ static jv jv_dels(jv t, jv keys) { + return t; + } + ++#ifndef MAX_PATH_DEPTH ++#define MAX_PATH_DEPTH (10000) ++#endif ++ + jv jv_setpath(jv root, jv path, jv value) { + if (jv_get_kind(path) != JV_KIND_ARRAY) { + jv_free(value); +@@ -382,6 +386,12 @@ jv jv_setpath(jv root, jv path, jv value) { + jv_free(path); + return jv_invalid_with_msg(jv_string("Path must be specified as an array")); + } ++ if (jv_array_length(jv_copy(path)) > MAX_PATH_DEPTH) { ++ jv_free(value); ++ jv_free(root); ++ jv_free(path); ++ return jv_invalid_with_msg(jv_string("Path too deep")); ++ } + if (!jv_is_valid(root)){ + jv_free(value); + jv_free(path); +@@ -434,6 +444,11 @@ jv jv_getpath(jv root, jv path) { + jv_free(path); + return jv_invalid_with_msg(jv_string("Path must be specified as an array")); + } ++ if (jv_array_length(jv_copy(path)) > MAX_PATH_DEPTH) { ++ jv_free(root); ++ jv_free(path); ++ return jv_invalid_with_msg(jv_string("Path too deep")); ++ } + if (!jv_is_valid(root)) { + jv_free(path); + return root; +@@ -511,6 +526,12 @@ jv jv_delpaths(jv object, jv paths) { + jv_free(elem); + return err; + } ++ if (jv_array_length(jv_copy(elem)) > MAX_PATH_DEPTH) { ++ jv_free(object); ++ jv_free(paths); ++ jv_free(elem); ++ return jv_invalid_with_msg(jv_string("Path too deep")); ++ } + jv_free(elem); + } + if (jv_array_length(jv_copy(paths)) == 0) { +diff --git a/tests/jq.test b/tests/jq.test +index 4ecf72f..6186d8b 100644 +--- a/tests/jq.test ++++ b/tests/jq.test +@@ -2507,3 +2507,28 @@ strflocaltime("" | ., @uri) + 0 + "" + "" ++ ++# regression test for CVE-2026-33947 ++setpath([range(10000) | 0]; 0) | flatten ++null ++[0] ++ ++try setpath([range(10001) | 0]; 0) catch . ++null ++"Path too deep" ++ ++getpath([range(10000) | 0]) ++null ++null ++ ++try getpath([range(10001) | 0]) catch . ++null ++"Path too deep" ++ ++delpaths([[range(10000) | 0]]) ++null ++null ++ ++try delpaths([[range(10001) | 0]]) catch . ++null ++"Path too deep" diff --git a/meta-oe/recipes-devtools/jq/jq/CVE-2026-33948.patch b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33948.patch new file mode 100644 index 00000000000..8625429c743 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33948.patch @@ -0,0 +1,49 @@ +From 19a792c4cdb6b91c056eac033ac3367af6e67755 Mon Sep 17 00:00:00 2001 +From: itchyny +Date: Mon, 13 Apr 2026 08:46:11 +0900 +Subject: [PATCH] Fix NUL truncation in the JSON parser + +This fixes CVE-2026-33948. + +CVE: CVE-2026-33948 +Upstream-Status: Backport [https://github.com/jqlang/jq/commit/6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b] +Signed-off-by: Gyorgy Sarvari +--- + src/util.c | 8 +------- + tests/shtest | 6 ++++++ + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/util.c b/src/util.c +index bcb86da..60ec4d5 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -309,13 +309,7 @@ static int jq_util_input_read_more(jq_util_input_state *state) { + if (p != NULL) + state->current_line++; + +- if (p == NULL && state->parser != NULL) { +- /* +- * There should be no NULs in JSON texts (but JSON text +- * sequences are another story). +- */ +- state->buf_valid_len = strlen(state->buf); +- } else if (p == NULL && feof(state->current_input)) { ++ if (p == NULL && feof(state->current_input)) { + size_t i; + + /* +diff --git a/tests/shtest b/tests/shtest +index 887a6bb..a046afe 100755 +--- a/tests/shtest ++++ b/tests/shtest +@@ -842,4 +842,10 @@ if ! $msys && ! $mingw; then + fi + fi + ++# CVE-2026-33948: No NUL truncation in the JSON parser ++if printf '{}\x00{}' | $JQ >/dev/null 2> /dev/null; then ++ printf 'Error expected but jq exited successfully\n' 1>&2 ++ exit 1 ++fi ++ + exit 0 diff --git a/meta-oe/recipes-devtools/jq/jq/CVE-2026-39979.patch b/meta-oe/recipes-devtools/jq/jq/CVE-2026-39979.patch new file mode 100644 index 00000000000..40c57a46a07 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-39979.patch @@ -0,0 +1,31 @@ +From ac09f274b6c029a23e3dffc38afac819b5daacc4 Mon Sep 17 00:00:00 2001 +From: itchyny +Date: Mon, 13 Apr 2026 11:04:52 +0900 +Subject: [PATCH] Fix out-of-bounds read in jv_parse_sized() + +This fixes CVE-2026-39979. + +Co-authored-by: Mattias Wadman + +CVE: CVE-2026-39979 +Upstream-Status: Backport [https://github.com/jqlang/jq/commit/2f09060afab23fe9390cce7cb860b10416e1bf5f] +Signed-off-by: Gyorgy Sarvari +--- + src/jv_parse.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/jv_parse.c b/src/jv_parse.c +index ffcf51f..e6b8aa9 100644 +--- a/src/jv_parse.c ++++ b/src/jv_parse.c +@@ -892,8 +892,9 @@ jv jv_parse_sized_custom_flags(const char* string, int length, int flags) { + + if (!jv_is_valid(value) && jv_invalid_has_msg(jv_copy(value))) { + jv msg = jv_invalid_get_msg(value); +- value = jv_invalid_with_msg(jv_string_fmt("%s (while parsing '%s')", ++ value = jv_invalid_with_msg(jv_string_fmt("%s (while parsing '%.*s')", + jv_string_value(msg), ++ length, + string)); + jv_free(msg); + } diff --git a/meta-oe/recipes-devtools/jq/jq_1.8.1.bb b/meta-oe/recipes-devtools/jq/jq_1.8.1.bb index b9383c76f72..026f6bfa714 100644 --- a/meta-oe/recipes-devtools/jq/jq_1.8.1.bb +++ b/meta-oe/recipes-devtools/jq/jq_1.8.1.bb @@ -8,15 +8,20 @@ SECTION = "utils" LICENSE = "MIT & BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=cf7fcb0a1def4a7ad62c028f7d0dca47" -GITHUB_BASE_URI = "https://github.com/jqlang/${BPN}/releases/" -SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ - file://run-ptest \ - " -SRC_URI[sha256sum] = "2be64e7129cecb11d5906290eba10af694fb9e3e7f9fc208a311dc33ca837eb0" +SRCREV = "4467af7068b1bcd7f882defff6e7ea674c5357f4" -inherit autotools github-releases ptest +SRC_URI = "git://github.com/jqlang/jq.git;protocol=https;branch=master;tag=jq-${PV} \ + file://run-ptest \ + file://0001-Support-building-with-disable-maintainer-mode-and-so.patch \ + file://CVE-2026-32316.patch \ + file://CVE-2026-33947.patch \ + file://CVE-2026-33948.patch \ + file://CVE-2026-39979.patch \ + " -UPSTREAM_CHECK_REGEX = "releases/tag/${BPN}-(?P\d+(\.\d+)+)" +inherit autotools ptest + +UPSTREAM_CHECK_GITTAGREGEX = "${BPN}-(?P\d+(\.\d+)+)" PACKAGECONFIG ?= "oniguruma" diff --git a/meta-oe/recipes-devtools/jsoncpp/files/run-ptest b/meta-oe/recipes-devtools/jsoncpp/files/run-ptest new file mode 100644 index 00000000000..2cb892b187b --- /dev/null +++ b/meta-oe/recipes-devtools/jsoncpp/files/run-ptest @@ -0,0 +1,4 @@ +#!/bin/sh + +cd src +ctest --force-new-ctest-process | sed -u 's/\*\*\*/ /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}' diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-Fix-C-11-ABI-breakage-when-compiled-with-C-17-1668-1.patch b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-Fix-C-11-ABI-breakage-when-compiled-with-C-17-1668-1.patch new file mode 100644 index 00000000000..887bf14d2af --- /dev/null +++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-Fix-C-11-ABI-breakage-when-compiled-with-C-17-1668-1.patch @@ -0,0 +1,368 @@ +From c67034e4b4c722579ee15fddb8e4af8f04252b08 Mon Sep 17 00:00:00 2001 +From: Jordan Bayles +Date: Thu, 9 Apr 2026 10:37:08 -0700 +Subject: [PATCH] Fix C++11 ABI breakage when compiled with C++17 #1668 (#1675) + +When JSONCPP_HAS_STRING_VIEW was defined, the library dropped the +`const char*` and `const String&` overloads for `operator[]`, `get`, +`removeMember`, and `isMember`, breaking ABI compatibility for projects +consuming the library with C++11. + +This change unconditionally declares and defines the legacy overloads +so they are always exported, restoring compatibility. + +This commit completely eliminates the ABI breakage that occurs across +C++ standard boundaries when using `std::string_view`. + +Previously, when the library was built with C++17+, CMake would leak +`JSONCPP_HAS_STRING_VIEW=1` as a PUBLIC definition. A C++11 consumer +would receive this definition, attempt to parse the header, and fail +with compiler errors because `std::string_view` is not available in +their environment. + +Conversely, if the library was built in C++11 (without `string_view` +symbols), a C++17 consumer would naturally define +`JSONCPP_HAS_STRING_VIEW` based on `__cplusplus` inside `value.h`. The +consumer would then call the declared `string_view` methods, resulting +in linker errors because the methods weren't compiled into the library. + +By moving all `std::string_view` overloads directly into `value.h` as +`inline` methods that delegate to the fundamental +`const char*, const char*` methods: +1. The consumer's compiler dictates whether the overloads are visible + (via `__cplusplus >= 201703L`). +2. The consumer compiles the inline wrappers locally, removing any + reliance on the library's exported symbols for `std::string_view`. +3. CMake no longer needs to pollute the consumer's environment with + PUBLIC compile definitions. + +Backported only the library/header changes. Upstream CI and example +test additions are omitted. + +Upstream-Status: Backport [https://github.com/open-source-parsers/jsoncpp/commit/c67034e4b4c722579ee15fddb8e4af8f04252b08] +Signed-off-by: Ernest Van Hoecke +--- + include/json/value.h | 54 ++++++++++++++++++++---------- + src/lib_json/CMakeLists.txt | 9 ----- + src/lib_json/json_value.cpp | 66 ------------------------------------- + 3 files changed, 36 insertions(+), 93 deletions(-) + +diff --git a/include/json/value.h b/include/json/value.h +index f32f45609365..2007e6b4251d 100644 +--- a/include/json/value.h ++++ b/include/json/value.h +@@ -357,7 +357,8 @@ public: + Value(const StaticString& value); + Value(const String& value); + #ifdef JSONCPP_HAS_STRING_VIEW +- Value(std::string_view value); ++ inline Value(std::string_view value) ++ : Value(value.data(), value.data() + value.length()) {} + #endif + Value(bool value); + Value(std::nullptr_t ptr) = delete; +@@ -405,7 +406,14 @@ public: + /** Get string_view of string-value. + * \return false if !string. (Seg-fault if str is NULL.) + */ +- bool getString(std::string_view* str) const; ++ inline bool getString(std::string_view* str) const { ++ char const* begin; ++ char const* end; ++ if (!getString(&begin, &end)) ++ return false; ++ *str = std::string_view(begin, static_cast(end - begin)); ++ return true; ++ } + #endif + Int asInt() const; + UInt asUInt() const; +@@ -496,12 +504,19 @@ public: + #ifdef JSONCPP_HAS_STRING_VIEW + /// Access an object value by name, create a null member if it does not exist. + /// \param key may contain embedded nulls. +- Value& operator[](std::string_view key); ++ inline Value& operator[](std::string_view key) { ++ return resolveReference(key.data(), key.data() + key.length()); ++ } + /// Access an object value by name, returns null if there is no member with + /// that name. + /// \param key may contain embedded nulls. +- const Value& operator[](std::string_view key) const; +-#else ++ inline const Value& operator[](std::string_view key) const { ++ Value const* found = find(key.data(), key.data() + key.length()); ++ if (!found) ++ return nullSingleton(); ++ return *found; ++ } ++#endif + /// Access an object value by name, create a null member if it does not exist. + /// \note Because of our implementation, keys are limited to 2^30 -1 chars. + /// Exceeding that will cause an exception. +@@ -516,7 +531,6 @@ public: + /// that name. + /// \param key may contain embedded nulls. + const Value& operator[](const String& key) const; +-#endif + /** \brief Access an object value by name, create a null member if it does not + * exist. + * +@@ -533,8 +547,10 @@ public: + #ifdef JSONCPP_HAS_STRING_VIEW + /// Return the member named key if it exist, defaultValue otherwise. + /// \note deep copy +- Value get(std::string_view key, const Value& defaultValue) const; +-#else ++ inline Value get(std::string_view key, const Value& defaultValue) const { ++ return get(key.data(), key.data() + key.length(), defaultValue); ++ } ++#endif + /// Return the member named key if it exist, defaultValue otherwise. + /// \note deep copy + Value get(const char* key, const Value& defaultValue) const; +@@ -542,7 +558,6 @@ public: + /// \note deep copy + /// \param key may contain embedded nulls. + Value get(const String& key, const Value& defaultValue) const; +-#endif + /// Return the member named key if it exist, defaultValue otherwise. + /// \note deep copy + /// \note key may contain embedded nulls. +@@ -588,13 +603,14 @@ public: + /// \pre type() is objectValue or nullValue + /// \post type() is unchanged + #if JSONCPP_HAS_STRING_VIEW +- void removeMember(std::string_view key); +-#else ++ inline void removeMember(std::string_view key) { ++ removeMember(key.data(), key.data() + key.length(), nullptr); ++ } ++#endif + void removeMember(const char* key); + /// Same as removeMember(const char*) + /// \param key may contain embedded nulls. + void removeMember(const String& key); +-#endif + /** \brief Remove the named map member. + * + * Update 'removed' iff removed. +@@ -602,13 +618,14 @@ public: + * \return true iff removed (no exceptions) + */ + #if JSONCPP_HAS_STRING_VIEW +- bool removeMember(std::string_view key, Value* removed); +-#else ++ inline bool removeMember(std::string_view key, Value* removed) { ++ return removeMember(key.data(), key.data() + key.length(), removed); ++ } ++#endif + bool removeMember(String const& key, Value* removed); + /// Same as removeMember(const char* begin, const char* end, Value* removed), + /// but 'key' is null-terminated. + bool removeMember(const char* key, Value* removed); +-#endif + /// Same as removeMember(String const& key, Value* removed) + bool removeMember(const char* begin, const char* end, Value* removed); + /** \brief Remove the indexed array element. +@@ -622,15 +639,16 @@ public: + #ifdef JSONCPP_HAS_STRING_VIEW + /// Return true if the object has a member named key. + /// \param key may contain embedded nulls. +- bool isMember(std::string_view key) const; +-#else ++ inline bool isMember(std::string_view key) const { ++ return isMember(key.data(), key.data() + key.length()); ++ } ++#endif + /// Return true if the object has a member named key. + /// \note 'key' must be null-terminated. + bool isMember(const char* key) const; + /// Return true if the object has a member named key. + /// \param key may contain embedded nulls. + bool isMember(const String& key) const; +-#endif + /// Same as isMember(String const& key)const + bool isMember(const char* begin, const char* end) const; + +diff --git a/src/lib_json/CMakeLists.txt b/src/lib_json/CMakeLists.txt +index 03e9335525ca..a0695e9eba83 100644 +--- a/src/lib_json/CMakeLists.txt ++++ b/src/lib_json/CMakeLists.txt +@@ -131,9 +131,6 @@ if(BUILD_SHARED_LIBS) + + target_compile_features(${SHARED_LIB} PUBLIC ${REQUIRED_FEATURES}) + +- if(JSONCPP_HAS_STRING_VIEW) +- target_compile_definitions(${SHARED_LIB} PUBLIC JSONCPP_HAS_STRING_VIEW=1) +- endif() + + target_include_directories(${SHARED_LIB} PUBLIC + $ +@@ -168,9 +165,6 @@ if(BUILD_STATIC_LIBS) + + target_compile_features(${STATIC_LIB} PUBLIC ${REQUIRED_FEATURES}) + +- if(JSONCPP_HAS_STRING_VIEW) +- target_compile_definitions(${STATIC_LIB} PUBLIC JSONCPP_HAS_STRING_VIEW=1) +- endif() + + target_include_directories(${STATIC_LIB} PUBLIC + $ +@@ -198,9 +192,6 @@ if(BUILD_OBJECT_LIBS) + + target_compile_features(${OBJECT_LIB} PUBLIC ${REQUIRED_FEATURES}) + +- if(JSONCPP_HAS_STRING_VIEW) +- target_compile_definitions(${OBJECT_LIB} PUBLIC JSONCPP_HAS_STRING_VIEW=1) +- endif() + + target_include_directories(${OBJECT_LIB} PUBLIC + $ +diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp +index 74f77896fa7b..a8eb72d6b75f 100644 +--- a/src/lib_json/json_value.cpp ++++ b/src/lib_json/json_value.cpp +@@ -441,14 +441,6 @@ Value::Value(const String& value) { + value.data(), static_cast(value.length())); + } + +-#ifdef JSONCPP_HAS_STRING_VIEW +-Value::Value(std::string_view value) { +- initBasic(stringValue, true); +- value_.string_ = duplicateAndPrefixStringValue( +- value.data(), static_cast(value.length())); +-} +-#endif +- + Value::Value(const StaticString& value) { + initBasic(stringValue); + value_.string_ = const_cast(value.c_str()); +@@ -656,21 +648,6 @@ bool Value::getString(char const** begin, char const** end) const { + return true; + } + +-#ifdef JSONCPP_HAS_STRING_VIEW +-bool Value::getString(std::string_view* str) const { +- if (type() != stringValue) +- return false; +- if (value_.string_ == nullptr) +- return false; +- const char* begin; +- unsigned length; +- decodePrefixedString(this->isAllocated(), this->value_.string_, &length, +- &begin); +- *str = std::string_view(begin, length); +- return true; +-} +-#endif +- + String Value::asString() const { + switch (type()) { + case nullValue: +@@ -1190,17 +1167,6 @@ Value* Value::demand(char const* begin, char const* end) { + "objectValue or nullValue"); + return &resolveReference(begin, end); + } +-#ifdef JSONCPP_HAS_STRING_VIEW +-const Value& Value::operator[](std::string_view key) const { +- Value const* found = find(key.data(), key.data() + key.length()); +- if (!found) +- return nullSingleton(); +- return *found; +-} +-Value& Value::operator[](std::string_view key) { +- return resolveReference(key.data(), key.data() + key.length()); +-} +-#else + const Value& Value::operator[](const char* key) const { + Value const* found = find(key, key + strlen(key)); + if (!found) +@@ -1221,7 +1187,6 @@ Value& Value::operator[](const char* key) { + Value& Value::operator[](const String& key) { + return resolveReference(key.data(), key.data() + key.length()); + } +-#endif + + Value& Value::operator[](const StaticString& key) { + return resolveReference(key.c_str()); +@@ -1261,18 +1226,12 @@ Value Value::get(char const* begin, char const* end, + Value const* found = find(begin, end); + return !found ? defaultValue : *found; + } +-#ifdef JSONCPP_HAS_STRING_VIEW +-Value Value::get(std::string_view key, const Value& defaultValue) const { +- return get(key.data(), key.data() + key.length(), defaultValue); +-} +-#else + Value Value::get(char const* key, Value const& defaultValue) const { + return get(key, key + strlen(key), defaultValue); + } + Value Value::get(String const& key, Value const& defaultValue) const { + return get(key.data(), key.data() + key.length(), defaultValue); + } +-#endif + + bool Value::removeMember(const char* begin, const char* end, Value* removed) { + if (type() != objectValue) { +@@ -1288,31 +1247,13 @@ bool Value::removeMember(const char* begin, const char* end, Value* removed) { + value_.map_->erase(it); + return true; + } +-#ifdef JSONCPP_HAS_STRING_VIEW +-bool Value::removeMember(std::string_view key, Value* removed) { +- return removeMember(key.data(), key.data() + key.length(), removed); +-} +-#else + bool Value::removeMember(const char* key, Value* removed) { + return removeMember(key, key + strlen(key), removed); + } + bool Value::removeMember(String const& key, Value* removed) { + return removeMember(key.data(), key.data() + key.length(), removed); + } +-#endif +- +-#ifdef JSONCPP_HAS_STRING_VIEW +-void Value::removeMember(std::string_view key) { +- JSON_ASSERT_MESSAGE(type() == nullValue || type() == objectValue, +- "in Json::Value::removeMember(): requires objectValue"); +- if (type() == nullValue) +- return; + +- CZString actualKey(key.data(), unsigned(key.length()), +- CZString::noDuplication); +- value_.map_->erase(actualKey); +-} +-#else + void Value::removeMember(const char* key) { + JSON_ASSERT_MESSAGE(type() == nullValue || type() == objectValue, + "in Json::Value::removeMember(): requires objectValue"); +@@ -1323,7 +1264,6 @@ void Value::removeMember(const char* key) { + value_.map_->erase(actualKey); + } + void Value::removeMember(const String& key) { removeMember(key.c_str()); } +-#endif + + bool Value::removeIndex(ArrayIndex index, Value* removed) { + if (type() != arrayValue) { +@@ -1353,18 +1293,12 @@ bool Value::isMember(char const* begin, char const* end) const { + Value const* value = find(begin, end); + return nullptr != value; + } +-#ifdef JSONCPP_HAS_STRING_VIEW +-bool Value::isMember(std::string_view key) const { +- return isMember(key.data(), key.data() + key.length()); +-} +-#else + bool Value::isMember(char const* key) const { + return isMember(key, key + strlen(key)); + } + bool Value::isMember(String const& key) const { + return isMember(key.data(), key.data() + key.length()); + } +-#endif + + Value::Members Value::getMemberNames() const { + JSON_ASSERT_MESSAGE( +-- +2.43.0 diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.6.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.6.bb deleted file mode 100644 index f68ffd2c0f7..00000000000 --- a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.6.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "JSON C++ lib used to read and write json file." -DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \ - and writer in C++. JSON (JavaScript Object Notation) is a \ - lightweight data-interchange format. It is easy for humans to \ - read and write. It is easy for machines to parse and generate." - -HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp" - -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926" - -PE = "1" - -SRCREV = "89e2973c754a9c02a49974d839779b151e95afd6" -SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https" - - -inherit cmake - -EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF -DJSONCPP_WITH_TESTS=OFF" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb new file mode 100644 index 00000000000..354f4e91156 --- /dev/null +++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb @@ -0,0 +1,47 @@ +SUMMARY = "JSON C++ lib used to read and write json file." +DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \ + and writer in C++. JSON (JavaScript Object Notation) is a \ + lightweight data-interchange format. It is easy for humans to \ + read and write. It is easy for machines to parse and generate." + +HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp" + +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926" + +PE = "1" + +SRCREV = "3455302847cf1e4671f1d8f5fa953fd46a7b1404" +SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https;tag=${PV} \ + file://0001-Fix-C-11-ABI-breakage-when-compiled-with-C-17-1668-1.patch \ + file://run-ptest \ + " + +inherit cmake ptest + +EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF \ + ${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSONCPP_WITH_TESTS=ON -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF', '-DJSONCPP_WITH_TESTS=OFF', d)} \ + " + +DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)}" +RDEPENDS:${PN}-ptest += "cmake python3-core" + +do_install_ptest () { + cp -r ${B}/bin ${D}${PTEST_PATH} + cp -r ${S}/test ${D}${PTEST_PATH} + + rsync -a ${B}/src ${D}${PTEST_PATH} \ + --exclude CMakeFiles \ + --exclude cmake_install.cmake \ + --exclude Makefile \ + --exclude generated + sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` + sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` + sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` + sed -i -e 's#${PYTHON}#/usr/bin/python3#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` + sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.1.bb b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.1.bb deleted file mode 100644 index 5ad953d260b..00000000000 --- a/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A header only library for creating and validating json web tokens in c++" -HOMEPAGE = "https://thalhammer.github.io/jwt-cpp/" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8325a5ce4414c65ffdda392e0d96a9ff" - -SRC_URI = "git://github.com/Thalhammer/jwt-cpp.git;branch=master;protocol=https \ - " - -SRCREV = "e71e0c2d584baff06925bbb3aad683f677e4d498" - - -DEPENDS = "openssl" - -inherit cmake - -EXTRA_OECMAKE += "-DJWT_BUILD_EXAMPLES=OFF -DJWT_CMAKE_FILES_INSTALL_DIR=${libdir}/cmake/${BPN}" - -BBCLASSEXTEND = "nativesdk" diff --git a/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.2.bb b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.2.bb new file mode 100644 index 00000000000..fa4698b2b30 --- /dev/null +++ b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "A header only library for creating and validating json web tokens in c++" +HOMEPAGE = "https://thalhammer.github.io/jwt-cpp/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8325a5ce4414c65ffdda392e0d96a9ff" + +SRC_URI = "git://github.com/Thalhammer/jwt-cpp.git;branch=master;protocol=https;tag=v${PV} \ + " + +SRCREV = "b0ea29a58fc852a67d4e896d266880c2c63b0c4c" + + +DEPENDS = "openssl" + +inherit cmake + +EXTRA_OECMAKE += "-DJWT_BUILD_EXAMPLES=OFF -DJWT_CMAKE_FILES_INSTALL_DIR=${libdir}/cmake/${BPN}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/librust-cxx/librust-cxx-crates.inc b/meta-oe/recipes-devtools/librust-cxx/librust-cxx-crates.inc new file mode 100644 index 00000000000..ea21ea5924d --- /dev/null +++ b/meta-oe/recipes-devtools/librust-cxx/librust-cxx-crates.inc @@ -0,0 +1,130 @@ +# Autogenerated with 'bitbake -c update_crates librust-cxx' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/anstyle/1.0.13 \ + crate://crates.io/bitflags/2.10.0 \ + crate://crates.io/cc/1.2.53 \ + crate://crates.io/cfg-if/1.0.4 \ + crate://crates.io/clap/4.5.54 \ + crate://crates.io/clap_builder/4.5.54 \ + crate://crates.io/clap_lex/0.7.7 \ + crate://crates.io/codespan-reporting/0.13.1 \ + crate://crates.io/cxx-build/1.0.194 \ + crate://crates.io/cxx-gen/0.7.194 \ + crate://crates.io/cxx-test-suite/0.0.1 \ + crate://crates.io/cxxbridge-cmd/1.0.194 \ + crate://crates.io/cxxbridge-flags/1.0.194 \ + crate://crates.io/cxxbridge-macro/1.0.194 \ + crate://crates.io/dissimilar/1.0.10 \ + crate://crates.io/equivalent/1.0.2 \ + crate://crates.io/errno/0.3.14 \ + crate://crates.io/fastrand/2.3.0 \ + crate://crates.io/find-msvc-tools/0.1.8 \ + crate://crates.io/foldhash/0.2.0 \ + crate://crates.io/getrandom/0.3.4 \ + crate://crates.io/glob/0.3.3 \ + crate://crates.io/hashbrown/0.16.1 \ + crate://crates.io/indexmap/2.13.0 \ + crate://crates.io/indoc/2.0.7 \ + crate://crates.io/itoa/1.0.17 \ + crate://crates.io/libc/0.2.180 \ + crate://crates.io/link-cplusplus/1.0.12 \ + crate://crates.io/linux-raw-sys/0.11.0 \ + crate://crates.io/memchr/2.7.6 \ + crate://crates.io/once_cell/1.21.3 \ + crate://crates.io/proc-macro2/1.0.105 \ + crate://crates.io/quote/1.0.43 \ + crate://crates.io/r-efi/5.3.0 \ + crate://crates.io/rustix/1.1.3 \ + crate://crates.io/rustversion/1.0.22 \ + crate://crates.io/scratch/1.0.9 \ + crate://crates.io/serde/1.0.228 \ + crate://crates.io/serde_core/1.0.228 \ + crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/serde_json/1.0.149 \ + crate://crates.io/serde_spanned/1.0.4 \ + crate://crates.io/shlex/1.3.0 \ + crate://crates.io/strsim/0.11.1 \ + crate://crates.io/syn/2.0.114 \ + crate://crates.io/target-triple/1.0.0 \ + crate://crates.io/tempfile/3.24.0 \ + crate://crates.io/termcolor/1.4.1 \ + crate://crates.io/toml/0.9.11+spec-1.1.0 \ + crate://crates.io/toml_datetime/0.7.5+spec-1.1.0 \ + crate://crates.io/toml_parser/1.0.6+spec-1.1.0 \ + crate://crates.io/toml_writer/1.0.6+spec-1.1.0 \ + crate://crates.io/trybuild/1.0.114 \ + crate://crates.io/unicode-ident/1.0.22 \ + crate://crates.io/unicode-width/0.2.2 \ + crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ + crate://crates.io/winapi-util/0.1.11 \ + crate://crates.io/windows-link/0.2.1 \ + crate://crates.io/windows-sys/0.61.2 \ + crate://crates.io/winnow/0.7.14 \ + crate://crates.io/wit-bindgen/0.51.0 \ + crate://crates.io/zmij/1.0.16 \ +" + +SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +SRC_URI[cc-1.2.53.sha256sum] = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932" +SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +SRC_URI[clap-4.5.54.sha256sum] = "c6e6ff9dcd79cff5cd969a17a545d79e84ab086e444102a591e288a8aa3ce394" +SRC_URI[clap_builder-4.5.54.sha256sum] = "fa42cf4d2b7a41bc8f663a7cab4031ebafa1bf3875705bfaf8466dc60ab52c00" +SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +SRC_URI[codespan-reporting-0.13.1.sha256sum] = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681" +SRC_URI[cxx-build-1.0.194.sha256sum] = "b0f4697d190a142477b16aef7da8a99bfdc41e7e8b1687583c0d23a79c7afc1e" +SRC_URI[cxx-gen-0.7.194.sha256sum] = "035b6c61a944483e8a4b2ad4fb8b13830d63491bd004943716ad16d85dcc64bc" +SRC_URI[cxx-test-suite-0.0.1.sha256sum] = "2a0a413bcefc6b37668d9eae784f5fe11232343e11101f1d1834163a509610e7" +SRC_URI[cxxbridge-cmd-1.0.194.sha256sum] = "d0956799fa8678d4c50eed028f2de1c0552ae183c76e976cf7ca8c4e36a7c328" +SRC_URI[cxxbridge-flags-1.0.194.sha256sum] = "23384a836ab4f0ad98ace7e3955ad2de39de42378ab487dc28d3990392cb283a" +SRC_URI[cxxbridge-macro-1.0.194.sha256sum] = "e6acc6b5822b9526adfb4fc377b67128fdd60aac757cc4a741a6278603f763cf" +SRC_URI[dissimilar-1.0.10.sha256sum] = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921" +SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +SRC_URI[find-msvc-tools-0.1.8.sha256sum] = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" +SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" +SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +SRC_URI[indoc-2.0.7.sha256sum] = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" +SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +SRC_URI[libc-0.2.180.sha256sum] = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +SRC_URI[link-cplusplus-1.0.12.sha256sum] = "7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82" +SRC_URI[linux-raw-sys-0.11.0.sha256sum] = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +SRC_URI[proc-macro2-1.0.105.sha256sum] = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" +SRC_URI[quote-1.0.43.sha256sum] = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" +SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +SRC_URI[rustix-1.1.3.sha256sum] = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +SRC_URI[scratch-1.0.9.sha256sum] = "d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2" +SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +SRC_URI[serde_spanned-1.0.4.sha256sum] = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +SRC_URI[target-triple-1.0.0.sha256sum] = "591ef38edfb78ca4771ee32cf494cb8771944bee237a9b91fc9c1424ac4b777b" +SRC_URI[tempfile-3.24.0.sha256sum] = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +SRC_URI[toml-0.9.11+spec-1.1.0.sha256sum] = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" +SRC_URI[toml_datetime-0.7.5+spec-1.1.0.sha256sum] = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +SRC_URI[toml_parser-1.0.6+spec-1.1.0.sha256sum] = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" +SRC_URI[toml_writer-1.0.6+spec-1.1.0.sha256sum] = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" +SRC_URI[trybuild-1.0.114.sha256sum] = "3e17e807bff86d2a06b52bca4276746584a78375055b6e45843925ce2802b335" +SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +SRC_URI[windows-link-0.2.1.sha256sum] = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +SRC_URI[windows-sys-0.61.2.sha256sum] = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" +SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +SRC_URI[zmij-1.0.16.sha256sum] = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65" diff --git a/meta-oe/recipes-devtools/librust-cxx/librust-cxx_1.0.194.bb b/meta-oe/recipes-devtools/librust-cxx/librust-cxx_1.0.194.bb new file mode 100644 index 00000000000..b0d04772361 --- /dev/null +++ b/meta-oe/recipes-devtools/librust-cxx/librust-cxx_1.0.194.bb @@ -0,0 +1,36 @@ +SUMMARY = "Safe interoperability between Rust and C++" +HOMEPAGE = "https://crates.io/crates/cxx" +DESCRIPTION = "cxx is a library that enables safe and efficient interoperability \ + between Rust and C++ code. It defines the FFI boundary in a single \ + Rust module, allowing static analysis of types and function signatures \ + for compatibility and safety. The library generates the necessary Rust \ + and C++ bindings automatically during the build process. It provides near \ + zero-overhead integration and supports idiomatic use of common Rust and C++ \ + standard library types." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = " \ + file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \ +" + +SRC_URI = "crate://crates.io/cxx/${PV};name=cxx" +SRC_URI[cxx.sha256sum] = "747d8437319e3a2f43d93b341c137927ca70c0f5dabeea7a005a73665e247c7e" + +S = "${CARGO_VENDORING_DIRECTORY}/cxx-${PV}" + +DEBUG_PREFIX_MAP += "-ffile-prefix-map=${CARGO_HOME}=${TARGET_DBGSRC_DIR}" + +inherit cargo cargo-update-recipe-crates + +require ${BPN}-crates.inc + +do_install () { + install -d ${D}${rustlibdir} + # The cxx deps directory also contains dependency files (.d) generated + # during compilation. These files are only needed for incremental builds + # and are not required when installing the cxx libraries. + rm -f ${B}/target/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/*.d + cp ${B}/target/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir} +} + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch new file mode 100644 index 00000000000..5bff81eaf60 --- /dev/null +++ b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch @@ -0,0 +1,34 @@ +From 6af7de3d5eaae59c53c42aab8eca1e1e9a365da5 Mon Sep 17 00:00:00 2001 +From: Steffen Winter +Date: Thu, 25 Dec 2025 20:48:02 +0100 +Subject: [PATCH] Remove more whitespaces after operator"" + +Upstream-Status: Submitted [https://github.com/ToruNiina/toml11/pull/306] +Signed-off-by: Khem Raj +--- + include/toml11/fwd/literal_fwd.hpp | 4 ++-- + include/toml11/impl/literal_impl.hpp | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +--- a/include/toml11/fwd/literal_fwd.hpp ++++ b/include/toml11/fwd/literal_fwd.hpp +@@ -24,7 +24,7 @@ inline namespace toml_literals + #if defined(TOML11_HAS_CHAR8_T) + // value of u8"" literal has been changed from char to char8_t and char8_t is + // NOT compatible to char +-::toml::value operator"" _toml(const char8_t* str, std::size_t len); ++::toml::value operator""_toml(const char8_t* str, std::size_t len); + #endif + + } // toml_literals +--- a/include/toml11/impl/literal_impl.hpp ++++ b/include/toml11/impl/literal_impl.hpp +@@ -146,7 +146,7 @@ operator""_toml(const char* str, std::si + // value of u8"" literal has been changed from char to char8_t and char8_t is + // NOT compatible to char + TOML11_INLINE ::toml::value +-operator"" _toml(const char8_t* str, std::size_t len) ++operator""_toml(const char8_t* str, std::size_t len) + { + if(len == 0) + { diff --git a/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch index c8c9922d55c..9516ee5cb1b 100644 --- a/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch +++ b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-whitespace-in-operator.patch @@ -11,7 +11,7 @@ include/toml11/impl/../fwd/literal_fwd.hpp:22:26: error: identifier '_toml' prec | | ~~~~~~~~~~~^~~~~ | | operator""_toml -Upstream-Status: Submitted [https://github.com/ToruNiina/toml11/pull/285] +Upstream-Status: Backport [https://github.com/ToruNiina/toml11/commit/dee78f822d8a5b985e565e5c1ef42a59557aa8fc] Signed-off-by: Khem Raj --- include/toml11/fwd/literal_fwd.hpp | 2 +- diff --git a/meta-oe/recipes-devtools/libtoml11/files/run-ptest b/meta-oe/recipes-devtools/libtoml11/files/run-ptest index 9bc480aa7f0..4da9e68cc57 100755 --- a/meta-oe/recipes-devtools/libtoml11/files/run-ptest +++ b/meta-oe/recipes-devtools/libtoml11/files/run-ptest @@ -1,10 +1,11 @@ -#!/bin/sh +#!/usr/bin/env sh + +cd tests || exit 1 + +rm -rf tests.log -cd tests for atest in test_* ; do - rm -rf tests.log - ./${atest} > tests.log 2>&1 - if [ $? = 0 ] ; then + if ./"${atest}" >> tests.log 2>&1; then echo "PASS: ${atest}" else echo "FAIL: ${atest}" diff --git a/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb b/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb index 38786b79ed9..49f9840f06d 100644 --- a/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb +++ b/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb @@ -3,6 +3,8 @@ DESCRIPTION = "toml11 is a feature-rich TOML language library for \ C++11/14/17/20." HOMEPAGE = "https://github.com/ToruNiina/toml11" +BUGTRACKER = "https://github.com/ToruNiina/toml11/issues" +CVE_PRODUCT = "libtoml11" SECTION = "libs" @@ -11,23 +13,20 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=44d1fcf70c7aa6991533c38daf7befa3" PE = "1" -SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286" -SRCREV_json = "8c391e04fe4195d8be862c97f38cfe10e2a3472e" -SRCREV_doctest = "ae7a13539fb71f270b87eb2e874fbac80bc8dda2" - -SRC_URI = "git://github.com/ToruNiina/toml11;branch=main;protocol=https \ - git://github.com/nlohmann/json;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/tests/extlib/json;name=json;branch=develop;protocol=https \ - git://github.com/doctest/doctest;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/tests/extlib/doctest;name=doctest;branch=master;protocol=https \ - file://0001-Remove-whitespace-in-operator.patch \ - file://run-ptest \ +SRC_URI = "\ + gitsm://github.com/ToruNiina/toml11.git;protocol=https;branch=main;tag=v${PV} \ + file://0001-Remove-whitespace-in-operator.patch \ + file://0001-Remove-more-whitespaces-after-operator.patch \ + file://run-ptest \ " -SRCREV_FORMAT = "json_doctest" - +SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286" inherit cmake ptest +CXXFLAGS:append:toolchain-clang = " -Wno-error=c2y-extensions" + EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \ - -DTOML11_BUILD_TESTS=${@bb.utils.contains("DISTRO_FEATURES", "ptest", "ON", "OFF", d)} \ + -DTOML11_BUILD_TESTS=${@bb.utils.contains("PTEST_ENABLED", "1", "ON", "OFF", d)} \ " ALLOW_EMPTY:${PN} = "1" @@ -36,3 +35,5 @@ do_install_ptest () { install -d ${D}${PTEST_PATH}/tests cp -r ${B}/tests/test_* ${D}${PTEST_PATH}/tests } + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/lshw/lshw_02.20.bb b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb index 95e2084255e..2f1367341af 100644 --- a/meta-oe/recipes-devtools/lshw/lshw_02.20.bb +++ b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb @@ -32,11 +32,11 @@ EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} RPM_OPT_FLAGS='${CFLAGS}'" do_compile() { # build core only - don't ship gui - oe_runmake -C src core + oe_runmake -C src SBINDIR=${sbindir} core } do_install() { - oe_runmake install DESTDIR=${D} + oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} } BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch deleted file mode 100644 index 61932269bdc..00000000000 --- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 491b3b153f6b5cbf2d23a9778e5676eb29a6705f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 6 Feb 2023 16:37:19 -0800 -Subject: [PATCH] Fix type of single bit bitfields - -clang16 warns -trace.c:311:22: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] - -quash the warning by using an unsigned type to allow -an assignment of 0 or 1 without implicit conversion. - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - library.h | 6 +++--- - prototype.h | 2 +- - sysdeps/linux-gnu/trace.h | 10 +++++----- - 3 files changed, 9 insertions(+), 9 deletions(-) - ---- a/library.h -+++ b/library.h -@@ -71,20 +71,20 @@ struct library_symbol { - * looking up one in LIB->protolib. */ - struct prototype *proto; - -- int own_name : 1; -+ unsigned int own_name : 1; - - /* This is relevant for PLT symbols. Latent PLT symbols are - * those that don't match any of the -e rules, but that might - * potentially become active if a library implementing them - * appears that matches a -l rule. Ltrace core is responsible - * for clearing latent flag. */ -- int latent : 1; -+ unsigned latent : 1; - - /* Delayed symbols are those for which a breakpoint shouldn't - * be enabled yet. They are similar to latent symbols, but - * backend is responsible for clearing the delayed flag. See - * proc_activate_delayed_symbol. */ -- int delayed : 1; -+ unsigned int delayed : 1; - - struct arch_library_symbol_data arch; - struct os_library_symbol_data os; ---- a/prototype.h -+++ b/prototype.h -@@ -162,7 +162,7 @@ struct protolib_cache { - - /* For tracking uses of cache during cache's own - * initialization. */ -- int bootstrap : 1; -+ unsigned int bootstrap : 1; - }; - - /* Initialize CACHE. Returns 0 on success or a negative value on ---- a/sysdeps/linux-gnu/trace.h -+++ b/sysdeps/linux-gnu/trace.h -@@ -33,11 +33,11 @@ - struct pid_task { - pid_t pid; /* This may be 0 for tasks that exited - * mid-handling. */ -- int sigstopped : 1; -- int got_event : 1; -- int delivered : 1; -- int vforked : 1; -- int sysret : 1; -+ unsigned int sigstopped : 1; -+ unsigned int got_event : 1; -+ unsigned int delivered : 1; -+ unsigned int vforked : 1; -+ unsigned int sysret : 1; - }; - - struct pid_set { ---- a/sysdeps/linux-gnu/trace.c -+++ b/sysdeps/linux-gnu/trace.c -@@ -1043,7 +1043,7 @@ ltrace_exiting_install_handler(struct pr - struct process_vfork_handler - { - struct event_handler super; -- int vfork_bp_refd:1; -+ unsigned int vfork_bp_refd:1; - }; - - static Event * diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch deleted file mode 100644 index f3a6d9e5993..00000000000 --- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c1d3aaf5ec810c2594938438c7b4ccd20943f255 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jul 2017 10:20:52 -0700 -Subject: [PATCH] configure: Recognise linux-musl as a host OS - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index 3e8667f..95d6642 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -35,6 +35,7 @@ AC_CANONICAL_HOST - case "${host_os}" in - linux-gnu*) HOST_OS="linux-gnu" ;; - linux-uclibc*) HOST_OS="linux-gnu" ;; -+ linux-musl*) HOST_OS="linux-gnu" ;; - *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;; - esac - AC_SUBST(HOST_OS) --- -2.13.2 - diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch new file mode 100644 index 00000000000..e7aa0fdabe4 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch @@ -0,0 +1,34 @@ +From d568c0cbdecf31a7020f2a0574470d014f447a86 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 12 Apr 2026 00:07:06 -0700 +Subject: [PATCH] dwarf_prototypes: return NULL from NEXT_SIBLING on error + +NEXT_SIBLING is used in functions that return pointers, so returning +false on error is misleading and relies on implicit conversion. +Return (void *)0 instead to make the failure value explicit and match +the surrounding function return type. + +This is flagged by clang-22 due to +Replacing return false with return (void *)0 +avoids clang's -Wbool-conversion error when the macro expands +inside functions returning a pointer type. + +Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/30] +Signed-off-by: Khem Raj +--- + dwarf_prototypes.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dwarf_prototypes.c b/dwarf_prototypes.c +index bfac177..e7ea1bc 100644 +--- a/dwarf_prototypes.c ++++ b/dwarf_prototypes.c +@@ -36,7 +36,7 @@ + #define NEXT_SIBLING(die) \ + int res = dwarf_siblingof(die, die); \ + if (res == 0) continue; /* sibling exists */ \ +- if (res < 0) return false; /* error */ \ ++ if (res < 0) return (void *)0; /* error */ \ + break /* no sibling exists */ + + static struct arg_type_info *get_type(int *newly_allocated_info, diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch new file mode 100644 index 00000000000..0f8a9766f40 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch @@ -0,0 +1,86 @@ +From 65c5a621a366a25b8572cd29c01b4aa92c02903a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 12 Apr 2026 00:46:20 -0700 +Subject: [PATCH] trace: fix 1-bit bitfield assignments for clang + -Wsingle-bit-bitfield-constant-conversion + +Replace '1' with 'true' for all 1-bit signed bitfield assignments. +Assigning integer 1 to a 1-bit signed bitfield truncates to -1; using +'true' which is a bool is well-defined and avoids the clang error. + +Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/30] +Signed-off-by: Khem Raj +--- + ltrace-elf.c | 2 +- + sysdeps/linux-gnu/trace.c | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/ltrace-elf.c b/ltrace-elf.c +index beaf69f..2be609c 100644 +--- a/ltrace-elf.c ++++ b/ltrace-elf.c +@@ -819,7 +819,7 @@ mark_chain_latent(struct library_symbol *libsym) + { + for (; libsym != NULL; libsym = libsym->next) { + debug(DEBUG_FUNCTION, "marking %s latent", libsym->name); +- libsym->latent = 1; ++ libsym->latent = true; + } + } + +diff --git a/sysdeps/linux-gnu/trace.c b/sysdeps/linux-gnu/trace.c +index 12c8747..b7f4c57 100644 +--- a/sysdeps/linux-gnu/trace.c ++++ b/sysdeps/linux-gnu/trace.c +@@ -310,13 +310,13 @@ send_sigstop(struct process *task, void *data) + * weed out unnecessary looping. */ + if (st == PS_SLEEPING + && is_vfork_parent(task)) { +- task_info->vforked = 1; ++ task_info->vforked = true; + return CBS_CONT; + } + + if (task_kill(task->pid, SIGSTOP) >= 0) { + debug(DEBUG_PROCESS, "send SIGSTOP to %d", task->pid); +- task_info->sigstopped = 1; ++ task_info->sigstopped = true; + } else + fprintf(stderr, + "Warning: couldn't send SIGSTOP to %d\n", task->pid); +@@ -442,7 +442,7 @@ handle_stopping_event(struct pid_task *task_info, Event **eventp) + { + /* Mark all events, so that we know whom to SIGCONT later. */ + if (task_info != NULL) +- task_info->got_event = 1; ++ task_info->got_event = true; + + Event *event = *eventp; + +@@ -454,7 +454,7 @@ handle_stopping_event(struct pid_task *task_info, Event **eventp) + debug(DEBUG_PROCESS, "SIGSTOP delivered to %d", task_info->pid); + if (task_info->sigstopped + && !task_info->delivered) { +- task_info->delivered = 1; ++ task_info->delivered = true; + *eventp = NULL; // sink the event + } else + fprintf(stderr, "suspicious: %d got SIGSTOP, but " +@@ -748,7 +748,7 @@ process_stopping_on_event(struct event_handler *super, Event *event) + debug(1, "%d LT_EV_SYSRET", event->proc->pid); + event_to_queue = 0; + if (task_info != NULL) +- task_info->sysret = 1; ++ task_info->sysret = true; + } + + switch (state) { +@@ -1070,7 +1070,7 @@ process_vfork_on_event(struct event_handler *super, Event *event) + &event->e_un.brk_addr, &sbp); + assert(sbp != NULL); + breakpoint_turn_on(sbp, proc->leader); +- self->vfork_bp_refd = 1; ++ self->vfork_bp_refd = true; + } + break; + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_0.8.1.bb b/meta-oe/recipes-devtools/ltrace/ltrace_0.8.1.bb new file mode 100644 index 00000000000..77bb61830b8 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace_0.8.1.bb @@ -0,0 +1,45 @@ +SUMMARY = "ltrace intercepts and records dynamic library calls" + +DESCRIPTION = "ltrace intercepts and records dynamic library calls \ +which are called by an executed process and the signals received by that process. \ +It can also intercept and print the system calls executed by the program.\ +" +HOMEPAGE = "http://ltrace.org/" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" + +PE = "2" +SRCREV = "7ef6e6097586b751cce298c256a919404dab259d" + +DEPENDS = "elfutils" +SRC_URI = "git://gitlab.com/cespedes/ltrace.git;protocol=https;branch=main;tag=${PV} \ + file://configure-allow-to-disable-selinux-support.patch \ + file://0001-Use-correct-enum-type.patch \ + file://0002-Fix-const-qualifier-error.patch \ + file://0001-Add-support-for-mips64-n32-n64.patch \ + file://0001-mips-plt.c-Delete-include-error.h.patch \ + file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \ + file://0001-hook-Do-not-append-int-to-std-string.patch \ + file://0001-Bug-fix-for-data-type-length-judgment.patch \ + file://0001-ppc-Remove-unused-host_powerpc64-function.patch \ + file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \ + file://0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch \ + file://0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch \ + file://0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch \ + " +SRC_URI:append:libc-musl = " file://add_ppc64le.patch" + + +inherit autotools + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" +PACKAGECONFIG[unwind] = "--with-libunwind --without-elfutils,--without-libunwind,libunwind" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" + +COMPATIBLE_HOST:riscv64 = "null" +COMPATIBLE_HOST:riscv32 = "null" + +do_configure:prepend () { + ( cd ${S}; ./autogen.sh ) +} diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb deleted file mode 100644 index f84d989eefd..00000000000 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "ltrace intercepts and records dynamic library calls" - -DESCRIPTION = "ltrace intercepts and records dynamic library calls \ -which are called by an executed process and the signals received by that process. \ -It can also intercept and print the system calls executed by the program.\ -" -HOMEPAGE = "http://ltrace.org/" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" - -PE = "1" -PV = "7.91+git" -SRCREV = "8eabf684ba6b11ae7a1a843aca3c0657c6329d73" - -DEPENDS = "elfutils" -SRC_URI = "git://gitlab.com/cespedes/ltrace.git;protocol=https;branch=main \ - file://configure-allow-to-disable-selinux-support.patch \ - file://0001-Use-correct-enum-type.patch \ - file://0002-Fix-const-qualifier-error.patch \ - file://0001-Add-support-for-mips64-n32-n64.patch \ - file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ - file://0001-mips-plt.c-Delete-include-error.h.patch \ - file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \ - file://0001-hook-Do-not-append-int-to-std-string.patch \ - file://0001-Bug-fix-for-data-type-length-judgment.patch \ - file://0001-ppc-Remove-unused-host_powerpc64-function.patch \ - file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \ - file://0001-Fix-type-of-single-bit-bitfields.patch \ - file://0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch \ - " -SRC_URI:append:libc-musl = " file://add_ppc64le.patch" - - -inherit autotools - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" -PACKAGECONFIG[unwind] = "--with-libunwind --without-elfutils,--without-libunwind,libunwind" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" - -COMPATIBLE_HOST:riscv64 = "null" -COMPATIBLE_HOST:riscv32 = "null" - -do_configure:prepend () { - ( cd ${S}; ./autogen.sh ) -} diff --git a/meta-oe/recipes-devtools/luajit/luajit_git.bb b/meta-oe/recipes-devtools/luajit/luajit_git.bb index 9df5fca0e6f..9873ed6f053 100644 --- a/meta-oe/recipes-devtools/luajit/luajit_git.bb +++ b/meta-oe/recipes-devtools/luajit/luajit_git.bb @@ -1,6 +1,6 @@ SUMMARY = "Just-In-Time Compiler for Lua" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d421a5e2a24207f5e260537399a9a38b" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=a2c43bf4a9ea63755af2131b0ae59ff3" HOMEPAGE = "http://luajit.org" SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \ @@ -9,8 +9,7 @@ SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \ " PV = "2.1" -SRCREV = "538a82133ad6fddfd0ca64de167c4aca3bc1a2da" - +SRCREV = "659a61693aa3b87661864ad0f12eee14c865cd7f" inherit pkgconfig binconfig siteinfo diff --git a/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb b/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb deleted file mode 100644 index 59bc4dfcfeb..00000000000 --- a/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION = "luaposix is a POSIX binding for Lua." -LICENSE = "MIT" -HOMEPAGE = "https://github.com/luaposix/luaposix" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f30d022f6ef53952fa87cc0b6fffb153" - -DEPENDS += "lua-native lua virtual/crypt" - -SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release-v36.2;protocol=https \ -" -SRCREV = "5a8d8c768fc3c51f42cb591e9523a60399efc6a1" -LUA_VERSION = "5.4" - -B = "${S}" - -inherit pkgconfig - -do_compile() { - ${S}/build-aux/luke LUA_INCDIR=${STAGING_INCDIR} -} - -do_install() { - ${S}/build-aux/luke PREFIX=${D}${prefix} INST_LIBDIR=${D}${libdir}/lua/${LUA_VERSION} install -} - -FILES:${PN} = "${datadir}/lua/${LUA_VERSION} \ - ${libdir}/lua/${LUA_VERSION}" diff --git a/meta-oe/recipes-devtools/luaposix/luaposix_36.3.bb b/meta-oe/recipes-devtools/luaposix/luaposix_36.3.bb new file mode 100644 index 00000000000..686b1365d05 --- /dev/null +++ b/meta-oe/recipes-devtools/luaposix/luaposix_36.3.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "luaposix is a POSIX binding for Lua." +LICENSE = "MIT" +HOMEPAGE = "https://github.com/luaposix/luaposix" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9a2c76dbe2ca56cf57296af9c9995c27" + +DEPENDS += "lua-native lua virtual/crypt" + +SRC_URI = "git://github.com/luaposix/luaposix.git;nobranch=1;tag=v${PV};protocol=https \ +" +SRCREV = "e6b94b37c19c4bd19a7dc475a4f4cb56f61f5da9" +LUA_VERSION = "5.5" + +B = "${S}" + +inherit pkgconfig + +do_compile() { + ${S}/build-aux/luke LUA_INCDIR=${STAGING_INCDIR} +} + +do_install() { + ${S}/build-aux/luke PREFIX=${D}${prefix} INST_LIBDIR=${D}${libdir}/lua/${LUA_VERSION} install +} + +FILES:${PN} = "${datadir}/lua/${LUA_VERSION} \ + ${libdir}/lua/${LUA_VERSION}" diff --git a/meta-oe/recipes-devtools/memstat/memstat/0001-makefile-Do-not-override-cflags.patch b/meta-oe/recipes-devtools/memstat/memstat/0001-makefile-Do-not-override-cflags.patch new file mode 100644 index 00000000000..8ac7a8ff542 --- /dev/null +++ b/meta-oe/recipes-devtools/memstat/memstat/0001-makefile-Do-not-override-cflags.patch @@ -0,0 +1,30 @@ +From a0806283da1b82b511aa879fa2f71deb01f849bd Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 26 Jan 2026 22:22:54 -0800 +Subject: [PATCH] makefile: Do not override cflags + +bitbake environment passes correct clfags for OE env +overriding it means some important flags for cross-compiling +go missing and causes + +memstat-1.0-r0 do_package_qa: QA Issue: File /usr/bin/.debug/memstat in package memstat-dbg contains reference to TMPDIR [buildpaths] + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Khem Raj +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 29f8129..5426bf4 100644 +--- a/Makefile ++++ b/Makefile +@@ -3,7 +3,6 @@ + # Copyright 1998, by Bernd Eckenfels + # This file is under the GPL. + # +-CFLAGS = -g -Wall -O2 + prefix = $(DESTDIR)/ + exec_prefix = $(prefix)/usr + diff --git a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb index 6289f3a27a7..a0b4d0b9cc0 100644 --- a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb +++ b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb @@ -14,6 +14,7 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=87be186443b1ac2cfa466f475e1ee0cb SRC_URI = "http://sourceforge.net/projects/memstattool/files/memstat_${PV}.tar.gz \ file://0001-Include-limits.h-for-PATH_MAX-definition.patch \ + file://0001-makefile-Do-not-override-cflags.patch \ " SRC_URI[sha256sum] = "245d5fc7fb87bcfd14486cd34917cae2856e799559ac568434af12c4852bce94" diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.3.2.bb b/meta-oe/recipes-devtools/mpich/mpich_4.3.2.bb deleted file mode 100644 index f1ac212023d..00000000000 --- a/meta-oe/recipes-devtools/mpich/mpich_4.3.2.bb +++ /dev/null @@ -1,67 +0,0 @@ -SUMMARY = "Message Passing Interface (MPI) implementation" -HOMEPAGE = "http://www.mpich.org/" -SECTION = "devel" - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a296dfb961b957b0e8adf67d8478d3d" - -SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" -SRC_URI[sha256sum] = "47d774587a7156a53752218c811c852e70ac44db9c502dc3f399b4cb817e3818" - -RDEPENDS:${PN} += "bash perl libxml2" - -EXTRA_OECONF = "--enable-debuginfo \ - --enable-fast \ - --enable-shared \ - --with-pm=gforker \ - BASH_SHELL='${USRBINPATH}/env bash' \ - PERL='${USRBINPATH}/env perl' \ - --with-device=ch3:nemesis \ -" - -PACKAGECONFIG ??= "" - -PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx" -PACKAGECONFIG[fortran] = "--with-cross=${WORKDIR}/cross_values.txt --enable-fortran,--disable-f77 --disable-fortran,libgfortran" - -# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang -LDFLAGS:append:x86-64 = " -lgcc" -LDFLAGS:append:x86 = " -lgcc" - -inherit autotools gettext pkgconfig qemu - -DEPENDS += "qemu-native" - -do_configure() { - if [ "${@bb.utils.contains('PACKAGECONFIG', 'fortran', '1', '', d)}" = "1" ]; then - qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" - cat > ${WORKDIR}/qemuwrapper << EOF -#!/bin/sh -$qemu_binary "\$@" -EOF - chmod +x ${WORKDIR}/qemuwrapper - - sed -i 's:my \(.*\) ./t`;:my \1 ${WORKDIR}/qemuwrapper ${WORKDIR}/t`;:' ${S}/maint/gen_cross.pl - - cd ${WORKDIR} - perl ${S}/maint/gen_cross.pl - - sed -i 's:\(CROSS_F90_INTEGER_MODEL_MAP=.*\) }"$:\1 }, ":' ${WORKDIR}/cross_values.txt - fi - - cd ${S} - ./autogen.sh - - cd ${B} - oe_runconf - sed -i -e 's,${WORKDIR},,g' ${B}/src/include/mpichinfo.h -} - -do_install:append() { - sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la - sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}${bindir}/mpicxx - sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}${bindir}/mpicc - sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc - sed -i 's,${RECIPE_SYSROOT},/,g' ${D}${bindir}/mpicc - sed -i 's,${RECIPE_SYSROOT},/,g' ${D}${bindir}/mpicxx -} diff --git a/meta-oe/recipes-devtools/mpich/mpich_5.0.1.bb b/meta-oe/recipes-devtools/mpich/mpich_5.0.1.bb new file mode 100644 index 00000000000..55f6cde82f6 --- /dev/null +++ b/meta-oe/recipes-devtools/mpich/mpich_5.0.1.bb @@ -0,0 +1,67 @@ +SUMMARY = "Message Passing Interface (MPI) implementation" +HOMEPAGE = "http://www.mpich.org/" +SECTION = "devel" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a296dfb961b957b0e8adf67d8478d3d" + +SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" +SRC_URI[sha256sum] = "8c1832a13ddacf071685069f5fadfd1f2877a29e1a628652892c65211b1f3327" + +RDEPENDS:${PN} += "bash perl libxml2" + +EXTRA_OECONF = "--enable-debuginfo \ + --enable-fast \ + --enable-shared \ + --with-pm=gforker \ + BASH_SHELL='${USRBINPATH}/env bash' \ + PERL='${USRBINPATH}/env perl' \ + --with-device=ch3:nemesis \ +" + +PACKAGECONFIG ??= "" + +PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx" +PACKAGECONFIG[fortran] = "--with-cross=${WORKDIR}/cross_values.txt --enable-fortran,--disable-f77 --disable-fortran,libgfortran" + +# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang +LDFLAGS:append:x86-64 = " -lgcc" +LDFLAGS:append:x86 = " -lgcc" + +inherit autotools gettext pkgconfig qemu + +DEPENDS += "qemu-native" + +do_configure() { + if [ "${@bb.utils.contains('PACKAGECONFIG', 'fortran', '1', '', d)}" = "1" ]; then + qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" + cat > ${WORKDIR}/qemuwrapper << EOF +#!/bin/sh +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/qemuwrapper + + sed -i 's:my \(.*\) ./t`;:my \1 ${WORKDIR}/qemuwrapper ${WORKDIR}/t`;:' ${S}/maint/gen_cross.pl + + cd ${WORKDIR} + perl ${S}/maint/gen_cross.pl + + sed -i 's:\(CROSS_F90_INTEGER_MODEL_MAP=.*\) }"$:\1 }, ":' ${WORKDIR}/cross_values.txt + fi + + cd ${S} + ./autogen.sh + + cd ${B} + oe_runconf + sed -i -e 's,${WORKDIR},,g' ${B}/src/include/mpichinfo.h +} + +do_install:append() { + sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la + sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}${bindir}/mpicxx + sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}${bindir}/mpicc + sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc + sed -i 's,${RECIPE_SYSROOT},/,g' ${D}${bindir}/mpicc + sed -i 's,${RECIPE_SYSROOT},/,g' ${D}${bindir}/mpicxx +} diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-llhttp-fix-NEON-header-value-__builtin_ctzll-undefin.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-llhttp-fix-NEON-header-value-__builtin_ctzll-undefin.patch new file mode 100644 index 00000000000..683dddcf042 --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-llhttp-fix-NEON-header-value-__builtin_ctzll-undefin.patch @@ -0,0 +1,60 @@ +From a63a5faea54055973bf5f0a514444532563cc20d Mon Sep 17 00:00:00 2001 +From: Telukula Jeevan Kumar Sahu +Date: Fri, 27 Feb 2026 20:58:43 +0530 +Subject: [PATCH] llhttp: fix NEON header value __builtin_ctzll undefined + behavior + +When all 16 bytes match the allowed range, match_mask becomes 0 after +the bitwise NOT. Calling __builtin_ctzll(0) is undefined behavior per +the C standard. + +The code expects match_len == 16 when all bytes match (so the branch +is skipped and p += 16 continues the loop), but this relied on +ctzll(0) returning 64, which is not guaranteed. + +GCC at -O2 exploits this UB by deducing that __builtin_ctzll() result +is always in range [0, 63], and after >> 2 always in [0, 15], which +is never equal to 16. The compiler then optimizes +"if (match_len != 16)" to always-true, causing every valid 16-byte +chunk to be falsely rejected as containing an invalid character. + +This manifests as HTTP 400 Bad Request (HPE_INVALID_HEADER_TOKEN) for +any HTTP header value longer than 16 characters on ARM targets with +NEON enabled. + +Fix by explicitly checking for match_mask == 0 and setting +match_len = 16, avoiding the undefined behavior entirely. This bug +affects both aarch64 and armv7 NEON targets. + +The fix has been merged upstream in llparse 7.3.1 [1] and is included +in llhttp 9.3.1. This patch can be dropped when nodejs updates its +bundled llhttp to >= 9.3.1. + +[1]: https://github.com/nodejs/llparse/pull/83 + +Upstream-Status: Inappropriate +Signed-off-by: Telukula Jeevan Kumar Sahu +--- + deps/llhttp/src/llhttp.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/deps/llhttp/src/llhttp.c b/deps/llhttp/src/llhttp.c +index 14b731e..b0a46c6 100644 +--- a/deps/llhttp/src/llhttp.c ++++ b/deps/llhttp/src/llhttp.c +@@ -2651,7 +2651,11 @@ static llparse_state_t llhttp__internal__run( + mask = vorrq_u8(mask, single); + narrow = vshrn_n_u16(vreinterpretq_u16_u8(mask), 4); + match_mask = ~vget_lane_u64(vreinterpret_u64_u8(narrow), 0); +- match_len = __builtin_ctzll(match_mask) >> 2; ++ if (match_mask == 0) { ++ match_len = 16; ++ } else { ++ match_len = __builtin_ctzll(match_mask) >> 2; ++ } + if (match_len != 16) { + p += match_len; + goto s_n_llhttp__internal__n_header_value_otherwise; +-- +2.34.1 + diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.0.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.22.0.bb deleted file mode 100644 index 05fa6080471..00000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.0.bb +++ /dev/null @@ -1,215 +0,0 @@ -DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" -HOMEPAGE = "http://nodejs.org" -LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1fdf4f79da4006c3b5183fddc768f1c8" - -CVE_PRODUCT = "nodejs node.js" - -DEPENDS = "openssl openssl-native file-replacement-native python3-packaging-native" -DEPENDS:append:class-target = " qemu-native" -DEPENDS:append:class-native = " c-ares-native" - -inherit pkgconfig python3native qemu ptest siteinfo - -COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*" -COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*" -COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*" - -COMPATIBLE_HOST:riscv64 = "null" -COMPATIBLE_HOST:riscv32 = "null" -COMPATIBLE_HOST:powerpc = "null" -COMPATIBLE_HOST:powerpc64le = "null" - -SRC_URI = "https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ - file://0001-Do-not-use-glob-in-deps.patch \ - file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ - file://0004-v8-don-t-override-ARM-CFLAGS.patch \ - file://system-c-ares.patch \ - file://0001-liftoff-Correct-function-signatures.patch \ - file://libatomic.patch \ - file://0001-deps-disable-io_uring-support-in-libuv.patch \ - file://0001-positional-args.patch \ - file://0001-custom-env.patch \ - file://0001-build-remove-redundant-mXX-flags-for-V8.patch \ - file://0001-fix-arm-Neon-intrinsics-types.patch \ - file://0001-detect-aarch64-Neon-correctly.patch \ - file://run-ptest \ - " -SRC_URI:append:class-target = " \ - file://0001-Using-native-binaries.patch \ - " -SRC_URI:append:toolchain-clang:powerpc64le = " \ - file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \ - " -SRC_URI[sha256sum] = "4c138012bb5352f49822a8f3e6d1db71e00639d0c36d5b6756f91e4c6f30b683" - -S = "${UNPACKDIR}/node-v${PV}" - -# v8 errors out if you have set CCACHE -CCACHE = "" - -def map_nodejs_arch(a, d): - import re - - if re.match('i.86$', a): return 'ia32' - elif re.match('x86_64$', a): return 'x64' - elif re.match('aarch64$', a): return 'arm64' - elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64' - elif re.match('powerpc$', a): return 'ppc' - return a - -ARCHFLAGS:arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ - '--with-arm-fpu=vfp', d), d), d)}" -ARCHFLAGS:append:mips = " --v8-lite-mode" -ARCHFLAGS:append:mipsel = " --v8-lite-mode" -ARCHFLAGS ?= "" - -PACKAGECONFIG ??= "ares brotli icu zlib" - -PACKAGECONFIG[ares] = "--shared-cares,,c-ares c-ares-native" -PACKAGECONFIG[brotli] = "--shared-brotli,,brotli brotli-native" -PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu icu-native" -PACKAGECONFIG[libuv] = "--shared-libuv,,libuv libuv-native" -PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2 nghttp2-native" -PACKAGECONFIG[shared] = "--shared" -PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" - -EXTRANATIVEPATH += "file-native" - -python prune_sources() { - import shutil - - shutil.rmtree(d.getVar('S') + '/deps/openssl') - if 'ares' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/cares') - if 'brotli' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/brotli') - if 'libuv' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/uv') - if 'nghttp2' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/nghttp2') - if 'zlib' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/zlib') -} -do_patch[postfuncs] += "prune_sources" - -# V8's JIT infrastructure requires binaries such as mksnapshot and -# mkpeephole to be run in the host during the build. However, these -# binaries must have the same bit-width as the target (e.g. a x86_64 -# host targeting ARMv6 needs to produce a 32-bit binary). -# 1. If host and target have the different bit width, run those -# binaries for the target and run them on the host with QEMU. -# 2. If host and target have the same bit width, enable upstream -# cross compile support and no QEMU -python do_create_v8_qemu_wrapper () { - """Creates a small wrapper that invokes QEMU to run some target V8 binaries - on the host.""" - qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'), - d.expand('${STAGING_DIR_HOST}${base_libdir}')] - qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), - qemu_libdirs) - - if d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "1": - qemu_cmd = "" - - wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh') - with open(wrapper_path, 'w') as wrapper_file: - wrapper_file.write("""#!/bin/sh - -# This file has been generated automatically. -# It invokes QEMU to run binaries built for the target in the host during the -# build process. - -%s "$@" -""" % qemu_cmd) - os.chmod(wrapper_path, 0o755) -} - -do_create_v8_qemu_wrapper[dirs] = "${B}" -addtask create_v8_qemu_wrapper after do_configure before do_compile - -export CC_host -export CFLAGS_host -export CXX_host -export CXXFLAGS_host -export LDFLAGS_host -export AR_host -export HOST_AND_TARGET_SAME_WIDTH - -CROSS_FLAGS = "--cross-compiling" -CROSS_FLAGS:class-native = "--no-cross-compiling" - -# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi -do_configure () { - GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES - # $TARGET_ARCH settings don't match --dest-cpu settings - python3 configure.py --verbose --prefix=${prefix} \ - --shared-openssl \ - --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ - --dest-os=linux \ - --libdir=${baselib} \ - ${CROSS_FLAGS} \ - ${ARCHFLAGS} \ - ${PACKAGECONFIG_CONFARGS} -} - -do_compile () { - install -D ${RECIPE_SYSROOT_NATIVE}/etc/ssl/openssl.cnf ${B}/deps/openssl/nodejs-openssl.cnf - install -D ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh - oe_runmake BUILDTYPE=Release -} - -do_install () { - oe_runmake install DESTDIR=${D} -} - -do_install_ptest () { - cp -r ${B}/out/Release/cctest ${D}${PTEST_PATH}/ - cp -r ${B}/test ${D}${PTEST_PATH} - chown -R root:root ${D}${PTEST_PATH} -} - -PACKAGES =+ "${PN}-npm" -FILES:${PN}-npm = "${nonarch_libdir}/node_modules ${bindir}/npm ${bindir}/npx ${bindir}/corepack" -RDEPENDS:${PN}-npm = "bash python3-core python3-shell python3-datetime \ - python3-misc python3-multiprocessing" - -PACKAGES =+ "${PN}-systemtap" -FILES:${PN}-systemtap = "${datadir}/systemtap" - -do_configure[prefuncs] += "set_gyp_variables" -do_compile[prefuncs] += "set_gyp_variables" -do_install[prefuncs] += "set_gyp_variables" -python set_gyp_variables () { - if d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "0": - # We don't want to cross-compile during target compile, - # and we need to use the right flags during host compile, - # too. - d.setVar("CC_host", d.getVar("CC") + " -pie -fPIE") - d.setVar("CFLAGS_host", d.getVar("CFLAGS")) - d.setVar("CXX_host", d.getVar("CXX") + " -pie -fPIE") - d.setVar("CXXFLAGS_host", d.getVar("CXXFLAGS")) - d.setVar("LDFLAGS_host", d.getVar("LDFLAGS")) - d.setVar("AR_host", d.getVar("AR")) - elif d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "1": - # Enable upstream cross compile support - d.setVar("CC_host", d.getVar("BUILD_CC")) - d.setVar("CFLAGS_host", d.getVar("BUILD_CFLAGS")) - d.setVar("CXX_host", d.getVar("BUILD_CXX")) - d.setVar("CXXFLAGS_host", d.getVar("BUILD_CXXFLAGS")) - d.setVar("LDFLAGS_host", d.getVar("BUILD_LDFLAGS")) - d.setVar("AR_host", d.getVar("BUILD_AR")) -} - -python __anonymous () { - # 32 bit target and 64 bit host (x86-64 or aarch64) have different bit width - if d.getVar("SITEINFO_BITS") == "32" and "64" in d.getVar("BUILD_ARCH"): - d.setVar("HOST_AND_TARGET_SAME_WIDTH", "0") - else: - d.setVar("HOST_AND_TARGET_SAME_WIDTH", "1") -} - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb new file mode 100644 index 00000000000..3a1385f70a0 --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb @@ -0,0 +1,224 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0 & BlueOak-1.0.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b195f4ea4368177a2fd84b879f09cba8" + +CVE_PRODUCT = "nodejs node.js" + +DEPENDS = "openssl openssl-native file-replacement-native python3-packaging-native" +DEPENDS:append:class-target = " qemu-native" +DEPENDS:append:class-native = " c-ares-native" + +inherit pkgconfig python3native qemu ptest siteinfo + +COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*" +COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*" +COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*" + +COMPATIBLE_HOST:riscv64 = "null" +COMPATIBLE_HOST:riscv32 = "null" +COMPATIBLE_HOST:powerpc = "null" +COMPATIBLE_HOST:powerpc64le = "null" + +SRC_URI = "https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ + file://0001-Do-not-use-glob-in-deps.patch \ + file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ + file://0004-v8-don-t-override-ARM-CFLAGS.patch \ + file://system-c-ares.patch \ + file://0001-liftoff-Correct-function-signatures.patch \ + file://libatomic.patch \ + file://0001-deps-disable-io_uring-support-in-libuv.patch \ + file://0001-positional-args.patch \ + file://0001-custom-env.patch \ + file://0001-build-remove-redundant-mXX-flags-for-V8.patch \ + file://0001-fix-arm-Neon-intrinsics-types.patch \ + file://0001-detect-aarch64-Neon-correctly.patch \ + file://0001-llhttp-fix-NEON-header-value-__builtin_ctzll-undefin.patch \ + file://run-ptest \ + " +SRC_URI:append:class-target = " \ + file://0001-Using-native-binaries.patch \ + " +SRC_URI:append:toolchain-clang:powerpc64le = " \ + file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \ + " +SRC_URI[sha256sum] = "b6bedd3a8cacd5df7df015a5088264b12c74a277ba60684cb9642ae8eb743132" + +S = "${UNPACKDIR}/node-v${PV}" + +# v8 errors out if you have set CCACHE +CCACHE = "" + +def map_nodejs_arch(a, d): + import re + + if re.match('i.86$', a): return 'ia32' + elif re.match('x86_64$', a): return 'x64' + elif re.match('aarch64$', a): return 'arm64' + elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64' + elif re.match('powerpc$', a): return 'ppc' + return a + +ARCHFLAGS:arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ + '--with-arm-fpu=vfp', d), d), d)}" +ARCHFLAGS:append:mips = " --v8-lite-mode" +ARCHFLAGS:append:mipsel = " --v8-lite-mode" +ARCHFLAGS ?= "" + +PACKAGECONFIG ??= "ares brotli icu zlib" + +PACKAGECONFIG[ares] = "--shared-cares,,c-ares c-ares-native" +PACKAGECONFIG[brotli] = "--shared-brotli,,brotli brotli-native" +PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu icu-native" +PACKAGECONFIG[libuv] = "--shared-libuv,,libuv libuv-native" +PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2 nghttp2-native" +PACKAGECONFIG[shared] = "--shared" +PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" + +EXTRANATIVEPATH += "file-native" + +python prune_sources() { + import shutil + + shutil.rmtree(d.getVar('S') + '/deps/openssl') + if 'ares' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/cares') + if 'brotli' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/brotli') + if 'libuv' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/uv') + if 'nghttp2' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/nghttp2') + if 'zlib' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/zlib') +} +do_patch[postfuncs] += "prune_sources" + +# V8's JIT infrastructure requires binaries such as mksnapshot and +# mkpeephole to be run in the host during the build. However, these +# binaries must have the same bit-width as the target (e.g. a x86_64 +# host targeting ARMv6 needs to produce a 32-bit binary). +# 1. If host and target have the different bit width, run those +# binaries for the target and run them on the host with QEMU. +# 2. If host and target have the same bit width, enable upstream +# cross compile support and no QEMU +python do_create_v8_qemu_wrapper () { + """Creates a small wrapper that invokes QEMU to run some target V8 binaries + on the host.""" + qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'), + d.expand('${STAGING_DIR_HOST}${base_libdir}')] + qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), + qemu_libdirs) + + if d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "1": + qemu_cmd = "" + + wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh') + with open(wrapper_path, 'w') as wrapper_file: + wrapper_file.write("""#!/bin/sh + +# This file has been generated automatically. +# It invokes QEMU to run binaries built for the target in the host during the +# build process. + +%s "$@" +""" % qemu_cmd) + os.chmod(wrapper_path, 0o755) +} + +do_create_v8_qemu_wrapper[dirs] = "${B}" +addtask create_v8_qemu_wrapper after do_configure before do_compile + +export CC_host +export CFLAGS_host +export CXX_host +export CXXFLAGS_host +export LDFLAGS_host +export AR_host +export HOST_AND_TARGET_SAME_WIDTH + +CROSS_FLAGS = "--cross-compiling" +CROSS_FLAGS:class-native = "--no-cross-compiling" + +# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi +do_configure () { + GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES + # $TARGET_ARCH settings don't match --dest-cpu settings + python3 configure.py --verbose --prefix=${prefix} \ + --shared-openssl \ + --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ + --dest-os=linux \ + --libdir=${baselib} \ + ${CROSS_FLAGS} \ + ${ARCHFLAGS} \ + ${PACKAGECONFIG_CONFARGS} +} + +do_compile () { + install -D ${RECIPE_SYSROOT_NATIVE}/etc/ssl/openssl.cnf ${B}/deps/openssl/nodejs-openssl.cnf + install -D ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh + oe_runmake BUILDTYPE=Release +} + +do_install () { + oe_runmake install DESTDIR=${D} +} + +do_install_ptest () { + cp -r ${B}/out/Release/cctest ${D}${PTEST_PATH}/ + cp -r ${B}/test ${D}${PTEST_PATH} + chown -R root:root ${D}${PTEST_PATH} +} + +PACKAGES =+ "${PN}-npm" +FILES:${PN}-npm = "${nonarch_libdir}/node_modules ${bindir}/npm ${bindir}/npx ${bindir}/corepack" +RDEPENDS:${PN}-npm = "bash python3-core python3-shell python3-datetime \ + python3-misc python3-multiprocessing" + +PACKAGES =+ "${PN}-systemtap" +FILES:${PN}-systemtap = "${datadir}/systemtap" + +do_configure[prefuncs] += "set_gyp_variables" +do_compile[prefuncs] += "set_gyp_variables" +do_install[prefuncs] += "set_gyp_variables" +python set_gyp_variables () { + if d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "0": + # We don't want to cross-compile during target compile, + # and we need to use the right flags during host compile, + # too. + d.setVar("CC_host", d.getVar("CC") + " -pie -fPIE") + d.setVar("CFLAGS_host", d.getVar("CFLAGS")) + d.setVar("CXX_host", d.getVar("CXX") + " -pie -fPIE") + d.setVar("CXXFLAGS_host", d.getVar("CXXFLAGS")) + d.setVar("LDFLAGS_host", d.getVar("LDFLAGS")) + d.setVar("AR_host", d.getVar("AR")) + elif d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "1": + # Enable upstream cross compile support + d.setVar("CC_host", d.getVar("BUILD_CC")) + d.setVar("CFLAGS_host", d.getVar("BUILD_CFLAGS")) + d.setVar("CXX_host", d.getVar("BUILD_CXX")) + d.setVar("CXXFLAGS_host", d.getVar("BUILD_CXXFLAGS")) + d.setVar("LDFLAGS_host", d.getVar("BUILD_LDFLAGS")) + d.setVar("AR_host", d.getVar("BUILD_AR")) +} + +python __anonymous () { + # 32 bit target and 64 bit host (x86-64 or aarch64) have different bit width + if d.getVar("SITEINFO_BITS") == "32" and "64" in d.getVar("BUILD_ARCH"): + d.setVar("HOST_AND_TARGET_SAME_WIDTH", "0") + else: + d.setVar("HOST_AND_TARGET_SAME_WIDTH", "1") +} + +BBCLASSEXTEND = "native" + +CVE_STATUS[CVE-2026-21710] = "fixed-version: fixed since v22.22.2" +CVE_STATUS[CVE-2026-21712] = "cpe-incorrect: only v24 and v25 are affected" +CVE_STATUS[CVE-2026-21713] = "fixed-version: fixed since v22.22.2" +CVE_STATUS[CVE-2026-21714] = "fixed-version: fixed since v22.22.2" +CVE_STATUS[CVE-2026-21715] = "fixed-version: fixed since v22.22.2" +CVE_STATUS[CVE-2026-21716] = "fixed-version: fixed since v22.22.2" +CVE_STATUS[CVE-2026-21717] = "fixed-version: fixed since v22.22.2" diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.bb b/meta-oe/recipes-devtools/perfetto/perfetto.bb index d697485e692..52fb36ef400 100644 --- a/meta-oe/recipes-devtools/perfetto/perfetto.bb +++ b/meta-oe/recipes-devtools/perfetto/perfetto.bb @@ -24,7 +24,6 @@ SRC_URI:append = " \ git://chromium.googlesource.com/chromium/src/third_party/zlib.git;nobranch=1;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/zlib;name=zlib \ git://android.googlesource.com/platform/external/lzma.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/lzma;name=lzma \ git://android.googlesource.com/platform/external/zstd.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/zstd;name=zstd \ - https://storage.googleapis.com/perfetto/gn-linux64-1968-0725d782;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/;name=gn \ \ file://0001-Remove-check_build_deps-build-steps.patch \ " @@ -45,8 +44,6 @@ SRCREV_zstd = "77211fcc5e08c781734a386402ada93d0d18d093" SRCREV_FORMAT .= "_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib_zstd" -SRC_URI[gn.sha256sum] = "f706aaa0676e3e22f5fc9ca482295d7caee8535d1869f99efa2358177b64f5cd" - require perfetto.inc DEPENDS += " ninja-native gn-native" @@ -71,12 +68,6 @@ B = "${WORKDIR}/build" do_configure () { # Configuration needs to be done from the source directory cd ${S} - # Rename a few build tools if they have not been renamed - cd buildtools - - mkdir linux64 && cp ${RECIPE_SYSROOT_NATIVE}${bindir}/gn linux64/gn - chmod +x linux64/gn - cd .. CC_BIN=`echo $CC | awk '{print $1}'` CXX_BIN=`echo $CXX | awk '{print $1}'` @@ -109,7 +100,7 @@ do_configure () { ARGS=$ARGS" target_linker=\"$CC_BIN ${TUNE_CCARGS} ${LDFLAGS}\"" ARGS=$ARGS" target_ar=\"$AR\"" ARGS="'$ARGS'" - cmd="tools/gn gen --args=$ARGS ${B}" + cmd="gn gen --args=$ARGS ${B}" echo $cmd # Use eval, not just call $cmd, due to escaping of single quotation marks diff --git a/meta-oe/recipes-devtools/perl/exiftool_13.48.bb b/meta-oe/recipes-devtools/perl/exiftool_13.48.bb deleted file mode 100644 index 0ace1e10eba..00000000000 --- a/meta-oe/recipes-devtools/perl/exiftool_13.48.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Exiftool" -DESCRIPTION = "ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files." -HOMEPAGE = "https://exiftool.org/" -SECTION = "libs" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://perl-Image-ExifTool.spec;beginline=5;endline=5;md5=ffefffc98dab025cb49489bd4d88ee10" - -inherit cpan - -SRCREV = "5a760372fadf23effe370ab5e9ca8e2df9448411" -SRC_URI = "git://github.com/exiftool/exiftool;protocol=https;branch=master;tag=${PV}" - -RDEPENDS:${PN} = " \ - perl \ - perl-module-list-util \ - perl-module-overload \ - perl-module-file-glob \ - perl-module-scalar-util \ - perl-module-compress-zlib \ -" - -do_install:append() { - # Remove reference to TMPDIR [buildpaths] - sed -i -e 's,${TMPDIR},,g' ${D}${bindir}/exiftool - - # Fix shebang and QA Issue [file-rdeps] to use target /usr/bin/env - sed -i -e '1s|^#!.*env perl|#!/usr/bin/env perl|' ${D}${bindir}/exiftool -} diff --git a/meta-oe/recipes-devtools/perl/exiftool_13.52.bb b/meta-oe/recipes-devtools/perl/exiftool_13.52.bb new file mode 100644 index 00000000000..f40116144ef --- /dev/null +++ b/meta-oe/recipes-devtools/perl/exiftool_13.52.bb @@ -0,0 +1,28 @@ +SUMMARY = "Exiftool" +DESCRIPTION = "ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files." +HOMEPAGE = "https://exiftool.org/" +SECTION = "libs" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://perl-Image-ExifTool.spec;beginline=5;endline=5;md5=ffefffc98dab025cb49489bd4d88ee10" + +inherit cpan + +SRCREV = "02c78a2e051894b57ad8a11024f8cfa05957e725" +SRC_URI = "git://github.com/exiftool/exiftool;protocol=https;branch=master;tag=${PV}" + +RDEPENDS:${PN} = " \ + perl \ + perl-module-list-util \ + perl-module-overload \ + perl-module-file-glob \ + perl-module-scalar-util \ + perl-module-compress-zlib \ +" + +do_install:append() { + # Remove reference to TMPDIR [buildpaths] + sed -i -e 's,${TMPDIR},,g' ${D}${bindir}/exiftool + + # Fix shebang and QA Issue [file-rdeps] to use target /usr/bin/env + sed -i -e '1s|^#!.*env perl|#!/usr/bin/env perl|' ${D}${bindir}/exiftool +} diff --git a/meta-oe/recipes-devtools/php/php_8.5.3.bb b/meta-oe/recipes-devtools/php/php_8.5.3.bb deleted file mode 100644 index f4d02dbf225..00000000000 --- a/meta-oe/recipes-devtools/php/php_8.5.3.bb +++ /dev/null @@ -1,290 +0,0 @@ -SUMMARY = "A server-side, HTML-embedded scripting language" -HOMEPAGE = "https://www.php.net" -SECTION = "console/network" - -LICENSE = "PHP-3.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fd469cce1a919f0cc95bab7afb28d19d" - -BBCLASSEXTEND = "native" -DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native" -DEPENDS:append:libc-musl = " libucontext" -DEPENDS:class-native = "zlib-native libxml2-native" - -PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}" - -SRC_URI = "https://php.net/distributions/php-${PV}.tar.bz2 \ - file://0001-configure.ac-don-t-include-build-libtool.m4.patch \ - file://0002-ext-phar-Makefile.frag-Fix-phar-packaging.patch \ - " - -SRC_URI:append:class-target = " \ - file://0003-iconv-fix-detection.patch \ - file://0004-pear-fix-Makefile.frag-for-Yocto.patch \ - file://0005-explicitly-not-generate-phar.php-during-cross-compil.patch \ - file://php-fpm.conf \ - file://php-fpm-apache.conf \ - file://70_mod_php${PHP_MAJOR_VERSION}.conf \ - file://php-fpm.service \ - " - -UPSTREAM_CHECK_URI = "https://github.com/php/php-src/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/php-(?P\d+(\.\d+)+)" - -S = "${UNPACKDIR}/php-${PV}" - -SRC_URI[sha256sum] = "fc5ecabc183ceb64d9fca3dcd387bd29b2b67448326af998fde003124916823b" - -CVE_STATUS_GROUPS += "CVE_STATUS_PHP" -CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored." -CVE_STATUS_PHP = " \ - CVE-2007-2728 \ - CVE-2007-3205 \ - CVE-2007-4596 \ -" -CVE_STATUS[CVE-2022-4900] = "cpe-incorrect: The current version (8.2.20) is not affected." -CVE_STATUS[CVE-2024-3566] = "not-applicable-platform: Issue only applies on Windows" - -inherit autotools pkgconfig python3native gettext multilib_header multilib_script systemd - -# phpize is not scanned for absolute paths by default (but php-config is). -# -SSTATE_SCAN_FILES += "phpize" -SSTATE_SCAN_FILES += "build-defs.h" - -export PHP_UNAME = "Linux" - -PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" - -# Common EXTRA_OECONF -COMMON_EXTRA_OECONF = "--enable-sockets \ - --enable-pcntl \ - --enable-shared \ - --disable-rpath \ - --with-pic \ - --libdir=${PHP_LIBDIR} \ -" -EXTRA_OECONF = "--enable-mbstring \ - --enable-fpm \ - --with-libdir=${baselib} \ - --with-gettext=${STAGING_LIBDIR}/.. \ - --with-zlib=${STAGING_LIBDIR}/.. \ - --with-iconv=${STAGING_LIBDIR}/.. \ - --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ - --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \ - ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ - ac_cv_path_PROG_SENDMAIL=sendmail \ - ${COMMON_EXTRA_OECONF} \ -" - -# Set these values directly to avoid AC_RUN_IFELSE which does not work in cross compilation environment -CACHED_CONFIGUREVARS += "ac_cv_php_cv_shm_ipc=yes ac_cv_php_cv_shm_mmap_anon=yes ac_cv_php_cv_shm_mmap_posix=yes" - -EXTRA_OECONF:append:riscv64 = " --with-pcre-jit=no" -EXTRA_OECONF:append:riscv32 = " --with-pcre-jit=no" -# Needs fibers assembly implemented for rv32 -# for example rv64 implementation is below -# see https://github.com/php/php-src/commit/70b02d75f2abe3a292d49c4a4e9e4f850c2fee68 -EXTRA_OECONF:append:riscv32:libc-musl = " --disable-fiber-asm" - -EXTRA_OECONF:class-native = " \ - --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ - --without-iconv \ - ${COMMON_EXTRA_OECONF} \ -" - -PACKAGECONFIG ??= "mysql sqlite3 openssl \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ -" -PACKAGECONFIG:class-native = "" - -PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma" -PACKAGECONFIG[mbstring] = "--enable-mbstring,," -PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ - --with-pdo-mysql=mysqlnd \ - ,--without-mysqli --without-pdo-mysql \ - ,mysql5" -PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" -PACKAGECONFIG[pam] = ",,libpam" -PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql" -PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2" -PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ - --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ - ,--without-sqlite3 --without-pdo-sqlite \ - ,sqlite3" -PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" -PACKAGECONFIG[zip] = "--with-zip,,libzip" - -export HOSTCC = "${BUILD_CC}" -export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" -export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" -CFLAGS += " -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" - -# Adding these flags enables dynamic library support, which is disabled by -# default when cross compiling -# See https://bugs.php.net/bug.php?id=60109 -CFLAGS += " -DHAVE_LIBDL " -LDFLAGS += " -ldl " -LDFLAGS:append:libc-musl = " -lucontext " -LDFLAGS:append:riscv64 = " -latomic" - -EXTRA_OEMAKE = "INSTALL_ROOT=${D}" - -do_configure:prepend () { - rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 - find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!' -} - -do_configure:append() { - # No, libtool, we really don't want rpath set... - sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool - sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool - sed -i -e's@${RECIPE_SYSROOT}@@g' \ - -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \ - -e's@-fdebug-prefix-map=[^ ]*[ ]*@@g' \ - -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \ - -e's@-fmacro-prefix-map=[^ ]*[ ]*@@g' \ - ${B}/main/build-defs.h \ - ${B}/scripts/php-config -} - -do_install:append:class-native() { - rm -rf ${D}/${PHP_LIBDIR}/php/.registry - rm -rf ${D}/${PHP_LIBDIR}/php/.channels - rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]* -} - -do_install:prepend() { - cat ${STAGING_DATADIR}/aclocal/libtool.m4 \ - ${STAGING_DATADIR}/aclocal/lt~obsolete.m4 \ - ${STAGING_DATADIR}/aclocal/ltoptions.m4 \ - ${STAGING_DATADIR}/aclocal/ltsugar.m4 \ - ${STAGING_DATADIR}/aclocal/ltversion.m4 > ${S}/build/libtool.m4 -} - -do_install:prepend:class-target() { - if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then - # Install dummy config file so apxs doesn't fail - install -d ${D}${sysconfdir}/apache2 - printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf - fi -} - -# fixme -do_install:append:class-target() { - install -d ${D}${sysconfdir}/ - rm -rf ${D}/.registry - rm -rf ${D}/.channels - rm -rf ${D}/.[a-z]* - rm -rf ${D}/var - rm -f ${D}/${sysconfdir}/php-fpm.conf.default - install -m 0644 ${UNPACKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf - install -d ${D}/${sysconfdir}/apache2/conf.d - install -m 0644 ${UNPACKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf - install -d ${D}${sysconfdir}/init.d - sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm - install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm - install -m 0644 ${UNPACKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/php-fpm.service ${D}${systemd_system_unitdir}/php-fpm.service - sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_system_unitdir}/php-fpm.service - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/php-fpm.service - sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/php-fpm.service - fi - - if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/apache2/modules.d - install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} - install -m 644 ${UNPACKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d - sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf - cat ${S}/php.ini-production | \ - sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ - > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini - rm -f ${D}${sysconfdir}/apache2/httpd.conf* - fi -} - -MULTILIB_SCRIPTS += "${PN}:${bindir}/php-config \ - ${PN}:${bindir}/phpize \ -" - -do_install:append () { - oe_multilib_header php/main/build-defs.h php/main/php_config.h -} - -SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" - -php_sysroot_preprocess () { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - - sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize - sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config -} - -MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" - -PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-phpdbg ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" - -RDEPENDS:${PN} += "libgcc" -RDEPENDS:${PN}-pear = "${PN}" -RDEPENDS:${PN}-cli = "${PN}" -RDEPENDS:${PN}-modphp = "${PN} apache2" - -ALLOW_EMPTY:${PN} = "1" - -INITSCRIPT_PACKAGES = "${PN}-fpm" -inherit update-rc.d - -# WARNING: lib32-php-8.0.12-r0 do_package_qa: QA Issue: lib32-php: ELF binary /usr/libexec/apache2/modules/libphp.so has relocations in .text [textrel] -INSANE_SKIP:${PN}:append:x86 = " textrel" - -FILES:${PN}-dbg =+ "${bindir}/.debug \ - ${libexecdir}/apache2/modules/.debug" -FILES:${PN}-doc += "${PHP_LIBDIR}/php/doc" -FILES:${PN}-cli = "${bindir}/php" -FILES:${PN}-phpdbg = "${bindir}/phpdbg" -FILES:${PN}-cgi = "${bindir}/php-cgi" -FILES:${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/php/fpm ${sysconfdir}/init.d/php-fpm ${sysconfdir}/php-fpm.d/www.conf.default" -FILES:${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -CONFFILES:${PN}-fpm = "${sysconfdir}/php-fpm.conf" -CONFFILES:${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -INITSCRIPT_NAME:${PN}-fpm = "php-fpm" -INITSCRIPT_PARAMS:${PN}-fpm = "defaults 60" -FILES:${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \ - ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \ - ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \ - ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \ - ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \ - ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \ - ${PHP_LIBDIR}/php/data/PEAR \ - ${sysconfdir}/pear.conf" -FILES:${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ - ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ - ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ - ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" -FILES:${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a" -FILES:${PN} = "${PHP_LIBDIR}/php" -FILES:${PN} += "${bindir} ${libexecdir}/apache2" - -SUMMARY:${PN}-modphp = "PHP module for the Apache HTTP server" -FILES:${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" - -MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}" -RPROVIDES:${PN}-modphp = "${MODPHP_OLDPACKAGE}" -RREPLACES:${PN}-modphp = "${MODPHP_OLDPACKAGE}" -RCONFLICTS:${PN}-modphp = "${MODPHP_OLDPACKAGE}" - -SYSTEMD_SERVICE:${PN}-fpm = "php-fpm.service" -SYSTEMD_PACKAGES += "${PN}-fpm" - -do_install:append:class-native() { - create_wrapper ${D}${bindir}/php \ - PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ -} diff --git a/meta-oe/recipes-devtools/php/php_8.5.5.bb b/meta-oe/recipes-devtools/php/php_8.5.5.bb new file mode 100644 index 00000000000..2924b478ad2 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php_8.5.5.bb @@ -0,0 +1,290 @@ +SUMMARY = "A server-side, HTML-embedded scripting language" +HOMEPAGE = "https://www.php.net" +SECTION = "console/network" + +LICENSE = "PHP-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fd469cce1a919f0cc95bab7afb28d19d" + +BBCLASSEXTEND = "native" +DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native" +DEPENDS:append:libc-musl = " libucontext" +DEPENDS:class-native = "zlib-native libxml2-native" + +PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}" + +SRC_URI = "https://php.net/distributions/php-${PV}.tar.bz2 \ + file://0001-configure.ac-don-t-include-build-libtool.m4.patch \ + file://0002-ext-phar-Makefile.frag-Fix-phar-packaging.patch \ + " + +SRC_URI:append:class-target = " \ + file://0003-iconv-fix-detection.patch \ + file://0004-pear-fix-Makefile.frag-for-Yocto.patch \ + file://0005-explicitly-not-generate-phar.php-during-cross-compil.patch \ + file://php-fpm.conf \ + file://php-fpm-apache.conf \ + file://70_mod_php${PHP_MAJOR_VERSION}.conf \ + file://php-fpm.service \ + " + +UPSTREAM_CHECK_URI = "https://github.com/php/php-src/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/php-(?P\d+(\.\d+)+)" + +S = "${UNPACKDIR}/php-${PV}" + +SRC_URI[sha256sum] = "ee262beff61c431965d1f97192854b36208adeac38983c3498bb3500ae87283c" + +CVE_STATUS_GROUPS += "CVE_STATUS_PHP" +CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored." +CVE_STATUS_PHP = " \ + CVE-2007-2728 \ + CVE-2007-3205 \ + CVE-2007-4596 \ +" +CVE_STATUS[CVE-2022-4900] = "cpe-incorrect: The current version (8.2.20) is not affected." +CVE_STATUS[CVE-2024-3566] = "not-applicable-platform: Issue only applies on Windows" + +inherit autotools pkgconfig python3native gettext multilib_header multilib_script systemd + +# phpize is not scanned for absolute paths by default (but php-config is). +# +SSTATE_SCAN_FILES += "phpize" +SSTATE_SCAN_FILES += "build-defs.h" + +export PHP_UNAME = "Linux" + +PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" + +# Common EXTRA_OECONF +COMMON_EXTRA_OECONF = "--enable-sockets \ + --enable-pcntl \ + --enable-shared \ + --disable-rpath \ + --with-pic \ + --libdir=${PHP_LIBDIR} \ +" +EXTRA_OECONF = "--enable-mbstring \ + --enable-fpm \ + --with-libdir=${baselib} \ + --with-gettext=${STAGING_LIBDIR}/.. \ + --with-zlib=${STAGING_LIBDIR}/.. \ + --with-iconv=${STAGING_LIBDIR}/.. \ + --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ + --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \ + ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ + ac_cv_path_PROG_SENDMAIL=sendmail \ + ${COMMON_EXTRA_OECONF} \ +" + +# Set these values directly to avoid AC_RUN_IFELSE which does not work in cross compilation environment +CACHED_CONFIGUREVARS += "ac_cv_php_cv_shm_ipc=yes ac_cv_php_cv_shm_mmap_anon=yes ac_cv_php_cv_shm_mmap_posix=yes" + +EXTRA_OECONF:append:riscv64 = " --with-pcre-jit=no" +EXTRA_OECONF:append:riscv32 = " --with-pcre-jit=no" +# Needs fibers assembly implemented for rv32 +# for example rv64 implementation is below +# see https://github.com/php/php-src/commit/70b02d75f2abe3a292d49c4a4e9e4f850c2fee68 +EXTRA_OECONF:append:riscv32:libc-musl = " --disable-fiber-asm" + +EXTRA_OECONF:class-native = " \ + --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ + --without-iconv \ + ${COMMON_EXTRA_OECONF} \ +" + +PACKAGECONFIG ??= "mysql sqlite3 openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ +" +PACKAGECONFIG:class-native = "" + +PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma" +PACKAGECONFIG[mbstring] = "--enable-mbstring,," +PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ + --with-pdo-mysql=mysqlnd \ + ,--without-mysqli --without-pdo-mysql \ + ,mysql5" +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" +PACKAGECONFIG[pam] = ",,libpam" +PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql" +PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2" +PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ + --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ + ,--without-sqlite3 --without-pdo-sqlite \ + ,sqlite3" +PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" +PACKAGECONFIG[zip] = "--with-zip,,libzip" + +export HOSTCC = "${BUILD_CC}" +export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" +export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" +CFLAGS += " -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" + +# Adding these flags enables dynamic library support, which is disabled by +# default when cross compiling +# See https://bugs.php.net/bug.php?id=60109 +CFLAGS += " -DHAVE_LIBDL " +LDFLAGS += " -ldl " +LDFLAGS:append:libc-musl = " -lucontext " +LDFLAGS:append:riscv64 = " -latomic" + +EXTRA_OEMAKE = "INSTALL_ROOT=${D}" + +do_configure:prepend () { + rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 + find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!' +} + +do_configure:append() { + # No, libtool, we really don't want rpath set... + sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool + sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + sed -i -e's@${RECIPE_SYSROOT}@@g' \ + -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \ + -e's@-fdebug-prefix-map=[^ ]*[ ]*@@g' \ + -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \ + -e's@-fmacro-prefix-map=[^ ]*[ ]*@@g' \ + ${B}/main/build-defs.h \ + ${B}/scripts/php-config +} + +do_install:append:class-native() { + rm -rf ${D}/${PHP_LIBDIR}/php/.registry + rm -rf ${D}/${PHP_LIBDIR}/php/.channels + rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]* +} + +do_install:prepend() { + cat ${STAGING_DATADIR}/aclocal/libtool.m4 \ + ${STAGING_DATADIR}/aclocal/lt~obsolete.m4 \ + ${STAGING_DATADIR}/aclocal/ltoptions.m4 \ + ${STAGING_DATADIR}/aclocal/ltsugar.m4 \ + ${STAGING_DATADIR}/aclocal/ltversion.m4 > ${S}/build/libtool.m4 +} + +do_install:prepend:class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + # Install dummy config file so apxs doesn't fail + install -d ${D}${sysconfdir}/apache2 + printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf + fi +} + +# fixme +do_install:append:class-target() { + install -d ${D}${sysconfdir}/ + rm -rf ${D}/.registry + rm -rf ${D}/.channels + rm -rf ${D}/.[a-z]* + rm -rf ${D}/var + rm -f ${D}/${sysconfdir}/php-fpm.conf.default + install -m 0644 ${UNPACKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf + install -d ${D}/${sysconfdir}/apache2/conf.d + install -m 0644 ${UNPACKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf + install -d ${D}${sysconfdir}/init.d + sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm + install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm + install -m 0644 ${UNPACKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/php-fpm.service ${D}${systemd_system_unitdir}/php-fpm.service + sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_system_unitdir}/php-fpm.service + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/php-fpm.service + sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/php-fpm.service + fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/apache2/modules.d + install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} + install -m 644 ${UNPACKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d + sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf + cat ${S}/php.ini-production | \ + sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ + > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini + rm -f ${D}${sysconfdir}/apache2/httpd.conf* + fi +} + +MULTILIB_SCRIPTS += "${PN}:${bindir}/php-config \ + ${PN}:${bindir}/phpize \ +" + +do_install:append () { + oe_multilib_header php/main/build-defs.h php/main/php_config.h +} + +SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" + +php_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + + sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize + sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config +} + +MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" + +PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-phpdbg ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" + +RDEPENDS:${PN} += "libgcc" +RDEPENDS:${PN}-pear = "${PN}" +RDEPENDS:${PN}-cli = "${PN}" +RDEPENDS:${PN}-modphp = "${PN} apache2" + +ALLOW_EMPTY:${PN} = "1" + +INITSCRIPT_PACKAGES = "${PN}-fpm" +inherit update-rc.d + +# WARNING: lib32-php-8.0.12-r0 do_package_qa: QA Issue: lib32-php: ELF binary /usr/libexec/apache2/modules/libphp.so has relocations in .text [textrel] +INSANE_SKIP:${PN}:append:x86 = " textrel" + +FILES:${PN}-dbg =+ "${bindir}/.debug \ + ${libexecdir}/apache2/modules/.debug" +FILES:${PN}-doc += "${PHP_LIBDIR}/php/doc" +FILES:${PN}-cli = "${bindir}/php" +FILES:${PN}-phpdbg = "${bindir}/phpdbg" +FILES:${PN}-cgi = "${bindir}/php-cgi" +FILES:${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/php/fpm ${sysconfdir}/init.d/php-fpm ${sysconfdir}/php-fpm.d/www.conf.default" +FILES:${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +CONFFILES:${PN}-fpm = "${sysconfdir}/php-fpm.conf" +CONFFILES:${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +INITSCRIPT_NAME:${PN}-fpm = "php-fpm" +INITSCRIPT_PARAMS:${PN}-fpm = "defaults 60" +FILES:${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \ + ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \ + ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \ + ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \ + ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \ + ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \ + ${PHP_LIBDIR}/php/data/PEAR \ + ${sysconfdir}/pear.conf" +FILES:${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ + ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ + ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ + ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" +FILES:${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a" +FILES:${PN} = "${PHP_LIBDIR}/php" +FILES:${PN} += "${bindir} ${libexecdir}/apache2" + +SUMMARY:${PN}-modphp = "PHP module for the Apache HTTP server" +FILES:${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" + +MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}" +RPROVIDES:${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RREPLACES:${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RCONFLICTS:${PN}-modphp = "${MODPHP_OLDPACKAGE}" + +SYSTEMD_SERVICE:${PN}-fpm = "php-fpm.service" +SYSTEMD_PACKAGES += "${PN}-fpm" + +do_install:append:class-native() { + create_wrapper ${D}${bindir}/php \ + PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ +} diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch b/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch deleted file mode 100644 index 1aae1f17b02..00000000000 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch +++ /dev/null @@ -1,1446 +0,0 @@ -From b28683f8027bf1e886b748b5603eb16d203b5a92 Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 18:18:33 -0500 -Subject: [PATCH 01/11] protoc-gen-c/c_helpers.h: Move compat defines into new - header file compat.h - -Upstream-Status: Backport [https://gitlab.archlinux.org/archlinux/packaging/packages/protobuf-c/-/blob/main/protobuf-30.patch] -Signed-off-by: Hongxu Jia - ---- - protoc-gen-c/c_field.cc | 1 + - protoc-gen-c/c_helpers.cc | 1 + - protoc-gen-c/c_helpers.h | 10 ------- - protoc-gen-c/c_message.cc | 1 + - protoc-gen-c/c_primitive_field.cc | 1 + - protoc-gen-c/compat.h | 46 +++++++++++++++++++++++++++++++ - protoc-gen-c/main.cc | 1 + - 7 files changed, 51 insertions(+), 10 deletions(-) - create mode 100644 protoc-gen-c/compat.h - -diff --git a/protoc-gen-c/c_field.cc b/protoc-gen-c/c_field.cc -index 5e79967b..d6d8597e 100644 ---- a/protoc-gen-c/c_field.cc -+++ b/protoc-gen-c/c_field.cc -@@ -74,6 +74,7 @@ - #include "c_message_field.h" - #include "c_primitive_field.h" - #include "c_string_field.h" -+#include "compat.h" - - namespace protobuf_c { - -diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc -index 5edcf904..c38843f8 100644 ---- a/protoc-gen-c/c_helpers.cc -+++ b/protoc-gen-c/c_helpers.cc -@@ -73,6 +73,7 @@ - #include - - #include "c_helpers.h" -+#include "compat.h" - - namespace protobuf_c { - -diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h -index 943676e9..e69504bb 100644 ---- a/protoc-gen-c/c_helpers.h -+++ b/protoc-gen-c/c_helpers.h -@@ -186,16 +186,6 @@ inline int FieldSyntax(const google::protobuf::FieldDescriptor* field) { - return 2; - } - --// Work around changes in protobuf >= 22.x without breaking compilation against --// older protobuf versions. --#if GOOGLE_PROTOBUF_VERSION >= 4022000 --# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE --# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ --# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ --# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE --# define GOOGLE_LOG ABSL_LOG --#endif -- - } // namespace protobuf_c - - #endif // PROTOBUF_C_PROTOC_GEN_C_C_HELPERS_H__ -diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc -index d4a9a01e..46413873 100644 ---- a/protoc-gen-c/c_message.cc -+++ b/protoc-gen-c/c_message.cc -@@ -78,6 +78,7 @@ - #include "c_extension.h" - #include "c_helpers.h" - #include "c_message.h" -+#include "compat.h" - - namespace protobuf_c { - -diff --git a/protoc-gen-c/c_primitive_field.cc b/protoc-gen-c/c_primitive_field.cc -index 253b00bd..588f60e6 100644 ---- a/protoc-gen-c/c_primitive_field.cc -+++ b/protoc-gen-c/c_primitive_field.cc -@@ -67,6 +67,7 @@ - - #include "c_helpers.h" - #include "c_primitive_field.h" -+#include "compat.h" - - namespace protobuf_c { - -diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h -new file mode 100644 -index 00000000..2ee78281 ---- /dev/null -+++ b/protoc-gen-c/compat.h -@@ -0,0 +1,46 @@ -+// Copyright (c) 2008-2025, Dave Benson and the protobuf-c authors. -+// All rights reserved. -+// -+// Redistribution and use in source and binary forms, with or without -+// modification, are permitted provided that the following conditions are -+// met: -+// -+// * Redistributions of source code must retain the above copyright -+// notice, this list of conditions and the following disclaimer. -+// -+// * Redistributions in binary form must reproduce the above -+// copyright notice, this list of conditions and the following disclaimer -+// in the documentation and/or other materials provided with the -+// distribution. -+// -+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ -+#ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ -+#define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ -+ -+#if GOOGLE_PROTOBUF_VERSION >= 4022000 -+# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE -+# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ -+# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE -+# define GOOGLE_LOG ABSL_LOG -+#endif -+ -+namespace protobuf_c { -+ -+namespace compat { -+ -+} // namespace compat -+ -+} // namespace protobuf_c -+ -+#endif // PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ -diff --git a/protoc-gen-c/main.cc b/protoc-gen-c/main.cc -index 0656c113..5ab929d3 100644 ---- a/protoc-gen-c/main.cc -+++ b/protoc-gen-c/main.cc -@@ -32,6 +32,7 @@ - - #include "c_generator.h" - #include "c_helpers.h" -+#include "compat.h" - - int main(int argc, char* argv[]) { - protobuf_c::CGenerator c_generator; - -From 1678f1fba6f2d3e5c1db2817495ddcd72bd4e87b Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 20:09:03 -0500 -Subject: [PATCH 02/11] protoc-gen-c/compat.h: Add `compat::StringView` type - -protobuf >= 30.x replaces `const std::string&` in various APIs with -its own string view type that may actually be a `absl::string_view`. -Introduce our own `compat::StringView` type that we can use instead -of `const std::string&` in order to support compiling across multiple -protobuf versions. ---- - protoc-gen-c/compat.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h -index 2ee78281..fe8041b5 100644 ---- a/protoc-gen-c/compat.h -+++ b/protoc-gen-c/compat.h -@@ -28,6 +28,8 @@ - #ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ - #define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ - -+#include -+ - #if GOOGLE_PROTOBUF_VERSION >= 4022000 - # define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE - # define GOOGLE_CHECK_EQ ABSL_CHECK_EQ -@@ -39,6 +41,12 @@ namespace protobuf_c { - - namespace compat { - -+#if GOOGLE_PROTOBUF_VERSION >= 6030000 -+typedef google::protobuf::internal::DescriptorStringView StringView; -+#else -+typedef const std::string& StringView; -+#endif -+ - } // namespace compat - - } // namespace protobuf_c - -From db5252c131c82fb48ee599179b6989a577b7fbc8 Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 20:13:44 -0500 -Subject: [PATCH 03/11] Remove some unused functions - ---- - protoc-gen-c/c_helpers.cc | 64 --------------------------------------- - protoc-gen-c/c_helpers.h | 3 -- - 2 files changed, 67 deletions(-) - -diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc -index c38843f8..bbb4a615 100644 ---- a/protoc-gen-c/c_helpers.cc -+++ b/protoc-gen-c/c_helpers.cc -@@ -90,14 +90,6 @@ namespace protobuf_c { - #pragma warning(disable:4996) - #endif - --std::string DotsToUnderscores(const std::string& name) { -- return StringReplace(name, ".", "_", true); --} -- --std::string DotsToColons(const std::string& name) { -- return StringReplace(name, ".", "::", true); --} -- - std::string SimpleFtoa(float f) { - char buf[100]; - snprintf(buf,sizeof(buf),"%.*g", FLT_DIG, f); -@@ -333,11 +325,6 @@ std::string FilenameIdentifier(const std::string& filename) { - return result; - } - --// Return the name of the BuildDescriptors() function for a given file. --std::string GlobalBuildDescriptorsName(const std::string& filename) { -- return "proto_BuildDescriptors_" + FilenameIdentifier(filename); --} -- - std::string GetLabelName(google::protobuf::FieldDescriptor::Label label) { - switch (label) { - case google::protobuf::FieldDescriptor::LABEL_OPTIONAL: return "optional"; -@@ -392,57 +379,6 @@ WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int * - } - } - -- -- --// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx --// XXXXXXXXX this stuff is copied from strutils.cc !!!! XXXXXXXXXXXXXXXXXXXXXXXXXXXXx --// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx --// ---------------------------------------------------------------------- --// StringReplace() --// Replace the "old" pattern with the "new" pattern in a string, --// and append the result to "res". If replace_all is false, --// it only replaces the first instance of "old." --// ---------------------------------------------------------------------- -- --void StringReplace(const std::string& s, const std::string& oldsub, -- const std::string& newsub, bool replace_all, -- std::string* res) { -- if (oldsub.empty()) { -- res->append(s); // if empty, append the given string. -- return; -- } -- -- std::string::size_type start_pos = 0; -- std::string::size_type pos; -- do { -- pos = s.find(oldsub, start_pos); -- if (pos == std::string::npos) { -- break; -- } -- res->append(s, start_pos, pos - start_pos); -- res->append(newsub); -- start_pos = pos + oldsub.size(); // start searching again after the "old" -- } while (replace_all); -- res->append(s, start_pos, s.length() - start_pos); --} -- -- --// ---------------------------------------------------------------------- --// StringReplace() --// Give me a string and two patterns "old" and "new", and I replace --// the first instance of "old" in the string with "new", if it --// exists. If "global" is true; call this repeatedly until it --// fails. RETURN a new string, regardless of whether the replacement --// happened or not. --// ---------------------------------------------------------------------- -- --std::string StringReplace(const std::string& s, const std::string& oldsub, -- const std::string& newsub, bool replace_all) { -- std::string ret; -- StringReplace(s, oldsub, newsub, replace_all, &ret); -- return ret; --} -- - // ---------------------------------------------------------------------- - // SplitStringUsing() - // Split a string using a character delimiter. Append the components -diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h -index e69504bb..377d4272 100644 ---- a/protoc-gen-c/c_helpers.h -+++ b/protoc-gen-c/c_helpers.h -@@ -150,9 +150,6 @@ const char* DeclaredTypeMethodName(google::protobuf::FieldDescriptor::Type type) - // Convert a file name into a valid identifier. - std::string FilenameIdentifier(const std::string& filename); - --// Return the name of the BuildDescriptors() function for a given file. --std::string GlobalBuildDescriptorsName(const std::string& filename); -- - // return 'required', 'optional', or 'repeated' - std::string GetLabelName(google::protobuf::FieldDescriptor::Label label); - - -From bc2cb66d908f016dd3f7082c8a6ad7c58bc03412 Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 20:18:05 -0500 -Subject: [PATCH 04/11] Use `compat::StringView` type across various function - signatures - ---- - protoc-gen-c/c_helpers.cc | 44 +++++++++++++++++++++------------------ - protoc-gen-c/c_helpers.h | 36 ++++++++++++++++---------------- - 2 files changed, 42 insertions(+), 38 deletions(-) - -diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc -index bbb4a615..c759c8c2 100644 ---- a/protoc-gen-c/c_helpers.cc -+++ b/protoc-gen-c/c_helpers.cc -@@ -96,6 +96,7 @@ std::string SimpleFtoa(float f) { - buf[sizeof(buf)-1] = 0; /* should NOT be necessary */ - return buf; - } -+ - std::string SimpleDtoa(double d) { - char buf[100]; - snprintf(buf,sizeof(buf),"%.*g", DBL_DIG, d); -@@ -103,7 +104,7 @@ std::string SimpleDtoa(double d) { - return buf; - } - --std::string CamelToUpper(const std::string &name) { -+std::string CamelToUpper(compat::StringView name) { - bool was_upper = true; // suppress initial _ - std::string rv = ""; - int len = name.length(); -@@ -120,7 +121,8 @@ std::string CamelToUpper(const std::string &name) { - } - return rv; - } --std::string CamelToLower(const std::string &name) { -+ -+std::string CamelToLower(compat::StringView name) { - bool was_upper = true; // suppress initial _ - std::string rv = ""; - int len = name.length(); -@@ -138,8 +140,7 @@ std::string CamelToLower(const std::string &name) { - return rv; - } - -- --std::string ToUpper(const std::string &name) { -+std::string ToUpper(compat::StringView name) { - std::string rv = ""; - int len = name.length(); - for (int i = 0; i < len; i++) { -@@ -147,7 +148,8 @@ std::string ToUpper(const std::string &name) { - } - return rv; - } --std::string ToLower(const std::string &name) { -+ -+std::string ToLower(compat::StringView name) { - std::string rv = ""; - int len = name.length(); - for (int i = 0; i < len; i++) { -@@ -155,7 +157,8 @@ std::string ToLower(const std::string &name) { - } - return rv; - } --std::string ToCamel(const std::string &name) { -+ -+std::string ToCamel(compat::StringView name) { - std::string rv = ""; - int len = name.length(); - bool next_is_upper = true; -@@ -172,7 +175,7 @@ std::string ToCamel(const std::string &name) { - return rv; - } - --std::string OverrideFullName(const std::string &full_name, const google::protobuf::FileDescriptor* file) { -+std::string OverrideFullName(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { - const ProtobufCFileOptions opt = file->options().GetExtension(pb_c_file); - if (!opt.has_c_package()) - return full_name; -@@ -184,7 +187,7 @@ std::string OverrideFullName(const std::string &full_name, const google::protobu - return new_name + full_name.substr(file->package().length()); - } - --std::string FullNameToLower(const std::string &full_name, const google::protobuf::FileDescriptor* file) { -+std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { - std::vector pieces; - SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); - std::string rv = ""; -@@ -195,7 +198,8 @@ std::string FullNameToLower(const std::string &full_name, const google::protobuf - } - return rv; - } --std::string FullNameToUpper(const std::string &full_name, const google::protobuf::FileDescriptor* file) { -+ -+std::string FullNameToUpper(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { - std::vector pieces; - SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); - std::string rv = ""; -@@ -206,7 +210,8 @@ std::string FullNameToUpper(const std::string &full_name, const google::protobuf - } - return rv; - } --std::string FullNameToC(const std::string &full_name, const google::protobuf::FileDescriptor* file) { -+ -+std::string FullNameToC(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { - std::vector pieces; - SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); - std::string rv = ""; -@@ -248,7 +253,7 @@ void PrintComment(google::protobuf::io::Printer* printer, std::string comment) - } - } - --std::string ConvertToSpaces(const std::string &input) { -+std::string ConvertToSpaces(compat::StringView input) { - return std::string(input.size(), ' '); - } - -@@ -259,8 +264,7 @@ int compare_name_indices_by_name(const void *a, const void *b) - return strcmp (ni_a->name, ni_b->name); - } - -- --std::string CEscape(const std::string& src); -+std::string CEscape(compat::StringView src); - - const char* const kKeywordList[] = { - "and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break", "case", -@@ -300,7 +304,7 @@ std::string FieldDeprecated(const google::protobuf::FieldDescriptor* field) { - return ""; - } - --std::string StripProto(const std::string& filename) { -+std::string StripProto(compat::StringView filename) { - if (HasSuffixString(filename, ".protodevel")) { - return StripSuffixString(filename, ".protodevel"); - } else { -@@ -309,7 +313,7 @@ std::string StripProto(const std::string& filename) { - } - - // Convert a file name into a valid identifier. --std::string FilenameIdentifier(const std::string& filename) { -+std::string FilenameIdentifier(compat::StringView filename) { - std::string result; - for (unsigned i = 0; i < filename.size(); i++) { - if (isalnum(filename[i])) { -@@ -335,7 +339,7 @@ std::string GetLabelName(google::protobuf::FieldDescriptor::Label label) { - } - - unsigned --WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, const std::string &name) -+WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, compat::StringView name) - { - std::map vars; - vars["name"] = name; -@@ -389,7 +393,7 @@ WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int * - // ---------------------------------------------------------------------- - template - static inline --void SplitStringToIteratorUsing(const std::string& full, -+void SplitStringToIteratorUsing(compat::StringView full, - const char* delim, - ITR& result) { - // Optimize the common case where delim is a single character. -@@ -422,7 +426,7 @@ void SplitStringToIteratorUsing(const std::string& full, - } - } - --void SplitStringUsing(const std::string& full, -+void SplitStringUsing(compat::StringView full, - const char* delim, - std::vector* result) { - std::back_insert_iterator< std::vector > it(*result); -@@ -435,7 +439,6 @@ char* FastHexToBuffer(int i, char* buffer) - return buffer; - } - -- - static int CEscapeInternal(const char* src, int src_len, char* dest, - int dest_len, bool use_hex) { - const char* src_end = src + src_len; -@@ -478,7 +481,8 @@ static int CEscapeInternal(const char* src, int src_len, char* dest, - dest[used] = '\0'; // doesn't count towards return value though - return used; - } --std::string CEscape(const std::string& src) { -+ -+std::string CEscape(compat::StringView src) { - const int dest_length = src.size() * 4 + 1; // Maximum possible expansion - std::unique_ptr dest(new char[dest_length]); - const int len = CEscapeInternal(src.data(), src.size(), -diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h -index 377d4272..ccd39ca2 100644 ---- a/protoc-gen-c/c_helpers.h -+++ b/protoc-gen-c/c_helpers.h -@@ -73,6 +73,8 @@ - - #include - -+#include "compat.h" -+ - namespace protobuf_c { - - // --- Borrowed from stubs. --- -@@ -84,11 +86,10 @@ template std::string SimpleItoa(T n) { - - std::string SimpleFtoa(float f); - std::string SimpleDtoa(double f); --void SplitStringUsing(const std::string &str, const char *delim, std::vector *out); --std::string CEscape(const std::string& src); --std::string StringReplace(const std::string& s, const std::string& oldsub, const std::string& newsub, bool replace_all); --inline bool HasSuffixString(const std::string& str, const std::string& suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } --inline std::string StripSuffixString(const std::string& str, const std::string& suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } } -+void SplitStringUsing(compat::StringView str, const char *delim, std::vector *out); -+std::string CEscape(compat::StringView src); -+inline bool HasSuffixString(compat::StringView str, compat::StringView suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } -+inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } } - char* FastHexToBuffer(int i, char* buffer); - - -@@ -110,31 +111,31 @@ inline const google::protobuf::Descriptor* FieldScope(const google::protobuf::Fi - - // convert a CamelCase class name into an all uppercase affair - // with underscores separating words, e.g. MyClass becomes MY_CLASS. --std::string CamelToUpper(const std::string &class_name); --std::string CamelToLower(const std::string &class_name); -+std::string CamelToUpper(compat::StringView class_name); -+std::string CamelToLower(compat::StringView class_name); - - // lowercased, underscored name to camel case --std::string ToCamel(const std::string &name); -+std::string ToCamel(compat::StringView name); - - // lowercase the string --std::string ToLower(const std::string &class_name); --std::string ToUpper(const std::string &class_name); -+std::string ToLower(compat::StringView class_name); -+std::string ToUpper(compat::StringView class_name); - - // full_name() to lowercase with underscores --std::string FullNameToLower(const std::string &full_name, const google::protobuf::FileDescriptor *file); --std::string FullNameToUpper(const std::string &full_name, const google::protobuf::FileDescriptor *file); -+std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor *file); -+std::string FullNameToUpper(compat::StringView full_name, const google::protobuf::FileDescriptor *file); - - // full_name() to c-typename (with underscores for packages, otherwise camel case) --std::string FullNameToC(const std::string &class_name, const google::protobuf::FileDescriptor *file); -+std::string FullNameToC(compat::StringView class_name, const google::protobuf::FileDescriptor *file); - - // Splits, indents, formats, and prints comment lines - void PrintComment(google::protobuf::io::Printer* printer, std::string comment); - - // make a string of spaces as long as input --std::string ConvertToSpaces(const std::string &input); -+std::string ConvertToSpaces(compat::StringView input); - - // Strips ".proto" or ".protodevel" from the end of a filename. --std::string StripProto(const std::string& filename); -+std::string StripProto(compat::StringView filename); - - // Get the C++ type name for a primitive type (e.g. "double", "::google::protobuf::int32", etc.). - // Note: non-built-in type names will be qualified, meaning they will start -@@ -148,15 +149,14 @@ const char* PrimitiveTypeName(google::protobuf::FieldDescriptor::CppType type); - const char* DeclaredTypeMethodName(google::protobuf::FieldDescriptor::Type type); - - // Convert a file name into a valid identifier. --std::string FilenameIdentifier(const std::string& filename); -+std::string FilenameIdentifier(compat::StringView filename); - - // return 'required', 'optional', or 'repeated' - std::string GetLabelName(google::protobuf::FieldDescriptor::Label label); - -- - // write IntRanges entries for a bunch of sorted values. - // returns the number of ranges there are to bsearch. --unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, const std::string &name); -+unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, compat::StringView name); - - struct NameIndex - { - -From 75f1c32cc429233a3726358c999009f9ea373b45 Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 20:25:43 -0500 -Subject: [PATCH 05/11] Convert string views to owned strings where necessary - ---- - protoc-gen-c/c_enum.cc | 2 +- - protoc-gen-c/c_enum_field.cc | 2 +- - protoc-gen-c/c_helpers.cc | 8 ++++---- - protoc-gen-c/c_helpers.h | 3 +-- - 4 files changed, 7 insertions(+), 8 deletions(-) - -diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc -index 9212ab82..311e4c86 100644 ---- a/protoc-gen-c/c_enum.cc -+++ b/protoc-gen-c/c_enum.cc -@@ -152,7 +152,7 @@ void EnumGenerator::GenerateValueInitializer(google::protobuf::io::Printer *prin - descriptor_->file()->options().optimize_for() == - google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; - vars["enum_value_name"] = vd->name(); -- vars["c_enum_value_name"] = FullNameToUpper(descriptor_->full_name(), descriptor_->file()) + "__" + vd->name(); -+ vars["c_enum_value_name"] = FullNameToUpper(descriptor_->full_name(), descriptor_->file()) + "__" + std::string(vd->name()); - vars["value"] = SimpleItoa(vd->number()); - if (optimize_code_size) - printer->Print(vars, " { NULL, NULL, $value$ }, /* CODE_SIZE */\n"); -diff --git a/protoc-gen-c/c_enum_field.cc b/protoc-gen-c/c_enum_field.cc -index 0926ae59..c3111f50 100644 ---- a/protoc-gen-c/c_enum_field.cc -+++ b/protoc-gen-c/c_enum_field.cc -@@ -78,7 +78,7 @@ void SetEnumVariables(const google::protobuf::FieldDescriptor* descriptor, - (*variables)["type"] = FullNameToC(descriptor->enum_type()->full_name(), descriptor->enum_type()->file()); - const google::protobuf::EnumValueDescriptor* default_value = descriptor->default_value_enum(); - (*variables)["default"] = FullNameToUpper(default_value->type()->full_name(), default_value->type()->file()) -- + "__" + default_value->name(); -+ + "__" + std::string(default_value->name()); - (*variables)["deprecated"] = FieldDeprecated(descriptor); - } - -diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc -index c759c8c2..1aecef93 100644 ---- a/protoc-gen-c/c_helpers.cc -+++ b/protoc-gen-c/c_helpers.cc -@@ -178,13 +178,13 @@ std::string ToCamel(compat::StringView name) { - std::string OverrideFullName(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { - const ProtobufCFileOptions opt = file->options().GetExtension(pb_c_file); - if (!opt.has_c_package()) -- return full_name; -+ return std::string(full_name); - - std::string new_name = opt.c_package(); - if (file->package().empty()) - new_name += "."; - -- return new_name + full_name.substr(file->package().length()); -+ return new_name + std::string(full_name.substr(file->package().length())); - } - - std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { -@@ -418,10 +418,10 @@ void SplitStringToIteratorUsing(compat::StringView full, - while (begin_index != std::string::npos) { - end_index = full.find_first_of(delim, begin_index); - if (end_index == std::string::npos) { -- *result++ = full.substr(begin_index); -+ *result++ = std::string(full.substr(begin_index)); - return; - } -- *result++ = full.substr(begin_index, (end_index - begin_index)); -+ *result++ = std::string(full.substr(begin_index, (end_index - begin_index))); - begin_index = full.find_first_not_of(delim, end_index); - } - } -diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h -index ccd39ca2..985e4db6 100644 ---- a/protoc-gen-c/c_helpers.h -+++ b/protoc-gen-c/c_helpers.h -@@ -89,10 +89,9 @@ std::string SimpleDtoa(double f); - void SplitStringUsing(compat::StringView str, const char *delim, std::vector *out); - std::string CEscape(compat::StringView src); - inline bool HasSuffixString(compat::StringView str, compat::StringView suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } --inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } } -+inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return std::string(str.substr(0, str.size() - suffix.size())); } else { return std::string(str); } } - char* FastHexToBuffer(int i, char* buffer); - -- - // Get the (unqualified) name that should be used for this field in C code. - // The name is coerced to lower-case to emulate proto1 behavior. People - // should be using lowercase-with-underscores style for proto field names - -From 0edca93db369fb84f01cc0d4e3ee4cd6c2ad7f4f Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 20:39:11 -0500 -Subject: [PATCH 06/11] Convert various uses of `const char *` to - `compat::StringView` - -Also replace some uses of arrays manually allocated with new/delete with -uses of `std::vector`. ---- - protoc-gen-c/c_enum.cc | 35 ++++++++++++++++++----------------- - protoc-gen-c/c_helpers.cc | 2 +- - protoc-gen-c/c_helpers.h | 2 +- - protoc-gen-c/c_message.cc | 28 ++++++++++++---------------- - protoc-gen-c/c_service.cc | 19 +++++++++---------- - 5 files changed, 41 insertions(+), 45 deletions(-) - -diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc -index 311e4c86..c7839edd 100644 ---- a/protoc-gen-c/c_enum.cc -+++ b/protoc-gen-c/c_enum.cc -@@ -142,7 +142,7 @@ struct ValueIndex - int value; - unsigned index; - unsigned final_index; /* index in uniqified array of values */ -- const char *name; -+ compat::StringView name; - }; - void EnumGenerator::GenerateValueInitializer(google::protobuf::io::Printer *printer, int index) - { -@@ -176,7 +176,7 @@ static int compare_value_indices_by_name(const void *a, const void *b) - { - const ValueIndex *vi_a = (const ValueIndex *) a; - const ValueIndex *vi_b = (const ValueIndex *) b; -- return strcmp (vi_a->name, vi_b->name); -+ return vi_a->name.compare(vi_b->name); - } - - void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printer) { -@@ -194,18 +194,20 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe - - // Sort by name and value, dropping duplicate values if they appear later. - // TODO: use a c++ paradigm for this! -- NameIndex *name_index = new NameIndex[descriptor_->value_count()]; -- ValueIndex *value_index = new ValueIndex[descriptor_->value_count()]; -- for (int j = 0; j < descriptor_->value_count(); j++) { -+ std::vector value_index; -+ for (unsigned j = 0; j < descriptor_->value_count(); j++) { - const google::protobuf::EnumValueDescriptor *vd = descriptor_->value(j); -- name_index[j].index = j; -- name_index[j].name = vd->name().c_str(); -- value_index[j].index = j; -- value_index[j].value = vd->number(); -- value_index[j].name = vd->name().c_str(); -+ value_index.push_back({ -+ .value = vd->number(), -+ .index = j, -+ .final_index = 0, -+ .name = vd->name(), -+ }); - } -- qsort(value_index, descriptor_->value_count(), -- sizeof(ValueIndex), compare_value_indices_by_value_then_index); -+ qsort(&value_index[0], -+ value_index.size(), -+ sizeof(ValueIndex), -+ compare_value_indices_by_value_then_index); - - // only record unique values - int n_unique_values; -@@ -275,8 +277,10 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe - vars["n_ranges"] = SimpleItoa(n_ranges); - - if (!optimize_code_size) { -- qsort(value_index, descriptor_->value_count(), -- sizeof(ValueIndex), compare_value_indices_by_name); -+ qsort(&value_index[0], -+ value_index.size(), -+ sizeof(ValueIndex), -+ compare_value_indices_by_name); - printer->Print(vars, - "static const ProtobufCEnumValueIndex $lcclassname$__enum_values_by_name[$value_count$] =\n" - "{\n"); -@@ -319,9 +323,6 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe - " NULL,NULL,NULL,NULL /* reserved[1234] */\n" - "};\n"); - } -- -- delete[] value_index; -- delete[] name_index; - } - - } // namespace protobuf_c -diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc -index 1aecef93..dec9ce28 100644 ---- a/protoc-gen-c/c_helpers.cc -+++ b/protoc-gen-c/c_helpers.cc -@@ -261,7 +261,7 @@ int compare_name_indices_by_name(const void *a, const void *b) - { - const NameIndex *ni_a = (const NameIndex *) a; - const NameIndex *ni_b = (const NameIndex *) b; -- return strcmp (ni_a->name, ni_b->name); -+ return ni_a->name.compare(ni_b->name); - } - - std::string CEscape(compat::StringView src); -diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h -index 985e4db6..69369997 100644 ---- a/protoc-gen-c/c_helpers.h -+++ b/protoc-gen-c/c_helpers.h -@@ -160,7 +160,7 @@ unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, co - struct NameIndex - { - unsigned index; -- const char *name; -+ compat::StringView name; - }; - int compare_name_indices_by_name(const void*, const void*); - -diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc -index 46413873..7252923c 100644 ---- a/protoc-gen-c/c_message.cc -+++ b/protoc-gen-c/c_message.cc -@@ -567,27 +567,26 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) - "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" - "{\n"); - printer->Indent(); -- const google::protobuf::FieldDescriptor **sorted_fields = new const google::protobuf::FieldDescriptor *[descriptor_->field_count()]; -+ -+ std::vector sorted_fields; - for (int i = 0; i < descriptor_->field_count(); i++) { -- sorted_fields[i] = descriptor_->field(i); -+ sorted_fields.push_back(descriptor_->field(i)); - } -- qsort (sorted_fields, descriptor_->field_count(), -+ qsort(&sorted_fields[0], sorted_fields.size(), - sizeof(const google::protobuf::FieldDescriptor*), - compare_pfields_by_number); -- for (int i = 0; i < descriptor_->field_count(); i++) { -- const google::protobuf::FieldDescriptor* field = sorted_fields[i]; -+ for (auto field : sorted_fields) { - field_generators_.get(field).GenerateDescriptorInitializer(printer); - } - printer->Outdent(); - printer->Print(vars, "};\n"); - - if (!optimize_code_size) { -- NameIndex *field_indices = new NameIndex [descriptor_->field_count()]; -- for (int i = 0; i < descriptor_->field_count(); i++) { -- field_indices[i].name = sorted_fields[i]->name().c_str(); -- field_indices[i].index = i; -+ std::vector field_indices; -+ for (unsigned i = 0; i < descriptor_->field_count(); i++) { -+ field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); - } -- qsort (field_indices, descriptor_->field_count(), sizeof (NameIndex), -+ qsort(&field_indices[0], field_indices.size(), sizeof(NameIndex), - compare_name_indices_by_name); - printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); - for (int i = 0; i < descriptor_->field_count(); i++) { -@@ -596,19 +595,16 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) - printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); - } - printer->Print("};\n"); -- delete[] field_indices; - } - - // create range initializers -- int *values = new int[descriptor_->field_count()]; -+ std::vector values; - for (int i = 0; i < descriptor_->field_count(); i++) { -- values[i] = sorted_fields[i]->number(); -+ values.push_back(sorted_fields[i]->number()); - } - int n_ranges = WriteIntRanges(printer, -- descriptor_->field_count(), values, -+ descriptor_->field_count(), &values[0], - vars["lcclassname"] + "__number_ranges"); -- delete [] values; -- delete [] sorted_fields; - - vars["n_ranges"] = SimpleItoa(n_ranges); - } else { -diff --git a/protoc-gen-c/c_service.cc b/protoc-gen-c/c_service.cc -index ee4d4a95..2c3ddcf3 100644 ---- a/protoc-gen-c/c_service.cc -+++ b/protoc-gen-c/c_service.cc -@@ -184,19 +184,19 @@ void ServiceGenerator::GenerateInit(google::protobuf::io::Printer* printer) - "}\n"); - } - --struct MethodIndexAndName { unsigned i; const char *name; }; -+struct MethodIndexAndName { unsigned i; compat::StringView name; }; - static int - compare_method_index_and_name_by_name (const void *a, const void *b) - { - const MethodIndexAndName *ma = (const MethodIndexAndName *) a; - const MethodIndexAndName *mb = (const MethodIndexAndName *) b; -- return strcmp (ma->name, mb->name); -+ return ma->name.compare(mb->name); - } - - void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* printer) - { - int n_methods = descriptor_->method_count(); -- MethodIndexAndName *mi_array = new MethodIndexAndName[n_methods]; -+ std::vector mi_array; - - bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && - descriptor_->file()->options().optimize_for() == -@@ -205,7 +205,7 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* - vars_["n_methods"] = SimpleItoa(n_methods); - printer->Print(vars_, "static const ProtobufCMethodDescriptor $lcfullname$__method_descriptors[$n_methods$] =\n" - "{\n"); -- for (int i = 0; i < n_methods; i++) { -+ for (unsigned i = 0; i < n_methods; i++) { - const google::protobuf::MethodDescriptor* method = descriptor_->method(i); - vars_["method"] = method->name(); - vars_["input_descriptor"] = "&" + FullNameToLower(method->input_type()->full_name(), method->input_type()->file()) + "__descriptor"; -@@ -217,14 +217,15 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* - printer->Print(vars_, - " { \"$method$\", $input_descriptor$, $output_descriptor$ },\n"); - } -- mi_array[i].i = i; -- mi_array[i].name = method->name().c_str(); -+ mi_array.push_back({i, method->name()}); - } - printer->Print(vars_, "};\n"); - - if (!optimize_code_size) { -- qsort ((void*)mi_array, n_methods, sizeof (MethodIndexAndName), -- compare_method_index_and_name_by_name); -+ qsort(&mi_array[0], -+ mi_array.size(), -+ sizeof(MethodIndexAndName), -+ compare_method_index_and_name_by_name); - printer->Print(vars_, "const unsigned $lcfullname$__method_indices_by_name[] = {\n"); - for (int i = 0; i < n_methods; i++) { - vars_["i"] = SimpleItoa(mi_array[i].i); -@@ -258,8 +259,6 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* - " $lcfullname$__method_indices_by_name\n" - "};\n"); - } -- -- delete[] mi_array; - } - - void ServiceGenerator::GenerateCallersImplementations(google::protobuf::io::Printer* printer) - -From ebeddac1a746393a16d9ba4cf80e3d12c3ab7d7f Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 20:56:48 -0500 -Subject: [PATCH 07/11] Fix indentation of - MessageGenerator::GenerateMessageDescriptor() - ---- - protoc-gen-c/c_message.cc | 321 +++++++++++++++++++------------------- - 1 file changed, 159 insertions(+), 162 deletions(-) - -diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc -index 7252923c..2a3b2a2f 100644 ---- a/protoc-gen-c/c_message.cc -+++ b/protoc-gen-c/c_message.cc -@@ -461,199 +461,196 @@ GenerateHelperFunctionDefinitions(google::protobuf::io::Printer* printer, - - void MessageGenerator:: - GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) { -- std::map vars; -- vars["fullname"] = descriptor_->full_name(); -- vars["classname"] = FullNameToC(descriptor_->full_name(), descriptor_->file()); -- vars["lcclassname"] = FullNameToLower(descriptor_->full_name(), descriptor_->file()); -- vars["shortname"] = ToCamel(descriptor_->name()); -- vars["n_fields"] = SimpleItoa(descriptor_->field_count()); -- vars["packagename"] = descriptor_->file()->package(); -- -- bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && -- descriptor_->file()->options().optimize_for() == -- google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; -- -- const ProtobufCMessageOptions opt = -- descriptor_->options().GetExtension(pb_c_msg); -- // Override parent settings, if needed -- if (opt.has_gen_init_helpers()) -- gen_init = opt.gen_init_helpers(); -- -- for (int i = 0; i < descriptor_->nested_type_count(); i++) { -- nested_generators_[i]->GenerateMessageDescriptor(printer, gen_init); -- } -+ std::map vars; -+ vars["fullname"] = descriptor_->full_name(); -+ vars["classname"] = FullNameToC(descriptor_->full_name(), descriptor_->file()); -+ vars["lcclassname"] = FullNameToLower(descriptor_->full_name(), descriptor_->file()); -+ vars["shortname"] = ToCamel(descriptor_->name()); -+ vars["n_fields"] = SimpleItoa(descriptor_->field_count()); -+ vars["packagename"] = descriptor_->file()->package(); - -- for (int i = 0; i < descriptor_->enum_type_count(); i++) { -- enum_generators_[i]->GenerateEnumDescriptor(printer); -- } -+ bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && -+ descriptor_->file()->options().optimize_for() == -+ google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; - -- for (int i = 0; i < descriptor_->field_count(); i++) { -- const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); -- if (fd->has_default_value()) { -- field_generators_.get(fd).GenerateDefaultValueImplementations(printer); -- } -- } -+ const ProtobufCMessageOptions opt = descriptor_->options().GetExtension(pb_c_msg); -+ // Override parent settings, if needed -+ if (opt.has_gen_init_helpers()) { -+ gen_init = opt.gen_init_helpers(); -+ } - -- for (int i = 0; i < descriptor_->field_count(); i++) { -- const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); -- const ProtobufCFieldOptions opt = fd->options().GetExtension(pb_c_field); -- if (fd->has_default_value()) { -- -- bool already_defined = false; -- vars["name"] = fd->name(); -- vars["lcname"] = CamelToLower(fd->name()); -- vars["maybe_static"] = "static "; -- vars["field_dv_ctype_suffix"] = ""; -- vars["default_value"] = field_generators_.get(fd).GetDefaultValue(); -- switch (fd->cpp_type()) { -- case google::protobuf::FieldDescriptor::CPPTYPE_INT32: -- vars["field_dv_ctype"] = "int32_t"; -- break; -- case google::protobuf::FieldDescriptor::CPPTYPE_INT64: -- vars["field_dv_ctype"] = "int64_t"; -- break; -- case google::protobuf::FieldDescriptor::CPPTYPE_UINT32: -- vars["field_dv_ctype"] = "uint32_t"; -- break; -- case google::protobuf::FieldDescriptor::CPPTYPE_UINT64: -- vars["field_dv_ctype"] = "uint64_t"; -- break; -- case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT: -- vars["field_dv_ctype"] = "float"; -- break; -- case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE: -- vars["field_dv_ctype"] = "double"; -- break; -- case google::protobuf::FieldDescriptor::CPPTYPE_BOOL: -- vars["field_dv_ctype"] = "protobuf_c_boolean"; -- break; -- -- case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE: -- // NOTE: not supported by protobuf -- vars["maybe_static"] = ""; -- vars["field_dv_ctype"] = "{ ... }"; -- GOOGLE_LOG(FATAL) << "Messages can't have default values!"; -- break; -- case google::protobuf::FieldDescriptor::CPPTYPE_STRING: -- if (fd->type() == google::protobuf::FieldDescriptor::TYPE_BYTES || opt.string_as_bytes()) -- { -- vars["field_dv_ctype"] = "ProtobufCBinaryData"; -- } -- else /* STRING type */ -- { -- already_defined = true; -- vars["maybe_static"] = ""; -- vars["field_dv_ctype"] = "char"; -- vars["field_dv_ctype_suffix"] = "[]"; -- } -- break; -- case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: -- { -- const google::protobuf::EnumValueDescriptor* vd = fd->default_value_enum(); -- vars["field_dv_ctype"] = FullNameToC(vd->type()->full_name(), vd->type()->file()); -- break; -- } -- default: -- GOOGLE_LOG(FATAL) << "Unknown CPPTYPE"; -- break; -- } -- if (!already_defined) -- printer->Print(vars, "$maybe_static$const $field_dv_ctype$ $lcclassname$__$lcname$__default_value$field_dv_ctype_suffix$ = $default_value$;\n"); -- } -- } -+ for (int i = 0; i < descriptor_->nested_type_count(); i++) { -+ nested_generators_[i]->GenerateMessageDescriptor(printer, gen_init); -+ } - -- if ( descriptor_->field_count() ) { -- printer->Print(vars, -- "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" -- "{\n"); -- printer->Indent(); -+ for (int i = 0; i < descriptor_->enum_type_count(); i++) { -+ enum_generators_[i]->GenerateEnumDescriptor(printer); -+ } - -- std::vector sorted_fields; - for (int i = 0; i < descriptor_->field_count(); i++) { -- sorted_fields.push_back(descriptor_->field(i)); -- } -- qsort(&sorted_fields[0], sorted_fields.size(), -- sizeof(const google::protobuf::FieldDescriptor*), -- compare_pfields_by_number); -- for (auto field : sorted_fields) { -- field_generators_.get(field).GenerateDescriptorInitializer(printer); -+ const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); -+ if (fd->has_default_value()) { -+ field_generators_.get(fd).GenerateDefaultValueImplementations(printer); -+ } - } -- printer->Outdent(); -- printer->Print(vars, "};\n"); - -- if (!optimize_code_size) { -- std::vector field_indices; -- for (unsigned i = 0; i < descriptor_->field_count(); i++) { -- field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); -+ for (int i = 0; i < descriptor_->field_count(); i++) { -+ const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); -+ const ProtobufCFieldOptions opt = fd->options().GetExtension(pb_c_field); -+ if (fd->has_default_value()) { -+ bool already_defined = false; -+ vars["name"] = fd->name(); -+ vars["lcname"] = CamelToLower(fd->name()); -+ vars["maybe_static"] = "static "; -+ vars["field_dv_ctype_suffix"] = ""; -+ vars["default_value"] = field_generators_.get(fd).GetDefaultValue(); -+ switch (fd->cpp_type()) { -+ case google::protobuf::FieldDescriptor::CPPTYPE_INT32: -+ vars["field_dv_ctype"] = "int32_t"; -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_INT64: -+ vars["field_dv_ctype"] = "int64_t"; -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_UINT32: -+ vars["field_dv_ctype"] = "uint32_t"; -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_UINT64: -+ vars["field_dv_ctype"] = "uint64_t"; -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT: -+ vars["field_dv_ctype"] = "float"; -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE: -+ vars["field_dv_ctype"] = "double"; -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_BOOL: -+ vars["field_dv_ctype"] = "protobuf_c_boolean"; -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE: -+ // NOTE: not supported by protobuf -+ vars["maybe_static"] = ""; -+ vars["field_dv_ctype"] = "{ ... }"; -+ GOOGLE_LOG(FATAL) << "Messages can't have default values!"; -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_STRING: -+ if (fd->type() == google::protobuf::FieldDescriptor::TYPE_BYTES || opt.string_as_bytes()) { -+ vars["field_dv_ctype"] = "ProtobufCBinaryData"; -+ } else { -+ /* STRING type */ -+ already_defined = true; -+ vars["maybe_static"] = ""; -+ vars["field_dv_ctype"] = "char"; -+ vars["field_dv_ctype_suffix"] = "[]"; -+ } -+ break; -+ case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: { -+ const google::protobuf::EnumValueDescriptor* vd = fd->default_value_enum(); -+ vars["field_dv_ctype"] = FullNameToC(vd->type()->full_name(), vd->type()->file()); -+ break; -+ } -+ default: -+ GOOGLE_LOG(FATAL) << "Unknown CPPTYPE"; -+ break; -+ } -+ if (!already_defined) { -+ printer->Print(vars, "$maybe_static$const $field_dv_ctype$ $lcclassname$__$lcname$__default_value$field_dv_ctype_suffix$ = $default_value$;\n"); -+ } - } -- qsort(&field_indices[0], field_indices.size(), sizeof(NameIndex), -- compare_name_indices_by_name); -- printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); -+ } -+ -+ if (descriptor_->field_count()) { -+ printer->Print(vars, -+ "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" -+ "{\n"); -+ printer->Indent(); -+ -+ std::vector sorted_fields; - for (int i = 0; i < descriptor_->field_count(); i++) { -- vars["index"] = SimpleItoa(field_indices[i].index); -- vars["name"] = field_indices[i].name; -- printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); -+ sorted_fields.push_back(descriptor_->field(i)); - } -- printer->Print("};\n"); -- } -+ qsort(&sorted_fields[0], -+ sorted_fields.size(), -+ sizeof(const google::protobuf::FieldDescriptor*), -+ compare_pfields_by_number); -+ for (auto field : sorted_fields) { -+ field_generators_.get(field).GenerateDescriptorInitializer(printer); -+ } -+ printer->Outdent(); -+ printer->Print(vars, "};\n"); - -- // create range initializers -- std::vector values; -- for (int i = 0; i < descriptor_->field_count(); i++) { -- values.push_back(sorted_fields[i]->number()); -- } -- int n_ranges = WriteIntRanges(printer, -- descriptor_->field_count(), &values[0], -- vars["lcclassname"] + "__number_ranges"); -+ if (!optimize_code_size) { -+ std::vector field_indices; -+ for (unsigned i = 0; i < descriptor_->field_count(); i++) { -+ field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); -+ } -+ qsort(&field_indices[0], -+ field_indices.size(), -+ sizeof(NameIndex), -+ compare_name_indices_by_name); -+ printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); -+ for (int i = 0; i < descriptor_->field_count(); i++) { -+ vars["index"] = SimpleItoa(field_indices[i].index); -+ vars["name"] = field_indices[i].name; -+ printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); -+ } -+ printer->Print("};\n"); -+ } - -- vars["n_ranges"] = SimpleItoa(n_ranges); -- } else { -- /* MS compiler can't handle arrays with zero size and empty -- * initialization list. Furthermore it is an extension of GCC only but -- * not a standard. */ -- vars["n_ranges"] = "0"; -- printer->Print(vars, -- "#define $lcclassname$__field_descriptors NULL\n" -- "#define $lcclassname$__field_indices_by_name NULL\n" -- "#define $lcclassname$__number_ranges NULL\n"); -+ // create range initializers -+ std::vector values; -+ for (int i = 0; i < descriptor_->field_count(); i++) { -+ values.push_back(sorted_fields[i]->number()); - } -+ int n_ranges = WriteIntRanges(printer, -+ descriptor_->field_count(), -+ &values[0], -+ vars["lcclassname"] + "__number_ranges"); -+ -+ vars["n_ranges"] = SimpleItoa(n_ranges); -+ } else { -+ /* MS compiler can't handle arrays with zero size and empty -+ * initialization list. Furthermore it is an extension of GCC only but -+ * not a standard. */ -+ vars["n_ranges"] = "0"; -+ printer->Print(vars, -+ "#define $lcclassname$__field_descriptors NULL\n" -+ "#define $lcclassname$__field_indices_by_name NULL\n" -+ "#define $lcclassname$__number_ranges NULL\n"); -+ } - - printer->Print(vars, -- "const ProtobufCMessageDescriptor $lcclassname$__descriptor =\n" -- "{\n" -- " PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,\n"); -+ "const ProtobufCMessageDescriptor $lcclassname$__descriptor =\n" -+ "{\n" -+ " PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,\n"); - if (optimize_code_size) { - printer->Print(" NULL,NULL,NULL,NULL, /* CODE_SIZE */\n"); - } else { - printer->Print(vars, -- " \"$fullname$\",\n" -- " \"$shortname$\",\n" -- " \"$classname$\",\n" -- " \"$packagename$\",\n"); -+ " \"$fullname$\",\n" -+ " \"$shortname$\",\n" -+ " \"$classname$\",\n" -+ " \"$packagename$\",\n"); - } - printer->Print(vars, -- " sizeof($classname$),\n" -- " $n_fields$,\n" -- " $lcclassname$__field_descriptors,\n"); -+ " sizeof($classname$),\n" -+ " $n_fields$,\n" -+ " $lcclassname$__field_descriptors,\n"); - if (optimize_code_size) { - printer->Print(" NULL, /* CODE_SIZE */\n"); - } else { -- printer->Print(vars, -- " $lcclassname$__field_indices_by_name,\n"); -+ printer->Print(vars, " $lcclassname$__field_indices_by_name,\n"); - } - printer->Print(vars, -- " $n_ranges$," -- " $lcclassname$__number_ranges,\n"); -+ " $n_ranges$," -+ " $lcclassname$__number_ranges,\n"); - if (gen_init) { -- printer->Print(vars, -- " (ProtobufCMessageInit) $lcclassname$__init,\n"); -+ printer->Print(vars, " (ProtobufCMessageInit) $lcclassname$__init,\n"); - } else { -- printer->Print(vars, -- " NULL, /* gen_init_helpers = false */\n"); -+ printer->Print(vars, " NULL, /* gen_init_helpers = false */\n"); - } - printer->Print(vars, -- " NULL,NULL,NULL /* reserved[123] */\n" -- "};\n"); -+ " NULL,NULL,NULL /* reserved[123] */\n" -+ "};\n"); - } - - int MessageGenerator::GetOneofUnionOrder(const google::protobuf::FieldDescriptor* fd) - -From c59b146aee2d97091ca2adeecd3f2741cb7f0082 Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 21:10:37 -0500 -Subject: [PATCH 08/11] compat: Use absl::string_view instead of - google::protobuf::internal::DescriptorStringView - -Even though google::protobuf::internal::DescriptorStringView is exposed -in public protobuf headers, it's probably not a good idea to rely on an -"internal" typedef. - -According to https://protobuf.dev/news/2024-10-02/#descriptor-apis: - - v30 will update return types in descriptor (such as full_name) to be - absl::string_view. - -So `absl::string_view` is probably the right type to use here. ---- - protoc-gen-c/compat.h | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h -index fe8041b5..a70cef34 100644 ---- a/protoc-gen-c/compat.h -+++ b/protoc-gen-c/compat.h -@@ -37,12 +37,16 @@ - # define GOOGLE_LOG ABSL_LOG - #endif - -+#if GOOGLE_PROTOBUF_VERSION >= 6030000 -+# include -+#endif -+ - namespace protobuf_c { - - namespace compat { - - #if GOOGLE_PROTOBUF_VERSION >= 6030000 --typedef google::protobuf::internal::DescriptorStringView StringView; -+typedef absl::string_view StringView; - #else - typedef const std::string& StringView; - #endif - -From 9c56038fd9d3cc2552c297457d7a66efe5cbd2c7 Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 21:37:30 -0500 -Subject: [PATCH 09/11] Makefile.am: Add compat.h to - protoc_gen_c_protoc_gen_c_SOURCES - ---- - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.am b/Makefile.am -index 77aa9d99..26d19f16 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -102,6 +102,7 @@ protoc_gen_c_protoc_gen_c_SOURCES = \ - protoc-gen-c/c_service.h \ - protoc-gen-c/c_string_field.cc \ - protoc-gen-c/c_string_field.h \ -+ protoc-gen-c/compat.h \ - protobuf-c/protobuf-c.pb.cc \ - protobuf-c/protobuf-c.pb.h \ - protoc-gen-c/main.cc - -From 4ebd5cd8238d1f2ac6291b8c8925f34e16ce2123 Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 21:38:07 -0500 -Subject: [PATCH 10/11] compat: Conditionalize the include of - -It is only needed on older protobuf versions where absl::string_view is -not being used. ---- - protoc-gen-c/compat.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h -index a70cef34..f6ace7cb 100644 ---- a/protoc-gen-c/compat.h -+++ b/protoc-gen-c/compat.h -@@ -28,8 +28,6 @@ - #ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ - #define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ - --#include -- - #if GOOGLE_PROTOBUF_VERSION >= 4022000 - # define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE - # define GOOGLE_CHECK_EQ ABSL_CHECK_EQ -@@ -39,6 +37,8 @@ - - #if GOOGLE_PROTOBUF_VERSION >= 6030000 - # include -+#else -+# include - #endif - - namespace protobuf_c { - -From 9a6b35e1e6956fb5cb044910448049b7a5339244 Mon Sep 17 00:00:00 2001 -From: Robert Edmonds -Date: Sat, 8 Feb 2025 21:44:42 -0500 -Subject: [PATCH 11/11] Cater to Microsoft Visual C++ - -Apparently MSVC doesn't support designated initializers for some reason. ---- - protoc-gen-c/c_enum.cc | 9 ++------- - protoc-gen-c/c_message.cc | 2 +- - 2 files changed, 3 insertions(+), 8 deletions(-) - -diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc -index c7839edd..1940ba9d 100644 ---- a/protoc-gen-c/c_enum.cc -+++ b/protoc-gen-c/c_enum.cc -@@ -195,14 +195,9 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe - // Sort by name and value, dropping duplicate values if they appear later. - // TODO: use a c++ paradigm for this! - std::vector value_index; -- for (unsigned j = 0; j < descriptor_->value_count(); j++) { -+ for (int j = 0; j < descriptor_->value_count(); j++) { - const google::protobuf::EnumValueDescriptor *vd = descriptor_->value(j); -- value_index.push_back({ -- .value = vd->number(), -- .index = j, -- .final_index = 0, -- .name = vd->name(), -- }); -+ value_index.push_back({ vd->number(), (unsigned)j, 0, vd->name() }); - } - qsort(&value_index[0], - value_index.size(), -diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc -index 2a3b2a2f..94889179 100644 ---- a/protoc-gen-c/c_message.cc -+++ b/protoc-gen-c/c_message.cc -@@ -581,7 +581,7 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) - if (!optimize_code_size) { - std::vector field_indices; - for (unsigned i = 0; i < descriptor_->field_count(); i++) { -- field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); -+ field_indices.push_back({ i, sorted_fields[i]->name() }); - } - qsort(&field_indices[0], - field_indices.size(), diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb deleted file mode 100644 index 30c9e19b160..00000000000 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Protocol Buffers - structured data serialisation mechanism" -DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \ -serialization format. It includes libprotobuf-c, a pure C library that \ -implements protobuf encoding and decoding, and protoc-c, a code generator that \ -converts Protocol Buffer .proto files to C descriptor code, based on the \ -original protoc. protobuf-c formerly included an RPC implementation; that code \ -has been split out into the protobuf-c-rpc project." -HOMEPAGE = "https://github.com/protobuf-c/protobuf-c" -SECTION = "console/tools" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bd8de4f63e06b1ccc06e9f8dc5b1aa97" - -DEPENDS = "protobuf-native protobuf" - -SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https \ - file://protobuf-30.patch \ -" -SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch" - -SRCREV = "185beed28e65494be7505b30c1afeaf199e19b23" - - -inherit autotools pkgconfig - -export PROTOC = "${STAGING_BINDIR_NATIVE}/protoc" - -# After several fix attempts there is still a race between generating -# t.test-full.pb.h and compiling cxx_generate_packed_data.c despite -# BUILT_SOURCES and explicit dependencies. -PARALLEL_MAKE = "" - -PACKAGE_BEFORE_PN = "${PN}-compiler" - -FILES:${PN}-compiler = "${bindir}" - -RDEPENDS:${PN}-compiler = "protobuf-compiler" -RDEPENDS:${PN}-dev += "${PN}-compiler" - -BBCLASSEXTEND = "native nativesdk" - -# No 64bit atomics -LDFLAGS:append:riscv32 = " -latomic" diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.2.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.2.bb new file mode 100644 index 00000000000..7fe514fe078 --- /dev/null +++ b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.2.bb @@ -0,0 +1,41 @@ +SUMMARY = "Protocol Buffers - structured data serialisation mechanism" +DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \ +serialization format. It includes libprotobuf-c, a pure C library that \ +implements protobuf encoding and decoding, and protoc-c, a code generator that \ +converts Protocol Buffer .proto files to C descriptor code, based on the \ +original protoc. protobuf-c formerly included an RPC implementation; that code \ +has been split out into the protobuf-c-rpc project." +HOMEPAGE = "https://github.com/protobuf-c/protobuf-c" +SECTION = "console/tools" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bd8de4f63e06b1ccc06e9f8dc5b1aa97" + +DEPENDS = "protobuf-native protobuf" + +SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https \ +" +SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch" + +SRCREV = "4719fdd7760624388c2c5b9d6759eb6a47490626" + + +inherit autotools pkgconfig + +export PROTOC = "${STAGING_BINDIR_NATIVE}/protoc" + +# After several fix attempts there is still a race between generating +# t.test-full.pb.h and compiling cxx_generate_packed_data.c despite +# BUILT_SOURCES and explicit dependencies. +PARALLEL_MAKE = "" + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +FILES:${PN}-compiler = "${bindir}" + +RDEPENDS:${PN}-compiler = "protobuf-compiler" +RDEPENDS:${PN}-dev += "${PN}-compiler" + +BBCLASSEXTEND = "native nativesdk" + +# No 64bit atomics +LDFLAGS:append:riscv32 = " -latomic" diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_6.33.5.bb b/meta-oe/recipes-devtools/protobuf/protobuf_6.33.5.bb deleted file mode 100644 index 4f5f53d4e5a..00000000000 --- a/meta-oe/recipes-devtools/protobuf/protobuf_6.33.5.bb +++ /dev/null @@ -1,125 +0,0 @@ -SUMMARY = "Protocol Buffers - structured data serialisation mechanism" -DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \ -efficient yet extensible format. Google uses Protocol Buffers for almost \ -all of its internal RPC protocols and file formats." -HOMEPAGE = "https://github.com/google/protobuf" -SECTION = "console/tools" -LICENSE = "BSD-3-Clause & MIT" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \ - file://third_party/utf8_range/LICENSE;md5=d4974d297231477b2ff507c35d61c13c \ -" - -PROTOC_VERSION = "v${@d.getVar('PV').split('.', 1)[1]}" -PROTOC_BRANCH = "${@d.getVar('PV').split('.', 2)[1]}.x" - -DEPENDS = "zlib abseil-cpp jsoncpp" -DEPENDS:append:class-target = " protobuf-native" - -SRCREV = "b6f9284da830b69be787732ffdaa35049d20a088" - -SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=${PROTOC_BRANCH};protocol=https;tag=${PROTOC_VERSION} \ - file://run-ptest \ - file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ - file://0001-fix-protobuf-native-build-failure-with-gcc-10.patch \ - " - -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d\.\d+\.\d+)" - -CVE_PRODUCT = "google:protobuf protobuf:protobuf google-protobuf protobuf-cpp" - -inherit cmake pkgconfig ptest - -PACKAGECONFIG ??= "" -PACKAGECONFIG:class-native ?= "compiler" -PACKAGECONFIG:class-nativesdk ?= "compiler" -PACKAGECONFIG[python] = ",," -PACKAGECONFIG[compiler] = "-Dprotobuf_BUILD_PROTOC_BINARIES=ON,-Dprotobuf_BUILD_PROTOC_BINARIES=OFF" - -EXTRA_OECMAKE += "\ - -Dprotobuf_BUILD_SHARED_LIBS=ON \ - -Dprotobuf_BUILD_LIBPROTOC=ON \ - -Dprotobuf_BUILD_TESTS=OFF \ - -Dprotobuf_BUILD_EXAMPLES=OFF \ - -Dprotobuf_ABSL_PROVIDER="package" \ - -Dprotobuf_JSONCPP_PROVIDER="package" \ -" - -TEST_SRC_DIR = "examples" -LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" - -CXXFLAGS:append:mipsarcho32 = " -latomic" -CXXFLAGS:append:riscv32 = " -latomic" - -do_compile_ptest() { - mkdir -p "${B}/${TEST_SRC_DIR}" - - # Add the location of the cross-compiled header and library files - # which haven't been installed yet. - cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc" - cp ${S}/${TEST_SRC_DIR}/*.cc "${B}/${TEST_SRC_DIR}/" - cp ${S}/${TEST_SRC_DIR}/*.proto "${B}/${TEST_SRC_DIR}/" - cp ${S}/${TEST_SRC_DIR}/*.py "${B}/${TEST_SRC_DIR}/" - cp ${S}/${TEST_SRC_DIR}/Makefile "${B}/${TEST_SRC_DIR}/" - # Adapt protobuf.pc - sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Cflags:|Cflags: -I${S}/src |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Cflags:|Cflags: -I${WORKDIR}/recipe-sysroot${includedir} |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Libs:|Libs: -L${B}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Libs:|Libs: -L${WORKDIR}/recipe-sysroot/usr/lib |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Libs:|Libs: -labsl_log_internal_check_op |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Libs:|Libs: -labsl_log_internal_message |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - # Adapt uf8_range.pc - cp "${B}/third_party/utf8_range/utf8_range.pc" "${B}/${TEST_SRC_DIR}/utf8_range.pc" - sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc" - sed -e 's|includedir=.*|includedir=${S}/third_party/utf8_range|' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc" - sed -e 's|Libs:|Libs= -L${B}/third_party/utf8_range |' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc" - # Until out-of-tree build of examples is supported, we have to use this approach - sed -e 's|../src/google/protobuf/.libs/timestamp.pb.o|${B}/CMakeFiles/libprotobuf.dir/src/google/protobuf/timestamp.pb.cc.o|' -i "${B}/${TEST_SRC_DIR}/Makefile" - export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}" - - # Save the pkgcfg sysroot variable, and update it to nothing so - # that it doesn't append the sysroot to the beginning of paths. - # The header and library files aren't installed to the target - # system yet. So the absolute paths were specified above. - save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR - export PKG_CONFIG_SYSROOT_DIR= - - # Compile the tests - for lang in ${LANG_SUPPORT}; do - oe_runmake -C "${B}/${TEST_SRC_DIR}" ${lang} - done - - # Restore the pkgconfig sysroot variable - export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir -} - -do_install_ptest() { - local olddir=`pwd` - - cd "${S}/${TEST_SRC_DIR}" - install -d "${D}/${PTEST_PATH}" - for i in add_person* list_people*; do - if [ -x "$i" ]; then - install "$i" "${D}/${PTEST_PATH}" - fi - done - cp "${B}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}" - cd "$olddir" -} - -PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" - -FILES:${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" -FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}" - -# CMake requires protoc binary to exist in sysroot, even if it has wrong architecture. -SYSROOT_DIRS += "${bindir}" - -RDEPENDS:${PN}-compiler = "${PN}" -RDEPENDS:${PN}-dev += "${@bb.utils.contains('PACKAGECONFIG', 'compiler', '${PN}-compiler', '', d)}" -RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}" - -MIPS_INSTRUCTION_SET = "mips" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb b/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb new file mode 100644 index 00000000000..880dd82b1da --- /dev/null +++ b/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb @@ -0,0 +1,131 @@ +SUMMARY = "Protocol Buffers - structured data serialisation mechanism" +DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \ +efficient yet extensible format. Google uses Protocol Buffers for almost \ +all of its internal RPC protocols and file formats." +HOMEPAGE = "https://github.com/google/protobuf" +SECTION = "console/tools" +LICENSE = "BSD-3-Clause & MIT" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \ + file://third_party/utf8_range/LICENSE;md5=d4974d297231477b2ff507c35d61c13c \ +" + +PROTOC_VERSION = "v${@d.getVar('PV').split('.', 1)[1]}" +PROTOC_BRANCH = "${@d.getVar('PV').split('.', 2)[1]}.x" + +DEPENDS = "zlib abseil-cpp jsoncpp" +DEPENDS:append:class-target = " protobuf-native" + +SRCREV = "6e1998413a5bca7c058b85999667893f167434bc" + +SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=${PROTOC_BRANCH};protocol=https;tag=${PROTOC_VERSION} \ + file://run-ptest \ + file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ + file://0001-fix-protobuf-native-build-failure-with-gcc-10.patch \ + " + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d\.\d+\.\d+)" + +CVE_PRODUCT = "google:protobuf protobuf:protobuf google-protobuf protobuf-cpp" + +CVE_STATUS[CVE-2026-0994] = "cpe-incorrect: the vulnerability affects only python3-protobuf recipe" +CVE_STATUS[CVE-2026-6409] = "cpe-incorrect: the vulnerability affects only the php library" + +inherit cmake pkgconfig ptest + +PACKAGECONFIG ??= "" +PACKAGECONFIG:class-native ?= "compiler" +PACKAGECONFIG:class-nativesdk ?= "compiler" +PACKAGECONFIG[python] = ",," +PACKAGECONFIG[compiler] = "-Dprotobuf_BUILD_PROTOC_BINARIES=ON,-Dprotobuf_BUILD_PROTOC_BINARIES=OFF" + +EXTRA_OECMAKE += "\ + -Dprotobuf_BUILD_SHARED_LIBS=ON \ + -Dprotobuf_BUILD_LIBPROTOC=ON \ + -Dprotobuf_BUILD_TESTS=OFF \ + -Dprotobuf_BUILD_EXAMPLES=OFF \ + -Dprotobuf_ABSL_PROVIDER="package" \ + -Dprotobuf_JSONCPP_PROVIDER="package" \ +" + +TEST_SRC_DIR = "examples" +LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" + +CXXFLAGS:append:mipsarcho32 = " -latomic" +CXXFLAGS:append:riscv32 = " -latomic" + +# The ptests are not buildable now that pkgconf is being used, disable until fixed. +PTEST_ENABLED = "0" + +do_compile_ptest() { + mkdir -p "${B}/${TEST_SRC_DIR}" + + # Add the location of the cross-compiled header and library files + # which haven't been installed yet. + cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc" + cp ${S}/${TEST_SRC_DIR}/*.cc "${B}/${TEST_SRC_DIR}/" + cp ${S}/${TEST_SRC_DIR}/*.proto "${B}/${TEST_SRC_DIR}/" + cp ${S}/${TEST_SRC_DIR}/*.py "${B}/${TEST_SRC_DIR}/" + cp ${S}/${TEST_SRC_DIR}/Makefile "${B}/${TEST_SRC_DIR}/" + # Adapt protobuf.pc + sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Cflags:|Cflags: -I${S}/src |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Cflags:|Cflags: -I${WORKDIR}/recipe-sysroot${includedir} |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Libs:|Libs: -L${B}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Libs:|Libs: -L${WORKDIR}/recipe-sysroot/usr/lib |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Libs:|Libs: -labsl_log_internal_check_op |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Libs:|Libs: -labsl_log_internal_message |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + # Adapt uf8_range.pc + cp "${B}/third_party/utf8_range/utf8_range.pc" "${B}/${TEST_SRC_DIR}/utf8_range.pc" + sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc" + sed -e 's|includedir=.*|includedir=${S}/third_party/utf8_range|' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc" + sed -e 's|Libs:|Libs= -L${B}/third_party/utf8_range |' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc" + # Until out-of-tree build of examples is supported, we have to use this approach + sed -e 's|../src/google/protobuf/.libs/timestamp.pb.o|${B}/CMakeFiles/libprotobuf.dir/src/google/protobuf/timestamp.pb.cc.o|' -i "${B}/${TEST_SRC_DIR}/Makefile" + export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}" + + # Save the pkgcfg sysroot variable, and update it to nothing so + # that it doesn't append the sysroot to the beginning of paths. + # The header and library files aren't installed to the target + # system yet. So the absolute paths were specified above. + save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR + export PKG_CONFIG_SYSROOT_DIR= + + # Compile the tests + for lang in ${LANG_SUPPORT}; do + oe_runmake -C "${B}/${TEST_SRC_DIR}" ${lang} + done + + # Restore the pkgconfig sysroot variable + export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir +} + +do_install_ptest() { + local olddir=`pwd` + + cd "${S}/${TEST_SRC_DIR}" + install -d "${D}/${PTEST_PATH}" + for i in add_person* list_people*; do + if [ -x "$i" ]; then + install "$i" "${D}/${PTEST_PATH}" + fi + done + cp "${B}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}" + cd "$olddir" +} + +PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" + +FILES:${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" +FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}" + +# CMake requires protoc binary to exist in sysroot, even if it has wrong architecture. +SYSROOT_DIRS += "${bindir}" + +RDEPENDS:${PN}-compiler = "${PN}" +RDEPENDS:${PN}-dev += "${@bb.utils.contains('PACKAGECONFIG', 'compiler', '${PN}-compiler', '', d)}" +RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}" + +MIPS_INSTRUCTION_SET = "mips" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/python/python3-psycopg_3.3.2.bb b/meta-oe/recipes-devtools/python/python3-psycopg_3.3.2.bb deleted file mode 100644 index 5ca565504a4..00000000000 --- a/meta-oe/recipes-devtools/python/python3-psycopg_3.3.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Psycopg 3 is the implementation of a PostgreSQL adapter for Python." -DESCRIPTION = "Psycopg is the most popular PostgreSQL adapter for the Python \ -programming language. Its core is a complete implementation of the Python DB \ -API 2.0 specifications. Several extensions allow access to many of the \ -features offered by PostgreSQL." - -LICENSE = "LGPL-3.0-only" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000208d539ec061b899bce1d9ce9404" - -SRC_URI[sha256sum] = "707a67975ee214d200511177a6a80e56e654754c9afca06a7194ea6bbfde9ca7" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} = "libpq" diff --git a/meta-oe/recipes-devtools/python/python3-psycopg_3.3.3.bb b/meta-oe/recipes-devtools/python/python3-psycopg_3.3.3.bb new file mode 100644 index 00000000000..d6df5296866 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python3-psycopg_3.3.3.bb @@ -0,0 +1,14 @@ +SUMMARY = "Psycopg 3 is the implementation of a PostgreSQL adapter for Python." +DESCRIPTION = "Psycopg is the most popular PostgreSQL adapter for the Python \ +programming language. Its core is a complete implementation of the Python DB \ +API 2.0 specifications. Several extensions allow access to many of the \ +features offered by PostgreSQL." + +LICENSE = "LGPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000208d539ec061b899bce1d9ce9404" + +SRC_URI[sha256sum] = "5e9a47458b3c1583326513b2556a2a9473a1001a56c9efe9e587245b43148dd9" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} = "libpq" diff --git a/meta-oe/recipes-devtools/sip/sip_6.15.1.bb b/meta-oe/recipes-devtools/sip/sip_6.15.1.bb deleted file mode 100644 index b00d5d5e7a5..00000000000 --- a/meta-oe/recipes-devtools/sip/sip_6.15.1.bb +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright (C) 2022 Khem Raj -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "A Python bindings generator for C/C++ libraries" - -HOMEPAGE = "https://github.com/Python-SIP/sip" -LICENSE = "BSD-2-Clause" -SECTION = "devel" -LIC_FILES_CHKSUM = "file://LICENSE;md5=236276327275fdb261636fb40b18d88d" - -inherit pypi python_setuptools_build_meta python3native - -PYPI_PACKAGE = "sip" -SRC_URI[sha256sum] = "dc2e58c1798a74e1b31c28e837339822fe8fa55288ae30e8986eb28100ebca5a" - -DEPENDS += "python3-setuptools-scm-native" - -RDEPENDS:${PN} = " \ - python3-core \ - python3-packaging \ - python3-logging \ - python3-tomllib \ - python3-setuptools \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/sip/sip_6.15.3.bb b/meta-oe/recipes-devtools/sip/sip_6.15.3.bb new file mode 100644 index 00000000000..5d6d8c78a6a --- /dev/null +++ b/meta-oe/recipes-devtools/sip/sip_6.15.3.bb @@ -0,0 +1,26 @@ +# Copyright (C) 2022 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "A Python bindings generator for C/C++ libraries" + +HOMEPAGE = "https://github.com/Python-SIP/sip" +LICENSE = "BSD-2-Clause" +SECTION = "devel" +LIC_FILES_CHKSUM = "file://LICENSE;md5=236276327275fdb261636fb40b18d88d" + +inherit pypi python_setuptools_build_meta python3native + +PYPI_PACKAGE = "sip" +SRC_URI[sha256sum] = "bb2516983f9f716d321e5157c00d0de0c12422eba73b8f43a44610a0f6622438" + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} = " \ + python3-core \ + python3-packaging \ + python3-logging \ + python3-tomllib \ + python3-setuptools \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/spdm-utils/spdm-utils-crates.inc b/meta-oe/recipes-devtools/spdm-utils/spdm-utils-crates.inc index 7a2aae9be72..0c3582d53db 100644 --- a/meta-oe/recipes-devtools/spdm-utils/spdm-utils-crates.inc +++ b/meta-oe/recipes-devtools/spdm-utils/spdm-utils-crates.inc @@ -2,557 +2,393 @@ # from Cargo.lock SRC_URI += " \ - crate://crates.io/aho-corasick/1.1.3 \ - crate://crates.io/anstream/0.6.18 \ - crate://crates.io/anstyle/1.0.10 \ - crate://crates.io/anstyle-parse/0.2.6 \ - crate://crates.io/anstyle-query/1.1.2 \ - crate://crates.io/anstyle-wincon/3.0.7 \ + crate://crates.io/aho-corasick/1.1.4 \ + crate://crates.io/anstream/0.6.21 \ + crate://crates.io/anstyle/1.0.13 \ + crate://crates.io/anstyle-parse/0.2.7 \ + crate://crates.io/anstyle-query/1.1.5 \ + crate://crates.io/anstyle-wincon/3.0.11 \ crate://crates.io/asn1-rs/0.5.2 \ crate://crates.io/asn1-rs/0.6.2 \ crate://crates.io/asn1-rs-derive/0.4.0 \ crate://crates.io/asn1-rs-derive/0.5.1 \ crate://crates.io/asn1-rs-impl/0.1.0 \ crate://crates.io/asn1-rs-impl/0.2.0 \ - crate://crates.io/async-attributes/1.1.2 \ - crate://crates.io/async-channel/1.9.0 \ - crate://crates.io/async-channel/2.3.1 \ - crate://crates.io/async-executor/1.13.1 \ - crate://crates.io/async-global-executor/2.4.1 \ - crate://crates.io/async-io/2.4.0 \ - crate://crates.io/async-lock/3.4.0 \ - crate://crates.io/async-std/1.13.0 \ - crate://crates.io/async-task/4.7.1 \ - crate://crates.io/atomic-waker/1.1.2 \ - crate://crates.io/autocfg/1.4.0 \ - crate://crates.io/bindgen/0.71.1 \ + crate://crates.io/autocfg/1.5.0 \ + crate://crates.io/bindgen/0.72.1 \ crate://crates.io/bitfield/0.14.0 \ crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bitflags/2.8.0 \ + crate://crates.io/bitflags/2.10.0 \ crate://crates.io/block-buffer/0.10.4 \ - crate://crates.io/blocking/1.6.1 \ - crate://crates.io/bumpalo/3.16.0 \ + crate://crates.io/byteorder/1.5.0 \ + crate://crates.io/bytes/1.11.1 \ crate://crates.io/cexpr/0.6.0 \ - crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/cfg-if/1.0.4 \ crate://crates.io/cfg_aliases/0.2.1 \ crate://crates.io/clang-sys/1.8.1 \ - crate://crates.io/clap/4.5.27 \ - crate://crates.io/clap_builder/4.5.27 \ - crate://crates.io/clap_derive/4.5.24 \ - crate://crates.io/clap_lex/0.7.4 \ - crate://crates.io/colorchoice/1.0.3 \ + crate://crates.io/clap/4.5.57 \ + crate://crates.io/clap_builder/4.5.57 \ + crate://crates.io/clap_derive/4.5.55 \ + crate://crates.io/clap_lex/0.7.7 \ + crate://crates.io/colorchoice/1.0.4 \ crate://crates.io/colored/2.2.0 \ - crate://crates.io/concurrent-queue/2.5.0 \ crate://crates.io/core-foundation/0.10.0 \ crate://crates.io/core-foundation-sys/0.8.7 \ crate://crates.io/cpufeatures/0.2.17 \ - crate://crates.io/crossbeam-utils/0.8.21 \ - crate://crates.io/crunchy/0.2.3 \ - crate://crates.io/crypto-common/0.1.6 \ - crate://crates.io/data-encoding/2.7.0 \ + crate://crates.io/crossterm/0.25.0 \ + crate://crates.io/crossterm_winapi/0.9.1 \ + crate://crates.io/crunchy/0.2.4 \ + crate://crates.io/crypto-common/0.1.7 \ + crate://crates.io/data-encoding/2.10.0 \ crate://crates.io/der-parser/8.2.0 \ - crate://crates.io/deranged/0.3.11 \ + crate://crates.io/deranged/0.5.5 \ crate://crates.io/digest/0.10.7 \ crate://crates.io/displaydoc/0.2.5 \ - crate://crates.io/either/1.13.0 \ + crate://crates.io/dyn-clone/1.0.20 \ + crate://crates.io/either/1.15.0 \ crate://crates.io/embedded-crc-macros/1.0.0 \ crate://crates.io/env_logger/0.10.2 \ - crate://crates.io/errno/0.3.10 \ - crate://crates.io/event-listener/2.5.3 \ - crate://crates.io/event-listener/5.4.0 \ - crate://crates.io/event-listener-strategy/0.5.3 \ - crate://crates.io/fastrand/2.3.0 \ + crate://crates.io/errno/0.3.14 \ crate://crates.io/futures/0.3.31 \ crate://crates.io/futures-channel/0.3.31 \ crate://crates.io/futures-core/0.3.31 \ crate://crates.io/futures-executor/0.3.31 \ crate://crates.io/futures-io/0.3.31 \ - crate://crates.io/futures-lite/2.6.0 \ crate://crates.io/futures-macro/0.3.31 \ crate://crates.io/futures-sink/0.3.31 \ crate://crates.io/futures-task/0.3.31 \ crate://crates.io/futures-util/0.3.31 \ + crate://crates.io/fuzzy-matcher/0.3.7 \ + crate://crates.io/fxhash/0.2.1 \ crate://crates.io/generic-array/0.14.7 \ - crate://crates.io/glob/0.3.2 \ - crate://crates.io/gloo-timers/0.3.0 \ - crate://crates.io/half/2.4.1 \ + crate://crates.io/glob/0.3.3 \ + crate://crates.io/half/2.7.1 \ crate://crates.io/heck/0.5.0 \ - crate://crates.io/hermit-abi/0.4.0 \ - crate://crates.io/home/0.5.11 \ - crate://crates.io/humantime/2.1.0 \ + crate://crates.io/hermit-abi/0.5.2 \ + crate://crates.io/home/0.5.12 \ + crate://crates.io/humantime/2.3.0 \ + crate://crates.io/inquire/0.7.5 \ crate://crates.io/io-kit-sys/0.4.1 \ - crate://crates.io/is-terminal/0.4.15 \ - crate://crates.io/is_terminal_polyfill/1.70.1 \ + crate://crates.io/is-terminal/0.4.17 \ + crate://crates.io/is_terminal_polyfill/1.70.2 \ crate://crates.io/itertools/0.13.0 \ - crate://crates.io/itoa/1.0.14 \ - crate://crates.io/js-sys/0.3.77 \ - crate://crates.io/kv-log-macro/1.0.7 \ + crate://crates.io/itoa/1.0.17 \ crate://crates.io/lazy_static/1.5.0 \ - crate://crates.io/libc/0.2.169 \ - crate://crates.io/libloading/0.8.6 \ + crate://crates.io/libc/0.2.180 \ + crate://crates.io/libloading/0.8.9 \ crate://crates.io/libmctp/0.2.0 \ crate://crates.io/libudev/0.3.0 \ crate://crates.io/libudev-sys/0.1.4 \ crate://crates.io/linux-raw-sys/0.4.15 \ - crate://crates.io/log/0.4.25 \ - crate://crates.io/mach2/0.4.2 \ - crate://crates.io/memchr/2.7.4 \ + crate://crates.io/lock_api/0.4.14 \ + crate://crates.io/log/0.4.29 \ + crate://crates.io/mach2/0.4.3 \ + crate://crates.io/memchr/2.7.6 \ crate://crates.io/memmap2/0.5.10 \ crate://crates.io/minicbor/0.25.1 \ crate://crates.io/minicbor-derive/0.15.3 \ crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/mio/0.8.11 \ + crate://crates.io/mio/1.1.1 \ + crate://crates.io/newline-converter/0.3.0 \ crate://crates.io/nix/0.26.4 \ crate://crates.io/nix/0.29.0 \ crate://crates.io/nom/7.1.3 \ crate://crates.io/num-bigint/0.4.6 \ - crate://crates.io/num-conv/0.1.0 \ + crate://crates.io/num-conv/0.2.0 \ crate://crates.io/num-integer/0.1.46 \ crate://crates.io/num-traits/0.2.19 \ crate://crates.io/oid-registry/0.6.1 \ - crate://crates.io/once_cell/1.20.2 \ - crate://crates.io/parking/2.2.1 \ + crate://crates.io/once_cell/1.21.3 \ + crate://crates.io/once_cell_polyfill/1.70.2 \ + crate://crates.io/parking_lot/0.12.5 \ + crate://crates.io/parking_lot_core/0.9.12 \ crate://crates.io/pin-project-lite/0.2.16 \ crate://crates.io/pin-utils/0.1.0 \ - crate://crates.io/piper/0.2.4 \ - crate://crates.io/pkg-config/0.3.31 \ - crate://crates.io/polling/3.7.4 \ + crate://crates.io/pkg-config/0.3.32 \ crate://crates.io/powerfmt/0.2.0 \ - crate://crates.io/prettyplease/0.2.29 \ - crate://crates.io/proc-macro2/1.0.93 \ - crate://crates.io/quote/1.0.38 \ - crate://crates.io/regex/1.11.1 \ - crate://crates.io/regex-automata/0.4.9 \ - crate://crates.io/regex-syntax/0.8.5 \ - crate://crates.io/rustc-hash/2.1.0 \ + crate://crates.io/prettyplease/0.2.37 \ + crate://crates.io/proc-macro2/1.0.106 \ + crate://crates.io/quote/1.0.40 \ + crate://crates.io/redox_syscall/0.5.18 \ + crate://crates.io/regex/1.12.3 \ + crate://crates.io/regex-automata/0.4.14 \ + crate://crates.io/regex-syntax/0.8.9 \ + crate://crates.io/rustc-hash/2.1.1 \ crate://crates.io/rusticata-macros/4.1.0 \ crate://crates.io/rustix/0.38.44 \ - crate://crates.io/rustversion/1.0.19 \ crate://crates.io/scopeguard/1.2.0 \ - crate://crates.io/serde/1.0.217 \ - crate://crates.io/serde_derive/1.0.217 \ - crate://crates.io/serialport/4.7.0 \ - crate://crates.io/sha2/0.10.8 \ + crate://crates.io/serde_core/1.0.228 \ + crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/serialport/4.8.1 \ + crate://crates.io/sha2/0.10.9 \ crate://crates.io/shlex/1.3.0 \ - crate://crates.io/slab/0.4.9 \ + crate://crates.io/signal-hook/0.3.18 \ + crate://crates.io/signal-hook-mio/0.2.5 \ + crate://crates.io/signal-hook-registry/1.4.8 \ + crate://crates.io/slab/0.4.12 \ + crate://crates.io/smallvec/1.15.1 \ crate://crates.io/smbus-pec/1.0.1 \ + crate://crates.io/socket2/0.6.2 \ crate://crates.io/strsim/0.11.1 \ crate://crates.io/syn/1.0.109 \ - crate://crates.io/syn/2.0.96 \ + crate://crates.io/syn/2.0.114 \ crate://crates.io/synstructure/0.12.6 \ - crate://crates.io/synstructure/0.13.1 \ + crate://crates.io/synstructure/0.13.2 \ crate://crates.io/termcolor/1.4.1 \ crate://crates.io/thiserror/1.0.69 \ + crate://crates.io/thiserror/2.0.18 \ crate://crates.io/thiserror-impl/1.0.69 \ - crate://crates.io/time/0.3.37 \ - crate://crates.io/time-core/0.1.2 \ - crate://crates.io/time-macros/0.2.19 \ - crate://crates.io/tracing/0.1.41 \ - crate://crates.io/tracing-core/0.1.33 \ - crate://crates.io/typenum/1.17.0 \ - crate://crates.io/unescaper/0.1.5 \ - crate://crates.io/unicode-ident/1.0.15 \ + crate://crates.io/thiserror-impl/2.0.18 \ + crate://crates.io/thread_local/1.1.9 \ + crate://crates.io/time/0.3.47 \ + crate://crates.io/time-core/0.1.8 \ + crate://crates.io/time-macros/0.2.27 \ + crate://crates.io/tokio/1.49.0 \ + crate://crates.io/tokio-macros/2.6.0 \ + crate://crates.io/typenum/1.19.0 \ + crate://crates.io/unescaper/0.1.8 \ + crate://crates.io/unicode-ident/1.0.22 \ + crate://crates.io/unicode-segmentation/1.12.0 \ + crate://crates.io/unicode-width/0.1.14 \ crate://crates.io/unicode-xid/0.2.6 \ crate://crates.io/utf8parse/0.2.2 \ - crate://crates.io/value-bag/1.10.0 \ crate://crates.io/version_check/0.9.5 \ - crate://crates.io/wasm-bindgen/0.2.100 \ - crate://crates.io/wasm-bindgen-backend/0.2.100 \ - crate://crates.io/wasm-bindgen-futures/0.4.50 \ - crate://crates.io/wasm-bindgen-macro/0.2.100 \ - crate://crates.io/wasm-bindgen-macro-support/0.2.100 \ - crate://crates.io/wasm-bindgen-shared/0.2.100 \ - crate://crates.io/web-sys/0.3.77 \ + crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ crate://crates.io/which/6.0.3 \ crate://crates.io/winapi/0.3.9 \ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-util/0.1.9 \ + crate://crates.io/winapi-util/0.1.11 \ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-link/0.2.1 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.52.0 \ crate://crates.io/windows-sys/0.59.0 \ + crate://crates.io/windows-sys/0.60.2 \ + crate://crates.io/windows-sys/0.61.2 \ + crate://crates.io/windows-targets/0.48.5 \ crate://crates.io/windows-targets/0.52.6 \ + crate://crates.io/windows-targets/0.53.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ + crate://crates.io/windows_aarch64_gnullvm/0.53.1 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ crate://crates.io/windows_aarch64_msvc/0.52.6 \ + crate://crates.io/windows_aarch64_msvc/0.53.1 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ crate://crates.io/windows_i686_gnu/0.52.6 \ + crate://crates.io/windows_i686_gnu/0.53.1 \ crate://crates.io/windows_i686_gnullvm/0.52.6 \ + crate://crates.io/windows_i686_gnullvm/0.53.1 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ crate://crates.io/windows_i686_msvc/0.52.6 \ + crate://crates.io/windows_i686_msvc/0.53.1 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ crate://crates.io/windows_x86_64_gnu/0.52.6 \ + crate://crates.io/windows_x86_64_gnu/0.53.1 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ + crate://crates.io/windows_x86_64_gnullvm/0.53.1 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ crate://crates.io/windows_x86_64_msvc/0.52.6 \ + crate://crates.io/windows_x86_64_msvc/0.53.1 \ crate://crates.io/winsafe/0.0.19 \ crate://crates.io/x509-parser/0.15.1 \ + crate://crates.io/zerocopy/0.8.38 \ + crate://crates.io/zerocopy-derive/0.8.38 \ " -SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -SRC_URI[anstream-0.6.18.sha256sum] = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" -SRC_URI[anstyle-1.0.10.sha256sum] = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" -SRC_URI[anstyle-parse-0.2.6.sha256sum] = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" -SRC_URI[anstyle-query-1.1.2.sha256sum] = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" -SRC_URI[anstyle-wincon-3.0.7.sha256sum] = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +SRC_URI[anstream-0.6.21.sha256sum] = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" SRC_URI[asn1-rs-0.5.2.sha256sum] = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" SRC_URI[asn1-rs-0.6.2.sha256sum] = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" SRC_URI[asn1-rs-derive-0.4.0.sha256sum] = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" SRC_URI[asn1-rs-derive-0.5.1.sha256sum] = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" SRC_URI[asn1-rs-impl-0.1.0.sha256sum] = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" SRC_URI[asn1-rs-impl-0.2.0.sha256sum] = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" -SRC_URI[async-attributes-1.1.2.sha256sum] = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" -SRC_URI[async-channel-1.9.0.sha256sum] = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -SRC_URI[async-channel-2.3.1.sha256sum] = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" -SRC_URI[async-executor-1.13.1.sha256sum] = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" -SRC_URI[async-global-executor-2.4.1.sha256sum] = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" -SRC_URI[async-io-2.4.0.sha256sum] = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" -SRC_URI[async-lock-3.4.0.sha256sum] = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -SRC_URI[async-std-1.13.0.sha256sum] = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" -SRC_URI[async-task-4.7.1.sha256sum] = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" -SRC_URI[atomic-waker-1.1.2.sha256sum] = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -SRC_URI[bindgen-0.71.1.sha256sum] = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" +SRC_URI[autocfg-1.5.0.sha256sum] = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" SRC_URI[bitfield-0.14.0.sha256sum] = "2d7e60934ceec538daadb9d8432424ed043a904d8e0243f3c6446bce549a46ac" SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bitflags-2.8.0.sha256sum] = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -SRC_URI[blocking-1.6.1.sha256sum] = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" -SRC_URI[bumpalo-3.16.0.sha256sum] = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +SRC_URI[bytes-1.11.1.sha256sum] = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -SRC_URI[clap-4.5.27.sha256sum] = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" -SRC_URI[clap_builder-4.5.27.sha256sum] = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" -SRC_URI[clap_derive-4.5.24.sha256sum] = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" -SRC_URI[clap_lex-0.7.4.sha256sum] = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" -SRC_URI[colorchoice-1.0.3.sha256sum] = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +SRC_URI[clap-4.5.57.sha256sum] = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" +SRC_URI[clap_builder-4.5.57.sha256sum] = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" +SRC_URI[clap_derive-4.5.55.sha256sum] = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" +SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" SRC_URI[colored-2.2.0.sha256sum] = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" -SRC_URI[concurrent-queue-2.5.0.sha256sum] = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" SRC_URI[core-foundation-0.10.0.sha256sum] = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" -SRC_URI[crunchy-0.2.3.sha256sum] = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" -SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -SRC_URI[data-encoding-2.7.0.sha256sum] = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f" +SRC_URI[crossterm-0.25.0.sha256sum] = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" +SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" SRC_URI[der-parser-8.2.0.sha256sum] = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" -SRC_URI[deranged-0.3.11.sha256sum] = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +SRC_URI[deranged-0.5.5.sha256sum] = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -SRC_URI[either-1.13.0.sha256sum] = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +SRC_URI[dyn-clone-1.0.20.sha256sum] = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" +SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" SRC_URI[embedded-crc-macros-1.0.0.sha256sum] = "4f1c75747a43b086df1a87fb2a889590bc0725e0abf54bba6d0c4bf7bd9e762c" SRC_URI[env_logger-0.10.2.sha256sum] = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -SRC_URI[errno-0.3.10.sha256sum] = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -SRC_URI[event-listener-2.5.3.sha256sum] = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" -SRC_URI[event-listener-5.4.0.sha256sum] = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" -SRC_URI[event-listener-strategy-0.5.3.sha256sum] = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" -SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" SRC_URI[futures-0.3.31.sha256sum] = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" SRC_URI[futures-channel-0.3.31.sha256sum] = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" SRC_URI[futures-core-0.3.31.sha256sum] = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" SRC_URI[futures-executor-0.3.31.sha256sum] = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" SRC_URI[futures-io-0.3.31.sha256sum] = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -SRC_URI[futures-lite-2.6.0.sha256sum] = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" SRC_URI[futures-macro-0.3.31.sha256sum] = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" SRC_URI[futures-sink-0.3.31.sha256sum] = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" SRC_URI[futures-task-0.3.31.sha256sum] = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +SRC_URI[fuzzy-matcher-0.3.7.sha256sum] = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +SRC_URI[fxhash-0.2.1.sha256sum] = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -SRC_URI[glob-0.3.2.sha256sum] = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" -SRC_URI[gloo-timers-0.3.0.sha256sum] = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" -SRC_URI[half-2.4.1.sha256sum] = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -SRC_URI[hermit-abi-0.4.0.sha256sum] = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" -SRC_URI[home-0.5.11.sha256sum] = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[hermit-abi-0.5.2.sha256sum] = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +SRC_URI[home-0.5.12.sha256sum] = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +SRC_URI[humantime-2.3.0.sha256sum] = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" +SRC_URI[inquire-0.7.5.sha256sum] = "0fddf93031af70e75410a2511ec04d49e758ed2f26dad3404a934e0fb45cc12a" SRC_URI[io-kit-sys-0.4.1.sha256sum] = "617ee6cf8e3f66f3b4ea67a4058564628cde41901316e19f559e14c7c72c5e7b" -SRC_URI[is-terminal-0.4.15.sha256sum] = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" -SRC_URI[is_terminal_polyfill-1.70.1.sha256sum] = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +SRC_URI[is-terminal-0.4.17.sha256sum] = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" +SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -SRC_URI[itoa-1.0.14.sha256sum] = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" -SRC_URI[js-sys-0.3.77.sha256sum] = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -SRC_URI[kv-log-macro-1.0.7.sha256sum] = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -SRC_URI[libc-0.2.169.sha256sum] = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -SRC_URI[libloading-0.8.6.sha256sum] = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +SRC_URI[libc-0.2.180.sha256sum] = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" SRC_URI[libmctp-0.2.0.sha256sum] = "0d077261b65cfe16a3d490243354fbaec3f22e5bcad546d21394105ab836d1d0" SRC_URI[libudev-0.3.0.sha256sum] = "78b324152da65df7bb95acfcaab55e3097ceaab02fb19b228a9eb74d55f135e0" SRC_URI[libudev-sys-0.1.4.sha256sum] = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" SRC_URI[linux-raw-sys-0.4.15.sha256sum] = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" -SRC_URI[log-0.4.25.sha256sum] = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" -SRC_URI[mach2-0.4.2.sha256sum] = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" -SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +SRC_URI[lock_api-0.4.14.sha256sum] = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +SRC_URI[log-0.4.29.sha256sum] = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +SRC_URI[mach2-0.4.3.sha256sum] = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" +SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" SRC_URI[memmap2-0.5.10.sha256sum] = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" SRC_URI[minicbor-0.25.1.sha256sum] = "c0452a60c1863c1f50b5f77cd295e8d2786849f35883f0b9e18e7e6e1b5691b0" SRC_URI[minicbor-derive-0.15.3.sha256sum] = "bd2209fff77f705b00c737016a48e73733d7fbccb8b007194db148f03561fb70" SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[mio-0.8.11.sha256sum] = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +SRC_URI[mio-1.1.1.sha256sum] = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +SRC_URI[newline-converter-0.3.0.sha256sum] = "47b6b097ecb1cbfed438542d16e84fd7ad9b0c76c8a65b7f9039212a3d14dc7f" SRC_URI[nix-0.26.4.sha256sum] = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" SRC_URI[nix-0.29.0.sha256sum] = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +SRC_URI[num-conv-0.2.0.sha256sum] = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" SRC_URI[oid-registry-0.6.1.sha256sum] = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" -SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" -SRC_URI[parking-2.2.1.sha256sum] = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +SRC_URI[once_cell_polyfill-1.70.2.sha256sum] = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +SRC_URI[parking_lot-0.12.5.sha256sum] = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +SRC_URI[parking_lot_core-0.9.12.sha256sum] = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -SRC_URI[piper-0.2.4.sha256sum] = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" -SRC_URI[pkg-config-0.3.31.sha256sum] = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" -SRC_URI[polling-3.7.4.sha256sum] = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -SRC_URI[prettyplease-0.2.29.sha256sum] = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" -SRC_URI[proc-macro2-1.0.93.sha256sum] = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" -SRC_URI[quote-1.0.38.sha256sum] = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" -SRC_URI[rustc-hash-2.1.0.sha256sum] = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +SRC_URI[regex-automata-0.4.14.sha256sum] = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +SRC_URI[regex-syntax-0.8.9.sha256sum] = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" +SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" SRC_URI[rusticata-macros-4.1.0.sha256sum] = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" SRC_URI[rustix-0.38.44.sha256sum] = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -SRC_URI[rustversion-1.0.19.sha256sum] = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -SRC_URI[serde-1.0.217.sha256sum] = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" -SRC_URI[serde_derive-1.0.217.sha256sum] = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" -SRC_URI[serialport-4.7.0.sha256sum] = "5ecfc4858c2266c7695d8b8460bbd612fa81bd2e250f5f0dd16195e4b4f8b3d8" -SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[serialport-4.8.1.sha256sum] = "21f60a586160667241d7702c420fc223939fb3c0bb8d3fac84f78768e8970dee" +SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +SRC_URI[signal-hook-0.3.18.sha256sum] = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +SRC_URI[signal-hook-mio-0.2.5.sha256sum] = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" +SRC_URI[signal-hook-registry-1.4.8.sha256sum] = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" SRC_URI[smbus-pec-1.0.1.sha256sum] = "ca0763a680cd5d72b28f7bfc8a054c117d8841380a6ad4f72f05bd2a34217d3e" +SRC_URI[socket2-0.6.2.sha256sum] = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -SRC_URI[syn-2.0.96.sha256sum] = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" SRC_URI[synstructure-0.12.6.sha256sum] = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -SRC_URI[synstructure-0.13.1.sha256sum] = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -SRC_URI[time-0.3.37.sha256sum] = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" -SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" -SRC_URI[time-macros-0.2.19.sha256sum] = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" -SRC_URI[tracing-0.1.41.sha256sum] = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -SRC_URI[tracing-core-0.1.33.sha256sum] = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" -SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -SRC_URI[unescaper-0.1.5.sha256sum] = "c878a167baa8afd137494101a688ef8c67125089ff2249284bd2b5f9bfedb815" -SRC_URI[unicode-ident-1.0.15.sha256sum] = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243" +SRC_URI[thiserror-impl-2.0.18.sha256sum] = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +SRC_URI[thread_local-1.1.9.sha256sum] = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +SRC_URI[time-0.3.47.sha256sum] = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +SRC_URI[time-core-0.1.8.sha256sum] = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +SRC_URI[time-macros-0.2.27.sha256sum] = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +SRC_URI[tokio-1.49.0.sha256sum] = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +SRC_URI[tokio-macros-2.6.0.sha256sum] = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +SRC_URI[typenum-1.19.0.sha256sum] = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +SRC_URI[unescaper-0.1.8.sha256sum] = "4064ed685c487dbc25bd3f0e9548f2e34bab9d18cefc700f9ec2dba74ba1138e" +SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +SRC_URI[unicode-segmentation-1.12.0.sha256sum] = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" -SRC_URI[value-bag-1.10.0.sha256sum] = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -SRC_URI[wasm-bindgen-0.2.100.sha256sum] = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -SRC_URI[wasm-bindgen-backend-0.2.100.sha256sum] = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -SRC_URI[wasm-bindgen-futures-0.4.50.sha256sum] = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" -SRC_URI[wasm-bindgen-macro-0.2.100.sha256sum] = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -SRC_URI[wasm-bindgen-macro-support-0.2.100.sha256sum] = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -SRC_URI[wasm-bindgen-shared-0.2.100.sha256sum] = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -SRC_URI[web-sys-0.3.77.sha256sum] = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" SRC_URI[which-6.0.3.sha256sum] = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-util-0.1.9.sha256sum] = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-link-0.2.1.sha256sum] = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +SRC_URI[windows-sys-0.60.2.sha256sum] = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +SRC_URI[windows-sys-0.61.2.sha256sum] = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +SRC_URI[windows-targets-0.53.5.sha256sum] = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +SRC_URI[windows_aarch64_gnullvm-0.53.1.sha256sum] = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +SRC_URI[windows_aarch64_msvc-0.53.1.sha256sum] = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +SRC_URI[windows_i686_gnu-0.53.1.sha256sum] = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +SRC_URI[windows_i686_gnullvm-0.53.1.sha256sum] = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +SRC_URI[windows_i686_msvc-0.53.1.sha256sum] = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +SRC_URI[windows_x86_64_gnu-0.53.1.sha256sum] = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" SRC_URI[winsafe-0.0.19.sha256sum] = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" SRC_URI[x509-parser-0.15.1.sha256sum] = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" -# from tock-responder/Cargo.lock -SRC_URI += " \ - crate://crates.io/aho-corasick/1.1.3 \ - crate://crates.io/atty/0.2.14 \ - crate://crates.io/autocfg/1.4.0 \ - crate://crates.io/bindgen/0.71.1 \ - crate://crates.io/bitfield/0.14.0 \ - crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bitflags/2.8.0 \ - crate://crates.io/byteorder/0.5.3 \ - crate://crates.io/cexpr/0.6.0 \ - crate://crates.io/cfg-if/1.0.0 \ - crate://crates.io/clang-sys/1.8.1 \ - crate://crates.io/clap/3.2.25 \ - crate://crates.io/clap_derive/3.2.25 \ - crate://crates.io/clap_lex/0.2.4 \ - crate://crates.io/critical-section/1.2.0 \ - crate://crates.io/either/1.13.0 \ - crate://crates.io/elf/0.0.10 \ - crate://crates.io/embedded-alloc/0.5.1 \ - crate://crates.io/embedded-crc-macros/1.0.0 \ - crate://crates.io/errno/0.3.10 \ - crate://crates.io/glob/0.3.2 \ - crate://crates.io/hashbrown/0.12.3 \ - crate://crates.io/heck/0.4.1 \ - crate://crates.io/hermit-abi/0.1.19 \ - crate://crates.io/home/0.5.11 \ - crate://crates.io/indexmap/1.9.3 \ - crate://crates.io/itertools/0.13.0 \ - crate://crates.io/libc/0.2.169 \ - crate://crates.io/libloading/0.8.6 \ - crate://crates.io/libm/0.2.11 \ - crate://crates.io/libmctp/0.2.0 \ - crate://crates.io/linked_list_allocator/0.10.5 \ - crate://crates.io/linux-raw-sys/0.4.15 \ - crate://crates.io/log/0.4.25 \ - crate://crates.io/memchr/2.7.4 \ - crate://crates.io/minimal-lexical/0.2.1 \ - crate://crates.io/nom/7.1.3 \ - crate://crates.io/numtoa/0.1.0 \ - crate://crates.io/once_cell/1.20.2 \ - crate://crates.io/os_str_bytes/6.6.1 \ - crate://crates.io/portable-atomic/1.10.0 \ - crate://crates.io/prettyplease/0.2.29 \ - crate://crates.io/proc-macro-error/1.0.4 \ - crate://crates.io/proc-macro-error-attr/1.0.4 \ - crate://crates.io/proc-macro2/1.0.93 \ - crate://crates.io/quote/1.0.38 \ - crate://crates.io/redox_syscall/0.2.16 \ - crate://crates.io/redox_termios/0.1.3 \ - crate://crates.io/regex/1.11.1 \ - crate://crates.io/regex-automata/0.4.9 \ - crate://crates.io/regex-syntax/0.8.5 \ - crate://crates.io/rustc-hash/2.1.0 \ - crate://crates.io/rustix/0.38.44 \ - crate://crates.io/shlex/1.3.0 \ - crate://crates.io/smbus-pec/1.0.1 \ - crate://crates.io/strsim/0.10.0 \ - crate://crates.io/syn/1.0.109 \ - crate://crates.io/syn/2.0.96 \ - crate://crates.io/termcolor/1.4.1 \ - crate://crates.io/termion/1.5.6 \ - crate://crates.io/textwrap/0.16.1 \ - crate://crates.io/unicode-ident/1.0.15 \ - crate://crates.io/version_check/0.9.5 \ - crate://crates.io/which/6.0.3 \ - crate://crates.io/winapi/0.3.9 \ - crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-util/0.1.9 \ - crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/windows-sys/0.59.0 \ - crate://crates.io/windows-targets/0.52.6 \ - crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ - crate://crates.io/windows_aarch64_msvc/0.52.6 \ - crate://crates.io/windows_i686_gnu/0.52.6 \ - crate://crates.io/windows_i686_gnullvm/0.52.6 \ - crate://crates.io/windows_i686_msvc/0.52.6 \ - crate://crates.io/windows_x86_64_gnu/0.52.6 \ - crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ - crate://crates.io/windows_x86_64_msvc/0.52.6 \ - crate://crates.io/winsafe/0.0.19 \ -" - -SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -SRC_URI[bindgen-0.71.1.sha256sum] = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" -SRC_URI[bitfield-0.14.0.sha256sum] = "2d7e60934ceec538daadb9d8432424ed043a904d8e0243f3c6446bce549a46ac" -SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bitflags-2.8.0.sha256sum] = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" -SRC_URI[byteorder-0.5.3.sha256sum] = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855" -SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -SRC_URI[clap-3.2.25.sha256sum] = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -SRC_URI[clap_derive-3.2.25.sha256sum] = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" -SRC_URI[clap_lex-0.2.4.sha256sum] = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -SRC_URI[critical-section-1.2.0.sha256sum] = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -SRC_URI[either-1.13.0.sha256sum] = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" -SRC_URI[elf-0.0.10.sha256sum] = "4841de15dbe0e49b9b62a417589299e3be0d557e0900d36acb87e6dae47197f5" -SRC_URI[embedded-alloc-0.5.1.sha256sum] = "ddae17915accbac2cfbc64ea0ae6e3b330e6ea124ba108dada63646fd3c6f815" -SRC_URI[embedded-crc-macros-1.0.0.sha256sum] = "4f1c75747a43b086df1a87fb2a889590bc0725e0abf54bba6d0c4bf7bd9e762c" -SRC_URI[errno-0.3.10.sha256sum] = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -SRC_URI[glob-0.3.2.sha256sum] = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" -SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -SRC_URI[home-0.5.11.sha256sum] = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -SRC_URI[libc-0.2.169.sha256sum] = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -SRC_URI[libloading-0.8.6.sha256sum] = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" -SRC_URI[libm-0.2.11.sha256sum] = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" -SRC_URI[libmctp-0.2.0.sha256sum] = "0d077261b65cfe16a3d490243354fbaec3f22e5bcad546d21394105ab836d1d0" -SRC_URI[linked_list_allocator-0.10.5.sha256sum] = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" -SRC_URI[linux-raw-sys-0.4.15.sha256sum] = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" -SRC_URI[log-0.4.25.sha256sum] = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" -SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -SRC_URI[numtoa-0.1.0.sha256sum] = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef" -SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" -SRC_URI[os_str_bytes-6.6.1.sha256sum] = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" -SRC_URI[portable-atomic-1.10.0.sha256sum] = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" -SRC_URI[prettyplease-0.2.29.sha256sum] = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" -SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -SRC_URI[proc-macro2-1.0.93.sha256sum] = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" -SRC_URI[quote-1.0.38.sha256sum] = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -SRC_URI[redox_syscall-0.2.16.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -SRC_URI[redox_termios-0.1.3.sha256sum] = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb" -SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" -SRC_URI[rustc-hash-2.1.0.sha256sum] = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" -SRC_URI[rustix-0.38.44.sha256sum] = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -SRC_URI[smbus-pec-1.0.1.sha256sum] = "ca0763a680cd5d72b28f7bfc8a054c117d8841380a6ad4f72f05bd2a34217d3e" -SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -SRC_URI[syn-2.0.96.sha256sum] = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" -SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -SRC_URI[termion-1.5.6.sha256sum] = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e" -SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" -SRC_URI[unicode-ident-1.0.15.sha256sum] = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243" -SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -SRC_URI[which-6.0.3.sha256sum] = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" -SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-util-0.1.9.sha256sum] = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -SRC_URI[winsafe-0.0.19.sha256sum] = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" -SRC_URI[clap-4.5.26.sha256sum] = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" -SRC_URI[clap_builder-4.5.26.sha256sum] = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" -SRC_URI[cpufeatures-0.2.16.sha256sum] = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" -SRC_URI[crunchy-0.2.2.sha256sum] = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -SRC_URI[is-terminal-0.4.13.sha256sum] = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -SRC_URI[rustix-0.38.43.sha256sum] = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" -SRC_URI[unicode-ident-1.0.14.sha256sum] = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -SRC_URI[bindgen-0.63.0.sha256sum] = "36d860121800b2a9a94f9b5604b332d5cffb234ce17609ea479d723dbc9d3885" -SRC_URI[bitflags-2.6.0.sha256sum] = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -SRC_URI[critical-section-1.1.2.sha256sum] = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" -SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -SRC_URI[libc-0.2.155.sha256sum] = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" -SRC_URI[libloading-0.8.5.sha256sum] = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -SRC_URI[libm-0.2.8.sha256sum] = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" -SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" -SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" -SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -SRC_URI[peeking_take_while-0.1.2.sha256sum] = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" -SRC_URI[portable-atomic-1.7.0.sha256sum] = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" -SRC_URI[proc-macro2-1.0.86.sha256sum] = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -SRC_URI[regex-1.10.5.sha256sum] = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" -SRC_URI[regex-automata-0.4.7.sha256sum] = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -SRC_URI[regex-syntax-0.8.4.sha256sum] = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" -SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -SRC_URI[rustix-0.38.34.sha256sum] = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -SRC_URI[which-4.4.2.sha256sum] = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -SRC_URI[which-6.0.2.sha256sum] = "3d9c5ed668ee1f17edb3b627225343d210006a90bb1e3745ce1f30b1fb115075" -SRC_URI[winapi-util-0.1.8.sha256sum] = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +SRC_URI[zerocopy-0.8.38.sha256sum] = "57cf3aa6855b23711ee9852dfc97dfaa51c45feaba5b645d0c777414d494a961" +SRC_URI[zerocopy-derive-0.8.38.sha256sum] = "8a616990af1a287837c4fe6596ad77ef57948f787e46ce28e166facc0cc1cb75" diff --git a/meta-oe/recipes-devtools/spdm-utils/spdm-utils_0.7.2.bb b/meta-oe/recipes-devtools/spdm-utils/spdm-utils_0.7.2.bb index 5c5022d9c00..6b7c46ed3a6 100644 --- a/meta-oe/recipes-devtools/spdm-utils/spdm-utils_0.7.2.bb +++ b/meta-oe/recipes-devtools/spdm-utils/spdm-utils_0.7.2.bb @@ -15,7 +15,9 @@ SRC_URI += "git://github.com/westerndigitalcorporation/spdm-utils.git;protocol=h include spdm-utils-crates.inc -SRCREV = "f67ac9e00b79f603ecbbd29928a4ecc3dec5abd5" +SRCREV = "8805327c9ac0d354c6ef891ccdd0527bbecf80e0" + +PV .= "+git" DEPENDS += "libspdm udev clang-native bindgen-cli-native pciutils" diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.18.1.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.18.1.bb deleted file mode 100644 index c84b992af8b..00000000000 --- a/meta-oe/recipes-devtools/uftrace/uftrace_0.18.1.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "Trace and analyze execution of a program written in C/C++, Rust and Python" -HOMEPAGE = "https://github.com/namhyung/uftrace" -BUGTRACKER = "https://github.com/namhyung/uftrace/issues" -SECTION = "devel" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "elfutils" -DEPENDS:append:libc-musl = " argp-standalone" - -SRCREV = "6d006b71ac32e28b7829cc21ccc7bb9c10add964" -SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https;tag=v${PV} \ - file://0001-include-libgen.h-for-basename.patch \ - " - -LDFLAGS:append:libc-musl = " -largp" - -def set_target_arch(d): - import re - arch = d.getVar('TARGET_ARCH') - if re.match(r'i.86', arch, re.I): - return 'i386' - elif re.match('armeb', arch, re.I): - return 'arm' - else: - return arch - - -do_configure() { - ${S}/configure --prefix=${prefix} \ - --objdir=${B} \ - --cflags='${CFLAGS}' \ - --ldflags='${LDFLAGS}' \ - --arch='${@set_target_arch(d)}' \ - --with-elfutils=${STAGING_EXECPREFIXDIR} -} - -do_compile() { - oe_runmake V=1 -} - -do_install() { - oe_runmake DESTDIR=${D} install - rm -f ${D}${libdir}/libelf.so* -} - -FILES_SOLIBSDEV = "" -FILES:${PN} += "${libdir}/*.so" - -COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|riscv64)" - -# uftrace supports armv6 and above -COMPATIBLE_HOST:armv4 = 'null' -COMPATIBLE_HOST:armv5 = 'null' diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.19.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.19.bb new file mode 100644 index 00000000000..cfef1851a50 --- /dev/null +++ b/meta-oe/recipes-devtools/uftrace/uftrace_0.19.bb @@ -0,0 +1,54 @@ +SUMMARY = "Trace and analyze execution of a program written in C/C++, Rust and Python" +HOMEPAGE = "https://github.com/namhyung/uftrace" +BUGTRACKER = "https://github.com/namhyung/uftrace/issues" +SECTION = "devel" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "elfutils" +DEPENDS:append:libc-musl = " argp-standalone" + +SRCREV = "de15d0cf2730eedae1685d214f54b352530d1aa4" +SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https;tag=v${PV} \ + file://0001-include-libgen.h-for-basename.patch \ + " + +LDFLAGS:append:libc-musl = " -largp" + +def set_target_arch(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match(r'i.86', arch, re.I): + return 'i386' + elif re.match('armeb', arch, re.I): + return 'arm' + else: + return arch + + +do_configure() { + ${S}/configure --prefix=${prefix} \ + --objdir=${B} \ + --cflags='${CFLAGS}' \ + --ldflags='${LDFLAGS}' \ + --arch='${@set_target_arch(d)}' \ + --with-elfutils=${STAGING_EXECPREFIXDIR} +} + +do_compile() { + oe_runmake V=1 +} + +do_install() { + oe_runmake DESTDIR=${D} install + rm -f ${D}${libdir}/libelf.so* +} + +FILES_SOLIBSDEV = "" +FILES:${PN} += "${libdir}/*.so" + +COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|riscv64)" + +# uftrace supports armv6 and above +COMPATIBLE_HOST:armv4 = 'null' +COMPATIBLE_HOST:armv5 = 'null' diff --git a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb index 102e3298788..0a3fbf5b93a 100644 --- a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb +++ b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb @@ -9,7 +9,7 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -CVE_PRODUCT = "xerces-c\+\+" +CVE_PRODUCT = "xerces-c++" SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2 \ file://0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch \ diff --git a/meta-oe/recipes-extended/7zip/7zip_25.01.bb b/meta-oe/recipes-extended/7zip/7zip_25.01.bb deleted file mode 100644 index f4ea6506e1c..00000000000 --- a/meta-oe/recipes-extended/7zip/7zip_25.01.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "7-zip is a commandline utility handling 7z archives." -HOMEPAGE = "http://www.7-zip.org/" -LICENSE = "LGPL-2.1-or-later & unRAR & PD & BSD-2-Clause & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://DOC/copying.txt;md5=4fbd65380cdd255951079008b364516c \ - file://DOC/unRarLicense.txt;md5=9c87ddde469ef94aed153b0951d088de \ - file://DOC/License.txt;md5=e80f9280df93aa8da95cac449f9fd115 \ - " - -CVE_PRODUCT = "7-zip 7zip" -SRC_URI = "git://github.com/ip7z/7zip.git;protocol=https;branch=main \ - file://0001-support-yocto-cross-compiling.patch \ - file://0001-Remove-treating-warning-as-errors.patch \ - file://7z_wrapper.sh \ - " -SRCREV = "5e96a8279489832924056b1fa82f29d5837c9469" - -UPSTREAM_CHECK_URI = "https://github.com/ip7z/7zip/releases/latest" - -EXTRA_OEMAKE += " \ - CXXFLAGS_EXTRA='${CXXFLAGS}' \ - CFLAGS_BASE2='${CFLAGS}' \ - LDFLAGS_STATIC_3='${LDFLAGS}' \ -" - -# Support clang -MAKEFILE ?= "../../cmpl_gcc.mak" -MAKEFILE:class-target:toolchain-clang = "../../cmpl_clang.mak" - -do_compile() { - oe_runmake -C CPP/7zip/Bundles/Alone2 -f ${MAKEFILE} - oe_runmake -C CPP/7zip/Bundles/Format7zF -f ${MAKEFILE} - oe_runmake -C CPP/7zip/UI/Console -f ${MAKEFILE} - oe_runmake -C CPP/7zip/Bundles/SFXCon -f ${MAKEFILE} - oe_runmake -C CPP/7zip/Bundles/Alone -f ${MAKEFILE} - oe_runmake -C CPP/7zip/Bundles/Alone7z -f ${MAKEFILE} -} - -FILES:${PN} += "${libdir}/*" - -FILES_SOLIBSDEV = "" -INSANE_SKIP:${PN} += "dev-so" - -INSTALLDIR ?= "g" -INSTALLDIR:class-target:toolchain-clang = "c" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${S}/CPP/7zip/Bundles/Alone/b/${INSTALLDIR}/7za ${D}${bindir} - install -m 0755 ${S}/CPP/7zip/Bundles/Alone7z/b/${INSTALLDIR}/7zr ${D}${bindir} - install -m 0755 ${S}/CPP/7zip/UI/Console/b/${INSTALLDIR}/7z ${D}${bindir}/7z.real - install -m 0755 ${UNPACKDIR}/7z_wrapper.sh ${D}${bindir}/7z - - install -d ${D}${libdir} - install -m 0755 ${S}/CPP/7zip/Bundles/Format7zF/b/${INSTALLDIR}/7z.so ${D}${libdir}/lib7z.so - ln -rsn ${D}${libdir}/lib7z.so ${D}${bindir}/7z.so - - # install headers (for development) and readme (for version information) - for header_file in $(find ${S}/CPP/${BPN} ${S}/CPP/Common ${S}/C -name "*.h"); do - header_dir=$(dirname $(echo $header_file | sed "s|${S}/||")) - install -d ${D}${includedir}/${BPN}/$header_dir - install -m 0644 $header_file ${D}${includedir}/${BPN}/$header_dir - done - install -d ${D}${includedir}/${BPN}/DOC - install -m 0644 ${S}/DOC/readme.txt ${D}${includedir}/${BPN}/DOC -} - -PROVIDES += "p7zip" -RPROVIDES:${PN} += "lib7z.so()(64bit) 7z lib7z.so p7zip" -RPROVIDES:${PN}-dev += "lib7z.so()(64bit) 7z lib7z.so" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/7zip/7zip_26.00.bb b/meta-oe/recipes-extended/7zip/7zip_26.00.bb new file mode 100644 index 00000000000..85219b50524 --- /dev/null +++ b/meta-oe/recipes-extended/7zip/7zip_26.00.bb @@ -0,0 +1,71 @@ +SUMMARY = "7-zip is a commandline utility handling 7z archives." +HOMEPAGE = "http://www.7-zip.org/" +LICENSE = "LGPL-2.1-or-later & unRAR & PD & BSD-2-Clause & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://DOC/copying.txt;md5=4fbd65380cdd255951079008b364516c \ + file://DOC/unRarLicense.txt;md5=9c87ddde469ef94aed153b0951d088de \ + file://DOC/License.txt;md5=a4ae6e492874f0008c7600c2ef80daa4 \ + " + +CVE_PRODUCT = "7-zip 7zip" +SRC_URI = "git://github.com/ip7z/7zip.git;protocol=https;branch=main;tag=${PV} \ + file://0001-support-yocto-cross-compiling.patch \ + file://0001-Remove-treating-warning-as-errors.patch \ + file://7z_wrapper.sh \ + " +SRCREV = "839151eaaad24771892afaae6bac690e31e58384" + +UPSTREAM_CHECK_URI = "https://github.com/ip7z/7zip/releases/latest" + +EXTRA_OEMAKE += " \ + CXXFLAGS_EXTRA='${CXXFLAGS}' \ + CFLAGS_BASE2='${CFLAGS}' \ + LDFLAGS_STATIC_3='${LDFLAGS}' \ +" + +# Support clang +MAKEFILE ?= "../../cmpl_gcc.mak" +MAKEFILE:class-target:toolchain-clang = "../../cmpl_clang.mak" + +do_compile() { + oe_runmake -C CPP/7zip/Bundles/Alone2 -f ${MAKEFILE} + oe_runmake -C CPP/7zip/Bundles/Format7zF -f ${MAKEFILE} + oe_runmake -C CPP/7zip/UI/Console -f ${MAKEFILE} + oe_runmake -C CPP/7zip/Bundles/SFXCon -f ${MAKEFILE} + oe_runmake -C CPP/7zip/Bundles/Alone -f ${MAKEFILE} + oe_runmake -C CPP/7zip/Bundles/Alone7z -f ${MAKEFILE} +} + +FILES:${PN} += "${libdir}/*" + +FILES_SOLIBSDEV = "" +INSANE_SKIP:${PN} += "dev-so" + +INSTALLDIR ?= "g" +INSTALLDIR:class-target:toolchain-clang = "c" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/CPP/7zip/Bundles/Alone/b/${INSTALLDIR}/7za ${D}${bindir} + install -m 0755 ${S}/CPP/7zip/Bundles/Alone7z/b/${INSTALLDIR}/7zr ${D}${bindir} + install -m 0755 ${S}/CPP/7zip/UI/Console/b/${INSTALLDIR}/7z ${D}${bindir}/7z.real + install -m 0755 ${UNPACKDIR}/7z_wrapper.sh ${D}${bindir}/7z + + install -d ${D}${libdir} + install -m 0755 ${S}/CPP/7zip/Bundles/Format7zF/b/${INSTALLDIR}/7z.so ${D}${libdir}/lib7z.so + ln -rsn ${D}${libdir}/lib7z.so ${D}${bindir}/7z.so + + # install headers (for development) and readme (for version information) + for header_file in $(find ${S}/CPP/${BPN} ${S}/CPP/Common ${S}/C -name "*.h"); do + header_dir=$(dirname $(echo $header_file | sed "s|${S}/||")) + install -d ${D}${includedir}/${BPN}/$header_dir + install -m 0644 $header_file ${D}${includedir}/${BPN}/$header_dir + done + install -d ${D}${includedir}/${BPN}/DOC + install -m 0644 ${S}/DOC/readme.txt ${D}${includedir}/${BPN}/DOC +} + +PROVIDES += "p7zip" +RPROVIDES:${PN} += "lib7z.so()(64bit) 7z lib7z.so p7zip" +RPROVIDES:${PN}-dev += "lib7z.so()(64bit) 7z lib7z.so" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/7zip/bit7z/0001-Allow-running-tests-on-target-when-cross-compiling.patch b/meta-oe/recipes-extended/7zip/bit7z/0001-Allow-running-tests-on-target-when-cross-compiling.patch deleted file mode 100644 index b6e24a9519d..00000000000 --- a/meta-oe/recipes-extended/7zip/bit7z/0001-Allow-running-tests-on-target-when-cross-compiling.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 9f0eed91d32ec2f310bd5c23af187f888394fcb4 Mon Sep 17 00:00:00 2001 -From: Peter Marko -Date: Wed, 2 Apr 2025 09:33:03 +0200 -Subject: [PATCH] Allow running tests on target when cross-compiling - -When bit7z is Cross-compiled, target device does not contain -source/build directory anymore and thus path to test data is different. -Make it possible to pass the new path to cmake. - -Upstream-Status: Submitted [https://github.com/rikyoz/bit7z/pull/289] -Signed-off-by: Peter Marko ---- - tests/CMakeLists.txt | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 60da280..dbdff1f 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -49,6 +49,11 @@ add_executable( ${TESTS_TARGET_PUBLIC} ${SOURCE_FILES} ${PUBLIC_API_SOURCE_FILES - - if( BIT7Z_TESTS_FILESYSTEM ) - set( BIT7Z_TESTS_DATA_DIR ${CMAKE_CURRENT_BINARY_DIR}/data ) -+ if( NOT BIT7Z_TESTS_DATA_DIR_TARGET ) -+ set( BIT7Z_TESTS_DATA_DIR_TARGET ${BIT7Z_TESTS_DATA_DIR} ) -+ else() -+ message( STATUS "Custom test data dir on target: ${BIT7Z_TESTS_DATA_DIR_TARGET}" ) -+ endif() - - include( FetchContent ) - FetchContent_Declare( bit7z-test-data -@@ -61,11 +66,11 @@ if( BIT7Z_TESTS_FILESYSTEM ) - message( STATUS "Tests data directory: ${BIT7Z_TESTS_DATA_DIR}" ) - target_compile_definitions( ${TESTS_TARGET} PRIVATE - BIT7Z_TESTS_FILESYSTEM -- BIT7Z_TESTS_DATA_DIR="${BIT7Z_TESTS_DATA_DIR}" ) -+ BIT7Z_TESTS_DATA_DIR="${BIT7Z_TESTS_DATA_DIR_TARGET}" ) - target_compile_definitions( ${TESTS_TARGET_PUBLIC} PRIVATE - BIT7Z_TESTS_PUBLIC_API_ONLY - BIT7Z_TESTS_FILESYSTEM -- BIT7Z_TESTS_DATA_DIR="${BIT7Z_TESTS_DATA_DIR}" ) -+ BIT7Z_TESTS_DATA_DIR="${BIT7Z_TESTS_DATA_DIR_TARGET}" ) - if( NOT EXISTS ${BIT7Z_TESTS_DATA_DIR}/test_filesystem/empty ) - file( MAKE_DIRECTORY ${BIT7Z_TESTS_DATA_DIR}/test_filesystem/empty ) - endif() diff --git a/meta-oe/recipes-extended/7zip/bit7z/0001-Allow-specifying-path-to-7z-library-in-tests.patch b/meta-oe/recipes-extended/7zip/bit7z/0001-Allow-specifying-path-to-7z-library-in-tests.patch deleted file mode 100644 index adc0d67d974..00000000000 --- a/meta-oe/recipes-extended/7zip/bit7z/0001-Allow-specifying-path-to-7z-library-in-tests.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 60137ec132951f941f2fb98cd6353717b322cbf1 Mon Sep 17 00:00:00 2001 -From: Peter Marko -Date: Wed, 2 Apr 2025 10:17:38 +0200 -Subject: [PATCH] Allow specifying path to 7z library in tests - -For instance to override path to library on Linux when using real 7-zip -instead of pzip: /usr/lib/lib7z.so - -Upstream-Status: Submitted [https://github.com/rikyoz/bit7z/pull/288] -Signed-off-by: Peter Marko ---- - tests/CMakeLists.txt | 7 +++++++ - tests/src/utils/shared_lib.hpp | 4 +++- - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 60da280d..1307366a 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -103,6 +103,13 @@ message( STATUS "Use system 7-zip for tests: ${BIT7Z_TESTS_USE_SYSTEM_7ZIP}" ) - if( BIT7Z_TESTS_USE_SYSTEM_7ZIP ) - target_compile_definitions( ${TESTS_TARGET} PRIVATE BIT7Z_TESTS_USE_SYSTEM_7ZIP ) - target_compile_definitions( ${TESTS_TARGET_PUBLIC} PRIVATE BIT7Z_TESTS_USE_SYSTEM_7ZIP ) -+else() -+ set( BIT7Z_TESTS_7Z_LIBRARY_PATH "" CACHE STRING "The path of the 7-Zip library to be used for running the tests" ) -+ if( NOT BIT7Z_TESTS_7Z_LIBRARY_PATH STREQUAL "" ) -+ message( STATUS "Use custom 7-zip library for tests: ${BIT7Z_TESTS_7Z_LIBRARY_PATH}" ) -+ target_compile_definitions( ${TESTS_TARGET} PRIVATE BIT7Z_TESTS_7Z_LIBRARY_PATH="${BIT7Z_TESTS_7Z_LIBRARY_PATH}" ) -+ target_compile_definitions( ${TESTS_TARGET_PUBLIC} PRIVATE BIT7Z_TESTS_7Z_LIBRARY_PATH="${BIT7Z_TESTS_7Z_LIBRARY_PATH}" ) -+ endif() - endif() - - # Avoiding linking unnecessary libraries. -diff --git a/tests/src/utils/shared_lib.hpp b/tests/src/utils/shared_lib.hpp -index 41435a9b..8bc02939 100644 ---- a/tests/src/utils/shared_lib.hpp -+++ b/tests/src/utils/shared_lib.hpp -@@ -20,7 +20,9 @@ namespace bit7z { - namespace test { - - inline auto sevenzip_lib_path() -> tstring { --#ifdef BIT7Z_TESTS_USE_SYSTEM_7ZIP -+#ifdef BIT7Z_TESTS_7Z_LIBRARY_PATH -+ static const tstring lib_path = BIT7Z_STRING( BIT7Z_TESTS_7Z_LIBRARY_PATH ); -+#elif defined( BIT7Z_TESTS_USE_SYSTEM_7ZIP ) - #ifdef _WIN64 - static const tstring lib_path = BIT7Z_STRING( "C:\\Program Files\\7-Zip\\7z.dll" ); - #elif defined( _WIN32 ) diff --git a/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch b/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch deleted file mode 100644 index b1bf6923f24..00000000000 --- a/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d504abaf2b0a514193f52df42098bc16de4718b2 Mon Sep 17 00:00:00 2001 -From: Oz -Date: Fri, 17 Jan 2025 21:23:59 +0100 -Subject: [PATCH] Fix int8_t storage in BitPropVariant on Arm architectures - -Upstream-Status: Backport [https://github.com/rikyoz/bit7z/commit/d504abaf2b0a514193f52df42098bc16de4718b2] -Signed-off-by: Peter Marko ---- - include/bit7z/bitwindows.hpp | 4 ++++ - src/bitpropvariant.cpp | 2 +- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/include/bit7z/bitwindows.hpp b/include/bit7z/bitwindows.hpp -index 5849b956..2f29a989 100644 ---- a/include/bit7z/bitwindows.hpp -+++ b/include/bit7z/bitwindows.hpp -@@ -126,7 +126,11 @@ struct PROPVARIANT { - WORD wReserved2; - WORD wReserved3; - union { -+#if defined( __arm__ ) || defined( __aarch64__ ) -+ signed char cVal; -+#else - char cVal; -+#endif - unsigned char bVal; - short iVal; - unsigned short uiVal; -diff --git a/src/bitpropvariant.cpp b/src/bitpropvariant.cpp -index 1e7f094f..642e1268 100644 ---- a/src/bitpropvariant.cpp -+++ b/src/bitpropvariant.cpp -@@ -157,7 +157,7 @@ BitPropVariant::BitPropVariant( uint64_t value ) noexcept: PROPVARIANT() { - BitPropVariant::BitPropVariant( int8_t value ) noexcept: PROPVARIANT() { - vt = VT_I1; - wReserved1 = 0; -- cVal = static_cast< char >( value ); -+ cVal = static_cast< decltype(cVal) >( value ); - } - - BitPropVariant::BitPropVariant( int16_t value ) noexcept: PROPVARIANT() { diff --git a/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-reinterpret-cast-compiler-errors.patch b/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-reinterpret-cast-compiler-errors.patch deleted file mode 100644 index 08b64f49996..00000000000 --- a/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-reinterpret-cast-compiler-errors.patch +++ /dev/null @@ -1,52 +0,0 @@ -From bedeec4d57d29be7de91697277ace00ba87d3e75 Mon Sep 17 00:00:00 2001 -From: Peter Marko -Date: Tue, 1 Apr 2025 15:23:51 +0200 -Subject: [PATCH] Fix reinterpret-cast compiler errors - -Building on 32-bit arm, following warning/error occurs: - -src/internal/windows.cpp: In function 'bit7z::OLECHAR* AllocStringBuffer(LPCSTR, uint32_t)': -src/internal/windows.cpp:79:6: error: cast from 'unsigned char*' to 'bstr_prefix_t*' {aka 'unsigned int*'} increases required alignment of target type [-Werror=cast-align] - 79 | *reinterpret_cast< bstr_prefix_t* >( bstrBuffer ) = byteLength; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -git/src/internal/windows.cpp:83:19: error: cast from 'unsigned char*' to 'bit7z::BSTR' {aka 'wchar_t*'} increases required alignment of target type [-Werror=cast-align] - 83 | BSTR result = reinterpret_cast< BSTR >( bstrBuffer + sizeof( bstr_prefix_t ) ); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -cc1plus: all warnings being treated as errors - -Fix it by using the desired variable size right away and thus avoid -casting to an array with different alignment. - -Upstream-Status: Backport [https://github.com/rikyoz/bit7z/commit/b2789ea9b0fbb2a74dbf6764ddb72d60659a3bce] -Signed-off-by: Peter Marko ---- - src/internal/windows.cpp | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/src/internal/windows.cpp b/src/internal/windows.cpp -index 9304aed7..7bee5959 100644 ---- a/src/internal/windows.cpp -+++ b/src/internal/windows.cpp -@@ -68,19 +68,18 @@ auto AllocStringBuffer( LPCSTR str, uint32_t byteLength ) -> BSTR { - - // Allocating memory for storing the BSTR as a byte array. - // NOLINTNEXTLINE(cppcoreguidelines-no-malloc, cppcoreguidelines-owning-memory) -- auto* bstrBuffer = static_cast< byte_t* >( std::calloc( bufferSize, sizeof( byte_t ) ) ); -+ auto* bstrBuffer = static_cast< bstr_prefix_t* >( std::calloc( bufferSize, sizeof( byte_t ) ) ); - - if ( bstrBuffer == nullptr ) { // Failed to allocate memory for the BSTR buffer. - return nullptr; - } - - // Storing the number of bytes of the BSTR as a prefix of it. -- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) -- *reinterpret_cast< bstr_prefix_t* >( bstrBuffer ) = byteLength; -+ *bstrBuffer = byteLength; - - // The actual BSTR must point after the byteLength prefix. - // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic, cppcoreguidelines-pro-type-reinterpret-cast) -- BSTR result = reinterpret_cast< BSTR >( bstrBuffer + sizeof( bstr_prefix_t ) ); -+ BSTR result = reinterpret_cast< BSTR >( bstrBuffer + 1 ); - if ( str != nullptr ) { - // Copying byte-by-byte the input string to the BSTR. - // Note: flawfinder warns about not checking for buffer overflows; this is a false alarm, diff --git a/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-tests-with-musl.patch b/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-tests-with-musl.patch deleted file mode 100644 index b1f3d0f2ec2..00000000000 --- a/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-tests-with-musl.patch +++ /dev/null @@ -1,51 +0,0 @@ -From bc5f2e5af90854c8f84b5829493dd01facf9af84 Mon Sep 17 00:00:00 2001 -From: Peter Marko -Date: Mon, 7 Apr 2025 16:29:32 +0200 -Subject: [PATCH] Fix tests with musl - -Upstream-Status: Submitted [https://github.com/rikyoz/bit7z/pull/292] -Signed-off-by: Peter Marko ---- - tests/src/test_bitexception.cpp | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/tests/src/test_bitexception.cpp b/tests/src/test_bitexception.cpp -index 7161fcc5..d85d430d 100644 ---- a/tests/src/test_bitexception.cpp -+++ b/tests/src/test_bitexception.cpp -@@ -49,6 +49,8 @@ constexpr PortableErrorTest hresult_tests[] = { // NOLINT(*-avoid-c-arrays) - { HRESULT_WIN32_TEST( ERROR_OPEN_FAILED ), - #ifdef _WIN32 - "The system cannot open the device or file specified.", -+#elif defined( __linux__ ) && !defined ( __GLIBC__ ) -+ "I/O error", - #else - "Input/output error", - #endif -@@ -67,6 +69,8 @@ constexpr PortableErrorTest hresult_tests[] = { // NOLINT(*-avoid-c-arrays) - { HRESULT_WIN32_TEST( ERROR_SEEK ), - #ifdef _WIN32 - "The drive cannot locate a specific area or track on the disk.", -+#elif defined( __linux__ ) && !defined ( __GLIBC__ ) -+ "I/O error", - #else - "Input/output error", - #endif -@@ -74,6 +78,8 @@ constexpr PortableErrorTest hresult_tests[] = { // NOLINT(*-avoid-c-arrays) - { HRESULT_WIN32_TEST( ERROR_READ_FAULT ), - #ifdef _WIN32 - "The system cannot read from the specified device.", -+#elif defined( __linux__ ) && !defined ( __GLIBC__ ) -+ "I/O error", - #else - "Input/output error", - #endif -@@ -81,6 +87,8 @@ constexpr PortableErrorTest hresult_tests[] = { // NOLINT(*-avoid-c-arrays) - { HRESULT_WIN32_TEST( ERROR_WRITE_FAULT ), - #ifdef _WIN32 - "The system cannot write to the specified device.", -+#elif defined( __linux__ ) && !defined ( __GLIBC__ ) -+ "I/O error", - #else - "Input/output error", - #endif diff --git a/meta-oe/recipes-extended/7zip/bit7z/0001-cmake-disable-filesystem-gitclone.patch b/meta-oe/recipes-extended/7zip/bit7z/0001-cmake-disable-filesystem-gitclone.patch new file mode 100644 index 00000000000..917b70f58e6 --- /dev/null +++ b/meta-oe/recipes-extended/7zip/bit7z/0001-cmake-disable-filesystem-gitclone.patch @@ -0,0 +1,37 @@ +Subject: [PATCH] cmake: disable filesystem gitclone + +In Yocto we don't download filesystem, it is satisfied from source dir. +This Dependencies.cmake file would try to download filesystem even if it is satisfied. + +Fix error log as following: +| fatal: unable to access 'https://github.com/rikyoz/filesystem.git/': Could not resolve host: github.com +| Had to git clone more than once: 3 times. +| CMake Error at bit7z/4.0.11/build/_deps/ghc_filesystem-subbuild/ghc_filesystem-populate-prefix/tmp/ghc_filesystem-populate-gitclone.cmake:50 (message): +| Failed to clone repository: 'https://github.com/rikyoz/filesystem.git' + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Liu Yiding +--- + cmake/Dependencies.cmake | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake +index 110d9c2b..dc1dead8 100644 +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -39,10 +39,9 @@ if( NOT USE_STANDARD_FILESYSTEM OR NOT STANDARD_FILESYSTEM_COMPILES OR BIT7Z_BUI + CPMAddPackage( NAME ghc_filesystem + GITHUB_REPOSITORY rikyoz/filesystem + GIT_TAG b99c2aebd5ddd6fb2f190731ba80b949fc3842b5 +- DOWNLOAD_ONLY YES ) ++ SOURCE_DIR "${CPM_SOURCE_CACHE}/ghc_filesystem" ) + if( ghc_filesystem_ADDED ) + message( STATUS "ghc::filesystem source code available at ${ghc_filesystem_SOURCE_DIR}" ) +- add_library( ghc_filesystem INTERFACE IMPORTED ) + target_include_directories( ghc_filesystem SYSTEM INTERFACE ${ghc_filesystem_SOURCE_DIR}/include ) + endif() + endif() +-- +2.43.0 + diff --git a/meta-oe/recipes-extended/7zip/bit7z_4.0.11.bb b/meta-oe/recipes-extended/7zip/bit7z_4.0.11.bb new file mode 100644 index 00000000000..fa4f910e05c --- /dev/null +++ b/meta-oe/recipes-extended/7zip/bit7z_4.0.11.bb @@ -0,0 +1,82 @@ +SUMMARY = "A C++ static library offering a clean and simple interface to the 7-Zip shared libraries" +HOMEPAGE = "https://github.com/rikyoz/bit7z" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=48a3fe23ed1353e0995dadfda05ffdb6" + +SRC_URI = " \ + git://github.com/rikyoz/bit7z.git;protocol=https;branch=master;tag=v${PV} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', d.getVar('SRC_URI_PTEST'), 'file://0001-cmake-disable-dependency-inclusion.patch', d)} \ +" + +SRCREV = "82f359371fda5c16c037ac0659b969334816a9c4" + +# ptest dependencies and their revisions +SRC_URI_PTEST = " \ + git://github.com/rikyoz/filesystem.git;protocol=https;branch=glibcxx_wchar_streams_workaround;name=filesystem;destsuffix=filesystem \ + git://github.com/rikyoz/bit7z-test-data.git;protocol=https;branch=main;name=testdata;destsuffix=testdata \ + git://github.com/rikyoz/Catch2.git;protocol=https;branch=single-header-v2.x;name=catch2;destsuffix=catch2 \ + https://github.com/cpm-cmake/CPM.cmake/releases/download/v${TAG_CPM}/CPM.cmake;downloadfilename=CPM_${TAG_CPM}.cmake \ + file://run-ptest \ + file://0001-cmake-disable-filesystem-gitclone.patch \ +" +SRCREV_FORMAT = "${@bb.utils.contains('PTEST_ENABLED', '1', 'default_filesystem_testdata_catch2', 'default', d)}" +SRCREV_filesystem = "b99c2aebd5ddd6fb2f190731ba80b949fc3842b5" +SRCREV_testdata = "077e407b1c07b7443626b5902eeb4819388bf656" +SRCREV_catch2 = "27d8db1770dd5cd3688656095f242474431584a1" +SRCHASH_CPM = "2020b4fc42dba44817983e06342e682ecfc3d2f484a581f11cc5731fbe4dce8a" +TAG_CPM = "0.42.0" +SRC_URI[sha256sum] = "${SRCHASH_CPM}" + + +inherit cmake ptest + +DEPENDS = "7zip" + +EXTRA_OECMAKE += "-DBIT7Z_CUSTOM_7ZIP_PATH=${STAGING_INCDIR}/7zip" + +PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG[tests] = " \ + -DBIT7Z_BUILD_TESTS=ON -DBIT7Z_DISABLE_USE_STD_FILESYSTEM=ON \ + -DBIT7Z_TESTS_USE_SYSTEM_7ZIP=OFF -DBIT7Z_TESTS_7Z_LIBRARY_PATH=${libdir}/lib7z.so \ + -DBIT7Z_TESTS_DATA_DIR_TARGET=${PTEST_PATH}/data \ + -DCPM_SOURCE_CACHE=${B}/cpm_cache -DFETCHCONTENT_SOURCE_DIR_BIT7Z-TEST-DATA=${UNPACKDIR}/testdata -DFETCHCONTENT_SOURCE_DIR_CATCH2=${B}/catch2 \ +" + +do_configure:prepend() { + # verify that all dependencies have correct version + grep -q ${SRCREV_filesystem} ${S}/cmake/Dependencies.cmake || bbfatal "ERROR: dependency version mismatch, please update 'SRCREV_filesystem'!" + grep -q ${SRCREV_testdata} ${S}/tests/CMakeLists.txt || bbfatal "ERROR: dependency version mismatch, please update 'SRCREV_testdata'!" + grep -q ${SRCREV_catch2} ${S}/tests/CMakeLists.txt || bbfatal "ERROR: dependency version mismatch, please update 'SRCREV_catch2'!" + grep -q ${SRCHASH_CPM} ${S}/cmake/Dependencies.cmake || bbfatal "ERROR: dependency version mismatch, please update 'SRCHASH_CPM'!" + + if ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then + # use cache instead of download for CPM (CMake's missing package manager) + mkdir -p ${B}/cpm_cache/cpm/ + cp ${UNPACKDIR}/CPM_${TAG_CPM}.cmake ${B}/cpm_cache/cpm/ + cp -r ${UNPACKDIR}/filesystem ${B}/cpm_cache/ghc_filesystem + # avoid buildpaths issue as unpackdir is not in prefix maps + cp -r ${UNPACKDIR}/catch2 ${B} + fi +} +do_configure[cleandirs] += "${B}" + +do_install() { + install -d ${D}${libdir} + install -m 0644 ${S}/lib/*/*.a ${D}${libdir} + + install -d ${D}${includedir}/${BPN} + install -m 0644 ${S}/include/${BPN}/*.hpp ${D}${includedir}/${BPN} +} + +do_install_ptest() { + install -m 0755 ${S}/bin/*/* ${D}${PTEST_PATH} + install -d ${D}${PTEST_PATH}/data + cp -r ${UNPACKDIR}/testdata/test_archives ${UNPACKDIR}/testdata/test_filesystem ${B}/tests/data/test_filesystem ${D}${PTEST_PATH}/data +} + +# this package contains static library so main package is empty, but ptest package rdepends on it +ALLOW_EMPTY:${PN} = "1" +# these are loaded via dlopen, so need explicit rdepends +RDEPENDS:${PN}-ptest += "libstdc++ 7zip" +# test data contains various file types with different architectures +INSANE_SKIP:${PN}-ptest += "arch" diff --git a/meta-oe/recipes-extended/7zip/bit7z_4.0.9.bb b/meta-oe/recipes-extended/7zip/bit7z_4.0.9.bb deleted file mode 100644 index 033461d614d..00000000000 --- a/meta-oe/recipes-extended/7zip/bit7z_4.0.9.bb +++ /dev/null @@ -1,88 +0,0 @@ -SUMMARY = "A C++ static library offering a clean and simple interface to the 7-Zip shared libraries" -HOMEPAGE = "https://github.com/rikyoz/bit7z" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=48a3fe23ed1353e0995dadfda05ffdb6" - -SRC_URI = " \ - git://github.com/rikyoz/bit7z.git;protocol=https;branch=master \ - ${@bb.utils.contains('PTEST_ENABLED', '1', d.getVar('SRC_URI_PTEST'), 'file://0001-cmake-disable-dependency-inclusion.patch', d)} \ - file://0001-Fix-reinterpret-cast-compiler-errors.patch \ - file://0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch \ - file://0001-Allow-running-tests-on-target-when-cross-compiling.patch \ - file://0001-Allow-specifying-path-to-7z-library-in-tests.patch \ - file://0001-Fix-tests-with-musl.patch \ -" - -SRCREV = "386e00ad3286e7a10e5bb6d05a5b41b523fce623" - -# ptest dependencies and their revisions -SRC_URI_PTEST = " \ - git://github.com/rikyoz/filesystem.git;protocol=https;branch=glibcxx_wchar_streams_workaround;name=filesystem;destsuffix=filesystem \ - git://github.com/rikyoz/bit7z-test-data.git;protocol=https;branch=main;name=testdata;destsuffix=testdata \ - git://github.com/catchorg/Catch2.git;protocol=https;branch=v2.x;name=catch2;destsuffix=catch2;tag=${TAG_catch2} \ - https://github.com/cpm-cmake/CPM.cmake/releases/download/v${TAG_CPM}/CPM.cmake;downloadfilename=CPM_${TAG_CPM}.cmake \ - file://run-ptest \ -" -SRCREV_FORMAT = "${@bb.utils.contains('PTEST_ENABLED', '1', 'default_filesystem_testdata_catch2', 'default', d)}" -SRCREV_filesystem = "983650f374699e3979f9cdefe13ddff60bd4ac68" -SRCREV_testdata = "077e407b1c07b7443626b5902eeb4819388bf656" -SRCREV_catch2 = "182c910b4b63ff587a3440e08f84f70497e49a81" -TAG_catch2 = "v2.13.10" -SRCHASH_CPM = "c8cdc32c03816538ce22781ed72964dc864b2a34a310d3b7104812a5ca2d835d" -TAG_CPM = "0.40.2" -SRC_URI[sha256sum] = "${SRCHASH_CPM}" - - -inherit cmake ptest - -DEPENDS = "7zip" - -EXTRA_OECMAKE += "-DBIT7Z_CUSTOM_7ZIP_PATH=${STAGING_INCDIR}/7zip" - -PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" -PACKAGECONFIG[tests] = " \ - -DBIT7Z_BUILD_TESTS=ON -DBIT7Z_DISABLE_USE_STD_FILESYSTEM=ON \ - -DBIT7Z_TESTS_USE_SYSTEM_7ZIP=OFF -DBIT7Z_TESTS_7Z_LIBRARY_PATH=${libdir}/lib7z.so \ - -DBIT7Z_TESTS_DATA_DIR_TARGET=${PTEST_PATH}/data \ - -DCPM_SOURCE_CACHE=${B}/cpm_cache -DFETCHCONTENT_SOURCE_DIR_BIT7Z-TEST-DATA=${UNPACKDIR}/testdata -DFETCHCONTENT_SOURCE_DIR_CATCH2=${B}/catch2 \ -" - -do_configure:prepend() { - # verify that all dependencies have correct version - grep -q ${SRCREV_filesystem} ${S}/cmake/Dependencies.cmake || bbfatal "ERROR: dependency version mismatch, please update 'SRCREV_filesystem'!" - grep -q ${SRCREV_testdata} ${S}/tests/CMakeLists.txt || bbfatal "ERROR: dependency version mismatch, please update 'SRCREV_testdata'!" - grep -q ${TAG_catch2} ${S}/tests/cmake/Catch2.cmake || bbfatal "ERROR: dependency version mismatch, please update 'SRCREV_catch2'!" - grep -q ${SRCHASH_CPM} ${S}/cmake/Dependencies.cmake || bbfatal "ERROR: dependency version mismatch, please update 'SRCHASH_CPM'!" - - if ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then - # use cache instead of download for CPM (CMake's missing package manager) - mkdir -p ${B}/cmake - cp ${UNPACKDIR}/CPM_${TAG_CPM}.cmake ${B}/cmake - mkdir -p ${B}/cpm_cache/ghc_filesystem - cp -r ${UNPACKDIR}/filesystem ${B}/cpm_cache/ghc_filesystem/fbcc9a9e94e6365273cf51294173f21ff5efdb4f - # avoid buildpaths issue as unpackdir is not in prefix maps - cp -r ${UNPACKDIR}/catch2 ${B} - fi -} -do_configure[cleandirs] += "${B}" - -do_install() { - install -d ${D}${libdir} - install -m 0644 ${S}/lib/*/*.a ${D}${libdir} - - install -d ${D}${includedir}/${BPN} - install -m 0644 ${S}/include/${BPN}/*.hpp ${D}${includedir}/${BPN} -} - -do_install_ptest() { - install -m 0755 ${S}/bin/*/* ${D}${PTEST_PATH} - install -d ${D}${PTEST_PATH}/data - cp -r ${UNPACKDIR}/testdata/test_archives ${UNPACKDIR}/testdata/test_filesystem ${B}/tests/data/test_filesystem ${D}${PTEST_PATH}/data -} - -# this package contains static library so main package is empty, but ptest package rdepends on it -ALLOW_EMPTY:${PN} = "1" -# these are loaded via dlopen, so need explicit rdepends -RDEPENDS:${PN}-ptest += "libstdc++ 7zip" -# test data contains various file types with different architectures -INSANE_SKIP:${PN}-ptest += "arch" diff --git a/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb b/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb deleted file mode 100644 index 411f8a7610c..00000000000 --- a/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Lossless compression library and tool" -DESCRIPTION = "Brotli is a generic-purpose lossless compression algorithm \ -that it is similar in speed to deflate but offers more dense compression." -HOMEPAGE = "https://github.com/google/brotli" -BUGTRACKER = "https://github.com/google/brotli/issues" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=941ee9cd1609382f946352712a319b4b" - -SRC_URI = "git://github.com/google/brotli.git;branch=master;protocol=https" -SRCREV = "ed738e842d2fbdf2d6459e39267a633c4a9b2f5d" - - -inherit cmake lib_package - -do_install:append () { - for lib in $(ls ${D}${libdir}/*-static.a); do - basename=$(basename ${lib}) - mv -v "${lib}" "${D}${libdir}/$(echo ${basename} | sed s/-static//)" - done -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/brotli/brotli_1.2.0.bb b/meta-oe/recipes-extended/brotli/brotli_1.2.0.bb new file mode 100644 index 00000000000..84495a32360 --- /dev/null +++ b/meta-oe/recipes-extended/brotli/brotli_1.2.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Lossless compression library and tool" +DESCRIPTION = "Brotli is a generic-purpose lossless compression algorithm \ +that it is similar in speed to deflate but offers more dense compression." +HOMEPAGE = "https://github.com/google/brotli" +BUGTRACKER = "https://github.com/google/brotli/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=941ee9cd1609382f946352712a319b4b" + +SRC_URI = "git://github.com/google/brotli.git;branch=master;protocol=https" +SRCREV = "028fb5a23661f123017c060daa546b55cf4bde29" + + +inherit cmake lib_package + +do_install:append () { + for lib in $(ls ${D}${libdir}/*-static.a); do + basename=$(basename ${lib}) + mv -v "${lib}" "${D}${libdir}/$(echo ${basename} | sed s/-static//)" + done +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/byacc/byacc_20241231.bb b/meta-oe/recipes-extended/byacc/byacc_20241231.bb deleted file mode 100644 index 8d74dbb83e7..00000000000 --- a/meta-oe/recipes-extended/byacc/byacc_20241231.bb +++ /dev/null @@ -1,10 +0,0 @@ -# Sigh. This is one of those places where everyone licenses it differently. Someone -# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that: -# "I've found no reliable source which states that byacc must bear a UCB copyright." -# Setting to PD as this is what the upstream has it as. - -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=6a728308869d7a7901618a5bcb970f7e" -require byacc.inc - -SRC_URI[sha256sum] = "192c2fae048d4e7f514ba451627f9c4e612765099f819c19191f9fde3e609673" diff --git a/meta-oe/recipes-extended/byacc/byacc_20260126.bb b/meta-oe/recipes-extended/byacc/byacc_20260126.bb new file mode 100644 index 00000000000..cf58f4025c4 --- /dev/null +++ b/meta-oe/recipes-extended/byacc/byacc_20260126.bb @@ -0,0 +1,10 @@ +# Sigh. This is one of those places where everyone licenses it differently. Someone +# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that: +# "I've found no reliable source which states that byacc must bear a UCB copyright." +# Setting to PD as this is what the upstream has it as. + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=0eedc51db8ab59ff33e74b4e8138035c" +require byacc.inc + +SRC_URI[sha256sum] = "b618c5fb44c2f5f048843db90f7d1b24f78f47b07913c8c7ba8c942d3eb24b00" diff --git a/meta-oe/recipes-extended/canopenterm/canopenterm_1.0.13.bb b/meta-oe/recipes-extended/canopenterm/canopenterm_1.0.13.bb deleted file mode 100644 index a81ed30f720..00000000000 --- a/meta-oe/recipes-extended/canopenterm/canopenterm_1.0.13.bb +++ /dev/null @@ -1,29 +0,0 @@ - -SUMMARY = "CANopenTerm is a versatile software tool to analyse and \ - configure CANopen devices. \ - " -DESCRIPTION = "CANopenTerm is an open-source software tool designed for the \ - development, testing, and analysis of CANopen CC networks and \ - devices. It extends its capabilities to support other CAN CC \ - protocols, including SAE J1939 and OBD-II. \ - " -HOMEPAGE = "https://canopenterm.de" -BUGTRACKER = "https://github.com/CANopenTerm/CANopenTerm/issues" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5f8a62fabd50ce3f1d7794bc849ae7a5" - -DEPENDS = "cjson libinih libsdl3 lua libsocketcan pocketpy" - -SRC_URI = "git://github.com/CANopenTerm/CANopenTerm.git;protocol=https;branch=main" - -SRCREV = "b0555360e5e8b444a2a9e14088fd253412184eb8" - - -inherit cmake ptest - -EXTRA_OECMAKE += "-DBUILD_YOCTO=ON" - -FILES:${PN} += "${bindir}/CANopenTerm ${bindir}/codb2json ${datadir}" - -RDEPENDS:${PN} = "cjson libinih libsdl3 lua libsocketcan pocketpy" diff --git a/meta-oe/recipes-extended/canopenterm/canopenterm_2.02.bb b/meta-oe/recipes-extended/canopenterm/canopenterm_2.02.bb new file mode 100644 index 00000000000..0e8a7a1c8ac --- /dev/null +++ b/meta-oe/recipes-extended/canopenterm/canopenterm_2.02.bb @@ -0,0 +1,30 @@ + +SUMMARY = "CANopenTerm is a versatile software tool to analyse and \ + configure CANopen devices. \ + " +DESCRIPTION = "CANopenTerm is an open-source software tool designed for the \ + development, testing, and analysis of CANopen CC networks and \ + devices. It extends its capabilities to support other CAN CC \ + protocols, including SAE J1939 and OBD-II. \ + " +HOMEPAGE = "https://canopenterm.de" +BUGTRACKER = "https://github.com/CANopenTerm/CANopenTerm/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bd2edc721b4a0289efe949bdbe7dda79" + +DEPENDS = "canvenient cjson isocline libinih libsdl3 lua pocketpy" + +PV .= "+git" + +SRC_URI = "git://github.com/CANopenTerm/CANopenTerm.git;protocol=https;branch=main" +SRCREV = "7a9466029a6e88345e65e794ff1779f778c9358a" + + +inherit cmake ptest + +EXTRA_OECMAKE += "-DUSE_SYSTEM_LIBS=ON" + +FILES:${PN} += "${bindir}/CANopenTerm ${bindir}/codb2json ${datadir}" + +RDEPENDS:${PN} = "canvenient cjson libinih libsdl3 lua pocketpy" diff --git a/meta-oe/recipes-extended/cfengine/cfengine/0001-Fixed-with-libxml2-no-case-in-configure.ac.patch b/meta-oe/recipes-extended/cfengine/cfengine/0001-Fixed-with-libxml2-no-case-in-configure.ac.patch deleted file mode 100644 index 78f36bde450..00000000000 --- a/meta-oe/recipes-extended/cfengine/cfengine/0001-Fixed-with-libxml2-no-case-in-configure.ac.patch +++ /dev/null @@ -1,89 +0,0 @@ -From a08acdfadb5eba2a3201209c6da3ad6f2ca4ae79 Mon Sep 17 00:00:00 2001 -From: Craig Comstock -Date: Fri, 27 Jan 2023 15:19:48 -0600 -Subject: [PATCH] Fixed --with-libxml2=no case in configure.ac - -The CF3_WITH_LIBRARY and AC_CHECK_HEADERS were moved to outside of the check for with-libxml2=no - -Ticket: CFE-4023 -Changelog: title ---- -Upstream-Status: Pending - - configure.ac | 21 +++++++++++---------- - libntech/configure.ac | 21 +++++++++++---------- - 2 files changed, 22 insertions(+), 20 deletions(-) - -diff --git a/configure.ac b/configure.ac -index e189b10..f6b8226 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -659,19 +659,20 @@ if test "x$with_libxml2" != "xno"; then - LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2 - fi - fi --fi - --CF3_WITH_LIBRARY(libxml2, -- [AC_CHECK_LIB(xml2, xmlFirstElementChild, -- [], -- [if test "x$with_libxml2" != xcheck; then -- AC_MSG_ERROR(Cannot find libxml2); fi] -- ) -- AC_CHECK_HEADERS([libxml/xmlwriter.h], [break], -+ CF3_WITH_LIBRARY(libxml2, -+ [AC_CHECK_LIB(xml2, xmlFirstElementChild, -+ [], - [if test "x$with_libxml2" != xcheck; then - AC_MSG_ERROR(Cannot find libxml2); fi] -- )] --) -+ ) -+ AC_CHECK_HEADERS([libxml/xmlwriter.h], [break], -+ [if test "x$with_libxml2" != xcheck; then -+ AC_MSG_ERROR(Cannot find libxml2); fi] -+ )] -+ ) -+ -+fi - - AM_CONDITIONAL([HAVE_LIBXML2], - [test "x$with_libxml2" != xno && -diff --git a/libntech/configure.ac b/libntech/configure.ac -index 7bb8787..28b3683 100644 ---- a/libntech/configure.ac -+++ b/libntech/configure.ac -@@ -571,19 +571,20 @@ if test "x$with_libxml2" != "xno"; then - LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2 - fi - fi --fi - --CF3_WITH_LIBRARY(libxml2, -- [AC_CHECK_LIB(xml2, xmlFirstElementChild, -- [], -- [if test "x$with_libxml2" != xcheck; then -- AC_MSG_ERROR(Cannot find libxml2); fi] -- ) -- AC_CHECK_HEADERS([libxml/xmlwriter.h], [break], -+ CF3_WITH_LIBRARY(libxml2, -+ [AC_CHECK_LIB(xml2, xmlFirstElementChild, -+ [], - [if test "x$with_libxml2" != xcheck; then - AC_MSG_ERROR(Cannot find libxml2); fi] -- )] --) -+ ) -+ AC_CHECK_HEADERS([libxml/xmlwriter.h], [break], -+ [if test "x$with_libxml2" != xcheck; then -+ AC_MSG_ERROR(Cannot find libxml2); fi] -+ )] -+ ) -+ -+fi - - AM_CONDITIONAL([HAVE_LIBXML2], - [test "x$with_libxml2" != xno && --- -2.39.1 - diff --git a/meta-oe/recipes-extended/cfengine/cfengine_3.21.0.bb b/meta-oe/recipes-extended/cfengine/cfengine_3.21.0.bb deleted file mode 100644 index de20f585b03..00000000000 --- a/meta-oe/recipes-extended/cfengine/cfengine_3.21.0.bb +++ /dev/null @@ -1,75 +0,0 @@ -# -# Copyright (C) 2014 - 2017 Wind River Systems, Inc. -# -SUMMARY = "CFEngine is an IT infrastructure automation framework" - -DESCRIPTION = "CFEngine is an IT infrastructure automation framework \ -that helps engineers, system administrators and other stakeholders \ -in an IT system to manage and understand IT infrastructure throughout \ -its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit." - -HOMEPAGE = "http://cfengine.com" - -SKIP_RECIPE[cfengine] ?= "Needs porting to openssl 3.x" - -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=233aa25e53983237cf0bd4c238af255f" - -DEPENDS += "attr tokyocabinet bison-native libxml2" -#RDEPENDS:cfengine += "attr tokyocabinet bison-native libxml2" - -SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BPN}-community-${PV}.tar.gz \ - file://0001-Fixed-with-libxml2-no-case-in-configure.ac.patch \ - file://set-path-of-default-config-file.patch \ - " -SRC_URI[sha256sum] = "911778ddb0a4e03a3ddfc8fc0f033136e1551849ea2dcbdb3f0f14359dfe3126" - -inherit autotools-brokensep systemd - -export EXPLICIT_VERSION = "${PV}" - -SYSTEMD_SERVICE:${PN} = "cfengine3.service cf-apache.service cf-hub.service cf-postgres.service \ - cf-runalerts.service cf-execd.service \ - cf-monitord.service cf-serverd.service \ -" -SYSTEMD_AUTO_ENABLE:${PN} = "disable" - -PACKAGECONFIG ??= "libpcre openssl \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \ -" -PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2," -PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql," -PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql," -PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl," -PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt," -PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre," -PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl," -PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam," -PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml," -PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service" -PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl," - -EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet" - -do_install:append() { - install -d ${D}${localstatedir}/${BPN}/bin - for f in `ls ${D}${bindir}`; do - ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/ - done - - install -d ${D}${sysconfdir}/default - cat << EOF > ${D}${sysconfdir}/default/cfengine3 -RUN_CF_SERVERD=1 -RUN_CF_EXECD=1 -RUN_CF_MONITORD=1 -RUN_CF_HUB=0 -EOF - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3 - sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service - fi - rm -rf ${D}${datadir}/cfengine/modules/packages/zypper -} - -RDEPENDS:${PN} += "${BPN}-masterfiles" diff --git a/meta-oe/recipes-extended/cfengine/cfengine_3.26.0.bb b/meta-oe/recipes-extended/cfengine/cfengine_3.26.0.bb new file mode 100644 index 00000000000..28ea16ea6f7 --- /dev/null +++ b/meta-oe/recipes-extended/cfengine/cfengine_3.26.0.bb @@ -0,0 +1,73 @@ +# +# Copyright (C) 2014 - 2017 Wind River Systems, Inc. +# +SUMMARY = "CFEngine is an IT infrastructure automation framework" + +DESCRIPTION = "CFEngine is an IT infrastructure automation framework \ +that helps engineers, system administrators and other stakeholders \ +in an IT system to manage and understand IT infrastructure throughout \ +its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit." + +HOMEPAGE = "http://cfengine.com" + +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=eef43e6a0b5a8f46ef7f11e1e4b32a6c" + +DEPENDS += "attr tokyocabinet bison-native openssl libpcre2 librsync" + +SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BPN}-community-${PV}.tar.gz \ + file://set-path-of-default-config-file.patch \ + " +SRC_URI[sha256sum] = "d3c3884b314dae48a6884e919d0a12acac5aea95d970544e4632a1773857d19b" + +inherit autotools-brokensep systemd + +export EXPLICIT_VERSION = "${PV}" + +SYSTEMD_SERVICE:${PN} = "cfengine3.service cf-apache.service cf-hub.service cf-postgres.service \ + cf-execd.service cf-php-fpm.service \ + cf-monitord.service cf-serverd.service \ + cf-reactor.service \ +" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}" + +PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2," +PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mariadb," +PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql," +PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl," +PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt," +PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam," +PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml," +PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service" +PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl," + +EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet" +CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'mysql', '-I${STAGING_INCDIR}/mysql', '', d)}" +CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'libxml2', '-I${STAGING_INCDIR}/libxml2', '', d)}" + +do_install:append() { + install -d ${D}${localstatedir}/${BPN}/bin + for f in $(find ${D}${bindir} -type f); do + ln -sr $f ${D}${localstatedir}/${BPN}/bin/ + done + + install -d ${D}${sysconfdir}/default + cat << EOF > ${D}${sysconfdir}/default/cfengine3 +RUN_CF_SERVERD=1 +RUN_CF_EXECD=1 +RUN_CF_MONITORD=1 +RUN_CF_HUB=0 +EOF + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3 + sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service + fi + rm -rf ${D}${datadir}/cfengine/modules/packages/zypper +} + +RDEPENDS:${PN} += "${BPN}-masterfiles" + +FILES:${PN} += "${libdir}/python" diff --git a/meta-oe/recipes-extended/dialog/dialog_1.3-20250116.bb b/meta-oe/recipes-extended/dialog/dialog_1.3-20250116.bb deleted file mode 100644 index 0d09ccea167..00000000000 --- a/meta-oe/recipes-extended/dialog/dialog_1.3-20250116.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "display dialog boxes from shell scripts" -DESCRIPTION = "Dialog lets you to present a variety of questions \ -or display messages using dialog boxes from a shell \ -script (or any scripting language)." -HOMEPAGE = "http://invisible-island.net/dialog/" -SECTION = "console/utils" -DEPENDS = "ncurses" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI = "https://invisible-mirror.net/archives/${BPN}/${BP}.tgz" -SRC_URI[sha256sum] = "68406329827b783d0a8959cc20a94c6e1791ac861a27f854e06e9020541816dd" - -# hardcoded here for use in dialog-static recipe -S = "${UNPACKDIR}/dialog-${PV}" - -inherit autotools-brokensep pkgconfig multilib_script - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" - -EXTRA_OECONF = "--with-ncurses \ - --disable-rpath-hack" - -MULTILIB_SCRIPTS = "${PN}:${bindir}/dialog" - -do_configure() { - gnu-configize --force - sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure - sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure - oe_runconf -} -do_install:append () { - ln -sf ${bindir}/${HOST_SYS}-dialog ${D}${bindir}/${BPN} -} diff --git a/meta-oe/recipes-extended/dialog/dialog_1.3-20260107.bb b/meta-oe/recipes-extended/dialog/dialog_1.3-20260107.bb new file mode 100644 index 00000000000..42c0a8c4349 --- /dev/null +++ b/meta-oe/recipes-extended/dialog/dialog_1.3-20260107.bb @@ -0,0 +1,36 @@ +SUMMARY = "display dialog boxes from shell scripts" +DESCRIPTION = "Dialog lets you to present a variety of questions \ +or display messages using dialog boxes from a shell \ +script (or any scripting language)." +HOMEPAGE = "http://invisible-island.net/dialog/" +SECTION = "console/utils" +DEPENDS = "ncurses" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +SRC_URI = "https://invisible-mirror.net/archives/${BPN}/${BP}.tgz" +SRC_URI[sha256sum] = "78b3dd18d95e50f0be8f9b9c1e7cffe28c9bf1cdf20d5b3ef17279c4da35c5b5" + +# hardcoded here for use in dialog-static recipe +S = "${UNPACKDIR}/dialog-${PV}" + +inherit autotools-brokensep pkgconfig multilib_script + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" + +PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" + +EXTRA_OECONF = "--with-ncurses \ + --disable-rpath-hack" + +MULTILIB_SCRIPTS = "${PN}:${bindir}/dialog" + +do_configure() { + gnu-configize --force + sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure + sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure + oe_runconf +} +do_install:append () { + ln -sf ${bindir}/${HOST_SYS}-dialog ${D}${bindir}/${BPN} +} diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch deleted file mode 100644 index 335872c40f3..00000000000 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch +++ /dev/null @@ -1,40 +0,0 @@ -From bc03f142507da92add8ba325fdf8187d47a7d719 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Fri, 13 Dec 2024 16:37:24 +0800 -Subject: [PATCH] CMakeLists.txt: make DLT_WatchdogSec can be set by user - -In my test env, WatchdogSec default value 2 is not enough, manually -changed to 3 is ok. This makes dlt.service/dlt-system.service start -failed during boot time. So, make DLT_WatchdogSec can be set by user, so -user can set them to proper value at build time, then service can start -successfully in boot time. - -Signed-off-by: Changqing Li - -Upstream-Status: Backport [https://github.com/COVESA/dlt-daemon/pull/720/commits/bc03f142507da92add8ba325fdf8187d47a7d719] - -Signed-off-by: Changqing Li ---- - systemd/CMakeLists.txt | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt -index 16cbe86b5..659378d16 100644 ---- a/systemd/CMakeLists.txt -+++ b/systemd/CMakeLists.txt -@@ -18,10 +18,14 @@ if(WITH_SYSTEMD) - set(SYSTEMD_CONFIGURATIONS_FILES_DIR ${SYSTEMD_UNITDIR} ) - - if(WITH_SYSTEMD_WATCHDOG) -- set( DLT_WatchdogSec 2 ) -+ if(NOT DEFINED DLT_WatchdogSec) -+ set(DLT_WatchdogSec 2 CACHE STRING "Watchdog timeout in seconds") -+ endif() - message( STATUS "The systemd watchdog is enabled - timeout is set to ${DLT_WatchdogSec} seconds") - else(WITH_SYSTEMD_WATCHDOG) -- set( DLT_WatchdogSec 0 ) -+ if(NOT DEFINED DLT_WatchdogSec) -+ set(DLT_WatchdogSec 0 CACHE STRING "Watchdog timeout in seconds") -+ endif() - message( STATUS "The systemd watchdog is disabled") - endif(WITH_SYSTEMD_WATCHDOG) diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch new file mode 100644 index 00000000000..2d51253e698 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch @@ -0,0 +1,42 @@ +From bad5d689a69dca3d1dc3e7653946f1205661afbf Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Fri, 10 Apr 2026 13:25:39 +0800 +Subject: [PATCH 1/2] CMakeLists.txt: make CONFIGURATION_FILES_DIR aligned + +Commit [723e90e dlt: Adaptation for QNX build system with SDP 7.x +(#609)], refer [1], make CONFIGURATION_FILES_DIR not aligned. the CMake +variable CONFIGURATION_FILES_DIR set to CMAKE_INSTALL_SYSCONFDIR, but +the tell the compiler to define macro CONFIGURATION_FILES_DIR as +${CMAKE_INSTALL_PREFIX}/${CONFIGURATION_FILES_DIR}. + +At least for linux, this will cause failure of the systemd service. Eg: +if CMAKE_INSTALL_PREFIX is /usr, then the configuration file is +installed under ${CONFIGURATION_FILES_DIR}, usually is /etc. But the +application like dlt-daemon/dlt-system will find the default +configuration file under /usr/etc. This makes service start failed. + +[1] https://github.com/COVESA/dlt-daemon/commit/723e90e77db91130375238a592b9a292302a32bb + +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/issues/848] + +Signed-off-by: Changqing Li +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bb9250f..821730a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -289,7 +289,7 @@ endif() + + set(CONFIGURATION_FILES_DIR ${CMAKE_INSTALL_SYSCONFDIR}) + +-add_definitions(-DCONFIGURATION_FILES_DIR="${CMAKE_INSTALL_PREFIX}/${CONFIGURATION_FILES_DIR}") ++add_definitions(-DCONFIGURATION_FILES_DIR="${CONFIGURATION_FILES_DIR}") + + add_subdirectory(cmake) + +-- +2.34.1 + diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failure-with-glibc-2.43.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failure-with-glibc-2.43.patch new file mode 100644 index 00000000000..d37489e4b76 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failure-with-glibc-2.43.patch @@ -0,0 +1,55 @@ +From c833520ac8cb473a6d820a063adb10c49304c4a8 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Wed, 18 Mar 2026 13:42:04 +0800 +Subject: [PATCH] Fix build failure with glibc 2.43 + +src/shared/dlt_common.c:6477:17: error: initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] +| 6477 | char *dot = strrchr(filename, '.'); + +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/828] + +[1] https://github.com/bminor/glibc/commit/cd748a63ab1a7ae846175c532a3daab341c62690 + +Signed-off-by: Changqing Li +--- + include/dlt/dlt_common.h | 2 +- + src/shared/dlt_common.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/dlt/dlt_common.h b/include/dlt/dlt_common.h +index 85cf5b7..30d3ca7 100644 +--- a/include/dlt/dlt_common.h ++++ b/include/dlt/dlt_common.h +@@ -2308,7 +2308,7 @@ int dlt_execute_command(char *filename, char *command, ...); + * @param filename Only file names without prepended path allowed. + * @return pointer to extension + */ +-char *get_filename_ext(const char *filename); ++const char *get_filename_ext(const char *filename); + + /** + * Extract the base name of given file name (without the extension). +diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c +index aa0aaaa..4c379af 100644 +--- a/src/shared/dlt_common.c ++++ b/src/shared/dlt_common.c +@@ -6467,14 +6467,14 @@ int dlt_execute_command(char *filename, char *command, ...) + return ret; + } + +-char *get_filename_ext(const char *filename) ++const char *get_filename_ext(const char *filename) + { + if (filename == NULL) { + fprintf(stderr, "ERROR: %s: invalid arguments\n", __func__); + return ""; + } + +- char *dot = strrchr(filename, '.'); ++ const char *dot = strrchr(filename, '.'); + return (!dot || dot == filename) ? NULL : dot; + } + +-- +2.34.1 + diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch new file mode 100644 index 00000000000..6cfa3a54822 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch @@ -0,0 +1,360 @@ +From 4813b72cfe82062db41dd1d8cfa7069634d78d9e Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Mon, 16 Mar 2026 13:28:40 +0800 +Subject: [PATCH] Fix build failures + +Fix the following similar build failures, some of the build failure +reproduced with arm64/riscv64, some of the build reproduced with 32bit +x86/arm. + +dlt_daemon_common.c:2785:26: error: conversion to 'int8_t' {aka 'signed char'} from 'char' may change the sign of the result [-Werror=sign-conversion] + +src/tests/dlt-test-multi-process-client-v2.c:302:49: error: format '%lld' expects argument of type 'long long int', but argument 2 has type 'time_t' {aka 'long int'} [-Werror=format=] + 302 | printf(" Time running (seconds) : %lld\n", time(NULL) - stats.first_message_time); + | ~~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | | | + | long long int time_t {aka long int} + | %ld + +src/lib/dlt_user.c:5109:60: error: format '%lld' expects argument of type 'long long int', but argument 4 has type '__off_t' {aka 'long int'} [-Werror=format=] + 5109 | dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__, + | ~~~^ + | | + | long long int + | %ld + 5110 | st.st_size); + | ~~~~~~~~~~ + | | + | __off_t {aka long int} + +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/827] + +Signed-off-by: Changqing Li +--- + src/daemon/dlt-daemon.c | 8 ++--- + src/daemon/dlt_daemon_client.c | 32 ++++++++++---------- + src/daemon/dlt_daemon_common.c | 4 +-- + src/lib/dlt_user.c | 18 +++++------ + src/shared/dlt_common.c | 2 +- + src/shared/dlt_multiple_files.c | 2 +- + src/tests/dlt-test-multi-process-client-v2.c | 8 ++--- + src/tests/dlt-test-multi-process-v2.c | 2 +- + src/tests/dlt-test-multi-process.c | 2 +- + 9 files changed, 39 insertions(+), 39 deletions(-) + +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c +index 523bf33..2ae5bc9 100644 +--- a/src/daemon/dlt-daemon.c ++++ b/src/daemon/dlt-daemon.c +@@ -457,7 +457,7 @@ int option_file_parser(DltDaemonLocal *daemon_local) + + if (n < 0 || (size_t)n > sizeof(daemon_local->flags.loggingFilename)) { + dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n", +- __func__, n, daemon_local->flags.loggingFilename); ++ __func__, (long int)n, daemon_local->flags.loggingFilename); + } + daemon_local->flags.enableLoggingFileLimit = false; + daemon_local->flags.loggingFileSize = 250000; +@@ -2501,7 +2501,7 @@ void dlt_daemon_exit_trigger() + n = snprintf(tmp, DLT_PATH_MAX, "%s/dlt", dltFifoBaseDir); + if (n < 0 || (size_t)n > DLT_PATH_MAX) { + dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n", +- __func__, n, tmp); ++ __func__, (long int)n, tmp); + } + + (void)unlink(tmp); +@@ -2878,8 +2878,8 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local, + dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon,daemon_local, + msg.headerbuffer, sizeof(DltStorageHeader), + msg.headerbuffer + sizeof(DltStorageHeader), +- (size_t)(msg.headersize - (int32_t)sizeof(DltStorageHeader)), +- msg.databuffer, (size_t)msg.datasize, verbose); ++ (int)(msg.headersize - (int32_t)sizeof(DltStorageHeader)), ++ msg.databuffer, (int)msg.datasize, verbose); + + free(msg.databuffer); + }else { +diff --git a/src/daemon/dlt_daemon_client.c b/src/daemon/dlt_daemon_client.c +index 50d8f19..20a512b 100644 +--- a/src/daemon/dlt_daemon_client.c ++++ b/src/daemon/dlt_daemon_client.c +@@ -551,8 +551,8 @@ int dlt_daemon_client_send_message_to_all_client(DltDaemon *daemon, + return dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon, daemon_local, + daemon_local->msg.headerbuffer, sizeof(DltStorageHeader), + daemon_local->msg.headerbuffer + sizeof(DltStorageHeader), +- (size_t)(daemon_local->msg.headersize - (int32_t)sizeof(DltStorageHeader)), +- daemon_local->msg.databuffer, (size_t)daemon_local->msg.datasize, verbose); ++ (int)(daemon_local->msg.headersize - (int32_t)sizeof(DltStorageHeader)), ++ daemon_local->msg.databuffer, (int)daemon_local->msg.datasize, verbose); + + } + +@@ -771,8 +771,8 @@ int dlt_daemon_client_send_control_message(int sock, + if ((ret = + dlt_daemon_client_send(sock, daemon, daemon_local, msg->headerbuffer, sizeof(DltStorageHeader), + msg->headerbuffer + sizeof(DltStorageHeader), +- (size_t)(msg->headersize - (int32_t)sizeof(DltStorageHeader)), +- msg->databuffer, (size_t)msg->datasize, verbose))) { ++ (int)(msg->headersize - (int32_t)sizeof(DltStorageHeader)), ++ msg->databuffer, (int)msg->datasize, verbose))) { + dlt_log(LOG_DEBUG, "dlt_daemon_control_send_control_message: DLT message send to all failed!.\n"); + return ret; + } +@@ -1919,7 +1919,7 @@ void dlt_daemon_control_get_log_info(int sock, + + /* Allocate buffer for response message */ + resp.databuffer = (uint8_t *)malloc((size_t)resp.datasize); +- resp.databuffersize = (size_t)resp.datasize; ++ resp.databuffersize = resp.datasize; + + if (resp.databuffer == 0) { + dlt_daemon_control_service_response(sock, +@@ -2572,7 +2572,7 @@ int dlt_daemon_control_message_buffer_overflow(int sock, + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -2633,7 +2633,7 @@ int dlt_daemon_control_message_buffer_overflow_v2(int sock, + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -2686,7 +2686,7 @@ void dlt_daemon_control_service_response(int sock, + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -2732,7 +2732,7 @@ void dlt_daemon_control_service_response_v2(int sock, + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -2779,7 +2779,7 @@ int dlt_daemon_control_message_unregister_context(int sock, + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -2842,7 +2842,7 @@ int dlt_daemon_control_message_unregister_context_v2(int sock, + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -2909,7 +2909,7 @@ int dlt_daemon_control_message_connection_info(int sock, + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -2962,7 +2962,7 @@ int dlt_daemon_control_message_connection_info_v2(int sock, + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -3010,7 +3010,7 @@ int dlt_daemon_control_message_timezone(int sock, DltDaemon *daemon, DltDaemonLo + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -3072,7 +3072,7 @@ int dlt_daemon_control_message_timezone_v2(int sock, DltDaemon *daemon, DltDaemo + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +@@ -3127,7 +3127,7 @@ int dlt_daemon_control_message_marker(int sock, DltDaemon *daemon, DltDaemonLoca + + if (msg.databuffer == 0) { + msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize); +- msg.databuffersize = (size_t)msg.datasize; ++ msg.databuffersize = msg.datasize; + } + + if (msg.databuffer == 0) +diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c +index 2f08c6a..65b264a 100644 +--- a/src/daemon/dlt_daemon_common.c ++++ b/src/daemon/dlt_daemon_common.c +@@ -2782,7 +2782,7 @@ int dlt_daemon_user_send_log_state(DltDaemon *daemon, DltDaemonApplication *app, + if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK) + return -1; + +- logstate.log_state = daemon->connectionState; ++ logstate.log_state = (int8_t)daemon->connectionState; + + /* log to FIFO */ + ret = dlt_user_log_out2_with_timeout(app->user_handle, +@@ -2811,7 +2811,7 @@ int dlt_daemon_user_send_log_state_v2(DltDaemon *daemon, DltDaemonApplication *a + if (dlt_user_set_userheader_v2(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK) + return -1; + +- logstate.log_state = daemon->connectionState; ++ logstate.log_state = (int8_t)daemon->connectionState; + + /* log to FIFO */ + ret = dlt_user_log_out2_with_timeout(app->user_handle, +diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c +index 6d0098d..e432e26 100644 +--- a/src/lib/dlt_user.c ++++ b/src/lib/dlt_user.c +@@ -5106,8 +5106,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, const int mtype, int * + return DLT_RETURN_ERROR; + } + +- dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__, +- st.st_size); ++ dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__, ++ (long long int)st.st_size); + /* Check filesize */ + /* Return error if the file size has reached to maximum */ + unsigned int msg_size = (unsigned int)st.st_size + (unsigned int)msg.headersize + +@@ -5115,8 +5115,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, const int mtype, int * + if (msg_size > dlt_user.filesize_max) { + dlt_user_file_reach_max = true; + dlt_vlog(LOG_ERR, +- "%s: File size (%ld bytes) reached to defined maximum size (%d bytes)\n", +- __func__, st.st_size, dlt_user.filesize_max); ++ "%s: File size (%lld bytes) reached to defined maximum size (%d bytes)\n", ++ __func__, (long long int)st.st_size, dlt_user.filesize_max); + dlt_mutex_unlock(); + return DLT_RETURN_FILESZERR; + } +@@ -5612,21 +5612,21 @@ DltReturnValue dlt_user_log_send_log_v2(DltContextData *log, const int mtype, Dl + return DLT_RETURN_ERROR; + } + +- dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__, +- st.st_size); ++ dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__, ++ (long long int)st.st_size); + /* Check filesize */ + /* Return error if the file size has reached to maximum */ + unsigned int msg_size = 0; + if (st.st_size < 0 || st.st_size > UINT_MAX) { +- dlt_vlog(LOG_ERR, "%s: File size (%ld bytes) is invalid or too large for unsigned int\n", __func__, st.st_size); ++ dlt_vlog(LOG_ERR, "%s: File size (%lld bytes) is invalid or too large for unsigned int\n", __func__, (long long int)st.st_size); + return DLT_RETURN_FILESZERR; + } + msg_size = (unsigned int)st.st_size + (unsigned int) msg.headersizev2 + (unsigned int) log->size; + if (msg_size > dlt_user.filesize_max) { + dlt_user_file_reach_max = true; + dlt_vlog(LOG_ERR, +- "%s: File size (%ld bytes) reached to defined maximum size (%d bytes)\n", +- __func__, st.st_size, dlt_user.filesize_max); ++ "%s: File size (%lld bytes) reached to defined maximum size (%d bytes)\n", ++ __func__, (long long int)st.st_size, dlt_user.filesize_max); + return DLT_RETURN_FILESZERR; + } + else { +diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c +index 6ad354b..aa0aaaa 100644 +--- a/src/shared/dlt_common.c ++++ b/src/shared/dlt_common.c +@@ -1220,7 +1220,7 @@ DltReturnValue dlt_message_header_flags_v2(DltMessageV2 *msg, char *text, size_t + for (int i = 0; i<5; ++i){ + tt = (tt << 8) | msg->headerextrav2.seconds[i]; + } +- snprintf(text + strlen(text), textlength - strlen(text), "%ld.%.9u ", tt, msg->headerextrav2.nanoseconds); ++ snprintf(text + strlen(text), textlength - strlen(text), "%lld.%.9u ", (long long int)tt, msg->headerextrav2.nanoseconds); + } + else + snprintf(text + strlen(text), textlength - strlen(text), "---------- "); +diff --git a/src/shared/dlt_multiple_files.c b/src/shared/dlt_multiple_files.c +index c4019e5..65529ff 100644 +--- a/src/shared/dlt_multiple_files.c ++++ b/src/shared/dlt_multiple_files.c +@@ -257,7 +257,7 @@ ssize_t multiple_files_buffer_get_total_size(const MultipleFilesRingBuffer *file + if (((unsigned int)res < sizeof(filename)) && (res > 0)) { + errno = 0; + if (0 == stat(filename, &status)) +- size += status.st_size; ++ size += (ssize_t)status.st_size; + else + fprintf(stderr, "file %s cannot be stat-ed, error=%s\n", filename, strerror(errno)); + } +diff --git a/src/tests/dlt-test-multi-process-client-v2.c b/src/tests/dlt-test-multi-process-client-v2.c +index 2bb1158..ec99720 100644 +--- a/src/tests/dlt-test-multi-process-client-v2.c ++++ b/src/tests/dlt-test-multi-process-client-v2.c +@@ -299,10 +299,10 @@ void print_stats(s_statistics stats, s_parameters params) + printf(" Messages received : %d\n", stats.messages_received); + printf(" Broken messages received : %d\n", stats.broken_messages_received); + printf(" Bytes received : %d\n", stats.bytes_received); +- printf(" Time running (seconds) : %ld\n", time(NULL) - stats.first_message_time); +- printf(" Throughput (msgs/sec)/(B/sec) : %ld/%ld\n", +- stats.messages_received / ((time(NULL) - stats.first_message_time) + 1), +- (stats.bytes_received) / ((time(NULL) - stats.first_message_time) + 1)); ++ printf(" Time running (seconds) : %lld\n", (long long int)(time(NULL) - stats.first_message_time)); ++ printf(" Throughput (msgs/sec)/(B/sec) : %lld/%lld\n", ++ (long long int)(stats.messages_received / ((time(NULL) - stats.first_message_time) + 1)), ++ (long long int)((stats.bytes_received) / ((time(NULL) - stats.first_message_time) + 1))); + + if (params.messages_left == 0) { + if (stats.broken_messages_received == 0) +diff --git a/src/tests/dlt-test-multi-process-v2.c b/src/tests/dlt-test-multi-process-v2.c +index 44a8622..1d3a54a 100644 +--- a/src/tests/dlt-test-multi-process-v2.c ++++ b/src/tests/dlt-test-multi-process-v2.c +@@ -393,7 +393,7 @@ void *do_logging(void *arg) + + sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge); + ts.tv_sec = sleep_time / 1000000000; +- ts.tv_nsec = sleep_time % 1000000000; ++ ts.tv_nsec = (long int)(sleep_time % 1000000000); + nanosleep(&ts, NULL); + } + +diff --git a/src/tests/dlt-test-multi-process.c b/src/tests/dlt-test-multi-process.c +index 016c8b4..00fb11c 100644 +--- a/src/tests/dlt-test-multi-process.c ++++ b/src/tests/dlt-test-multi-process.c +@@ -370,7 +370,7 @@ void *do_logging(void *arg) + + sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge); + ts.tv_sec = sleep_time / 1000000000; +- ts.tv_nsec = sleep_time % 1000000000; ++ ts.tv_nsec = (long int)(sleep_time % 1000000000); + nanosleep(&ts, NULL); + } + +-- +2.34.1 + diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch new file mode 100644 index 00000000000..f9692d9f4d1 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch @@ -0,0 +1,69 @@ +From bee9bce043c72de1d27a4251333ace9fe66bcc74 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 12 Mar 2026 19:37:11 +0800 +Subject: [PATCH] Fix compile failure related to gzlog +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* In commit [1], gzlog is changed from gzFile to gzFile*, this cause + failure: +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:88:21: error: passing argument 1 of ‘gzclose’ from incompatible pointer type [-Werror=incompatible-pointer-types] + 88 | gzclose(data->gzlog); + | ~~~~^~~~~~~ + | | + | struct gzFile_s ** +compilation terminated due to -Wfatal-errors. + +so change gzlog back to gzFile, so that all the gzxxx function can work +well. + +* Change to gzFile causes the following failure, since fileno need + FILE*, according to code "config->gzlog = gzdopen(config->fd, mode)", + seems we don't need to use fileno, just use config->fd is ok. +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:1133:48: error: passing argument 1 of ‘fileno’ from incompatible pointer type [-Werror=incompatible-pointer-types] + 1133 | if (fsync(fileno(config->gzlog)) != 0) { + | ~~~~~~^~~~~~~ + | | + | gzFile {aka struct gzFile_s *} +compilation terminated due to -Wfatal-errors. + +[1] https://github.com/COVESA/dlt-daemon/commit/543087ba98c103dc576edadeccf614c9dab1b9b3 + +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826] + +Signed-off-by: Changqing Li +--- + src/offlinelogstorage/dlt_offline_logstorage.h | 2 +- + src/offlinelogstorage/dlt_offline_logstorage_behavior.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h +index fe38687..09ea5ce 100644 +--- a/src/offlinelogstorage/dlt_offline_logstorage.h ++++ b/src/offlinelogstorage/dlt_offline_logstorage.h +@@ -217,7 +217,7 @@ struct DltLogStorageFilterConfig + FILE *log; /* current open log file */ + int fd; /* The file descriptor for the active log file */ + #ifdef DLT_LOGSTORAGE_USE_GZIP +- gzFile *gzlog; /* current open gz log file */ ++ gzFile gzlog; /* current open gz log file */ + #endif + void *cache; /* log data cache */ + unsigned int specific_size; /* cache size used for specific_size sync strategy */ +diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c +index f17fbb2..ff09c9e 100644 +--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c ++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c +@@ -1130,7 +1130,7 @@ int dlt_logstorage_prepare_on_msg(DltLogStorageFilterConfig *config, + (config->sync == DLT_LOGSTORAGE_SYNC_UNSET)) { + #ifdef DLT_LOGSTORAGE_USE_GZIP + if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) { +- if (fsync(fileno(config->gzlog)) != 0) { ++ if (fsync(config->fd) != 0) { + if (errno != ENOSYS) { + dlt_vlog(LOG_ERR, "%s: failed to sync gzip log file\n", __func__); + } +-- +2.34.1 + diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch new file mode 100644 index 00000000000..ff840b809d6 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch @@ -0,0 +1,175 @@ +From 3d713358fe19ce02e7c580d26222ec2386c94bc9 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 12 Mar 2026 20:06:34 +0800 +Subject: [PATCH] Fix kinds of build failure +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix kinds of build failures caused by -Werror=sign-conversion, +-Werror=cast-qual, -Werror=conversion etc. +Eg: +src/offlinelogstorage/dlt_offline_logstorage.h:129:49: error: unsigned conversion from ‘int’ to ‘unsigned int’ changes value from ‘-1’ to ‘4294967295’ [-Werror=sign-conversion] + 129 | #define DLT_LOGSTORAGE_GZIP_ERROR -1 /* error case */ + | ^ +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:1303:36: note: in expansion of macro ‘DLT_LOGSTORAGE_GZIP_ERROR’ + 1303 | config->gzip_compression = DLT_LOGSTORAGE_GZIP_ERROR; + + | ^~~~~~~~~~~~~~~~~~~~~~~~~ + +src/offlinelogstorage/dlt_offline_logstorage_behavior.c:851:16: error: conversion from ‘z_size_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Werror=conversion] + 851 | return gzfwrite(ptr, size, nmemb, config->gzlog); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +src/console/dlt-control-common.c:922:25: error: cast discards 'const' qualifier from pointer target type [-Werror=cast-qual] + 922 | json_object_to_file((char*)filename, json_filter_obj); + | + +Use explicit type conversion to make the build can pass + +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826, +https://github.com/COVESA/dlt-daemon/pull/837] + +Signed-off-by: Changqing Li +--- + src/console/dlt-control-common.c | 2 +- + src/daemon/dlt-daemon.c | 4 ++-- + src/daemon/udp_connection/dlt_daemon_udp_socket.c | 10 +++++----- + src/examples/dlt-example-multicast-clientmsg-view.c | 8 ++++---- + src/offlinelogstorage/dlt_offline_logstorage.h | 2 +- + .../dlt_offline_logstorage_behavior.c | 4 ++-- + 6 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/src/console/dlt-control-common.c b/src/console/dlt-control-common.c +index 2aeea280..4f9e95b4 100644 +--- a/src/console/dlt-control-common.c ++++ b/src/console/dlt-control-common.c +@@ -919,7 +919,7 @@ DltReturnValue dlt_json_filter_save(DltFilter *filter, const char *filename, int + } + + printf("Saving current filter into '%s'\n", filename); +- json_object_to_file((char*)filename, json_filter_obj); ++ json_object_to_file(filename, json_filter_obj); + + return DLT_RETURN_OK; + } +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c +index 97af1cd9..94024eb4 100644 +--- a/src/daemon/dlt-daemon.c ++++ b/src/daemon/dlt-daemon.c +@@ -867,7 +867,7 @@ int option_file_parser(DltDaemonLocal *daemon_local) + + if ((longval == MULTICAST_CONNECTION_DISABLED) + || (longval == MULTICAST_CONNECTION_ENABLED)) { +- daemon_local->UDPConnectionSetup = longval; ++ daemon_local->UDPConnectionSetup = (int)longval; + printf("Option: %s=%s\n", token, value); + } + else { +@@ -884,7 +884,7 @@ int option_file_parser(DltDaemonLocal *daemon_local) + } + else if (strcmp(token, "UDPMulticastIPPort") == 0) + { +- daemon_local->UDPMulticastIPPort = strtol(value, NULL, 10); ++ daemon_local->UDPMulticastIPPort = (int)strtol(value, NULL, 10); + } + #endif + else if (strcmp(token, "BindAddress") == 0) +diff --git a/src/daemon/udp_connection/dlt_daemon_udp_socket.c b/src/daemon/udp_connection/dlt_daemon_udp_socket.c +index 4c40cda8..b3408773 100644 +--- a/src/daemon/udp_connection/dlt_daemon_udp_socket.c ++++ b/src/daemon/udp_connection/dlt_daemon_udp_socket.c +@@ -66,7 +66,7 @@ void dlt_daemon_udp_setmulticast_addr(DltDaemonLocal *daemon_local) + struct sockaddr_in clientaddr; + clientaddr.sin_family = AF_INET; + inet_pton(AF_INET, daemon_local->UDPMulticastIPAddress, &clientaddr.sin_addr); +- clientaddr.sin_port = htons(daemon_local->UDPMulticastIPPort); ++ clientaddr.sin_port = htons((uint16_t)daemon_local->UDPMulticastIPPort); + memcpy(&g_udpmulticast_addr.clientaddr, &clientaddr, sizeof(struct sockaddr_in)); + g_udpmulticast_addr.clientaddr_size = sizeof(g_udpmulticast_addr.clientaddr); + g_udpmulticast_addr.isvalidflag = ADDRESS_VALID; +@@ -224,17 +224,17 @@ void dlt_daemon_udp_clientmsg_send(DltDaemonClientSockInfo *clientinfo, + + if ((clientinfo->isvalidflag == ADDRESS_VALID) && + (size1 > 0) && (size2 > 0)) { +- void *data = (void *)calloc(size1 + size2, sizeof(char)); ++ void *data = (void *)calloc((size_t)(size1 + size2), sizeof(char)); + + if (data == NULL) { + dlt_vlog(LOG_ERR, "%s: calloc failure\n", __func__); + return; + } + +- memcpy(data, data1, size1); +- memcpy(data + size1, data2, size2); ++ memcpy(data, data1, (size_t)size1); ++ memcpy((char*)data + size1, data2, (size_t)size2); + +- if (sendto(g_udp_sock_fd, data, size1 + size2, 0, (struct sockaddr *)&clientinfo->clientaddr, ++ if (sendto(g_udp_sock_fd, data, (size_t)(size1 + size2), 0, (struct sockaddr *)&clientinfo->clientaddr, + clientinfo->clientaddr_size) < 0) + dlt_vlog(LOG_ERR, "%s: Send UDP Packet Data failed\n", __func__); + +diff --git a/src/examples/dlt-example-multicast-clientmsg-view.c b/src/examples/dlt-example-multicast-clientmsg-view.c +index c00537e5..f8920453 100644 +--- a/src/examples/dlt-example-multicast-clientmsg-view.c ++++ b/src/examples/dlt-example-multicast-clientmsg-view.c +@@ -74,9 +74,9 @@ int dlt_receiver_receive_socket_udp(struct clientinfostruct *clientinfo, DltRece + /* wait for data from socket */ + unsigned int addrlen = sizeof(clientinfo->addr); + +- if ((receiver->bytesRcvd = recvfrom(clientinfo->fd, ++ if ((receiver->bytesRcvd = (int32_t)recvfrom(clientinfo->fd, + receiver->buf + receiver->lastBytesRcvd, +- receiver->buffersize - receiver->lastBytesRcvd, ++ (size_t)(receiver->buffersize - receiver->lastBytesRcvd), + 0, + (struct sockaddr *)&(clientinfo->addr), &addrlen)) + <= 0) { +@@ -177,11 +177,11 @@ int main() + dlt_receiver_receive_socket_udp(&clientinfo, &(clientinfo.receiver)); + + while (dlt_message_read(&msg, (unsigned char *)(clientinfo.receiver.buf), +- clientinfo.receiver.bytesRcvd, 0, 0) == DLT_MESSAGE_ERROR_OK) { ++ (unsigned int)clientinfo.receiver.bytesRcvd, 0, 0) == DLT_MESSAGE_ERROR_OK) { + dlt_receive_message_callback_udp(&msg); + + if (dlt_receiver_remove(&(clientinfo.receiver), +- msg.headersize + msg.datasize - sizeof(DltStorageHeader)) ++ msg.headersize + msg.datasize - ((int32_t)(sizeof(DltStorageHeader)))) + == DLT_RETURN_ERROR) { + /* Return value ignored */ + dlt_message_free(&msg, 0); +diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h +index 09ea5ce4..cfb70f33 100644 +--- a/src/offlinelogstorage/dlt_offline_logstorage.h ++++ b/src/offlinelogstorage/dlt_offline_logstorage.h +@@ -192,7 +192,7 @@ struct DltLogStorageFilterConfig + int overwrite; /* Overwrite strategy */ + int skip; /* Flag to skip file logging if DISCARD_NEW */ + char *ecuid; /* ECU identifier */ +- unsigned int gzip_compression; /* Toggle if log files should be gzip compressed */ ++ int gzip_compression; /* Toggle if log files should be gzip compressed */ + /* callback function for filter configurations */ + int (*dlt_logstorage_prepare)(DltLogStorageFilterConfig *config, + DltLogStorageUserConfig *file_config, +diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c +index ff09c9eb..ae8f4442 100644 +--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c ++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c +@@ -848,10 +848,10 @@ DLT_STATIC int dlt_logstorage_write_to_log(void *ptr, size_t size, size_t nmemb, + { + #ifdef DLT_LOGSTORAGE_USE_GZIP + if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) { +- return gzfwrite(ptr, size, nmemb, config->gzlog); ++ return (int)gzfwrite(ptr, size, nmemb, config->gzlog); + } + else { +- return fwrite(ptr, size, nmemb, config->log); ++ return (int)fwrite(ptr, size, nmemb, config->log); + } + #else + return (int)fwrite(ptr, size, nmemb, config->log); +-- +2.34.1 + diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-daemon.c-fix-wrong-len.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-daemon.c-fix-wrong-len.patch new file mode 100644 index 00000000000..bac7691c32d --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-daemon.c-fix-wrong-len.patch @@ -0,0 +1,37 @@ +From 7e94c281563ff0eb67e521cf0a6fc3049f732214 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Wed, 15 Apr 2026 16:52:19 +0800 +Subject: [PATCH] dlt-daemon.c: fix wrong len + +Set len to 0 makes the application description always empty. +One of the failure case: +Running "dlt-example-user 'test'", +Check "dlt-control -j localhost", will not get application description: +APID:LOG- + +Expected: +APID:LOG- Test Application for Logging + +Upstream-Status: Backport [https://github.com/COVESA/dlt-daemon/pull/852] + +Signed-off-by: Changqing Li +--- + src/daemon/dlt-daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c +index 8c318a4..38fe824 100644 +--- a/src/daemon/dlt-daemon.c ++++ b/src/daemon/dlt-daemon.c +@@ -4110,7 +4110,7 @@ int dlt_daemon_process_user_message_register_application(DltDaemon *daemon, + to_remove = (uint32_t) temp; + } + +- len = 0; ++ len = userapp.description_length; + + if (len > DLT_DAEMON_DESCSIZE) { + len = DLT_DAEMON_DESCSIZE; +-- +2.34.1 + diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-fix-build-failure-when-systemd-is-enabled.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-fix-build-failure-when-systemd-is-enabled.patch new file mode 100644 index 00000000000..b1ba08a7d34 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-fix-build-failure-when-systemd-is-enabled.patch @@ -0,0 +1,428 @@ +From 6a95cc20d3c5adfc5c16f269f6dca9f7e2305b4e Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Tue, 17 Mar 2026 13:04:11 +0800 +Subject: [PATCH] fix build failure when systemd is enabled + +Fix build failures when -DWITH_SYSTEMD=ON, -DWITH_SYSTEMD_WATCHDOG=ON, +-DWITH_SYSTEMD_JOURNAL=ON: +Eg: +src/system/dlt-system-syslog.c:91:39: error: conversion from 'int' to '__uint16_t' {aka 'short unsigned int'} may change value [-Werror=conversion] + 91 | syslog_addr.sin6_port = htons(opts.Port); + | ~~~~^~~~~ + +src/system/dlt-system-logfile.c:74:21: error: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Werror=conversion] + 74 | bytes = fread(buffer, 1, sizeof(buffer) - 1, pFile); + | ^~~~~ + +src/daemon/dlt-daemon.c:5513:14: error: unused variable 'curr_time' [-Werror=unused-variable] + 5513 | uint32_t curr_time = 0U; + | ^~~~~~~~~ + +src/system/dlt-system-syslog.c:120:22: error: conversion from 'ssize_t' {aka 'long int'} to 'int' may change value [-Werror=conversion] + 120 | int bytes_read = recvfrom(sock, recv_data, RECV_BUF_SZ, 0, + | ^~~~~~~~ + +src/system/dlt-system-logfile.c:76:23: error: comparison of unsigned expression in '>= 0' is always true [-Werror=type-limits] + 76 | if (bytes >= 0) + | ^~ + + src/system/dlt-system-filetransfer.c:727:56: error: '__builtin___snprintf_chk' output may be truncated before the last format cha racter [-Werror=format-truncation=] + 10 727 | snprintf(tosend, length, "%s/%s", opts->Directory[j], ie->name); + +src/system/dlt-system-filetransfer.c:153: error: declaration of 'len' shadows a previous local [-Werror=shadow] + +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/828] + +Signed-off-by: Changqing Li +--- + src/daemon/dlt-daemon.c | 8 +---- + src/daemon/dlt_daemon_client.c | 2 +- + src/system/dlt-system-filetransfer.c | 43 +++++++++++++----------- + src/system/dlt-system-journal.c | 2 +- + src/system/dlt-system-logfile.c | 4 +-- + src/system/dlt-system-process-handling.c | 2 +- + src/system/dlt-system-processes.c | 2 +- + src/system/dlt-system-syslog.c | 8 ++--- + src/system/dlt-system-watchdog.c | 8 ++--- + systemd/3rdparty/sd-daemon.c | 5 +-- + 10 files changed, 41 insertions(+), 43 deletions(-) + +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c +index ef42f89..8c318a4 100644 +--- a/src/daemon/dlt-daemon.c ++++ b/src/daemon/dlt-daemon.c +@@ -1620,7 +1620,7 @@ int main(int argc, char *argv[]) + watchdogTimeoutSeconds = 30; + } + +- daemon.watchdog_trigger_interval = watchdogTimeoutSeconds; ++ daemon.watchdog_trigger_interval = (unsigned int)watchdogTimeoutSeconds; + daemon.watchdog_last_trigger_time = 0U; + create_timer_fd(&daemon_local, + watchdogTimeoutSeconds, +@@ -5509,9 +5509,6 @@ int dlt_daemon_send_ringbuffer_to_client(DltDaemon *daemon, DltDaemonLocal *daem + int ret; + static uint8_t data[DLT_DAEMON_RCVBUFSIZE]; + int length; +-#ifdef DLT_SYSTEMD_WATCHDOG_ENABLE +- uint32_t curr_time = 0U; +-#endif + + PRINT_FUNCTION_VERBOSE(verbose); + +@@ -5554,9 +5551,6 @@ int dlt_daemon_send_ringbuffer_to_client_v2(DltDaemon *daemon, DltDaemonLocal *d + int ret; + static uint8_t data[DLT_DAEMON_RCVBUFSIZE]; + int length; +-#ifdef DLT_SYSTEMD_WATCHDOG_ENABLE +- uint32_t curr_time = 0U; +-#endif + + PRINT_FUNCTION_VERBOSE(verbose); + +diff --git a/src/daemon/dlt_daemon_client.c b/src/daemon/dlt_daemon_client.c +index 20a512b..681bf1e 100644 +--- a/src/daemon/dlt_daemon_client.c ++++ b/src/daemon/dlt_daemon_client.c +@@ -4690,7 +4690,7 @@ int dlt_daemon_process_systemd_timer(DltDaemon *daemon, + + if ((daemon_local == NULL) || (daemon == NULL) || (receiver == NULL)) { + dlt_vlog(LOG_ERR, "%s: invalid parameters", __func__); +- return res; ++ return (int)res; + } + + res = read(receiver->fd, &expir, sizeof(expir)); +diff --git a/src/system/dlt-system-filetransfer.c b/src/system/dlt-system-filetransfer.c +index c082f22..6024a3e 100644 +--- a/src/system/dlt-system-filetransfer.c ++++ b/src/system/dlt-system-filetransfer.c +@@ -105,14 +105,14 @@ char *unique_name(char *src) + DLT_STRING("dlt-system-filetransfer, creating unique temporary file name.")); + time_t t = time(NULL); + int ok; +- uint32_t l = getFileSerialNumber(src, &ok) ^ t; ++ uint32_t l = (uint32_t)(getFileSerialNumber(src, &ok) ^ t); + + if (!ok) + return (char *)NULL; + + char *basename_f = basename(src); + /* Length of ULONG_MAX + 1 */ +- int len = 11 + strlen(basename_f); ++ size_t len = 11 + strlen(basename_f); + + if (len > NAME_MAX) { + DLT_LOG(dltsystem, DLT_LOG_WARN, +@@ -155,7 +155,7 @@ void send_dumped_file(FiletransferOptions const *opts, char *dst_tosend) + while ((total - used) < (total / 2)) { + struct timespec t; + t.tv_sec = 0; +- t.tv_nsec = 1000000ul * opts->TimeoutBetweenLogs; ++ t.tv_nsec = (long int)(1000000ul * (unsigned long)opts->TimeoutBetweenLogs); + nanosleep(&t, NULL); + dlt_user_log_resend_buffer(); + dlt_user_check_buffer(&total, &used); +@@ -220,7 +220,7 @@ int compress_file_to(char *src, char *dst, int level) + MALLOC_ASSERT(buf); + + while (!feof(src_file)) { +- int read = fread(buf, 1, Z_CHUNK_SZ, src_file); ++ size_t read = fread(buf, 1, Z_CHUNK_SZ, src_file); + + if (ferror(src_file)) { + free(buf); +@@ -230,7 +230,7 @@ int compress_file_to(char *src, char *dst, int level) + return -1; + } + +- gzwrite(dst_file, buf, read); ++ gzwrite(dst_file, buf, (unsigned int)read); + } + + if (remove(src) < 0) +@@ -290,7 +290,7 @@ int send_one(char *src, FiletransferOptions const *opts, int which) + char *dst_tocompress;/*file which is going to be compressed, the compressed one is named dst_tosend */ + + +- int len = strlen(fdir) + strlen(SUBDIR_COMPRESS) + strlen(rn) + 3;/*the filename in .tocompress +2 for 2*"/", +1 for \0 */ ++ size_t len = strlen(fdir) + strlen(SUBDIR_COMPRESS) + strlen(rn) + 3;/*the filename in .tocompress +2 for 2*"/", +1 for \0 */ + dst_tocompress = malloc(len); + MALLOC_ASSERT(dst_tocompress); + +@@ -328,7 +328,7 @@ int send_one(char *src, FiletransferOptions const *opts, int which) + /*move it directly into "tosend" */ + DLT_LOG(dltsystem, DLT_LOG_DEBUG, + DLT_STRING("dlt-system-filetransfer, Moving file to tmp directory.")); +- int len = strlen(fdir) + strlen(SUBDIR_TOSEND) + strlen(rn) + 3; ++ size_t len = strlen(fdir) + strlen(SUBDIR_TOSEND) + strlen(rn) + 3; + dst_tosend = malloc(len);/*the resulting filename in .tosend +2 for 2*"/", +1 for \0 */ + + snprintf(dst_tosend, len, "%s/%s/%s", fdir, SUBDIR_TOSEND, rn); +@@ -379,7 +379,7 @@ int flush_dir_send(FiletransferOptions const *opts, const char *compress_dir, co + DLT_LOG(dltsystem, DLT_LOG_DEBUG, + DLT_STRING("dlt-system-filetransfer, old compressed file found in send directory:"), + DLT_STRING(dp->d_name)); +- int len = strlen(send_dir) + strlen(dp->d_name) + 2; ++ size_t len = strlen(send_dir) + strlen(dp->d_name) + 2; + fn = malloc(len); + MALLOC_ASSERT(fn); + snprintf(fn, len, "%s/%s", send_dir, dp->d_name); +@@ -394,10 +394,10 @@ int flush_dir_send(FiletransferOptions const *opts, const char *compress_dir, co + strncpy(tmp, dp->d_name, strlen(dp->d_name) - strlen(COMPRESS_EXTENSION)); + tmp[strlen(dp->d_name) - strlen(COMPRESS_EXTENSION)] = '\0'; + +- int len = strlen(tmp) + strlen(compress_dir) + 1 + 1;/*2 sizes + 1*"/" + \0 */ +- char *path_uncompressed = malloc(len); ++ size_t length = strlen(tmp) + strlen(compress_dir) + 1 + 1;/*2 sizes + 1*"/" + \0 */ ++ char *path_uncompressed = malloc(length); + MALLOC_ASSERT(path_uncompressed); +- snprintf(path_uncompressed, len, "%s/%s", compress_dir, tmp); ++ snprintf(path_uncompressed, length, "%s/%s", compress_dir, tmp); + + struct stat sb; + +@@ -475,7 +475,7 @@ int flush_dir_compress(FiletransferOptions const *opts, int which, const char *c + + + /*compress file into to_send dir */ +- int len = strlen(compress_dir) + strlen(dp->d_name) + 2; ++ size_t len = strlen(compress_dir) + strlen(dp->d_name) + 2; + char *cd_filename = malloc(len); + MALLOC_ASSERT(cd_filename); + snprintf(cd_filename, len, "%s/%s", compress_dir, dp->d_name); +@@ -526,7 +526,7 @@ int flush_dir_original(FiletransferOptions const *opts, int which) + + DLT_LOG(dltsystem, DLT_LOG_DEBUG, + DLT_STRING("dlt-system-filetransfer, old file found in directory.")); +- int len = strlen(sdir) + strlen(dp->d_name) + 2; ++ size_t len = strlen(sdir) + strlen(dp->d_name) + 2; + char *fn = malloc(len); + MALLOC_ASSERT(fn); + snprintf(fn, len, "%s/%s", sdir, dp->d_name); +@@ -564,7 +564,7 @@ int flush_dir(FiletransferOptions const *opts, int which) + + char *compress_dir; + char *send_dir; +- int len = strlen(opts->Directory[which]) + strlen(SUBDIR_COMPRESS) + 2; ++ size_t len = strlen(opts->Directory[which]) + strlen(SUBDIR_COMPRESS) + 2; + compress_dir = malloc (len); + MALLOC_ASSERT(compress_dir); + snprintf(compress_dir, len, "%s/%s", opts->Directory[which], SUBDIR_COMPRESS); +@@ -625,7 +625,7 @@ int init_filetransfer_dirs(DltSystemConfiguration *config) + /*create subdirectories for processing the files */ + + char *subdirpath; +- int len = strlen(opts->Directory[i]) + strlen(SUBDIR_COMPRESS) + 2; ++ size_t len = strlen(opts->Directory[i]) + strlen(SUBDIR_COMPRESS) + 2; + subdirpath = malloc (len); + MALLOC_ASSERT(subdirpath); + snprintf(subdirpath, len, "%s/%s", opts->Directory[i], SUBDIR_COMPRESS); +@@ -699,7 +699,7 @@ int process_files(FiletransferOptions const *opts) + + unsigned int i = 0; + +- while (i < (len - INOTIFY_SZ)) { ++ while (i < ((long unsigned int)len - INOTIFY_SZ)) { + struct inotify_event *ie = (struct inotify_event *)&buf[i]; + + if (ie->len > 0) { +@@ -712,26 +712,29 @@ int process_files(FiletransferOptions const *opts) + DLT_LOG_DEBUG, + DLT_STRING("dlt-system-filetransfer, found new file."), + DLT_STRING(ie->name)); +- int length = strlen(opts->Directory[j]) + ie->len + 1; ++ size_t length = strlen(opts->Directory[j]) + strlen(ie->name) + 2; + + if (length > PATH_MAX) { + DLT_LOG(filetransferContext, + DLT_LOG_ERROR, + DLT_STRING( + "dlt-system-filetransfer: Very long path for file transfer. Cancelling transfer! Length is: "), +- DLT_INT(length)); ++ DLT_INT((int)length)); + return -1; + } + + char *tosend = malloc(length); ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wformat-truncation=" + snprintf(tosend, length, "%s/%s", opts->Directory[j], ie->name); ++#pragma GCC diagnostic pop + send_one(tosend, opts, j); + free(tosend); + } + } + } + +- i += INOTIFY_SZ + ie->len; ++ i += (unsigned int)INOTIFY_SZ + ie->len; + } + + #endif +@@ -741,4 +744,4 @@ int process_files(FiletransferOptions const *opts) + void filetransfer_fd_handler(DltSystemConfiguration *config) + { + process_files(&(config->Filetransfer)); +-} +\ No newline at end of file ++} +diff --git a/src/system/dlt-system-journal.c b/src/system/dlt-system-journal.c +index 366555b..9a55c3f 100644 +--- a/src/system/dlt-system-journal.c ++++ b/src/system/dlt-system-journal.c +@@ -393,7 +393,7 @@ void register_journal_fd(sd_journal **j, struct pollfd *pollfd, int i, DltSyste + DLT_STRING(strerror(pollfd[i].fd))); + j_tmp = NULL; + } +- pollfd[i].events = sd_journal_get_events(j_tmp); ++ pollfd[i].events = (short)sd_journal_get_events(j_tmp); + if(pollfd[i].events < 0) { + DLT_LOG(dltsystem, DLT_LOG_ERROR, DLT_STRING("Error while getting journal events: "), + DLT_STRING(strerror(pollfd[i].events))); +diff --git a/src/system/dlt-system-logfile.c b/src/system/dlt-system-logfile.c +index 941a3be..d31441c 100644 +--- a/src/system/dlt-system-logfile.c ++++ b/src/system/dlt-system-logfile.c +@@ -64,7 +64,7 @@ void send_file(LogFileOptions const *fileopt, int n) + FILE *pFile; + DltContext context = logfileContext[n]; + char buffer[1024]; +- int bytes; ++ size_t bytes; + int seq = 1; + + pFile = fopen((*fileopt).Filename[n], "r"); +@@ -73,7 +73,7 @@ void send_file(LogFileOptions const *fileopt, int n) + while (!feof(pFile)) { + bytes = fread(buffer, 1, sizeof(buffer) - 1, pFile); + +- if (bytes >= 0) ++ if (bytes == (sizeof(buffer) - 1)) + buffer[bytes] = 0; + else + buffer[0] = 0; +diff --git a/src/system/dlt-system-process-handling.c b/src/system/dlt-system-process-handling.c +index 3e092d4..708e9e3 100644 +--- a/src/system/dlt-system-process-handling.c ++++ b/src/system/dlt-system-process-handling.c +@@ -201,7 +201,7 @@ int register_timer_fd(struct pollfd *pollfd, int fdcnt) + void timer_fd_handler(int fd, DltSystemConfiguration *config) + { + uint64_t timersElapsed = 0ULL; +- int r = read(fd, &timersElapsed, 8U); // only needed to reset fd event ++ int r = (int)read(fd, &timersElapsed, 8U); // only needed to reset fd event + if (r < 0) + DLT_LOG(dltsystem, DLT_LOG_ERROR, DLT_STRING("Error while reading timer fd: "), + DLT_STRING(strerror(r))); +diff --git a/src/system/dlt-system-processes.c b/src/system/dlt-system-processes.c +index c35596c..b17b8ee 100644 +--- a/src/system/dlt-system-processes.c ++++ b/src/system/dlt-system-processes.c +@@ -72,7 +72,7 @@ void send_process(LogProcessOptions const *popts, int n) + struct dirent *dp; + char filename[PATH_MAX]; + char buffer[1024]; +- int bytes; ++ size_t bytes; + int found = 0; + + /* go through all process files in directory */ +diff --git a/src/system/dlt-system-syslog.c b/src/system/dlt-system-syslog.c +index 59e9d3f..f0bf3dc 100644 +--- a/src/system/dlt-system-syslog.c ++++ b/src/system/dlt-system-syslog.c +@@ -88,11 +88,11 @@ int init_socket(SyslogOptions opts) + #ifdef DLT_USE_IPv6 + syslog_addr.sin6_family = AF_INET6; + syslog_addr.sin6_addr = in6addr_any; +- syslog_addr.sin6_port = htons(opts.Port); ++ syslog_addr.sin6_port = htons((uint16_t)opts.Port); + #else + syslog_addr.sin_family = AF_INET; + syslog_addr.sin_addr.s_addr = INADDR_ANY; +- syslog_addr.sin_port = htons(opts.Port); ++ syslog_addr.sin_port = htons((uint16_t)opts.Port); + memset(&(syslog_addr.sin_zero), 0, 8); + #endif + +@@ -117,7 +117,7 @@ int read_socket(int sock) + struct sockaddr_in client_addr; + socklen_t addr_len = sizeof(struct sockaddr_in); + +- int bytes_read = recvfrom(sock, recv_data, RECV_BUF_SZ, 0, ++ int bytes_read = (int)recvfrom(sock, recv_data, RECV_BUF_SZ, 0, + (struct sockaddr *)&client_addr, &addr_len); + + if (bytes_read == -1) { +@@ -157,4 +157,4 @@ int register_syslog_fd(struct pollfd *pollfd, int i, DltSystemConfiguration *con + void syslog_fd_handler(int syslogSock) + { + read_socket(syslogSock); +-} +\ No newline at end of file ++} +diff --git a/src/system/dlt-system-watchdog.c b/src/system/dlt-system-watchdog.c +index 7ed1604..6334214 100644 +--- a/src/system/dlt-system-watchdog.c ++++ b/src/system/dlt-system-watchdog.c +@@ -56,7 +56,7 @@ int calculate_period(struct itimerspec *itval) + } + + DLT_LOG(watchdogContext, DLT_LOG_DEBUG, DLT_STRING("watchdogusec: "), DLT_STRING(watchdogUSec)); +- watchdogTimeoutSeconds = atoi(watchdogUSec); ++ watchdogTimeoutSeconds = (unsigned int)atoi(watchdogUSec); + + if (watchdogTimeoutSeconds <= 0) { + snprintf(str, 512, "systemd watchdog timeout incorrect: %u\n", watchdogTimeoutSeconds); +@@ -78,9 +78,9 @@ int calculate_period(struct itimerspec *itval) + sec = notifiyPeriodNSec / 1000000; + ns = (notifiyPeriodNSec - (sec * 1000000)) * 1000; + itval->it_interval.tv_sec = sec; +- itval->it_interval.tv_nsec = ns; ++ itval->it_interval.tv_nsec = (long int)ns; + itval->it_value.tv_sec = sec; +- itval->it_value.tv_nsec = ns; ++ itval->it_value.tv_nsec = (long int)ns; + + return 0; + } +@@ -114,7 +114,7 @@ void watchdog_fd_handler(int fd) + #endif + { + uint64_t timersElapsed = 0ULL; +- int r = read(fd, &timersElapsed, 8U); // only needed to reset fd event ++ int r = (int)read(fd, &timersElapsed, 8U); // only needed to reset fd event + if(r < 0) + DLT_LOG(watchdogContext, DLT_LOG_ERROR, DLT_STRING("Could not reset systemd watchdog. Exit with: "), + DLT_STRING(strerror(r))); +diff --git a/systemd/3rdparty/sd-daemon.c b/systemd/3rdparty/sd-daemon.c +index de3f985..9fde8cc 100644 +--- a/systemd/3rdparty/sd-daemon.c ++++ b/systemd/3rdparty/sd-daemon.c +@@ -46,6 +46,7 @@ + #include + #include + #include ++#include + + #if defined(__linux__) + #include +@@ -456,12 +457,12 @@ _sd_export_ int sd_notify(int unset_environment, const char *state) { + sockaddr.un.sun_path[0] = 0; + + memset(&iovec, 0, sizeof(iovec)); +- iovec.iov_base = (char*) state; ++ iovec.iov_base = (void *)(uintptr_t)state; + iovec.iov_len = strlen(state); + + memset(&msghdr, 0, sizeof(msghdr)); + msghdr.msg_name = &sockaddr; +- msghdr.msg_namelen = offsetof(struct sockaddr_un, sun_path) + strlen(e); ++ msghdr.msg_namelen = (socklen_t)(offsetof(struct sockaddr_un, sun_path) + strlen(e)); + + if (msghdr.msg_namelen > sizeof(struct sockaddr_un)) + msghdr.msg_namelen = sizeof(struct sockaddr_un); +-- +2.34.1 + diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch new file mode 100644 index 00000000000..208e433e53d --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch @@ -0,0 +1,1003 @@ +From 74b36fab6e7e66ca470b7b2ca2a494edd8c673d5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 10 Apr 2026 23:42:05 -0700 +Subject: [PATCH] warnings: Fix clang generated warnings + +This patch ensures that it can compile with clang-22 + +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/850] +Signed-off-by: Khem Raj +--- + CMakeLists.txt | 3 + + examples/example1/example1.c | 2 +- + examples/example1_v2/example1.c | 2 +- + examples/example2/example2.c | 2 +- + examples/example2_v2/example2.c | 2 +- + examples/example3/example3.c | 2 +- + examples/example3_v2/example3.c | 2 +- + examples/example4/example4.c | 2 +- + examples/example4_v2/example4.c | 2 +- + src/console/dlt-control-v2.c | 2 +- + src/console/dlt-passive-node-ctrl.c | 8 +-- + src/console/dlt-receive-v2.c | 2 +- + src/console/dlt-sortbytimestamp.c | 2 +- + src/console/logstorage/dlt-logstorage-ctrl.c | 2 +- + src/daemon/dlt-daemon.c | 6 +- + src/daemon/dlt-daemon.h | 2 +- + src/daemon/dlt_daemon_client.c | 6 +- + src/examples/dlt-example-filetransfer.c | 8 ++- + .../dlt-example-multicast-clientmsg-view.c | 4 +- + src/examples/dlt-example-user-common-api.c | 2 +- + src/examples/dlt-example-user-func-v2.c | 2 +- + src/examples/dlt-example-user-func.c | 2 +- + src/examples/dlt-example-user-v2.c | 4 +- + src/examples/dlt-example-user.c | 2 +- + src/lib/dlt_env_ll.c | 3 +- + src/lib/dlt_user.c | 70 +++++++++---------- + .../dlt_offline_logstorage.c | 2 +- + src/shared/dlt_log.c | 8 +-- + src/system/dlt-system-journal.c | 8 ++- + src/system/dlt-system-process-handling.c | 2 +- + src/system/dlt-system-shell.c | 2 +- + src/system/dlt-system.h | 4 +- + src/tests/dlt-test-client-v2.c | 2 +- + src/tests/dlt-test-fork-handler-v2.c | 2 +- + src/tests/dlt-test-fork-handler.c | 2 +- + src/tests/dlt-test-multi-process-v2.c | 8 +-- + src/tests/dlt-test-multi-process.c | 8 +-- + src/tests/dlt-test-non-verbose.c | 4 +- + src/tests/dlt-test-preregister-context-v2.c | 2 +- + src/tests/dlt-test-preregister-context.c | 2 +- + src/tests/dlt-test-qnx-slogger.c | 2 +- + src/tests/dlt-test-stress-client-v2.c | 2 +- + src/tests/dlt-test-stress-user-v2.c | 2 +- + src/tests/dlt-test-stress-v2.c | 2 +- + src/tests/dlt-test-stress.c | 2 +- + src/tests/dlt-test-user-v2.c | 2 +- + src/tests/dlt-test-user.c | 2 +- + tests/dlt_test_receiver.c | 2 +- + 48 files changed, 110 insertions(+), 108 deletions(-) + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -261,7 +261,11 @@ add_compile_options( + -Wcast-qual + -Wno-system-headers + -Wno-unused-function +- -Wno-stringop-truncation ++ $<$,$>:-Wno-gnu-statement-expression-from-macro-expansion> ++ $<$,$>:-Wno-gnu-statement-expression-from-macro-expansion> ++ $<$:-Wno-gnu-zero-variadic-macro-arguments> ++ $<$,$>:-Wno-stringop-truncation> ++ $<$,$>:-Wno-stringop-truncation> + ) + + if(WITH_DOC STREQUAL "OFF") +--- a/examples/example1/example1.c ++++ b/examples/example1/example1.c +@@ -50,7 +50,7 @@ + + DLT_DECLARE_CONTEXT(con_exa1); + +-int main() ++int main(void) + { + struct timespec ts; + +--- a/examples/example1_v2/example1.c ++++ b/examples/example1_v2/example1.c +@@ -50,7 +50,7 @@ + + DLT_DECLARE_CONTEXT(con_exa1); + +-int main() ++int main(void) + { + struct timespec ts; + +--- a/examples/example2/example2.c ++++ b/examples/example2/example2.c +@@ -52,7 +52,7 @@ + + DLT_DECLARE_CONTEXT(con_exa2); + +-int main() ++int main(void) + { + int num; + struct timespec ts; +--- a/examples/example2_v2/example2.c ++++ b/examples/example2_v2/example2.c +@@ -52,7 +52,7 @@ + + DLT_DECLARE_CONTEXT(con_exa2); + +-int main() ++int main(void) + { + int num; + struct timespec ts; +--- a/examples/example3/example3.c ++++ b/examples/example3/example3.c +@@ -52,7 +52,7 @@ + + DLT_DECLARE_CONTEXT(con_exa3); + +-int main() ++int main(void) + { + int num; + struct timespec ts; +--- a/examples/example3_v2/example3.c ++++ b/examples/example3_v2/example3.c +@@ -52,7 +52,7 @@ + + DLT_DECLARE_CONTEXT(con_exa3); + +-int main() ++int main(void) + { + int num; + struct timespec ts; +--- a/examples/example4/example4.c ++++ b/examples/example4/example4.c +@@ -50,7 +50,7 @@ + + DLT_DECLARE_CONTEXT(con_exa1); + +-int main() ++int main(void) + { + unsigned char buffer[256]; + int num; +--- a/examples/example4_v2/example4.c ++++ b/examples/example4_v2/example4.c +@@ -50,7 +50,7 @@ + + DLT_DECLARE_CONTEXT(con_exa1); + +-int main() ++int main(void) + { + unsigned char buffer[256]; + int num; +--- a/src/console/dlt-control-v2.c ++++ b/src/console/dlt-control-v2.c +@@ -129,7 +129,7 @@ typedef struct { + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/console/dlt-passive-node-ctrl.c ++++ b/src/console/dlt-passive-node-ctrl.c +@@ -118,7 +118,7 @@ void set_node_id(char *id) + } + } + +-char *get_node_id() ++char *get_node_id(void) + { + return g_options.node_id; + } +@@ -211,7 +211,7 @@ static int dlt_passive_node_analyze_resp + * + * @return Pointer ot DltControlMsgBody, NULL otherwise + */ +-DltControlMsgBody *dlt_passive_node_prepare_message_body() ++DltControlMsgBody *dlt_passive_node_prepare_message_body(void) + { + DltControlMsgBody *mb = calloc(1, sizeof(DltControlMsgBody)); + char *ecuid = get_node_id(); +@@ -271,7 +271,7 @@ void dlt_passive_node_destroy_message_bo + * + * @return 0 on success, -1 on error + */ +-static int dlt_passive_node_ctrl_single_request() ++static int dlt_passive_node_ctrl_single_request(void) + { + int ret = -1; + +@@ -301,7 +301,7 @@ static int dlt_passive_node_ctrl_single_ + return ret; + } + +-static void usage() ++static void usage(void) + { + printf("Usage: dlt-passive-node-ctrl [options]\n"); + printf("Send a trigger to DLT daemon to (dis)connect a passive node " +--- a/src/console/dlt-receive-v2.c ++++ b/src/console/dlt-receive-v2.c +@@ -144,7 +144,7 @@ typedef struct { + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/console/dlt-sortbytimestamp.c ++++ b/src/console/dlt-sortbytimestamp.c +@@ -194,7 +194,7 @@ void write_messages(int ohandle, DltFile + /** + * Print usage information of tool. + */ +-void usage() { ++void usage(void) { + char version[DLT_VERBUFSIZE]; + + dlt_get_version(version, DLT_VERBUFSIZE); +--- a/src/console/logstorage/dlt-logstorage-ctrl.c ++++ b/src/console/logstorage/dlt-logstorage-ctrl.c +@@ -354,7 +354,7 @@ static int dlt_logstorage_ctrl_setup_eve + * + * @return 0 on success, -1 otherwise. + */ +-static int dlt_logstorage_ctrl_single_request() ++static int dlt_logstorage_ctrl_single_request(void) + { + int ret = 0; + +--- a/src/daemon/dlt-daemon.c ++++ b/src/daemon/dlt-daemon.c +@@ -207,7 +207,7 @@ void close_pipes(int fds[2]) + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[DLT_DAEMON_TEXTBUFSIZE]; + dlt_get_version(version, DLT_DAEMON_TEXTBUFSIZE); +@@ -2489,7 +2489,7 @@ void dlt_daemon_local_cleanup(DltDaemon + free(daemon_local->flags.ipNodes); + } + +-void dlt_daemon_exit_trigger() ++void dlt_daemon_exit_trigger(void) + { + /* stop event loop */ + g_exit = -1; +@@ -2655,7 +2655,7 @@ int dlt_daemon_log_internal(DltDaemon *d + + msg.storageheadersizev2 = (uint32_t)(STORAGE_HEADER_V2_FIXED_SIZE + strlen(DLT_DAEMON_ECU_ID)); + msg.baseheadersizev2 = BASE_HEADER_V2_FIXED_SIZE; +- msg.baseheaderextrasizev2 = (int32_t)dlt_message_get_extraparameters_size_v2(msgcontent); ++ msg.baseheaderextrasizev2 = (uint32_t)dlt_message_get_extraparameters_size_v2(msgcontent); + /* Ecu Id, App Id, Ctx Id and Session Id*/ + msg.extendedheadersizev2 = (uint32_t)(1 + strlen(DLT_DAEMON_ECU_ID) + 1 + strlen(app_id) + 1 + strlen(ctx_id) + sizeof(uint32_t)); + +--- a/src/daemon/dlt-daemon.h ++++ b/src/daemon/dlt-daemon.h +@@ -217,7 +217,7 @@ int dlt_daemon_local_connection_init(Dlt + int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose); + + void dlt_daemon_daemonize(int verbose); +-void dlt_daemon_exit_trigger(); ++void dlt_daemon_exit_trigger(void); + void dlt_daemon_signal_handler(int sig); + #ifdef __QNX__ + void dlt_daemon_cleanup_timers(); +--- a/src/daemon/dlt_daemon_client.c ++++ b/src/daemon/dlt_daemon_client.c +@@ -817,7 +817,7 @@ int dlt_daemon_client_send_control_messa + + msg->storageheadersizev2 = (uint32_t)(STORAGE_HEADER_V2_FIXED_SIZE + (daemon->ecuid2len)); + msg->baseheadersizev2 = BASE_HEADER_V2_FIXED_SIZE; +- msg->baseheaderextrasizev2 = (int32_t)dlt_message_get_extraparameters_size_v2(DLT_CONTROL_MSG); ++ msg->baseheaderextrasizev2 = (uint32_t)dlt_message_get_extraparameters_size_v2(DLT_CONTROL_MSG); + msg->extendedheadersizev2 = (uint32_t)((daemon->ecuid2len) + 1 + appidlen + 1 + ctxidlen + 1); + + msg->headersizev2 = (int32_t)(msg->storageheadersizev2 + msg->baseheadersizev2 + +@@ -5388,7 +5388,7 @@ void dlt_daemon_control_passive_node_con + + con = &daemon_local->pGateway.connections[i]; + +- resp->connection_status[i] = con->status; ++ resp->connection_status[i] = (uint8_t)con->status; + //TBD: Review node_id[i * con->ecuid2len] + memcpy(&resp->node_id[i * con->ecuid2len], con->ecuid2, con->ecuid2len); + } +@@ -5471,7 +5471,7 @@ void dlt_daemon_control_passive_node_con + + con = &daemon_local->pGateway.connections[i]; + +- resp->connection_status[i] = con->status; ++ resp->connection_status[i] = (uint8_t)con->status; + memcpy(&resp->node_id[i * DLT_ID_SIZE], con->ecuid, DLT_ID_SIZE); + } + +--- a/src/examples/dlt-example-filetransfer.c ++++ b/src/examples/dlt-example-filetransfer.c +@@ -84,9 +84,10 @@ bool shutdownStatus = false; + * The function will set the flag (shutdownStatus) to true after .2 sec + * @return Null to stop thread + */ +-void *cancel_filetransfer() ++void *cancel_filetransfer(void* arg) + { + // wait 200msec once a filetransfer is started and then set the flag to true ++ (void)arg; + struct timespec ts; + ts.tv_sec = 0; + ts.tv_nsec = 200000000; // 200 ms +@@ -99,8 +100,9 @@ void *cancel_filetransfer() + * The function will start dlt filetransfer and will throw error if status of shutdownStatus is high + * @return Null to stop thread + */ +-void *filetransfer() ++void *filetransfer(void* arg) + { ++ (void)arg; + int transferResult; + + transferResult = dlt_user_log_file_header(&fileContext, file); +@@ -125,7 +127,7 @@ void *filetransfer() + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/examples/dlt-example-multicast-clientmsg-view.c ++++ b/src/examples/dlt-example-multicast-clientmsg-view.c +@@ -96,7 +96,7 @@ int dlt_receive_message_callback_udp(Dlt + { + static char text[DLT_RECEIVE_TEXTBUFSIZE]; + +- if ((message == NULL)) { ++ if (message == NULL) { + printf("NULL message in dlt_receive_message_callback_udp\n"); + return -1; + } +@@ -119,7 +119,7 @@ int dlt_receive_message_callback_udp(Dlt + } + + +-int main() ++int main(void) + { + struct clientinfostruct clientinfo; + struct ip_mreq mreq; +--- a/src/examples/dlt-example-user-common-api.c ++++ b/src/examples/dlt-example-user-common-api.c +@@ -66,7 +66,7 @@ DLT_DECLARE_CONTEXT(mycontext) + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/examples/dlt-example-user-func-v2.c ++++ b/src/examples/dlt-example-user-func-v2.c +@@ -84,7 +84,7 @@ DltContextData mycontextdata; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/examples/dlt-example-user-func.c ++++ b/src/examples/dlt-example-user-func.c +@@ -82,7 +82,7 @@ DltContextData mycontextdata; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/examples/dlt-example-user-v2.c ++++ b/src/examples/dlt-example-user-v2.c +@@ -88,7 +88,7 @@ DLT_DECLARE_CONTEXT(mycontext3) + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +@@ -458,4 +458,4 @@ int dlt_user_injection_callback_with_spe + void dlt_user_log_level_changed_callback_v2(char *context_id, uint8_t log_level, uint8_t trace_status) + { + printf("Log level changed of context %s, LogLevel=%u, TraceState=%u\n", context_id, log_level, trace_status); +-} +\ No newline at end of file ++} +--- a/src/examples/dlt-example-user.c ++++ b/src/examples/dlt-example-user.c +@@ -86,7 +86,7 @@ DLT_DECLARE_CONTEXT(mycontext3) + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/lib/dlt_env_ll.c ++++ b/src/lib/dlt_env_ll.c +@@ -125,7 +125,8 @@ int dlt_env_helper_to_lower(char **const + + int dlt_env_extract_symbolic_ll(char **const env, int8_t *ll) + { +- char result[strlen("verbose") + 1]; ++ char result[sizeof("verbose")]; ++ + + if (!env || !ll) { + return -1; +--- a/src/lib/dlt_user.c ++++ b/src/lib/dlt_user.c +@@ -545,7 +545,7 @@ DltReturnValue dlt_init(void) + + /* Check logging mode and internal log file is opened or not*/ + if (logging_mode == DLT_LOG_TO_FILE && logging_handle == NULL) { +- dlt_log_init(logging_mode); ++ dlt_log_init((int)logging_mode); + } + + /* Initialize common part of dlt_init()/dlt_init_file() */ +@@ -2391,14 +2391,14 @@ DltReturnValue dlt_set_application_ll_ts + + /* Update local structures */ + for (i = 0; i < dlt_user.dlt_ll_ts_num_entries; i++) { +- dlt_user.dlt_ll_ts[i].log_level = loglevel; +- dlt_user.dlt_ll_ts[i].trace_status = tracestatus; ++ dlt_user.dlt_ll_ts[i].log_level = (int8_t)loglevel; ++ dlt_user.dlt_ll_ts[i].trace_status = (int8_t)tracestatus; + + if (dlt_user.dlt_ll_ts[i].log_level_ptr) +- *(dlt_user.dlt_ll_ts[i].log_level_ptr) = loglevel; ++ *(dlt_user.dlt_ll_ts[i].log_level_ptr) = (int8_t)loglevel; + + if (dlt_user.dlt_ll_ts[i].trace_status_ptr) +- *(dlt_user.dlt_ll_ts[i].trace_status_ptr) = tracestatus; ++ *(dlt_user.dlt_ll_ts[i].trace_status_ptr) = (int8_t)tracestatus; + } + + dlt_mutex_unlock(); +@@ -2413,7 +2413,7 @@ DltReturnValue dlt_set_application_ll_ts + } + } + +-int dlt_get_log_state() ++int dlt_get_log_state(void) + { + return dlt_user.log_state; + } +@@ -2500,25 +2500,6 @@ DltReturnValue dlt_user_log_write_start_ + return DLT_RETURN_TRUE; + } + +-static DltReturnValue dlt_user_log_write_start_internal(DltContext *handle, +- DltContextData *log, +- DltLogLevelType loglevel, +- uint32_t messageid, +- bool is_verbose); +- +-inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextData *log, DltLogLevelType loglevel) +-{ +- return dlt_user_log_write_start_internal(handle, log, loglevel, DLT_USER_DEFAULT_MSGID, true); +-} +- +-DltReturnValue dlt_user_log_write_start_id(DltContext *handle, +- DltContextData *log, +- DltLogLevelType loglevel, +- uint32_t messageid) +-{ +- return dlt_user_log_write_start_internal(handle, log, loglevel, messageid, false); +-} +- + DltReturnValue dlt_user_log_write_start_internal(DltContext *handle, + DltContextData *log, + DltLogLevelType loglevel, +@@ -2587,6 +2568,19 @@ DltReturnValue dlt_user_log_write_start_ + return ret; + } + ++inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextData *log, DltLogLevelType loglevel) ++{ ++ return dlt_user_log_write_start_internal(handle, log, loglevel, DLT_USER_DEFAULT_MSGID, true); ++} ++ ++DltReturnValue dlt_user_log_write_start_id(DltContext *handle, ++ DltContextData *log, ++ DltLogLevelType loglevel, ++ uint32_t messageid) ++{ ++ return dlt_user_log_write_start_internal(handle, log, loglevel, messageid, false); ++} ++ + DltReturnValue dlt_user_log_write_start_w_given_buffer(DltContext *handle, + DltContextData *log, + DltLogLevelType loglevel, +@@ -3746,7 +3740,7 @@ DltReturnValue dlt_user_trace_network_se + } + + log.args_num = 0; +- log.trace_status = nw_trace_type; ++ log.trace_status = (int32_t)nw_trace_type; + log.size = 0; + + gettimeofday(&tv, NULL); +@@ -3848,7 +3842,7 @@ DltReturnValue dlt_user_trace_network_se + } + + log.args_num = 0; +- log.trace_status = nw_trace_type; ++ log.trace_status = (int32_t)nw_trace_type; + log.size = 0; + + /* Write identifier */ +@@ -3917,7 +3911,7 @@ DltReturnValue dlt_user_trace_network_se + } + + log.args_num = 0; +- log.trace_status = nw_trace_type; ++ log.trace_status = (int32_t)nw_trace_type; + log.size = 0; + + /* Write identifier */ +@@ -4184,7 +4178,7 @@ DltReturnValue dlt_user_trace_network_tr + } + + log.args_num = 0; +- log.trace_status = nw_trace_type; ++ log.trace_status = (int32_t)nw_trace_type; + log.size = 0; + + if (header == NULL) +@@ -4556,7 +4550,7 @@ DltReturnValue dlt_log_raw_v2(DltContext + return DLT_RETURN_OK; + } + +-DltReturnValue dlt_log_marker() ++DltReturnValue dlt_log_marker(void) + { + if (!DLT_USER_INITIALIZED) { + if (dlt_init() < DLT_RETURN_OK) { +@@ -6299,8 +6293,8 @@ DltReturnValue dlt_send_app_ll_ts_limit( + + /* set usercontext */ + dlt_set_id(usercontext.apid, apid); /* application id */ +- usercontext.log_level = loglevel; +- usercontext.trace_status = tracestatus; ++ usercontext.log_level = (uint8_t)loglevel; ++ usercontext.trace_status = (uint8_t)tracestatus; + + if (dlt_user.dlt_is_file) + return DLT_RETURN_OK; +@@ -6354,8 +6348,8 @@ DltReturnValue dlt_send_app_ll_ts_limit_ + } + usercontext.apidlen = (uint8_t)apidlen_sz; + dlt_set_id_v2(usercontext.apid, apid, usercontext.apidlen); /* application id */ +- usercontext.log_level = loglevel; +- usercontext.trace_status = tracestatus; ++ usercontext.log_level = (uint8_t)loglevel; ++ usercontext.trace_status = (uint8_t)tracestatus; + + size_t buffersize = sizeof(uint8_t) + usercontext.apidlen + sizeof(uint8_t) + sizeof(uint8_t); + uint8_t buffer[DLT_ID_SIZE + 3]; +@@ -6435,7 +6429,7 @@ DltReturnValue dlt_user_log_send_log_mod + return DLT_RETURN_OK; + } + +-DltReturnValue dlt_user_log_send_marker() ++DltReturnValue dlt_user_log_send_marker(void) + { + DltUserHeader userheader; + DltReturnValue ret; +@@ -7349,7 +7343,7 @@ void dlt_user_test_corrupt_message_size( + #endif + + +-int dlt_start_threads() ++int dlt_start_threads(void) + { + struct timespec time_to_wait, single_wait; + struct timespec now; +@@ -7438,7 +7432,7 @@ int dlt_start_threads() + return 0; + } + +-void dlt_stop_threads() ++void dlt_stop_threads(void) + { + int dlt_housekeeperthread_result = 0; + int joined = 0; +@@ -7510,7 +7504,7 @@ void dlt_stop_threads() + #endif /* DLT_NETWORK_TRACE_ENABLE */ + } + +-static void dlt_fork_child_fork_handler() ++static void dlt_fork_child_fork_handler(void) + { + g_dlt_is_child = 1; + dlt_user_init_state = INIT_UNITIALIZED; +--- a/src/offlinelogstorage/dlt_offline_logstorage.c ++++ b/src/offlinelogstorage/dlt_offline_logstorage.c +@@ -1732,7 +1732,7 @@ DLT_STATIC int dlt_daemon_offline_setup_ + continue; + + /* check value and store temporary */ +- ret = dlt_logstorage_check_param(&tmp_data, i, value); ++ ret = dlt_logstorage_check_param(&tmp_data, (DltLogstorageFilterConfType)i, value); + + if (ret != 0) { + if (tmp_data.apids != NULL) { +--- a/src/shared/dlt_log.c ++++ b/src/shared/dlt_log.c +@@ -113,7 +113,7 @@ DltReturnValue dlt_log_init_multiple_log + return result; + } + +-DltReturnValue dlt_log_init_single_logfile() ++DltReturnValue dlt_log_init_single_logfile(void) + { + /* internal logging to file */ + errno = 0; +@@ -333,14 +333,14 @@ void dlt_log_free(void) + } + } + +-void dlt_log_free_single_logfile() ++void dlt_log_free_single_logfile(void) + { + if (logging_handle != NULL) { + fclose(logging_handle); + } + } + +-void dlt_log_free_multiple_logfiles() ++void dlt_log_free_multiple_logfiles(void) + { + if (DLT_RETURN_ERROR == multiple_files_buffer_free(&multiple_files_ring_buffer)) return; + +@@ -348,7 +348,7 @@ void dlt_log_free_multiple_logfiles() + multiple_files_ring_buffer.ohandle = -1; + } + +-bool dlt_is_log_in_multiple_files_active() ++bool dlt_is_log_in_multiple_files_active(void) + { + return multiple_files_ring_buffer.ohandle > -1; + } +--- a/src/system/dlt-system-journal.c ++++ b/src/system/dlt-system-journal.c +@@ -73,7 +73,7 @@ typedef struct + DLT_IMPORT_CONTEXT(dltsystem) + DLT_DECLARE_CONTEXT(journalContext) + +-int journal_checkUserBufferForFreeSpace() ++int journal_checkUserBufferForFreeSpace(void) + { + int total_size, used_size; + +@@ -87,7 +87,7 @@ int journal_checkUserBufferForFreeSpace( + + int dlt_system_journal_get(sd_journal *j, char *target, const char *field, size_t max_size) + { +- char *data; ++ const char *data; + size_t length; + int error_code; + size_t field_size; +@@ -100,7 +100,9 @@ int dlt_system_journal_get(sd_journal *j + target[0] = 0; + + /* get data from journal */ +- error_code = sd_journal_get_data(j, field, (const void **)&data, &length); ++ const void *tmp; ++ error_code = sd_journal_get_data(j, field, &tmp, &length); ++ data = (const char *)tmp; + + /* check if an error */ + if (error_code) +--- a/src/system/dlt-system-process-handling.c ++++ b/src/system/dlt-system-process-handling.c +@@ -72,7 +72,7 @@ volatile uint8_t quit = 0; + extern s_ft_inotify ino; + #endif + +-int daemonize() ++int daemonize(void) + { + DLT_LOG(dltsystem, DLT_LOG_DEBUG, + DLT_STRING("dlt-system-process-handling, daemonize")); +--- a/src/system/dlt-system-shell.c ++++ b/src/system/dlt-system-shell.c +@@ -112,7 +112,7 @@ int dlt_shell_injection_callback(uint32_ + return 0; + } + +-void init_shell() ++void init_shell(void) + { + DLT_LOG(dltsystem, DLT_LOG_DEBUG, + DLT_STRING("dlt-system-shell, register callback")); +--- a/src/system/dlt-system.h ++++ b/src/system/dlt-system.h +@@ -193,8 +193,8 @@ int read_configuration_file(DltSystemCon + void cleanup_config(DltSystemConfiguration *config, DltSystemCliOptions *options); + + /* For dlt-process-handling.c */ +-int daemonize(); +-void init_shell(); ++int daemonize(void); ++void init_shell(void); + void dlt_system_signal_handler(int sig); + + /* Main function for creating/registering all needed file descriptors and starting the poll for all of them. */ +--- a/src/tests/dlt-test-client-v2.c ++++ b/src/tests/dlt-test-client-v2.c +@@ -125,7 +125,7 @@ typedef struct + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-fork-handler-v2.c ++++ b/src/tests/dlt-test-fork-handler-v2.c +@@ -91,7 +91,7 @@ void dlt_log_message(DltContext *context + /** + * @brief sample code for using at_fork-handler + */ +-int main() ++int main(void) + { + DltContext mainContext; + struct timespec timeout, r; +--- a/src/tests/dlt-test-fork-handler.c ++++ b/src/tests/dlt-test-fork-handler.c +@@ -49,7 +49,7 @@ void dlt_log_message(DltContext *context + /** + * @brief sample code for using at_fork-handler + */ +-int main() ++int main(void) + { + DltContext mainContext; + struct timespec timeout, r; +--- a/src/tests/dlt-test-multi-process-v2.c ++++ b/src/tests/dlt-test-multi-process-v2.c +@@ -112,11 +112,11 @@ typedef struct { + /* Forward declarations */ + void init_params(s_parameters *params); + void quit_handler(int signum); +-void cleanup(); ++void cleanup(void); + void do_forks(s_parameters params); + void run_threads(s_parameters params); + void *do_logging(void *data); +-int wait_for_death(); ++int wait_for_death(void); + + /* State information */ + volatile sig_atomic_t in_handler = 0; +@@ -323,7 +323,7 @@ void quit_handler(int signum) + /** + * Ask the child processes to die + */ +-void cleanup() ++void cleanup(void) + { + unsigned int i; + +@@ -458,7 +458,7 @@ void run_threads(s_parameters params) + /** + * Wait for child processes to complete their work. + */ +-int wait_for_death() ++int wait_for_death(void) + { + int pids_left = (int) pidcount; + +--- a/src/tests/dlt-test-multi-process.c ++++ b/src/tests/dlt-test-multi-process.c +@@ -89,11 +89,11 @@ typedef struct { + /* Forward declarations */ + void init_params(s_parameters *params); + void quit_handler(int signum); +-void cleanup(); ++void cleanup(void); + void do_forks(s_parameters params); + void run_threads(s_parameters params); + void *do_logging(void *arg); +-int wait_for_death(); ++int wait_for_death(void); + + /* State information */ + volatile sig_atomic_t in_handler = 0; +@@ -300,7 +300,7 @@ void quit_handler(int signum) + /** + * Ask the child processes to die + */ +-void cleanup() ++void cleanup(void) + { + unsigned int i; + +@@ -435,7 +435,7 @@ void run_threads(s_parameters params) + /** + * Wait for child processes to complete their work. + */ +-int wait_for_death() ++int wait_for_death(void) + { + int pids_left = (int) pidcount; + +--- a/src/tests/dlt-test-non-verbose.c ++++ b/src/tests/dlt-test-non-verbose.c +@@ -58,7 +58,7 @@ DltContextData context_data; + + void dlt_user_log_level_changed_callback(char context_id[DLT_ID_SIZE],uint8_t log_level,uint8_t trace_status); + +-void usage() ++void usage(void) + { + char version[DLT_COMMON_BUFFER_LENGTH]; + +@@ -84,7 +84,7 @@ void usage() + /******************/ + /* The test cases */ + /******************/ +-int test_logstorage() ++int test_logstorage(void) + { + int delay = LOG_DELAY; + int i; +--- a/src/tests/dlt-test-preregister-context-v2.c ++++ b/src/tests/dlt-test-preregister-context-v2.c +@@ -72,7 +72,7 @@ + /** + * @brief sample code for using pre-registered contexts + */ +-int main() ++int main(void) + { + DltContext mainContext; + struct timespec ts; +--- a/src/tests/dlt-test-preregister-context.c ++++ b/src/tests/dlt-test-preregister-context.c +@@ -30,7 +30,7 @@ + /** + * @brief sample code for using pre-registered contexts + */ +-int main() ++int main(void) + { + DltContext mainContext; + struct timespec ts; +--- a/src/tests/dlt-test-qnx-slogger.c ++++ b/src/tests/dlt-test-qnx-slogger.c +@@ -28,7 +28,7 @@ + #define DELAY 500 + #define LENGTH 100 + +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-stress-client-v2.c ++++ b/src/tests/dlt-test-stress-client-v2.c +@@ -127,7 +127,7 @@ typedef struct + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-stress-user-v2.c ++++ b/src/tests/dlt-test-stress-user-v2.c +@@ -86,7 +86,7 @@ DltContextData context_data; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-stress-v2.c ++++ b/src/tests/dlt-test-stress-v2.c +@@ -104,7 +104,7 @@ char *env_manual_interruption = 0; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-stress.c ++++ b/src/tests/dlt-test-stress.c +@@ -105,7 +105,7 @@ char *env_manual_interruption = 0; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-user-v2.c ++++ b/src/tests/dlt-test-user-v2.c +@@ -142,7 +142,7 @@ DltContextData context_data; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/tests/dlt-test-user.c ++++ b/src/tests/dlt-test-user.c +@@ -144,7 +144,7 @@ DltContextData context_data; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/tests/dlt_test_receiver.c ++++ b/tests/dlt_test_receiver.c +@@ -107,7 +107,7 @@ int result = 0; + /** + * Print usage information of tool. + */ +-void usage() ++void usage(void) + { + char version[255]; + +--- a/src/shared/dlt_common.c ++++ b/src/shared/dlt_common.c +@@ -6108,7 +6108,7 @@ DltReturnValue dlt_message_argument_prin + return DLT_RETURN_OK; + } + +-void dlt_check_envvar() ++void dlt_check_envvar(void) + { + char *env_log_filename = getenv("DLT_LOG_FILENAME"); + +--- a/src/system/dlt-system-filetransfer.c ++++ b/src/system/dlt-system-filetransfer.c +@@ -724,10 +724,14 @@ int process_files(FiletransferOptions co + } + + char *tosend = malloc(length); ++#ifndef __clang__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wformat-truncation=" ++#endif + snprintf(tosend, length, "%s/%s", opts->Directory[j], ie->name); ++#ifndef __clang__ + #pragma GCC diagnostic pop ++#endif + send_one(tosend, opts, j); + free(tosend); + } diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch deleted file mode 100644 index ac5fec56844..00000000000 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch +++ /dev/null @@ -1,99 +0,0 @@ -From ae23f2cccc169874d89903cad24bf36e19bef659 Mon Sep 17 00:00:00 2001 -From: Alper Ak -Date: Wed, 9 Jul 2025 18:18:33 +0300 -Subject: [PATCH] cmake: Set minimum required version to 3.5 for CMake 4+ - compatibility - -Fix: - -| CMake Error at CMakeLists.txt:17 (cmake_minimum_required): -| Compatibility with CMake < 3.5 has been removed from CMake. -| -| Update the VERSION argument value. Or, use the ... syntax -| to tell CMake that the project requires at least but has been updated -| to work with policies introduced by or earlier. -| -| Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. -| -| -| -- Configuring incomplete, errors occurred! - -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/755] - -Signed-off-by: Alper Ak ---- - CMakeLists.txt | 2 +- - examples/example1/CMakeLists.txt | 2 +- - examples/example2/CMakeLists.txt | 2 +- - examples/example3/CMakeLists.txt | 2 +- - examples/example4/CMakeLists.txt | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 94185b8..2a0f619 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -14,7 +14,7 @@ - ####### - - # Set minimum Cmake version and setup policy behavior --cmake_minimum_required(VERSION 3.3) -+cmake_minimum_required(VERSION 3.5) - - if(${CMAKE_VERSION} VERSION_GREATER "3.20" OR ${CMAKE_VERSION} VERSION_EQUAL "3.20") - cmake_policy(SET CMP0115 OLD) -diff --git a/examples/example1/CMakeLists.txt b/examples/example1/CMakeLists.txt -index 60644a1..44cd053 100644 ---- a/examples/example1/CMakeLists.txt -+++ b/examples/example1/CMakeLists.txt -@@ -17,7 +17,7 @@ - # DLT example implementation - # - --cmake_minimum_required( VERSION 2.6 ) -+cmake_minimum_required( VERSION 3.5 ) - project( automotive-dlt-example1 ) - - # -diff --git a/examples/example2/CMakeLists.txt b/examples/example2/CMakeLists.txt -index 66a4f24..a8efbcf 100644 ---- a/examples/example2/CMakeLists.txt -+++ b/examples/example2/CMakeLists.txt -@@ -17,7 +17,7 @@ - # DLT example implementation - # - --cmake_minimum_required( VERSION 2.6 ) -+cmake_minimum_required( VERSION 3.5 ) - project( automotive-dlt-example2 ) - - # -diff --git a/examples/example3/CMakeLists.txt b/examples/example3/CMakeLists.txt -index 45b7467..4d4958d 100644 ---- a/examples/example3/CMakeLists.txt -+++ b/examples/example3/CMakeLists.txt -@@ -17,7 +17,7 @@ - # DLT example implementation - # - --cmake_minimum_required( VERSION 2.6 ) -+cmake_minimum_required( VERSION 3.5 ) - project( automotive-dlt-example3 ) - - # -diff --git a/examples/example4/CMakeLists.txt b/examples/example4/CMakeLists.txt -index 53a4fad..161c333 100644 ---- a/examples/example4/CMakeLists.txt -+++ b/examples/example4/CMakeLists.txt -@@ -17,7 +17,7 @@ - # DLT example implementation - # - --cmake_minimum_required( VERSION 2.6 ) -+cmake_minimum_required( VERSION 3.5 ) - project( automotive-dlt-example4 ) - - # --- -2.43.0 - diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch deleted file mode 100644 index 3699b8c83a5..00000000000 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch +++ /dev/null @@ -1,80 +0,0 @@ -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/544] - -From 8121a979026d5fcb05bd4e5d3a0647f321b56106 Mon Sep 17 00:00:00 2001 -From: Gianfranco Costamagna -Date: Thu, 28 Sep 2023 12:54:23 +0200 -Subject: [PATCH] Add common dlt_cdh_cpuinfo.c to unblock build on non amd64 - and i386 arcs - ---- - src/core_dump_handler/dlt_cdh.h | 2 ++ - src/core_dump_handler/dlt_cdh_cpuinfo.c | 33 +++++++++++++++++++++++++ - src/core_dump_handler/dlt_cdh_crashid.c | 2 +- - 3 files changed, 36 insertions(+), 1 deletion(-) - create mode 100644 src/core_dump_handler/dlt_cdh_cpuinfo.c - -diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h -index d572ecf3..8608c6c4 100644 ---- a/src/core_dump_handler/dlt_cdh.h -+++ b/src/core_dump_handler/dlt_cdh.h -@@ -55,6 +55,8 @@ typedef struct - uint64_t pc; - uint64_t ip; - uint64_t lr; -+ uint64_t sp; -+ uint64_t fp; - - } cdh_registers_t; - -diff --git a/src/core_dump_handler/dlt_cdh_cpuinfo.c b/src/core_dump_handler/dlt_cdh_cpuinfo.c -new file mode 100644 -index 00000000..03509fda ---- /dev/null -+++ b/src/core_dump_handler/dlt_cdh_cpuinfo.c -@@ -0,0 +1,33 @@ -+/* -+ * SPDX license identifier: MPL-2.0 -+ * -+ * Copyright (C) 2011-2015, BMW AG -+ * -+ * This file is part of COVESA Project DLT - Diagnostic Log and Trace. -+ * -+ * This Source Code Form is subject to the terms of the -+ * Mozilla Public License (MPL), v. 2.0. -+ * If a copy of the MPL was not distributed with this file, -+ * You can obtain one at http://mozilla.org/MPL/2.0/. -+ * -+ * For further information see http://www.covesa.org/. -+ */ -+ -+/*! -+ * \author Gianfranco Costamagna -+ * -+ * \copyright Copyright © 2011-2015 BMW AG. \n -+ * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/. -+ * -+ * \file dlt_cdh_cpuinfo.c -+ */ -+ -+#include "dlt_cdh_cpuinfo.h" -+ -+void get_registers(prstatus_t *prstatus, cdh_registers_t *registers) -+{ -+/* struct user_regs_struct *ptr_reg = (struct user_regs_struct *)prstatus->pr_reg; -+ -+ registers->pc = ptr_reg->pc;*/ /* [REG_PROC_COUNTER]; */ -+ -+} -diff --git a/src/core_dump_handler/dlt_cdh_crashid.c b/src/core_dump_handler/dlt_cdh_crashid.c -index bca44e0e..8dd98d70 100644 ---- a/src/core_dump_handler/dlt_cdh_crashid.c -+++ b/src/core_dump_handler/dlt_cdh_crashid.c -@@ -30,7 +30,7 @@ - #include - #include - #include --#include -+#include - #include - - #include "dlt_cdh.h" diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch deleted file mode 100644 index fd364804567..00000000000 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch +++ /dev/null @@ -1,36 +0,0 @@ -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/567] - -From c84e48f6986054cf8b9459e608235b7bd1635746 Mon Sep 17 00:00:00 2001 -From: Gianfranco Costamagna -Date: Mon, 13 Nov 2023 12:37:23 +0100 -Subject: [PATCH] dlt_cdh: - -Make sure on 64 bit we read an ELF64 structure. -Otherwise we get a read error, and the context file is missing some good -to know information ---- - src/core_dump_handler/dlt_cdh.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h -index 8608c6c4..3dac480a 100644 ---- a/src/core_dump_handler/dlt_cdh.h -+++ b/src/core_dump_handler/dlt_cdh.h -@@ -45,10 +45,17 @@ - #define CORE_FILE_PATTERN "%s/core.%d.%s.%d.gz" - #define CONTEXT_FILE_PATTERN "%s/context.%d.%s.%d.txt" - -+#if ((__SIZEOF_POINTER) == 4) - #define ELF_Ehdr Elf32_Ehdr - #define ELF_Phdr Elf32_Phdr - #define ELF_Shdr Elf32_Shdr - #define ELF_Nhdr Elf32_Nhdr -+#else -+#define ELF_Ehdr Elf64_Ehdr -+#define ELF_Phdr Elf64_Phdr -+#define ELF_Shdr Elf64_Shdr -+#define ELF_Nhdr Elf64_Nhdr -+#endif - - typedef struct - { diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/char_conversion.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/char_conversion.patch new file mode 100644 index 00000000000..8d943b97642 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/char_conversion.patch @@ -0,0 +1,27 @@ +daemon: fix sign-conversion warning in dlt_timer_conn_types array type + +Change dlt_timer_conn_types from char[] to DltConnectionType[] to match +the actual type of values stored in the array. + +This was silently working on arm64 because char is unsigned by default on +that architecture, making it compatible with DltConnectionType (an unsigned +enum). On x86_64, char is signed by default, causing an implicit signed-to- +unsigned conversion when passing array elements to dlt_connection_create(), +which triggered -Wsign-conversion and broke the build. + +The fix corrects the array's declared type to match its contents, making the +code portable regardless of the platform's char signedness. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/src/daemon/dlt-daemon.c ++++ b/src/daemon/dlt-daemon.c +@@ -140,7 +140,7 @@ int g_signo = 0; + /* used for value from conf file */ + static int value_length = 1024; + +-static char dlt_timer_conn_types[DLT_TIMER_UNKNOWN + 1] = { ++static DltConnectionType dlt_timer_conn_types[DLT_TIMER_UNKNOWN + 1] = { + [DLT_TIMER_PACKET] = DLT_CONNECTION_ONE_S_TIMER, + [DLT_TIMER_ECU] = DLT_CONNECTION_SIXTY_S_TIMER, + #ifdef DLT_SYSTEMD_WATCHDOG_ENABLE diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb deleted file mode 100644 index 82edde6c9d7..00000000000 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb +++ /dev/null @@ -1,74 +0,0 @@ -SUMMARY = "Diagnostic Log and Trace" -DESCRIPTION = "This component provides a standardised log and trace interface, \ -based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \ -This component can be used by COVESA components and other applications as \ -logging facility providing: \ -- the DLT shared library \ -- the DLT daemon, including startup scripts \ -- the DLT daemon adaptors- the DLT client console utilities \ -- the DLT test applications" -HOMEPAGE = "https://www.covesa.global/" -SECTION = "console/utils" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea" - -DEPENDS = "zlib gzip-native json-c" - -SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \ - file://0002-Don-t-execute-processes-as-a-specific-user.patch \ - file://0004-Modify-systemd-config-directory.patch \ - file://544.patch \ - file://567.patch \ - file://0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch \ - file://0003-allow-build-with-cmake-4.patch \ - " -SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f" - - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal ', '', d)} \ - dlt-examples dlt-adaptor dlt-adaptor-stdin dlt-adaptor-udp dlt-console \ - udp-connection dlt-system dlt-filetransfer " -# dlt-dbus - -# General options -PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF" - -# Linux options -PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF -DWITH_DLT_SYSTEM=OFF,systemd" -PACKAGECONFIG[systemd-watchdog] = "-DWITH_SYSTEMD_WATCHDOG=ON,-DWITH_SYSTEMD_WATCHDOG=OFF,systemd,libsystemd" -PACKAGECONFIG[systemd-journal] = "-DWITH_SYSTEMD_JOURNAL=ON,-DWITH_SYSTEMD_JOURNAL=OFF,systemd,libsystemd" -PACKAGECONFIG[dlt-dbus] = "-DWITH_DLT_DBUS=ON,-DWITH_DLT_DBUS=OFF,dbus,dbus-lib" -PACKAGECONFIG[udp-connection] = "-DWITH_UDP_CONNECTION=ON,-DWITH_UDP_CONNECTION=OFF" - -# Command line options -PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF" -PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF" -PACKAGECONFIG[dlt-adaptor-stdin] = "-DWITH_DLT_ADAPTOR_STDIN=ON,-DWITH_DLT_ADAPTOR_STDIN=OFF" -PACKAGECONFIG[dlt-adaptor-udp] = "-DWITH_DLT_ADAPTOR_UDP=ON,-DWITH_DLT_ADAPTOR_UDP=OFF" -PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF" -PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF" - -inherit autotools gettext cmake pkgconfig systemd - -# -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now -#FILES:${PN} += "${libdir}/sysctl.d" -EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}" - -PACKAGES += "${PN}-systemd" -SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" -SYSTEMD_SERVICE:${PN} = " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'dlt.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-system', 'dlt-system.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-dbus', 'dlt-dbus.service', '', d)}" -SYSTEMD_AUTO_ENABLE:${PN} = "enable" -SYSTEMD_SERVICE:${PN}-systemd = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-adaptor-udp', 'dlt-adaptor-udp.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples', 'dlt-example-user.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples dlt-console', 'dlt-receive.service', '', d)} \ -" -SYSTEMD_AUTO_ENABLE:${PN}-systemd = "disable" - -FILES:${PN}-doc += "${datadir}/dlt-filetransfer" - -do_install:append() { - rm -f ${D}${bindir}/dlt-test-* -} diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb new file mode 100644 index 00000000000..6de62c2a3dd --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb @@ -0,0 +1,82 @@ +SUMMARY = "Diagnostic Log and Trace" +DESCRIPTION = "This component provides a standardised log and trace interface, \ +based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \ +This component can be used by COVESA components and other applications as \ +logging facility providing: \ +- the DLT shared library \ +- the DLT daemon, including startup scripts \ +- the DLT daemon adaptors- the DLT client console utilities \ +- the DLT test applications" +HOMEPAGE = "https://www.covesa.global/" +SECTION = "console/utils" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea" + +DEPENDS = "zlib gzip-native json-c" + +SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \ + file://0002-Don-t-execute-processes-as-a-specific-user.patch \ + file://0004-Modify-systemd-config-directory.patch \ + file://0001-Fix-compile-failure-related-to-gzlog.patch \ + file://0001-Fix-kinds-of-build-failure.patch \ + file://0001-Fix-build-failures.patch \ + file://0001-fix-build-failure-when-systemd-is-enabled.patch \ + file://0001-Fix-build-failure-with-glibc-2.43.patch \ + file://0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch \ + file://0001-warnings-Fix-clang-generated-warnings.patch \ + file://0001-dlt-daemon.c-fix-wrong-len.patch \ + file://char_conversion.patch \ + " +SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320" + + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal ', '', d)} \ + dlt-examples dlt-adaptor dlt-adaptor-stdin dlt-adaptor-udp dlt-console \ + udp-connection dlt-system dlt-filetransfer " +# dlt-dbus + +# General options +PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF" + +# Linux options +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF -DWITH_DLT_SYSTEM=OFF,systemd" +PACKAGECONFIG[systemd-watchdog] = "-DWITH_SYSTEMD_WATCHDOG=ON,-DWITH_SYSTEMD_WATCHDOG=OFF,systemd,libsystemd" +PACKAGECONFIG[systemd-journal] = "-DWITH_SYSTEMD_JOURNAL=ON,-DWITH_SYSTEMD_JOURNAL=OFF,systemd,libsystemd" +PACKAGECONFIG[dlt-dbus] = "-DWITH_DLT_DBUS=ON,-DWITH_DLT_DBUS=OFF,dbus,dbus-lib" +PACKAGECONFIG[udp-connection] = "-DWITH_UDP_CONNECTION=ON,-DWITH_UDP_CONNECTION=OFF" + +# Command line options +PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF" +PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF" +PACKAGECONFIG[dlt-adaptor-stdin] = "-DWITH_DLT_ADAPTOR_STDIN=ON,-DWITH_DLT_ADAPTOR_STDIN=OFF" +PACKAGECONFIG[dlt-adaptor-udp] = "-DWITH_DLT_ADAPTOR_UDP=ON,-DWITH_DLT_ADAPTOR_UDP=OFF" +PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF" +PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF" + +inherit autotools gettext cmake pkgconfig systemd + +# -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now +#FILES:${PN} += "${libdir}/sysctl.d" +EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir} -DWITH_DLT_USE_IPv6=OFF" + +PACKAGES += "${PN}-systemd" +SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" +SYSTEMD_SERVICE:${PN} = " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'dlt.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-system', 'dlt-system.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-dbus', 'dlt-dbus.service', '', d)}" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" +SYSTEMD_SERVICE:${PN}-systemd = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-adaptor-udp', 'dlt-adaptor-udp.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples', 'dlt-example-user.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples dlt-console', 'dlt-receive.service', '', d)} \ +" +SYSTEMD_AUTO_ENABLE:${PN}-systemd = "disable" + +FILES:${PN}-doc += "${datadir}/dlt-filetransfer" + +do_install:append() { + rm -f ${D}${bindir}/dlt-test-* + if [ -f ${D}${libdir}/pkgconfig/automotive-dlt.pc ]; then + sed -i -e 's:${RECIPE_SYSROOT}::g' ${D}${libdir}/pkgconfig/automotive-dlt.pc + fi +} diff --git a/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb b/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb index 4ca7c081eac..d1480e836a7 100644 --- a/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb +++ b/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb @@ -19,6 +19,8 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ inherit autotools gettext +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + EXTRA_OECONF += "PERL='${USRBINPATH}/env perl'" SRC_URI[sha256sum] = "6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb" diff --git a/meta-oe/recipes-extended/fd-find/fd-find-crates.inc b/meta-oe/recipes-extended/fd-find/fd-find-crates.inc index ae70f2182f1..3ee3a3eb447 100644 --- a/meta-oe/recipes-extended/fd-find/fd-find-crates.inc +++ b/meta-oe/recipes-extended/fd-find/fd-find-crates.inc @@ -2,217 +2,255 @@ # from Cargo.lock SRC_URI += " \ - crate://crates.io/aho-corasick/1.1.3 \ - crate://crates.io/anstream/0.6.19 \ - crate://crates.io/anstyle/1.0.11 \ + crate://crates.io/aho-corasick/1.1.4 \ + crate://crates.io/anstream/0.6.21 \ + crate://crates.io/anstyle/1.0.13 \ crate://crates.io/anstyle-parse/0.2.7 \ - crate://crates.io/anstyle-query/1.1.3 \ - crate://crates.io/anstyle-wincon/3.0.9 \ - crate://crates.io/anyhow/1.0.98 \ + crate://crates.io/anstyle-query/1.1.5 \ + crate://crates.io/anstyle-wincon/3.0.11 \ + crate://crates.io/anyhow/1.0.102 \ crate://crates.io/argmax/0.4.0 \ crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bitflags/2.9.1 \ - crate://crates.io/bstr/1.12.0 \ - crate://crates.io/cc/1.2.29 \ - crate://crates.io/cfg-if/1.0.1 \ + crate://crates.io/bitflags/2.11.0 \ + crate://crates.io/block2/0.6.2 \ + crate://crates.io/bstr/1.12.1 \ + crate://crates.io/cc/1.2.56 \ + crate://crates.io/cfg-if/1.0.4 \ crate://crates.io/cfg_aliases/0.2.1 \ - crate://crates.io/clap/4.5.42 \ - crate://crates.io/clap_builder/4.5.42 \ - crate://crates.io/clap_complete/4.5.55 \ - crate://crates.io/clap_derive/4.5.41 \ - crate://crates.io/clap_lex/0.7.5 \ + crate://crates.io/clap/4.5.60 \ + crate://crates.io/clap_builder/4.5.60 \ + crate://crates.io/clap_complete/4.5.66 \ + crate://crates.io/clap_derive/4.5.55 \ + crate://crates.io/clap_lex/1.0.0 \ crate://crates.io/colorchoice/1.0.4 \ crate://crates.io/crossbeam-channel/0.5.15 \ crate://crates.io/crossbeam-deque/0.8.6 \ crate://crates.io/crossbeam-epoch/0.9.18 \ crate://crates.io/crossbeam-utils/0.8.21 \ - crate://crates.io/ctrlc/3.4.7 \ + crate://crates.io/ctrlc/3.5.2 \ crate://crates.io/diff/0.1.13 \ - crate://crates.io/errno/0.3.13 \ - crate://crates.io/etcetera/0.10.0 \ + crate://crates.io/dispatch2/0.3.1 \ + crate://crates.io/equivalent/1.0.2 \ + crate://crates.io/errno/0.3.14 \ + crate://crates.io/etcetera/0.11.0 \ crate://crates.io/faccess/0.2.4 \ crate://crates.io/fastrand/2.3.0 \ - crate://crates.io/filetime/0.2.25 \ - crate://crates.io/getrandom/0.3.3 \ - crate://crates.io/globset/0.4.16 \ + crate://crates.io/filetime/0.2.27 \ + crate://crates.io/find-msvc-tools/0.1.9 \ + crate://crates.io/foldhash/0.1.5 \ + crate://crates.io/getrandom/0.4.2 \ + crate://crates.io/globset/0.4.18 \ + crate://crates.io/hashbrown/0.15.5 \ + crate://crates.io/hashbrown/0.16.1 \ crate://crates.io/heck/0.5.0 \ - crate://crates.io/home/0.5.9 \ - crate://crates.io/ignore/0.4.23 \ - crate://crates.io/is_terminal_polyfill/1.70.1 \ - crate://crates.io/jiff/0.2.15 \ - crate://crates.io/jiff-static/0.2.15 \ - crate://crates.io/jiff-tzdb/0.1.4 \ + crate://crates.io/id-arena/2.3.0 \ + crate://crates.io/ignore/0.4.25 \ + crate://crates.io/indexmap/2.13.0 \ + crate://crates.io/is_terminal_polyfill/1.70.2 \ + crate://crates.io/itoa/1.0.17 \ + crate://crates.io/jiff/0.2.23 \ + crate://crates.io/jiff-static/0.2.23 \ + crate://crates.io/jiff-tzdb/0.1.6 \ crate://crates.io/jiff-tzdb-platform/0.1.3 \ - crate://crates.io/libc/0.2.174 \ - crate://crates.io/libredox/0.1.4 \ - crate://crates.io/linux-raw-sys/0.9.4 \ - crate://crates.io/log/0.4.27 \ - crate://crates.io/lscolors/0.20.0 \ - crate://crates.io/memchr/2.7.5 \ + crate://crates.io/leb128fmt/0.1.0 \ + crate://crates.io/libc/0.2.183 \ + crate://crates.io/libredox/0.1.14 \ + crate://crates.io/linux-raw-sys/0.12.1 \ + crate://crates.io/log/0.4.29 \ + crate://crates.io/lscolors/0.21.0 \ + crate://crates.io/memchr/2.8.0 \ crate://crates.io/nix/0.30.1 \ - crate://crates.io/normpath/1.3.0 \ - crate://crates.io/nu-ansi-term/0.50.1 \ + crate://crates.io/nix/0.31.2 \ + crate://crates.io/normpath/1.5.0 \ + crate://crates.io/nu-ansi-term/0.50.3 \ + crate://crates.io/objc2/0.6.4 \ + crate://crates.io/objc2-encode/4.1.0 \ crate://crates.io/once_cell/1.21.3 \ - crate://crates.io/once_cell_polyfill/1.70.1 \ - crate://crates.io/portable-atomic/1.11.1 \ - crate://crates.io/portable-atomic-util/0.2.4 \ - crate://crates.io/proc-macro2/1.0.95 \ - crate://crates.io/quote/1.0.40 \ - crate://crates.io/r-efi/5.3.0 \ - crate://crates.io/redox_syscall/0.5.13 \ - crate://crates.io/regex/1.11.1 \ - crate://crates.io/regex-automata/0.4.9 \ - crate://crates.io/regex-syntax/0.8.5 \ - crate://crates.io/rustix/1.0.7 \ + crate://crates.io/once_cell_polyfill/1.70.2 \ + crate://crates.io/plain/0.2.3 \ + crate://crates.io/portable-atomic/1.13.1 \ + crate://crates.io/portable-atomic-util/0.2.5 \ + crate://crates.io/prettyplease/0.2.37 \ + crate://crates.io/proc-macro2/1.0.106 \ + crate://crates.io/quote/1.0.45 \ + crate://crates.io/r-efi/6.0.0 \ + crate://crates.io/redox_syscall/0.7.3 \ + crate://crates.io/regex/1.12.3 \ + crate://crates.io/regex-automata/0.4.14 \ + crate://crates.io/regex-syntax/0.8.10 \ + crate://crates.io/rustix/1.1.4 \ crate://crates.io/same-file/1.0.6 \ - crate://crates.io/serde/1.0.219 \ - crate://crates.io/serde_derive/1.0.219 \ + crate://crates.io/semver/1.0.27 \ + crate://crates.io/serde/1.0.228 \ + crate://crates.io/serde_core/1.0.228 \ + crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/serde_json/1.0.149 \ crate://crates.io/shlex/1.3.0 \ crate://crates.io/strsim/0.11.1 \ - crate://crates.io/syn/2.0.104 \ - crate://crates.io/tempfile/3.20.0 \ - crate://crates.io/terminal_size/0.4.2 \ + crate://crates.io/syn/2.0.117 \ + crate://crates.io/tempfile/3.26.0 \ + crate://crates.io/terminal_size/0.4.3 \ crate://crates.io/test-case/3.3.1 \ crate://crates.io/test-case-core/3.3.1 \ crate://crates.io/test-case-macros/3.3.1 \ - crate://crates.io/tikv-jemalloc-sys/0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 \ - crate://crates.io/tikv-jemallocator/0.6.0 \ - crate://crates.io/unicode-ident/1.0.18 \ + crate://crates.io/tikv-jemalloc-sys/0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 \ + crate://crates.io/tikv-jemallocator/0.6.1 \ + crate://crates.io/unicode-ident/1.0.24 \ + crate://crates.io/unicode-xid/0.2.6 \ crate://crates.io/utf8parse/0.2.2 \ - crate://crates.io/version_check/0.9.5 \ crate://crates.io/walkdir/2.5.0 \ - crate://crates.io/wasi/0.14.2+wasi-0.2.4 \ + crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ + crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ + crate://crates.io/wasm-encoder/0.244.0 \ + crate://crates.io/wasm-metadata/0.244.0 \ + crate://crates.io/wasmparser/0.244.0 \ crate://crates.io/winapi/0.3.9 \ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-util/0.1.9 \ + crate://crates.io/winapi-util/0.1.11 \ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/windows-sys/0.52.0 \ - crate://crates.io/windows-sys/0.59.0 \ + crate://crates.io/windows-link/0.2.1 \ crate://crates.io/windows-sys/0.60.2 \ - crate://crates.io/windows-targets/0.52.6 \ - crate://crates.io/windows-targets/0.53.2 \ - crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ - crate://crates.io/windows_aarch64_gnullvm/0.53.0 \ - crate://crates.io/windows_aarch64_msvc/0.52.6 \ - crate://crates.io/windows_aarch64_msvc/0.53.0 \ - crate://crates.io/windows_i686_gnu/0.52.6 \ - crate://crates.io/windows_i686_gnu/0.53.0 \ - crate://crates.io/windows_i686_gnullvm/0.52.6 \ - crate://crates.io/windows_i686_gnullvm/0.53.0 \ - crate://crates.io/windows_i686_msvc/0.52.6 \ - crate://crates.io/windows_i686_msvc/0.53.0 \ - crate://crates.io/windows_x86_64_gnu/0.52.6 \ - crate://crates.io/windows_x86_64_gnu/0.53.0 \ - crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ - crate://crates.io/windows_x86_64_gnullvm/0.53.0 \ - crate://crates.io/windows_x86_64_msvc/0.52.6 \ - crate://crates.io/windows_x86_64_msvc/0.53.0 \ - crate://crates.io/wit-bindgen-rt/0.39.0 \ + crate://crates.io/windows-sys/0.61.2 \ + crate://crates.io/windows-targets/0.53.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.53.1 \ + crate://crates.io/windows_aarch64_msvc/0.53.1 \ + crate://crates.io/windows_i686_gnu/0.53.1 \ + crate://crates.io/windows_i686_gnullvm/0.53.1 \ + crate://crates.io/windows_i686_msvc/0.53.1 \ + crate://crates.io/windows_x86_64_gnu/0.53.1 \ + crate://crates.io/windows_x86_64_gnullvm/0.53.1 \ + crate://crates.io/windows_x86_64_msvc/0.53.1 \ + crate://crates.io/wit-bindgen/0.51.0 \ + crate://crates.io/wit-bindgen-core/0.51.0 \ + crate://crates.io/wit-bindgen-rust/0.51.0 \ + crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ + crate://crates.io/wit-component/0.244.0 \ + crate://crates.io/wit-parser/0.244.0 \ + crate://crates.io/zmij/1.0.21 \ " -SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -SRC_URI[anstream-0.6.19.sha256sum] = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" -SRC_URI[anstyle-1.0.11.sha256sum] = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" +SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +SRC_URI[anstream-0.6.21.sha256sum] = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" -SRC_URI[anstyle-query-1.1.3.sha256sum] = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" -SRC_URI[anstyle-wincon-3.0.9.sha256sum] = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" -SRC_URI[anyhow-1.0.98.sha256sum] = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +SRC_URI[anyhow-1.0.102.sha256sum] = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" SRC_URI[argmax-0.4.0.sha256sum] = "0144c58b55af0133ec3963ce5e4d07aad866e3bbcfdcddbf4590dbd7ad6ff557" SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bitflags-2.9.1.sha256sum] = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" -SRC_URI[bstr-1.12.0.sha256sum] = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" -SRC_URI[cc-1.2.29.sha256sum] = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362" -SRC_URI[cfg-if-1.0.1.sha256sum] = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +SRC_URI[bitflags-2.11.0.sha256sum] = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +SRC_URI[cc-1.2.56.sha256sum] = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" -SRC_URI[clap-4.5.42.sha256sum] = "ed87a9d530bb41a67537289bafcac159cb3ee28460e0a4571123d2a778a6a882" -SRC_URI[clap_builder-4.5.42.sha256sum] = "64f4f3f3c77c94aff3c7e9aac9a2ca1974a5adf392a8bb751e827d6d127ab966" -SRC_URI[clap_complete-4.5.55.sha256sum] = "a5abde44486daf70c5be8b8f8f1b66c49f86236edf6fa2abadb4d961c4c6229a" -SRC_URI[clap_derive-4.5.41.sha256sum] = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" -SRC_URI[clap_lex-0.7.5.sha256sum] = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" +SRC_URI[clap-4.5.60.sha256sum] = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" +SRC_URI[clap_builder-4.5.60.sha256sum] = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" +SRC_URI[clap_complete-4.5.66.sha256sum] = "c757a3b7e39161a4e56f9365141ada2a6c915a8622c408ab6bb4b5d047371031" +SRC_URI[clap_derive-4.5.55.sha256sum] = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" +SRC_URI[clap_lex-1.0.0.sha256sum] = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" SRC_URI[crossbeam-channel-0.5.15.sha256sum] = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" -SRC_URI[ctrlc-3.4.7.sha256sum] = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" +SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" -SRC_URI[errno-0.3.13.sha256sum] = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" -SRC_URI[etcetera-0.10.0.sha256sum] = "26c7b13d0780cb82722fd59f6f57f925e143427e4a75313a6c77243bf5326ae6" +SRC_URI[dispatch2-0.3.1.sha256sum] = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +SRC_URI[etcetera-0.11.0.sha256sum] = "de48cc4d1c1d97a20fd819def54b890cadde72ed3ad0c614822a0a433361be96" SRC_URI[faccess-0.2.4.sha256sum] = "59ae66425802d6a903e268ae1a08b8c38ba143520f227a205edf4e9c7e3e26d5" SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -SRC_URI[filetime-0.2.25.sha256sum] = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -SRC_URI[getrandom-0.3.3.sha256sum] = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" -SRC_URI[globset-0.4.16.sha256sum] = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5" +SRC_URI[filetime-0.2.27.sha256sum] = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" +SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +SRC_URI[getrandom-0.4.2.sha256sum] = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +SRC_URI[globset-0.4.18.sha256sum] = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" +SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -SRC_URI[ignore-0.4.23.sha256sum] = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" -SRC_URI[is_terminal_polyfill-1.70.1.sha256sum] = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" -SRC_URI[jiff-0.2.15.sha256sum] = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" -SRC_URI[jiff-static-0.2.15.sha256sum] = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" -SRC_URI[jiff-tzdb-0.1.4.sha256sum] = "c1283705eb0a21404d2bfd6eef2a7593d240bc42a0bdb39db0ad6fa2ec026524" +SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +SRC_URI[ignore-0.4.25.sha256sum] = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a" +SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +SRC_URI[jiff-0.2.23.sha256sum] = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" +SRC_URI[jiff-static-0.2.23.sha256sum] = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" +SRC_URI[jiff-tzdb-0.1.6.sha256sum] = "c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076" SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" -SRC_URI[libc-0.2.174.sha256sum] = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" -SRC_URI[libredox-0.1.4.sha256sum] = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" -SRC_URI[linux-raw-sys-0.9.4.sha256sum] = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" -SRC_URI[log-0.4.27.sha256sum] = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" -SRC_URI[lscolors-0.20.0.sha256sum] = "61183da5de8ba09a58e330d55e5ea796539d8443bd00fdeb863eac39724aa4ab" -SRC_URI[memchr-2.7.5.sha256sum] = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +SRC_URI[libc-0.2.183.sha256sum] = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" +SRC_URI[libredox-0.1.14.sha256sum] = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" +SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +SRC_URI[log-0.4.29.sha256sum] = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +SRC_URI[lscolors-0.21.0.sha256sum] = "d60e266dfb1426eb2d24792602e041131fdc0236bb7007abc0e589acafd60929" +SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" -SRC_URI[normpath-1.3.0.sha256sum] = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" -SRC_URI[nu-ansi-term-0.50.1.sha256sum] = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +SRC_URI[nix-0.31.2.sha256sum] = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" +SRC_URI[normpath-1.5.0.sha256sum] = "bf23ab2b905654b4cb177e30b629937b3868311d4e1cba859f899c041046e69b" +SRC_URI[nu-ansi-term-0.50.3.sha256sum] = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +SRC_URI[objc2-0.6.4.sha256sum] = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +SRC_URI[objc2-encode-4.1.0.sha256sum] = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" -SRC_URI[once_cell_polyfill-1.70.1.sha256sum] = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" -SRC_URI[portable-atomic-1.11.1.sha256sum] = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" -SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" -SRC_URI[proc-macro2-1.0.95.sha256sum] = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" -SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" -SRC_URI[redox_syscall-0.5.13.sha256sum] = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" -SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" -SRC_URI[rustix-1.0.7.sha256sum] = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +SRC_URI[once_cell_polyfill-1.70.2.sha256sum] = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" +SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +SRC_URI[r-efi-6.0.0.sha256sum] = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +SRC_URI[redox_syscall-0.7.3.sha256sum] = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" +SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +SRC_URI[regex-automata-0.4.14.sha256sum] = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +SRC_URI[regex-syntax-0.8.10.sha256sum] = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -SRC_URI[serde-1.0.219.sha256sum] = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -SRC_URI[serde_derive-1.0.219.sha256sum] = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +SRC_URI[semver-1.0.27.sha256sum] = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -SRC_URI[syn-2.0.104.sha256sum] = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" -SRC_URI[tempfile-3.20.0.sha256sum] = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" -SRC_URI[terminal_size-0.4.2.sha256sum] = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" +SRC_URI[syn-2.0.117.sha256sum] = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +SRC_URI[tempfile-3.26.0.sha256sum] = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" +SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" SRC_URI[test-case-3.3.1.sha256sum] = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" SRC_URI[test-case-core-3.3.1.sha256sum] = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" SRC_URI[test-case-macros-3.3.1.sha256sum] = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" -SRC_URI[tikv-jemalloc-sys-0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7.sha256sum] = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" -SRC_URI[tikv-jemallocator-0.6.0.sha256sum] = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" -SRC_URI[unicode-ident-1.0.18.sha256sum] = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +SRC_URI[tikv-jemalloc-sys-0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7.sha256sum] = "cd8aa5b2ab86a2cefa406d889139c162cbb230092f7d1d7cbc1716405d852a3b" +SRC_URI[tikv-jemallocator-0.6.1.sha256sum] = "0359b4327f954e0567e69fb191cf1436617748813819c94b8cd4a431422d053a" +SRC_URI[unicode-ident-1.0.24.sha256sum] = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" -SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -SRC_URI[wasi-0.14.2+wasi-0.2.4.sha256sum] = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-util-0.1.9.sha256sum] = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +SRC_URI[windows-link-0.2.1.sha256sum] = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" SRC_URI[windows-sys-0.60.2.sha256sum] = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -SRC_URI[windows-targets-0.53.2.sha256sum] = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" -SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -SRC_URI[windows_aarch64_gnullvm-0.53.0.sha256sum] = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" -SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -SRC_URI[windows_aarch64_msvc-0.53.0.sha256sum] = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" -SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -SRC_URI[windows_i686_gnu-0.53.0.sha256sum] = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" -SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -SRC_URI[windows_i686_gnullvm-0.53.0.sha256sum] = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" -SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -SRC_URI[windows_i686_msvc-0.53.0.sha256sum] = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" -SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -SRC_URI[windows_x86_64_gnu-0.53.0.sha256sum] = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" -SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -SRC_URI[windows_x86_64_gnullvm-0.53.0.sha256sum] = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" -SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -SRC_URI[windows_x86_64_msvc-0.53.0.sha256sum] = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" -SRC_URI[wit-bindgen-rt-0.39.0.sha256sum] = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +SRC_URI[windows-sys-0.61.2.sha256sum] = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +SRC_URI[windows-targets-0.53.5.sha256sum] = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +SRC_URI[windows_aarch64_gnullvm-0.53.1.sha256sum] = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +SRC_URI[windows_aarch64_msvc-0.53.1.sha256sum] = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +SRC_URI[windows_i686_gnu-0.53.1.sha256sum] = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" +SRC_URI[windows_i686_gnullvm-0.53.1.sha256sum] = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +SRC_URI[windows_i686_msvc-0.53.1.sha256sum] = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +SRC_URI[windows_x86_64_gnu-0.53.1.sha256sum] = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +SRC_URI[zmij-1.0.21.sha256sum] = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/meta-oe/recipes-extended/fd-find/fd-find/0001-Define-ALIGNOF_MAX_ALIGN_T-for-riscv32.patch b/meta-oe/recipes-extended/fd-find/fd-find/0001-Define-ALIGNOF_MAX_ALIGN_T-for-riscv32.patch index 82eac5e1a59..db191d82505 100644 --- a/meta-oe/recipes-extended/fd-find/fd-find/0001-Define-ALIGNOF_MAX_ALIGN_T-for-riscv32.patch +++ b/meta-oe/recipes-extended/fd-find/fd-find/0001-Define-ALIGNOF_MAX_ALIGN_T-for-riscv32.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Define ALIGNOF_MAX_ALIGN_T for riscv32 Long double is 16byte aligned on both rv32 and rv64 -Upstream-Status: Submitted [https://github.com/tikv/jemallocator/pull/153] +Upstream-Status: Backport [https://github.com/tikv/jemallocator/commit/f4fde3f8f572b804adf15cf4c68b826109f8c36b] Signed-off-by: Khem Raj --- @@ -16,8 +16,8 @@ diff --git a/src/lib.rs b/src/lib.rs index 165660e..5f6a2a0 100644 --- a/src/lib.rs +++ b/src/lib.rs -@@ -57,6 +57,7 @@ const ALIGNOF_MAX_ALIGN_T: usize = 8; - target_arch = "powerpc64le", +@@ -51,6 +51,7 @@ const ALIGNOF_MAX_ALIGN_T: usize = 8; + target_arch = "powerpc64", target_arch = "loongarch64", target_arch = "mips64", + target_arch = "riscv32", diff --git a/meta-oe/recipes-extended/fd-find/fd-find_10.3.0.bb b/meta-oe/recipes-extended/fd-find/fd-find_10.3.0.bb deleted file mode 100644 index 3a28009471c..00000000000 --- a/meta-oe/recipes-extended/fd-find/fd-find_10.3.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "fd is a simple, fast and user-friendly alternative to find." -HOMEPAGE = "https://crates.io/crates/fd-find" -DESCRIPTION = "fd is a program to find entries in your filesystem. It \ - is a simple, fast and user-friendly alternative to find. \ - While it does not aim to support all of find's powerful \ - functionality, it provides sensible (opinionated) defaults \ - for a majority of use cases." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = " \ - file://LICENSE-MIT;md5=96713c739748a44f86272791c89ce344 \ -" - -SRC_URI = "crate://crates.io/fd-find/${PV};name=fd-find" -SRC_URI += "file://0001-Define-ALIGNOF_MAX_ALIGN_T-for-riscv32.patch;patchdir=../tikv-jemallocator-0.6.0" -SRC_URI[fd-find.sha256sum] = "2fbf004b5bbdefab92e76237e2022c77842cdef5d3213fe09fd804e0474785db" -S = "${CARGO_VENDORING_DIRECTORY}/fd-find-${PV}" - -inherit cargo cargo-update-recipe-crates - -#Upstream fd-find sets strip = true in [profile.release], which causes Cargo -#to strip the binary during compilation. This interferes with Yocto’s normal -#do_package stripping process.By adding the following flag, we ensure that -#stripping is handled by Yocto as usual: -CARGO_BUILD_FLAGS += " --config profile.release.strip=false" - -require ${BPN}-crates.inc - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/fd-find/fd-find_10.4.2.bb b/meta-oe/recipes-extended/fd-find/fd-find_10.4.2.bb new file mode 100644 index 00000000000..408f97f4906 --- /dev/null +++ b/meta-oe/recipes-extended/fd-find/fd-find_10.4.2.bb @@ -0,0 +1,29 @@ +SUMMARY = "fd is a simple, fast and user-friendly alternative to find." +HOMEPAGE = "https://crates.io/crates/fd-find" +DESCRIPTION = "fd is a program to find entries in your filesystem. It \ + is a simple, fast and user-friendly alternative to find. \ + While it does not aim to support all of find's powerful \ + functionality, it provides sensible (opinionated) defaults \ + for a majority of use cases." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = " \ + file://LICENSE-MIT;md5=96713c739748a44f86272791c89ce344 \ +" + +SRC_URI = "crate://crates.io/fd-find/${PV};name=fd-find" +SRC_URI += "file://0001-Define-ALIGNOF_MAX_ALIGN_T-for-riscv32.patch;patchdir=../tikv-jemallocator-0.6.1" +SRC_URI[fd-find.sha256sum] = "b95ed7d1f53e0446a7d47715801f6bee95f816c4aa33e25b5d89a2734ab00436" +S = "${CARGO_VENDORING_DIRECTORY}/fd-find-${PV}" + +inherit cargo cargo-update-recipe-crates + +#Upstream fd-find sets strip = true in [profile.release], which causes Cargo +#to strip the binary during compilation. This interferes with Yocto’s normal +#do_package stripping process.By adding the following flag, we ensure that +#stripping is handled by Yocto as usual: +CARGO_BUILD_FLAGS += " --config profile.release.strip=false" + +require ${BPN}-crates.inc + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/figlet/figlet_git.bb b/meta-oe/recipes-extended/figlet/figlet_git.bb index d2268060508..6a8bb42699a 100644 --- a/meta-oe/recipes-extended/figlet/figlet_git.bb +++ b/meta-oe/recipes-extended/figlet/figlet_git.bb @@ -10,5 +10,6 @@ SRCREV = "5bbcd7383a8c3a531299b216b0c734e1495c6db3" PV = "2.2.5+git" inherit autotools +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/flatpak/flatpak_1.17.2.bb b/meta-oe/recipes-extended/flatpak/flatpak_1.17.2.bb deleted file mode 100644 index 4f8ad8add03..00000000000 --- a/meta-oe/recipes-extended/flatpak/flatpak_1.17.2.bb +++ /dev/null @@ -1,78 +0,0 @@ -DESCRIPTION = "Desktop containment framework." -HOMEPAGE = "http://flatpak.org" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = " \ - git://github.com/flatpak/flatpak;protocol=https;branch=main;tag=${PV} \ - file://0001-flatpak-pc-add-pc_sysrootdir.patch \ -" - -SRCREV = "20599618d623630f7aa38d61a2bb81d86fb25f09" - - -inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native mime features_check useradd - -REQUIRED_DISTRO_FEATURES = "polkit" - -DEPENDS = " \ - appstream \ - bison-native \ - bubblewrap-native \ - fuse3 \ - gdk-pixbuf \ - glib-2.0 \ - gpgme \ - json-glib \ - libarchive \ - libcap \ - libxml2 \ - ostree \ - polkit \ - python3-pyparsing-native \ - xdg-dbus-proxy-native \ - zstd \ - curl \ -" - -RDEPENDS:${PN} = " \ - ca-certificates \ - flatpak-xdg-utils \ - fuse3-utils \ - bubblewrap \ - xdg-dbus-proxy \ -" - -GIR_MESON_OPTION = "gir" -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GTKDOC_MESON_OPTION = 'gtkdoc' -GTKDOC_MESON_ENABLE_FLAG = 'enabled' -GTKDOC_MESON_DISABLE_FLAG = 'disabled' - -PACKAGECONFIG[dconf] = "-Ddconf=enabled,-Ddconf=disabled,dconf" -PACKAGECONFIG[docbook_docs] = "-Ddocbook_docs=enabled,-Ddocbook_docs=disabled,xmlto-native" -PACKAGECONFIG[man] = "-Dman=enabled,-Dman=disabled,libxslt-native" -PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,xauth socat-native" -PACKAGECONFIG[xauth] = "-Dxauth=enabled,-Dxauth=disabled,xauth" -PACKAGECONFIG[seccomp] = "-Dseccomp=enabled,-Dseccomp=disabled,libseccomp" -PACKAGECONFIG[malcontent] = "-Dmalcontent=enabled,-Dmalcontent=disabled,malcontent" -PACKAGECONFIG[selinux] = "-Dselinux_module=enabled,-Dselinux_module=disabled,libselinux" -PACKAGECONFIG[wayland-security-context] = "-Dwayland_security_context=enabled,-Dwayland_security_context=disabled,wayland wayland-native wayland-protocols" - -PACKAGECONFIG ?= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xauth', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-security-context', '', d)} \ -" - -EXTRA_OEMESON = " \ - -Dsystem_fusermount=fusermount3 \ - -Dsystem_bubblewrap=bwrap \ - -Dsystem_dbus_proxy=xdg-dbus-proxy \ -" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /sbin/nologin flatpak" - -FILES:${PN} += "${libdir} ${datadir}" diff --git a/meta-oe/recipes-extended/flatpak/flatpak_1.17.6.bb b/meta-oe/recipes-extended/flatpak/flatpak_1.17.6.bb new file mode 100644 index 00000000000..1512b7239f0 --- /dev/null +++ b/meta-oe/recipes-extended/flatpak/flatpak_1.17.6.bb @@ -0,0 +1,81 @@ +DESCRIPTION = "Desktop containment framework." +HOMEPAGE = "http://flatpak.org" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = " \ + git://github.com/flatpak/flatpak;protocol=https;branch=main;tag=${PV} \ + file://0001-flatpak-pc-add-pc_sysrootdir.patch \ +" + +SRCREV = "9b21874f1a175a9b7c79175a221fa043e202ca73" + + +inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native mime features_check useradd + +REQUIRED_DISTRO_FEATURES = "polkit" + +DEPENDS = " \ + appstream \ + bison-native \ + bubblewrap-native \ + fuse3 \ + gdk-pixbuf \ + glib-2.0 \ + gpgme \ + json-glib \ + libarchive \ + libcap \ + libxml2 \ + ostree \ + polkit \ + python3-pyparsing-native \ + xdg-dbus-proxy-native \ + zstd \ + curl \ +" + +RDEPENDS:${PN} = " \ + ca-certificates \ + flatpak-xdg-utils \ + fuse3-utils \ + bubblewrap \ + xdg-dbus-proxy \ +" + +GIR_MESON_OPTION = "gir" +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = 'gtkdoc' +GTKDOC_MESON_ENABLE_FLAG = 'enabled' +GTKDOC_MESON_DISABLE_FLAG = 'disabled' + +PACKAGECONFIG[dconf] = "-Ddconf=enabled,-Ddconf=disabled,dconf" +PACKAGECONFIG[docbook_docs] = "-Ddocbook_docs=enabled,-Ddocbook_docs=disabled,xmlto-native" +PACKAGECONFIG[man] = "-Dman=enabled,-Dman=disabled,libxslt-native" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,xauth socat-native" +PACKAGECONFIG[xauth] = "-Dxauth=enabled,-Dxauth=disabled,xauth" +PACKAGECONFIG[seccomp] = "-Dseccomp=enabled,-Dseccomp=disabled,libseccomp" +PACKAGECONFIG[malcontent] = "-Dmalcontent=enabled,-Dmalcontent=disabled,malcontent" +PACKAGECONFIG[selinux] = "-Dselinux_module=enabled,-Dselinux_module=disabled,libselinux" +PACKAGECONFIG[wayland-security-context] = "-Dwayland_security_context=enabled,-Dwayland_security_context=disabled,wayland wayland-native wayland-protocols" + +PACKAGECONFIG ?= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xauth', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-security-context', '', d)} \ +" + +EXTRA_OEMESON = " \ + -Dsystem_fusermount=fusermount3 \ + -Dsystem_bubblewrap=bwrap \ + -Dsystem_dbus_proxy=xdg-dbus-proxy \ +" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /sbin/nologin flatpak" + +FILES:${PN} += "${libdir} ${datadir}" + +CVE_STATUS[CVE-2026-34078] = "fixed-version: fixed in v1.17.4" +CVE_STATUS[CVE-2026-34079] = "fixed-version: fixed in v1.17.4" diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch index 1756d745609..55fb0c7414d 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch @@ -1,4 +1,4 @@ -From 4b47a8f0e3d1d429356cdda8efa7682ab88d344a Mon Sep 17 00:00:00 2001 +From 8d93bb7c866f88dd7f2cac81d2acfcffae9d555d Mon Sep 17 00:00:00 2001 From: Niko Mauno Date: Sun, 29 Sep 2024 12:00:00 +0000 Subject: [PATCH] lib: Do not use private makefile targets in CMakelists.txt @@ -48,7 +48,7 @@ index 489570026..06d99cbbe 100644 diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt -index 5421f8c80..0dcf7645c 100644 +index a3385a8ba..80170f8e7 100644 --- a/lib/cmetrics/CMakeLists.txt +++ b/lib/cmetrics/CMakeLists.txt @@ -60,12 +60,8 @@ if(NOT MSVC) @@ -67,11 +67,11 @@ index 5421f8c80..0dcf7645c 100644 # Configuration options option(CMT_DEV "Enable development mode" No) diff --git a/lib/ctraces/CMakeLists.txt b/lib/ctraces/CMakeLists.txt -index 73723433d..9f60699d5 100644 +index bb2c54fa6..7d59dd834 100644 --- a/lib/ctraces/CMakeLists.txt +++ b/lib/ctraces/CMakeLists.txt -@@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 6) - set(CTR_VERSION_PATCH 6) +@@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 7) + set(CTR_VERSION_PATCH 1) set(CTR_VERSION_STR "${CTR_VERSION_MAJOR}.${CTR_VERSION_MINOR}.${CTR_VERSION_PATCH}") -# Define __FILENAME__ consistently across Operating Systems @@ -86,7 +86,7 @@ index 73723433d..9f60699d5 100644 # Configuration options option(CTR_DEV "Enable development mode" No) diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt -index 3fbace595..1c6ad031c 100644 +index 3dc1ef28a..2d08fc5fd 100644 --- a/lib/monkey/CMakeLists.txt +++ b/lib/monkey/CMakeLists.txt @@ -15,10 +15,8 @@ include(GNUInstallDirs) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch index 4c6cac0cbd9..51f48544b11 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch @@ -1,4 +1,4 @@ -From 596a53c35166e6cc5c20fb1d28bb5c92a248f695 Mon Sep 17 00:00:00 2001 +From e7b98c452343a43b924bca684e5ec423eae5d644 Mon Sep 17 00:00:00 2001 From: Paulo Neves Date: Thu, 28 Jul 2022 11:42:31 +0200 Subject: [PATCH] flb_info.h.in: Do not hardcode compilation directories diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch index 6bd4c6bbb6d..2e0e988c195 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch @@ -1,4 +1,4 @@ -From 5cc79bdede89e75d713e23cf0fde26634320bc3e Mon Sep 17 00:00:00 2001 +From fef234a565d5150dc3d3d1374843024381e4f4de Mon Sep 17 00:00:00 2001 From: Niko Mauno Date: Mon, 21 Oct 2024 16:02:46 +0000 Subject: [PATCH] CMakeLists.txt: Revise init manager deduction @@ -15,10 +15,10 @@ Upstream-Status: Inappropriate [configuration] 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index ac5fe5ef8..f47a01b82 100644 +index a47a5d9d6..ddc93827c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -600,7 +600,7 @@ if(FLB_BINARY) +@@ -627,7 +627,7 @@ if(FLB_BINARY) set(SYSTEMD_UNITDIR /lib/systemd/system) endif() @@ -27,7 +27,7 @@ index ac5fe5ef8..f47a01b82 100644 if (FLB_AMAZON_LINUX2) set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") configure_file( -@@ -625,7 +625,7 @@ if(FLB_BINARY) +@@ -652,7 +652,7 @@ if(FLB_BINARY) install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR}) install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) endif() diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch index 6df53613c38..11924499090 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch @@ -1,4 +1,4 @@ -From cc688b91c02df9a45ca8816a1d09649fadb9dc4a Mon Sep 17 00:00:00 2001 +From 26431b786b4c703bc2dcdb57d59487a3fef4a139 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 10 Aug 2022 01:27:16 -0700 Subject: [PATCH] chunkio: Link with fts library with musl @@ -10,7 +10,6 @@ Signed-off-by: Khem Raj Upstream-Status: Pending --- - lib/chunkio/src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.2.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.2.bb deleted file mode 100644 index d042293e3d4..00000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.2.bb +++ /dev/null @@ -1,151 +0,0 @@ -SUMMARY = "Fast Log Processor and Forwarder" -DESCRIPTION = "Fluent Bit allows to collect log events or metrics from \ -different sources, process them and deliver them to different backends \ -such as Fluentd, Elasticsearch, Splunk, DataDog, Kafka, New Relic, Azure \ -services, AWS services, Google services, NATS, InfluxDB or any custom \ -HTTP end-point." -HOMEPAGE = "http://fluentbit.io" -BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" -SECTION = "net" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" -DEPENDS = "\ - bison-native \ - flex-native \ - openssl \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -DEPENDS:append:libc-musl = " fts" - -SRCREV = "ddfef360d7f3ac5268942c47ccc9b01864424a05" -SRC_URI = "\ - git://github.com/fluent/fluent-bit.git;branch=master;protocol=https;tag=v${PV} \ - file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ - file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \ - file://0003-CMakeLists.txt-Revise-init-manager-deduction.patch \ -" -SRC_URI:append:libc-musl = "\ - file://0004-chunkio-Link-with-fts-library-with-musl.patch \ -" - -# prefix tag with "v" to avoid upgrade to random tags like "20220215" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P(\d+(\.\d+)+))" - - -PACKAGECONFIG ??= "\ - aws \ - binary \ - config-yaml \ - custom-calyptia \ - http-server \ - inotify \ - ipo \ - metrics \ - parser \ - prefer-system-libs \ - profiles \ - proxy-go \ - record-accessor \ - regex \ - signv4 \ - sqldb \ - stream-processor \ - tls \ - utf8-encoder \ -" -# See https://github.com/fluent/fluent-bit/issues/7248#issuecomment-1631280496 -PACKAGECONFIG:remove:toolchain-clang = "ipo" - -# Use system libs -PACKAGECONFIG[prefer-system-libs] = "-DFLB_PREFER_SYSTEM_LIBS=Yes,-DFLB_PREFER_SYSTEM_LIBS=No, nghttp2 c-ares msgpack-c zstd" -DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs backtrace', 'libbacktrace', '', d)}" -DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs jemalloc', 'jemalloc', '', d)}" -DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs luajit', 'luajit', '', d)}" -DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs sqldb', 'sqlite3', '', d)}" - -PACKAGECONFIG[all] = "-DFLB_ALL=Yes,-DFLB_ALL=No" -PACKAGECONFIG[arrow] = "-DFLB_ARROW=Yes,-DFLB_ARROW=No" -PACKAGECONFIG[avro-encoder] = "-DFLB_AVRO_ENCODER=Yes,-DFLB_AVRO_ENCODER=No" -PACKAGECONFIG[aws-error-reporter] = "-DFLB_AWS_ERROR_REPORTER=Yes,-DFLB_AWS_ERROR_REPORTER=No" -PACKAGECONFIG[aws] = "-DFLB_AWS=Yes,-DFLB_AWS=No" -PACKAGECONFIG[backtrace] = "-DFLB_BACKTRACE=Yes,-DFLB_BACKTRACE=No" -PACKAGECONFIG[binary] = "-DFLB_BINARY=Yes,-DFLB_BINARY=No" -PACKAGECONFIG[chunk-trace] = "-DFLB_CHUNK_TRACE=Yes,-DFLB_CHUNK_TRACE=No" -PACKAGECONFIG[config-yaml] = "-DFLB_CONFIG_YAML=Yes,-DFLB_CONFIG_YAML=No,libyaml" -PACKAGECONFIG[custom-calyptia] = "-DFLB_CUSTOM_CALYPTIA=Yes,-DFLB_CUSTOM_CALYPTIA=No" -PACKAGECONFIG[enforce-alignment] = "-DFLB_ENFORCE_ALIGNMENT=Yes,-DFLB_ENFORCE_ALIGNMENT=No" -PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=Yes,-DFLB_EXAMPLES=No" -PACKAGECONFIG[http-client-debug] = "-DFLB_HTTP_CLIENT_DEBUG=Yes,-DFLB_HTTP_CLIENT_DEBUG=No" -PACKAGECONFIG[http-server] = "-DFLB_HTTP_SERVER=Yes,-DFLB_HTTP_SERVER=No" -PACKAGECONFIG[inotify] = "-DFLB_INOTIFY=Yes,-DFLB_INOTIFY=No" -PACKAGECONFIG[ipo] = "-DFLB_IPO=Yes,-DFLB_IPO=no" -PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=Yes,-DFLB_JEMALLOC=No,jemalloc" -PACKAGECONFIG[luajit] = "-DFLB_LUAJIT=Yes,-DFLB_LUAJIT=No" -PACKAGECONFIG[metrics] = "-DFLB_METRICS=Yes,-DFLB_METRICS=No" -PACKAGECONFIG[mtrace] = "-DFLB_MTRACE=Yes,-DFLB_MTRACE=No" -PACKAGECONFIG[parser] = "-DFLB_PARSER=Yes,-DFLB_PARSER=No" -PACKAGECONFIG[posix-tls] = "-DFLB_POSIX_TLS=Yes,-DFLB_POSIX_TLS=No" -PACKAGECONFIG[profiles] = "-DFLB_PROFILES=Yes,-DFLB_PROFILES=No" -PACKAGECONFIG[proxy-go] = "-DFLB_PROXY_GO=Yes,-DFLB_PROXY_GO=No" -PACKAGECONFIG[record-accessor] = "-DFLB_RECORD_ACCESSOR=Yes,-DFLB_RECORD_ACCESSOR=No" -PACKAGECONFIG[regex] = "-DFLB_REGEX=Yes,-DFLB_REGEX=No" -PACKAGECONFIG[run-ldconfig] = "-DFLB_RUN_LDCONFIG=Yes,-DFLB_RUN_LDCONFIG=No" -PACKAGECONFIG[shared-lib] = "-DFLB_SHARED_LIB=Yes,-DFLB_SHARED_LIB=No" -PACKAGECONFIG[signv4] = "-DFLB_SIGNV4=Yes,-DFLB_SIGNV4=No" -PACKAGECONFIG[sqldb] = "-DFLB_SQLDB=Yes,-DFLB_SQLDB=No" -PACKAGECONFIG[stream-processor] = "-DFLB_STREAM_PROCESSOR=Yes,-DFLB_STREAM_PROCESSOR=No" -PACKAGECONFIG[tests-runtime] = "-DFLB_TESTS_RUNTIME=Yes,-DFLB_TESTS_RUNTIME=No" -PACKAGECONFIG[tls] = "-DFLB_TLS=Yes,-DFLB_TLS=No" -PACKAGECONFIG[trace] = "-DFLB_TRACE=Yes,-DFLB_TRACE=No" -PACKAGECONFIG[utf8-encoder] = "-DFLB_UTF8_ENCODER=Yes,-DFLB_UTF8_ENCODER=No" -PACKAGECONFIG[valgrind] = "-DFLB_VALGRIND=Yes,-DFLB_VALGRIND=No,valgrind" -PACKAGECONFIG[wamrc] = "-DFLB_WAMRC=Yes,-DFLB_WAMRC=No" -PACKAGECONFIG[wasm-stack-protect] = "-DFLB_WASM_STACK_PROTECT=Yes,-DFLB_WASM_STACK_PROTECT=No" -PACKAGECONFIG[wasm] = "-DFLB_WASM=Yes,-DFLB_WASM=No" -PACKAGECONFIG[windows-defaults] = "-DFLB_WINDOWS_DEFAULTS=Yes,-DFLB_WINDOWS_DEFAULTS=No" - -# Option to disable all Fluent Bit plugins by default. See cmake/plugins_options.cmake which -# individual plugins then to enable (e.g. using EXTRA_OECMAKE:append = " -DFLB_FOOBAR=ON") -PACKAGECONFIG[minimal] = "-DFLB_MINIMAL=Yes,-DFLB_MINIMAL=No" - -PACKAGECONFIG[in-kafka] = "-DFLB_KAFKA=ON -DFLB_IN_KAFKA=ON,-DFLB_KAFKA=OFF -DFLB_IN_KAFKA=OFF,librdkafka curl" -PACKAGECONFIG[out-kafka] = "-DFLB_KAFKA=ON -DFLB_OUT_KAFKA=ON,-DFLB_KAFKA=OFF -DFLB_OUT_KAFKA=OFF,librdkafka curl" - -SYSTEMD_SERVICE:${PN} = "fluent-bit.service" - -inherit cmake systemd pkgconfig - -# disable manipulation of compiler flags and CMAKE_BUILD_TYPE -# release and coverage are off by default, disable also debug -EXTRA_OECMAKE += "-DFLB_DEBUG=No" - -FULL_OPTIMIZATION:remove = "${@'-O2' if bb.data.inherits_class('clang', d) else ''}" -TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION}" -TARGET_CC_ARCH:remove = "-D_FORTIFY_SOURCE=2" -EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/" - -SECURITY_STRINGFORMAT:remove = "${@bb.utils.contains('PACKAGECONFIG', 'aws-error-reporter', '-Werror=format-security', '', d)}" - -# GCC-15 uses C23 std and it does not yet compile with C23 -CFLAGS += "-std=gnu17" -# 64bit atomics builtins do not exist in compiler on these arches -LDFLAGS:append:mips = " -latomic" -LDFLAGS:append:powerpc = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" -LDFLAGS:append:riscv64 = " -latomic" -LDFLAGS:append:x86 = " -latomic" - -do_configure:prepend() { - sed -i \ - -e 's#@INIT_MANAGER_IS_SYSTEMD@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'systemd' else 'FALSE'}'#' \ - -e 's#@INIT_MANAGER_IS_UPSTART@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'upstart' else 'FALSE'}'#' \ - ${S}/src/CMakeLists.txt -} - -# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources. -do_compile:append() { - find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g' -} - -# needed for shared-lib package config -FILES:${PN} += "${libdir}/fluent-bit" diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb new file mode 100644 index 00000000000..3f3299459cf --- /dev/null +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb @@ -0,0 +1,152 @@ +SUMMARY = "Fast Log Processor and Forwarder" +DESCRIPTION = "Fluent Bit allows to collect log events or metrics from \ +different sources, process them and deliver them to different backends \ +such as Fluentd, Elasticsearch, Splunk, DataDog, Kafka, New Relic, Azure \ +services, AWS services, Google services, NATS, InfluxDB or any custom \ +HTTP end-point." +HOMEPAGE = "http://fluentbit.io" +BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" +SECTION = "net" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" +DEPENDS = "\ + bison-native \ + flex-native \ + openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +DEPENDS:append:libc-musl = " fts" + +SRCREV = "66ffbe43bd0b393ec418e6f5851a23461fa478d4" +SRC_URI = "\ + git://github.com/fluent/fluent-bit.git;nobranch=1;protocol=https;tag=v${PV} \ + file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ + file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \ + file://0003-CMakeLists.txt-Revise-init-manager-deduction.patch \ +" +SRC_URI:append:libc-musl = "\ + file://0004-chunkio-Link-with-fts-library-with-musl.patch \ +" + +# prefix tag with "v" to avoid upgrade to random tags like "20220215" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P(\d+(\.\d+)+))" + + +PACKAGECONFIG ??= "\ + aws \ + binary \ + config-yaml \ + custom-calyptia \ + http-server \ + inotify \ + ipo \ + metrics \ + parser \ + prefer-system-libs \ + profiles \ + proxy-go \ + record-accessor \ + regex \ + signv4 \ + sqldb \ + stream-processor \ + tls \ + utf8-encoder \ +" +# See https://github.com/fluent/fluent-bit/issues/7248#issuecomment-1631280496 +PACKAGECONFIG:remove:toolchain-clang = "ipo" + +# Use system libs +PACKAGECONFIG[prefer-system-libs] = "-DFLB_PREFER_SYSTEM_LIBS=Yes,-DFLB_PREFER_SYSTEM_LIBS=No, nghttp2 c-ares msgpack-c zstd" +DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs backtrace', 'libbacktrace', '', d)}" +DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs jemalloc', 'jemalloc', '', d)}" +DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs luajit', 'luajit', '', d)}" +DEPENDS += " ${@bb.utils.contains('PACKAGECONFIG', 'prefer-system-libs sqldb', 'sqlite3', '', d)}" + +PACKAGECONFIG[all] = "-DFLB_ALL=Yes,-DFLB_ALL=No" +PACKAGECONFIG[arrow] = "-DFLB_ARROW=Yes,-DFLB_ARROW=No" +PACKAGECONFIG[avro-encoder] = "-DFLB_AVRO_ENCODER=Yes,-DFLB_AVRO_ENCODER=No" +PACKAGECONFIG[aws-error-reporter] = "-DFLB_AWS_ERROR_REPORTER=Yes,-DFLB_AWS_ERROR_REPORTER=No" +PACKAGECONFIG[aws] = "-DFLB_AWS=Yes,-DFLB_AWS=No" +PACKAGECONFIG[backtrace] = "-DFLB_BACKTRACE=Yes,-DFLB_BACKTRACE=No" +PACKAGECONFIG[binary] = "-DFLB_BINARY=Yes,-DFLB_BINARY=No" +PACKAGECONFIG[chunk-trace] = "-DFLB_CHUNK_TRACE=Yes,-DFLB_CHUNK_TRACE=No" +PACKAGECONFIG[config-yaml] = "-DFLB_CONFIG_YAML=Yes,-DFLB_CONFIG_YAML=No,libyaml" +PACKAGECONFIG[custom-calyptia] = "-DFLB_CUSTOM_CALYPTIA=Yes,-DFLB_CUSTOM_CALYPTIA=No" +PACKAGECONFIG[enforce-alignment] = "-DFLB_ENFORCE_ALIGNMENT=Yes,-DFLB_ENFORCE_ALIGNMENT=No" +PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=Yes,-DFLB_EXAMPLES=No" +PACKAGECONFIG[http-client-debug] = "-DFLB_HTTP_CLIENT_DEBUG=Yes,-DFLB_HTTP_CLIENT_DEBUG=No" +PACKAGECONFIG[http-server] = "-DFLB_HTTP_SERVER=Yes,-DFLB_HTTP_SERVER=No" +PACKAGECONFIG[inotify] = "-DFLB_INOTIFY=Yes,-DFLB_INOTIFY=No" +PACKAGECONFIG[ipo] = "-DFLB_IPO=Yes,-DFLB_IPO=no" +PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=Yes,-DFLB_JEMALLOC=No,jemalloc" +PACKAGECONFIG[luajit] = "-DFLB_LUAJIT=Yes,-DFLB_LUAJIT=No" +PACKAGECONFIG[metrics] = "-DFLB_METRICS=Yes,-DFLB_METRICS=No" +PACKAGECONFIG[mtrace] = "-DFLB_MTRACE=Yes,-DFLB_MTRACE=No" +PACKAGECONFIG[parser] = "-DFLB_PARSER=Yes,-DFLB_PARSER=No" +PACKAGECONFIG[posix-tls] = "-DFLB_POSIX_TLS=Yes,-DFLB_POSIX_TLS=No" +PACKAGECONFIG[profiles] = "-DFLB_PROFILES=Yes,-DFLB_PROFILES=No" +PACKAGECONFIG[proxy-go] = "-DFLB_PROXY_GO=Yes,-DFLB_PROXY_GO=No" +PACKAGECONFIG[record-accessor] = "-DFLB_RECORD_ACCESSOR=Yes,-DFLB_RECORD_ACCESSOR=No" +PACKAGECONFIG[regex] = "-DFLB_REGEX=Yes,-DFLB_REGEX=No" +PACKAGECONFIG[run-ldconfig] = "-DFLB_RUN_LDCONFIG=Yes,-DFLB_RUN_LDCONFIG=No" +PACKAGECONFIG[shared-lib] = "-DFLB_SHARED_LIB=Yes,-DFLB_SHARED_LIB=No" +PACKAGECONFIG[signv4] = "-DFLB_SIGNV4=Yes,-DFLB_SIGNV4=No" +PACKAGECONFIG[sqldb] = "-DFLB_SQLDB=Yes,-DFLB_SQLDB=No" +PACKAGECONFIG[stream-processor] = "-DFLB_STREAM_PROCESSOR=Yes,-DFLB_STREAM_PROCESSOR=No" +PACKAGECONFIG[tests-runtime] = "-DFLB_TESTS_RUNTIME=Yes,-DFLB_TESTS_RUNTIME=No" +PACKAGECONFIG[tls] = "-DFLB_TLS=Yes,-DFLB_TLS=No" +PACKAGECONFIG[trace] = "-DFLB_TRACE=Yes,-DFLB_TRACE=No" +PACKAGECONFIG[utf8-encoder] = "-DFLB_UTF8_ENCODER=Yes,-DFLB_UTF8_ENCODER=No" +PACKAGECONFIG[valgrind] = "-DFLB_VALGRIND=Yes,-DFLB_VALGRIND=No,valgrind" +PACKAGECONFIG[wamrc] = "-DFLB_WAMRC=Yes,-DFLB_WAMRC=No" +PACKAGECONFIG[wasm-stack-protect] = "-DFLB_WASM_STACK_PROTECT=Yes,-DFLB_WASM_STACK_PROTECT=No" +PACKAGECONFIG[wasm] = "-DFLB_WASM=Yes,-DFLB_WASM=No" +PACKAGECONFIG[windows-defaults] = "-DFLB_WINDOWS_DEFAULTS=Yes,-DFLB_WINDOWS_DEFAULTS=No" + +# Option to disable all Fluent Bit plugins by default. See cmake/plugins_options.cmake which +# individual plugins then to enable (e.g. using EXTRA_OECMAKE:append = " -DFLB_FOOBAR=ON") +PACKAGECONFIG[minimal] = "-DFLB_MINIMAL=Yes,-DFLB_MINIMAL=No" + +PACKAGECONFIG[in-kafka] = "-DFLB_KAFKA=ON -DFLB_IN_KAFKA=ON,-DFLB_KAFKA=OFF -DFLB_IN_KAFKA=OFF,librdkafka curl" +PACKAGECONFIG[out-kafka] = "-DFLB_KAFKA=ON -DFLB_OUT_KAFKA=ON,-DFLB_KAFKA=OFF -DFLB_OUT_KAFKA=OFF,librdkafka curl" + +SYSTEMD_SERVICE:${PN} = "fluent-bit.service" + +inherit cmake systemd pkgconfig + +# disable manipulation of compiler flags and CMAKE_BUILD_TYPE +# release and coverage are off by default, disable also debug +EXTRA_OECMAKE += "-DFLB_DEBUG=No" + +FULL_OPTIMIZATION:remove = "${@'-O2' if bb.data.inherits_class('clang', d) else ''}" +TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH:remove = "-D_FORTIFY_SOURCE=2" +EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/" + +SECURITY_STRINGFORMAT:remove = "${@bb.utils.contains('PACKAGECONFIG', 'aws-error-reporter', '-Werror=format-security', '', d)}" + +# GCC-15 uses C23 std and it does not yet compile with C23 +CFLAGS += "-std=gnu17" +# 64bit atomics builtins do not exist in compiler on these arches +LDFLAGS:append:mips = " -latomic" +LDFLAGS:append:powerpc = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:x86 = " -latomic" + +do_configure:prepend() { + sed -i \ + -e 's#@INIT_MANAGER_IS_SYSTEMD@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'systemd' else 'FALSE'}'#' \ + -e 's#@INIT_MANAGER_IS_UPSTART@#'${@'TRUE' if d.getVar('INIT_MANAGER') == 'upstart' else 'FALSE'}'#' \ + ${S}/src/CMakeLists.txt +} + +# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources. +do_compile:append() { + find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' + find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${S}|${TARGET_DBGSRC_DIR}|g' +} + +# needed for shared-lib package config +FILES:${PN} += "${libdir}/fluent-bit" diff --git a/meta-oe/recipes-extended/highway/highway_1.3.0.bb b/meta-oe/recipes-extended/highway/highway_1.3.0.bb index d2799943018..ddd684bb454 100644 --- a/meta-oe/recipes-extended/highway/highway_1.3.0.bb +++ b/meta-oe/recipes-extended/highway/highway_1.3.0.bb @@ -2,14 +2,15 @@ SUMMARY = "Highway is a C++ library for SIMD (Single Instruction, Multiple Data) HOMEPAGE = "https://github.com/google/highway/" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2b42edef8fa55315f34f2370b4715ca9" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e583f1fc1c22da0f388b23a31df5b591" inherit cmake SRC_URI = "git://github.com/google/highway.git;protocol=https;branch=master \ file://0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch" -SRCREV = "ac0d5d297b13ab1b89f48484fc7911082d76a93f" +SRCREV = "c34a36fb145de0a922a6e719b217033e1ff2eece" +PV .= "+git" EXTRA_OECMAKE = "-DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=Release" diff --git a/meta-oe/recipes-extended/hplip/hplip/0001-common-utils-Include-string.h-for-strcasestr.patch b/meta-oe/recipes-extended/hplip/hplip/0001-common-utils-Include-string.h-for-strcasestr.patch index 659eca41c91..1457fc62c86 100644 --- a/meta-oe/recipes-extended/hplip/hplip/0001-common-utils-Include-string.h-for-strcasestr.patch +++ b/meta-oe/recipes-extended/hplip/hplip/0001-common-utils-Include-string.h-for-strcasestr.patch @@ -7,38 +7,29 @@ Also define _GNU_SOURCE for the same Upstream-Status: Pending Signed-off-by: Khem Raj + +Rebased for latest version. string.h is included already, left +only the _GNU_SOURCE definition. + +Signed-off-by: Gyorgy Sarvari --- common/utils.c | 2 ++ 1 file changed, 2 insertions(+) --- a/common/utils.c +++ b/common/utils.c -@@ -1,9 +1,11 @@ +@@ -1,3 +1,4 @@ +#define _GNU_SOURCE #include "utils.h" #include "string.h" #include - #include - #include - #include -+#include /* strcasestr */ - - extern int errno; - --- a/protocol/hp_ipp.c +++ b/protocol/hp_ipp.c -@@ -18,12 +18,13 @@ Boston, MA 02110-1301, USA. - +@@ -18,6 +18,7 @@ Boston, MA 02110-1301, USA. + \******************************************************************************/ - -- + +#define _GNU_SOURCE #include #include #include - #include - #include -+#include /* strcasecmp */ - #include - #include - #include diff --git a/meta-oe/recipes-extended/hplip/hplip/0004-Define-missing-prototype-for-functions.patch b/meta-oe/recipes-extended/hplip/hplip/0004-Define-missing-prototype-for-functions.patch index 7223bf939e8..b17d8ec8fde 100644 --- a/meta-oe/recipes-extended/hplip/hplip/0004-Define-missing-prototype-for-functions.patch +++ b/meta-oe/recipes-extended/hplip/hplip/0004-Define-missing-prototype-for-functions.patch @@ -13,18 +13,19 @@ Upstream-Status: Pending --- a/prnt/cupsext/cupsext.c +++ b/prnt/cupsext/cupsext.c -@@ -101,6 +101,11 @@ typedef int Py_ssize_t; +@@ -99,6 +99,12 @@ typedef int Py_ssize_t; #define _STRINGIZE(x) #x #define STRINGIZE(x) _STRINGIZE(x) - + +void _releaseCupsInstance(void); +int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file, char *model, char *info); +int setDefaultCupsPrinter(char *pr_name); +int delCupsPrinter(char *pr_name); +int controlCupsPrinter(char *pr_name, int op); - - //static http_t * http = NULL; /* HTTP object */ - ++ + // static http_t * http = NULL; /* HTTP object */ + + PyObject *releaseCupsInstance(PyObject *self, PyObject *args) --- a/protocol/hp_ipp.c +++ b/protocol/hp_ipp.c @@ -22,6 +22,7 @@ Boston, MA 02110-1301, USA. @@ -34,20 +35,20 @@ Upstream-Status: Pending +#include #include #include - #include /* strcasecmp */ -@@ -42,7 +43,7 @@ Boston, MA 02110-1301, USA. - #define STRINGIZE(x) _STRINGIZE(x) - - --http_t* acquireCupsInstance() -+http_t* acquireCupsInstance(void) + #include +@@ -45,7 +46,7 @@ Boston, MA 02110-1301, USA. + dst[size - 1] = '\0'; \ + } while (0) + +-http_t *acquireCupsInstance() ++http_t *acquireCupsInstance(void) { - if ( http == NULL) + if (http == NULL) { -@@ -53,7 +54,7 @@ http_t* acquireCupsInstance() +@@ -55,7 +56,7 @@ http_t* acquireCupsInstance() + return http; } - - + -void _releaseCupsInstance() +void _releaseCupsInstance(void) { diff --git a/meta-oe/recipes-extended/hplip/hplip/0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch b/meta-oe/recipes-extended/hplip/hplip/0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch deleted file mode 100644 index ac0ff81e6f1..00000000000 --- a/meta-oe/recipes-extended/hplip/hplip/0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 4b3014df3990d90d6929510f2bde073171503329 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 2 Sep 2022 18:18:44 -0700 -Subject: [PATCH] hp_ipp.c: Add printf format to snprintf calls - -Avoid -Wformat warnings - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - protocol/hp_ipp.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/protocol/hp_ipp.c b/protocol/hp_ipp.c -index 597d9b9..a027baf 100644 ---- a/protocol/hp_ipp.c -+++ b/protocol/hp_ipp.c -@@ -112,7 +112,7 @@ int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file, - } - - if ( info == NULL ) -- snprintf( info,sizeof(info), name ); -+ snprintf( info,sizeof(info), "%s", name ); - - sprintf( printer_uri, "ipp://localhost/printers/%s", name ); - -@@ -513,27 +513,27 @@ int __parsePrinterAttributes(ipp_t *response, printer_t **printer_list) - - if ( strcmp(attr_name, "printer-name") == 0 && - val_tag == IPP_TAG_NAME ) { -- snprintf(t_printer->name, sizeof(t_printer->name),ippGetString(attr, 0, NULL) ); -+ snprintf(t_printer->name, sizeof(t_printer->name), "%s", ippGetString(attr, 0, NULL) ); - } - else if ( strcmp(attr_name, "device-uri") == 0 && - val_tag == IPP_TAG_URI ) { -- snprintf(t_printer->device_uri,sizeof(t_printer->device_uri), ippGetString(attr, 0, NULL) ); -+ snprintf(t_printer->device_uri,sizeof(t_printer->device_uri), "%s", ippGetString(attr, 0, NULL) ); - } - else if ( strcmp(attr_name, "printer-uri-supported") == 0 && - val_tag == IPP_TAG_URI ) { -- snprintf(t_printer->printer_uri,sizeof(t_printer->printer_uri), ippGetString(attr, 0, NULL) ); -+ snprintf(t_printer->printer_uri,sizeof(t_printer->printer_uri), "%s", ippGetString(attr, 0, NULL) ); - } - else if ( strcmp(attr_name, "printer-info") == 0 && - val_tag == IPP_TAG_TEXT ) { -- snprintf(t_printer->info,sizeof(t_printer->info), ippGetString(attr, 0, NULL) ); -+ snprintf(t_printer->info,sizeof(t_printer->info), "%s", ippGetString(attr, 0, NULL) ); - } - else if ( strcmp(attr_name, "printer-location") == 0 && - val_tag == IPP_TAG_TEXT ) { -- snprintf(t_printer->location,sizeof(t_printer->location),ippGetString(attr, 0, NULL) ); -+ snprintf(t_printer->location,sizeof(t_printer->location), "%s", ippGetString(attr, 0, NULL) ); - } - else if ( strcmp(attr_name, "printer-make-and-model") == 0 && - val_tag == IPP_TAG_TEXT ) { -- snprintf(t_printer->make_model,sizeof(t_printer->make_model),ippGetString(attr, 0, NULL) ); -+ snprintf(t_printer->make_model,sizeof(t_printer->make_model), "%s", ippGetString(attr, 0, NULL) ); - } - else if ( strcmp(attr_name, "printer-state") == 0 && - val_tag == IPP_TAG_ENUM ) { --- -2.37.3 - diff --git a/meta-oe/recipes-extended/hplip/hplip/configure.patch b/meta-oe/recipes-extended/hplip/hplip/configure.patch index 0e0fd47fa1f..9dad089ff17 100644 --- a/meta-oe/recipes-extended/hplip/hplip/configure.patch +++ b/meta-oe/recipes-extended/hplip/hplip/configure.patch @@ -3,7 +3,7 @@ Upstream-Status: Pending --- a/configure.in +++ b/configure.in @@ -30,7 +30,7 @@ - AC_INIT([HP Linux Imaging and Printing], [3.22.10], [3.22.10], [hplip]) + AC_INIT([HP Linux Imaging and Printing], [3.25.8], [3.25.8], [hplip]) #AM_INIT_AUTOMAKE([1.9 foreign]) -AM_INIT_AUTOMAKE diff --git a/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch b/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch deleted file mode 100644 index 45b25c5e761..00000000000 --- a/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 2fcd0e79b21ec6dbf975ad7d1b5697a78993e2f1 Mon Sep 17 00:00:00 2001 -From: David Valleau -Date: Wed, 14 Aug 2019 15:47:38 -0700 -Subject: [PATCH] Fixing invalid return in void function - ---- -Upstream-Status: Pending - - prnt/hpps/hppsfilter.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/prnt/hpps/hppsfilter.c -+++ b/prnt/hpps/hppsfilter.c -@@ -104,7 +104,7 @@ static void open_tempbookletfile(char *m - if(ptempbooklet_file == NULL) - { - fprintf(stderr, "ERROR: Unable to open temp file %s\n", temp_filename); -- return 1; -+ return; - } - chmod(temp_filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); - diff --git a/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb b/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb deleted file mode 100644 index ffc18d90c61..00000000000 --- a/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb +++ /dev/null @@ -1,86 +0,0 @@ -SUMMARY = "HP Linux Imaging and Printing" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=20f2c819499cc2063e9a7b07b408815c" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ - file://configure.patch \ - file://fix-libusb-paths.patch \ - file://600-fix.patch \ - file://030-replace_unsafe_memcpy_with_memmove.patch \ - file://050-fix-glibcisms.patch \ - file://hplip-3.19.6-fix-return.patch \ - file://0001-common-utils-Include-string.h-for-strcasestr.patch \ - file://0002-Add-ImageProcessor-only-when-DISBALE_IMAGEPROCESSOR_.patch \ - file://0003-pserror.c-Define-column-to-be-int-explcitly.patch \ - file://0004-Define-missing-prototype-for-functions.patch \ - file://0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch \ - file://0006-Workaround-patch-for-missing-Python3-transition-of-t.patch \ - file://0001-Fix-installing-ipp-usb-quirk.patch \ - file://0001-Drop-using-register-storage-classifier.patch \ - file://0001-Fix-upstream-CFLAGS-override.patch" -SRC_URI[sha256sum] = "533c3f2f6b53e4163ded4fd81d1f11ae6162a0f6451bd5e62a8382d0c1366624" - -UPSTREAM_CHECK_URI = "https://sourceforge.net/p/hplip/activity" - -DEPENDS += "cups python3 libusb1 python3-setuptools-native" - -inherit autotools-brokensep python3-dir python3native python3targetconfig pkgconfig systemd - -EXTRA_OECONF += "\ - --enable-cups-drv-install \ - --enable-cups-ppd-install \ - --disable-network-build \ - --disable-doc-build \ - --disable-pp-build \ - --disable-scan-build \ - --disable-gui-build \ - --disable-fax-build \ - --disable-policykit \ - --disable-qt4 \ - --disable-qt3 \ - --disable-dbus-build \ - --enable-foomatic-drv-install \ - --disable-foomatic-ppd-install \ - --disable-foomatic-rip-hplip-install \ - --disable-imageProcessor_build \ - --with-cupsbackenddir=${libexecdir}/cups/backend \ - --with-cupsfilterdir=${libexecdir}/cups/filter \ -" - -EXTRA_OEMAKE = "rulessystemdir=${systemd_unitdir}/system/" - -do_install:append() { - rm -rf ${D}${datadir}/hplip/upgrade.py - rm -rf ${D}${datadir}/hplip/uninstall.py - sed -i -e "s|/usr/bin/env python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py - sed -i -e "s|/usr/bin/python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py -} - -PACKAGE_BEFORE_PN += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal" - -RDEPENDS:${PN} += " \ - python3\ - python3-syslog \ - python3-pprint \ - python3-compression \ - python3-shell \ - python3-xml \ - python3-unixadmin \ - python3-html \ - python3-resource \ - python3-terminal \ -" -RDEPENDS:${PN}-filter += "perl ghostscript" - -FILES:${PN} += "${datadir}/ipp-usb/quirks/HPLIP.conf \ - ${systemd_system_unitdir}/hplip-printer@.service" -FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" -FILES:${PN}-ppd = "${datadir}/ppd" -FILES:${PN}-cups = "${datadir}/cups" -FILES:${PN}-backend = "${libexecdir}/cups/backend" -FILES:${PN}-filter = "${libexecdir}/cups/filter" -FILES:${PN}-hal = "${datadir}/hal" - -FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so" - -CLEANBROKEN = "1" diff --git a/meta-oe/recipes-extended/hplip/hplip_3.25.8.bb b/meta-oe/recipes-extended/hplip/hplip_3.25.8.bb new file mode 100644 index 00000000000..3b5f58f3209 --- /dev/null +++ b/meta-oe/recipes-extended/hplip/hplip_3.25.8.bb @@ -0,0 +1,93 @@ +SUMMARY = "HP Linux Imaging and Printing" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=20f2c819499cc2063e9a7b07b408815c" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ + file://configure.patch \ + file://fix-libusb-paths.patch \ + file://600-fix.patch \ + file://030-replace_unsafe_memcpy_with_memmove.patch \ + file://050-fix-glibcisms.patch \ + file://0001-common-utils-Include-string.h-for-strcasestr.patch \ + file://0002-Add-ImageProcessor-only-when-DISBALE_IMAGEPROCESSOR_.patch \ + file://0003-pserror.c-Define-column-to-be-int-explcitly.patch \ + file://0004-Define-missing-prototype-for-functions.patch \ + file://0006-Workaround-patch-for-missing-Python3-transition-of-t.patch \ + file://0001-Fix-installing-ipp-usb-quirk.patch \ + file://0001-Drop-using-register-storage-classifier.patch \ + file://0001-Fix-upstream-CFLAGS-override.patch" +SRC_URI[sha256sum] = "1cf6d6c28735435c8eb6646e83bcfb721e51c4b1f0e8cf9105a6faf96dc9ad25" + +CVE_PRODUCT = "hplip linux_imaging_and_printing" + +UPSTREAM_CHECK_URI = "https://sourceforge.net/p/hplip/activity" + +DEPENDS += "cups python3 libusb1 python3-setuptools-native" + +inherit autotools-brokensep python3-dir python3native python3targetconfig pkgconfig systemd + +EXTRA_OECONF += "\ + --enable-cups-drv-install \ + --enable-cups-ppd-install \ + --disable-network-build \ + --disable-doc-build \ + --disable-pp-build \ + --disable-scan-build \ + --disable-gui-build \ + --disable-fax-build \ + --disable-policykit \ + --disable-qt4 \ + --disable-qt3 \ + --disable-dbus-build \ + --enable-foomatic-drv-install \ + --disable-foomatic-ppd-install \ + --disable-foomatic-rip-hplip-install \ + --disable-imageProcessor_build \ + --with-cupsbackenddir=${libexecdir}/cups/backend \ + --with-cupsfilterdir=${libexecdir}/cups/filter \ +" + +EXTRA_OEMAKE = "rulessystemdir=${systemd_unitdir}/system/" + +do_configure:prepend() { + # If not set directly, it determines the absolute path of site-packages dir in recipe-sysroot, + # and then it installs the python libraries into a folder in ${D} that was constructed from + # that path, instead of using the correct ${PYTHON_SITEPACKAGES_DIR}. + sed -i 's,^\( PYTHONEXECDIR=\).*,\1"${PYTHON_SITEPACKAGES_DIR}",' configure.in +} + +do_install:append() { + rm -rf ${D}${datadir}/hplip/upgrade.py + rm -rf ${D}${datadir}/hplip/uninstall.py + sed -i -e "s|/usr/bin/env python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py + sed -i -e "s|/usr/bin/python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py +} + +PACKAGE_BEFORE_PN += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal" + +RDEPENDS:${PN} += " \ + python3\ + python3-syslog \ + python3-pprint \ + python3-compression \ + python3-shell \ + python3-xml \ + python3-unixadmin \ + python3-html \ + python3-resource \ + python3-terminal \ +" +RDEPENDS:${PN}-filter += "perl ghostscript" + +FILES:${PN} += "${datadir}/ipp-usb/quirks/HPLIP.conf \ + ${systemd_system_unitdir}/hplip-printer@.service" +FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" +FILES:${PN}-ppd = "${datadir}/ppd" +FILES:${PN}-cups = "${datadir}/cups" +FILES:${PN}-backend = "${libexecdir}/cups/backend" +FILES:${PN}-filter = "${libexecdir}/cups/filter" +FILES:${PN}-hal = "${datadir}/hal" + +FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so" + +CLEANBROKEN = "1" diff --git a/meta-oe/recipes-extended/jansson/jansson/0002-allow-build-with-cmake-4.patch b/meta-oe/recipes-extended/jansson/jansson/0002-allow-build-with-cmake-4.patch deleted file mode 100644 index 5264f26f811..00000000000 --- a/meta-oe/recipes-extended/jansson/jansson/0002-allow-build-with-cmake-4.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5d7b2ced666b4fbccd0da6e06d504ae2960575c8 Mon Sep 17 00:00:00 2001 -From: Alper Ak -Date: Tue, 8 Jul 2025 14:54:08 +0300 -Subject: [PATCH] cmake: Set minimum required version to 3.5 for CMake 4+ - compatibility - -| CMake Error at CMakeLists.txt:1 (cmake_minimum_required): -| Compatibility with CMake < 3.5 has been removed from CMake. -| -| Update the VERSION argument value. Or, use the ... syntax -| to tell CMake that the project requires at least but has been updated -| to work with policies introduced by or earlier. -| -| Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. -| -| -| -- Configuring incomplete, errors occurred! - -Upstream-Status: Backport [https://github.com/akheron/jansson/commit/96d160df90016066d04d493d1d69639474ba4f20] - -Signed-off-by: Alper Ak ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 72f9762..d07412e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required (VERSION 3.1) -+cmake_minimum_required (VERSION 3.5) - project(jansson C) - - # Options --- -2.43.0 - diff --git a/meta-oe/recipes-extended/jansson/jansson_2.14.1.bb b/meta-oe/recipes-extended/jansson/jansson_2.14.1.bb deleted file mode 100644 index e0916759c6c..00000000000 --- a/meta-oe/recipes-extended/jansson/jansson_2.14.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data" -HOMEPAGE = "http://www.digip.org/jansson/" -BUGTRACKER = "https://github.com/akheron/jansson/issues" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d9911525d4128bee234ee2d3ccaa2537" - -SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \ - file://0001-Honour-multilib-paths.patch \ - file://0001-Only-export-symbols-starting-with-json_-and-jansson_.patch \ - file://0002-allow-build-with-cmake-4.patch \ - " -SRC_URI[sha256sum] = "6bd82d3043dadbcd58daaf903d974891128d22aab7dada5d399cb39094af49ce" - -UPSTREAM_CHECK_URI = "https://github.com/akheron/${BPN}/releases" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" - -inherit cmake pkgconfig - -EXTRA_OECMAKE = "-DJANSSON_BUILD_SHARED_LIBS=${@ 'OFF' if d.getVar('DISABLE_STATIC') == '' else 'ON' }" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/jansson/jansson_2.15.0.bb b/meta-oe/recipes-extended/jansson/jansson_2.15.0.bb new file mode 100644 index 00000000000..829ac1ad493 --- /dev/null +++ b/meta-oe/recipes-extended/jansson/jansson_2.15.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data" +HOMEPAGE = "http://www.digip.org/jansson/" +BUGTRACKER = "https://github.com/akheron/jansson/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d9911525d4128bee234ee2d3ccaa2537" + +SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \ + file://0001-Honour-multilib-paths.patch \ + file://0001-Only-export-symbols-starting-with-json_-and-jansson_.patch \ + " +SRC_URI[sha256sum] = "a7eac7765000373165f9373eb748be039c10b2efc00be9af3467ec92357d8954" + +UPSTREAM_CHECK_URI = "https://github.com/akheron/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" + +inherit cmake pkgconfig + +EXTRA_OECMAKE = "-DJANSSON_BUILD_SHARED_LIBS=${@ 'OFF' if d.getVar('DISABLE_STATIC') == '' else 'ON' }" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/libcbor/libcbor/0001-allow-build-with-cmake-4.patch b/meta-oe/recipes-extended/libcbor/libcbor/0001-allow-build-with-cmake-4.patch deleted file mode 100644 index 1edca539bab..00000000000 --- a/meta-oe/recipes-extended/libcbor/libcbor/0001-allow-build-with-cmake-4.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4b34fd7b4d674eeba5e9572df1d88bafa1d100e3 Mon Sep 17 00:00:00 2001 -From: Alper Ak -Date: Wed, 9 Jul 2025 11:29:39 +0300 -Subject: [PATCH] cmake: Set minimum required version to 3.5 for CMake 4+ - compatibility - -Fix: - -| CMake Error at CMakeLists.txt:1 (cmake_minimum_required): -| Compatibility with CMake < 3.5 has been removed from CMake. -| -| Update the VERSION argument value. Or, use the ... syntax -| to tell CMake that the project requires at least but has been updated -| to work with policies introduced by or earlier. -| -| Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. -| -| -| -- Configuring incomplete, errors occurred! - -Upstream-Status: Backport [https://github.com/PJK/libcbor/commit/1183292d4695300785b272532c1e02d68840e4b8] - -Signed-off-by: Alper Ak ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 815675e..a9f9bd5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required(VERSION 3.0) -+cmake_minimum_required(VERSION 3.5) - - project(libcbor) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} --- -2.43.0 - diff --git a/meta-oe/recipes-extended/libcbor/libcbor_0.12.0.bb b/meta-oe/recipes-extended/libcbor/libcbor_0.12.0.bb deleted file mode 100755 index fa48d23bdeb..00000000000 --- a/meta-oe/recipes-extended/libcbor/libcbor_0.12.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "library for CBOR" -DESCRIPTION = "C library for parsing and generating CBOR, the general-purpose schema-less binary data format." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f3b3881df62ca763a02d359a6e94071" - -SRC_URI = "git://github.com/PJK/libcbor.git;protocol=https;branch=master \ - file://0001-allow-build-with-cmake-4.patch" - -SRCREV = "ae000f44e8d2a69e1f72a738f7c0b6b4b7cc4fbf" - -inherit cmake - -EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON" diff --git a/meta-oe/recipes-extended/libcbor/libcbor_0.14.0.bb b/meta-oe/recipes-extended/libcbor/libcbor_0.14.0.bb new file mode 100755 index 00000000000..7d656883846 --- /dev/null +++ b/meta-oe/recipes-extended/libcbor/libcbor_0.14.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "library for CBOR" +DESCRIPTION = "C library for parsing and generating CBOR, the general-purpose schema-less binary data format." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f3b3881df62ca763a02d359a6e94071" + +SRC_URI = "git://github.com/PJK/libcbor.git;protocol=https;branch=master;tag=v${PV}" + +SRCREV = "6730c20ab487c0b4dc5fb3fea918937085355bac" + +inherit cmake + +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON" diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.11.bb b/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.11.bb deleted file mode 100644 index ffbb3a8c8e2..00000000000 --- a/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.11.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "A Modbus library for Linux, Mac OS, FreeBSD and Windows" -DESCRIPTION = "libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol. This library can use a serial port or an Ethernet connection." -HOMEPAGE = "http://www.libmodbus.org/" -SECTION = "libs" - -LICENSE = "LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/stephane/libmodbus;branch=master;protocol=https" -SRCREV = "5190e5e141780ae481f24be16d7b39a5f3ad8f8f" - - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "" -PACKAGECONFIG[test] = "--enable-tests,--disable-tests,," diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.12.bb b/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.12.bb new file mode 100644 index 00000000000..2e149580eb7 --- /dev/null +++ b/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.12.bb @@ -0,0 +1,16 @@ +SUMMARY = "A Modbus library for Linux, Mac OS, FreeBSD and Windows" +DESCRIPTION = "libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol. This library can use a serial port or an Ethernet connection." +HOMEPAGE = "http://www.libmodbus.org/" +SECTION = "libs" + +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/stephane/libmodbus;branch=master;protocol=https;tag=v${PV}" +SRCREV = "9af6c16074df566551bca0a7c37443e48f216289" + + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[test] = "--enable-tests,--disable-tests,," diff --git a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.19.bb b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.19.bb deleted file mode 100644 index 834687b43b3..00000000000 --- a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.19.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes" -DESCRIPTION = "\ -lockfile-progs provide a method to lock and unlock mailboxes and files \ -safely (via liblockfile)." -HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html" -SECTION = "Applications/System" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -DEPENDS = "liblockfile" - -SRC_URI = "${DEBIAN_MIRROR}/main/l/${BPN}/${BPN}_${PV}.tar.gz" -SRC_URI[sha256sum] = "2c5704b01c8f474f82921780e4592a927b2bf6a6d7616354a6c5d7cd5664857e" - -do_compile() { - oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables ${DEBUG_PREFIX_MAP}' -} - -do_install() { - install -m 755 -d ${D}${bindir} - install bin/* ${D}${bindir} - install -m 755 -d ${D}${mandir}/man1 - install man/* ${D}${mandir}/man1 -} diff --git a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.2.0.bb b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.2.0.bb new file mode 100644 index 00000000000..a8c5bab78d5 --- /dev/null +++ b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.2.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes" +DESCRIPTION = "\ +lockfile-progs provide a method to lock and unlock mailboxes and files \ +safely (via liblockfile)." +HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html" +SECTION = "Applications/System" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" +DEPENDS = "liblockfile" + +SRC_URI = "${DEBIAN_MIRROR}/main/l/${BPN}/${BPN}_${PV}.tar.xz" +SRC_URI[sha256sum] = "2988fb5a8b407e52e2aa6282ce45497f465c921d591138c100f4898215844c90" + +do_compile() { + ${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} -c rewrite-time.c + ${BUILD_CC} -o rewrite-time ${BUILD_LDFLAGS} rewrite-time.o + oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables ${DEBUG_PREFIX_MAP}' +} + +do_install() { + install -m 755 -d ${D}${bindir} + install bin/* ${D}${bindir} + install -m 755 -d ${D}${mandir}/man1 + install man/* ${D}${mandir}/man1 +} diff --git a/meta-oe/recipes-extended/lprng/lprng_3.9.0.bb b/meta-oe/recipes-extended/lprng/lprng_3.9.0.bb index 04376b66ed0..0f427a7d05b 100644 --- a/meta-oe/recipes-extended/lprng/lprng_3.9.0.bb +++ b/meta-oe/recipes-extended/lprng/lprng_3.9.0.bb @@ -10,6 +10,7 @@ UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lprng/files/lprng/" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" inherit autotools gettext +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" EXTRA_OECONF = "--disable-ssl --disable-kerberos --enable-force_localhost \ CHOWN=${base_bindir}/chown CHGRP=${base_bindir}/chgrp \ diff --git a/meta-oe/recipes-extended/magic-enum/magic-enum_0.9.7.bb b/meta-oe/recipes-extended/magic-enum/magic-enum_0.9.7.bb index 6d5399c8d0e..958ae210651 100644 --- a/meta-oe/recipes-extended/magic-enum/magic-enum_0.9.7.bb +++ b/meta-oe/recipes-extended/magic-enum/magic-enum_0.9.7.bb @@ -16,7 +16,8 @@ SRC_URI = " \ file://run-ptest \ " -SRCREV = "e046b69a3736d314fad813e159b1c192eaef92cd" +SRCREV = "7d87efb4a3dddbbe8caa9ca14eff05ede1102ab8" +PV .= "+git" inherit cmake ptest diff --git a/meta-oe/recipes-extended/minio/minio_git.bb b/meta-oe/recipes-extended/minio/minio_git.bb index 511dd4d8696..d08b5e754d3 100644 --- a/meta-oe/recipes-extended/minio/minio_git.bb +++ b/meta-oe/recipes-extended/minio/minio_git.bb @@ -169,4 +169,4 @@ CVE_STATUS_GROUPS += "CVE_STATUS_WRONG_CPE" CVE_STATUS_WRONG_CPE[status] = "cpe-incorrect: The vulnerability is in minio server, not in minio client-tools" CVE_STATUS_WRONG_CPE = "CVE-2018-1000538 CVE-2020-11012 CVE-2021-21287 CVE-2021-21362 \ CVE-2021-21390 CVE-2021-43858 CVE-2022-35919 CVE-2023-28433 \ - CVE-2023-28434 CVE-2024-36107" + CVE-2023-28434 CVE-2024-36107 CVE-2026-33419 CVE-2026-34204" diff --git a/meta-oe/recipes-extended/networking/mstpd_0.2.0.bb b/meta-oe/recipes-extended/networking/mstpd_0.2.0.bb new file mode 100644 index 00000000000..0d601115543 --- /dev/null +++ b/meta-oe/recipes-extended/networking/mstpd_0.2.0.bb @@ -0,0 +1,30 @@ +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4325afd396febcb659c36b49533135d4" + +SRC_URI = " \ + git://github.com/mstpd/mstpd;branch=master;protocol=https;tag=${PV} \ + file://bridge-stp \ + file://mstpd.service \ +" +SRCREV = "8995e5d11ee89f2251734e34cea711bb5a5bb911" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+){2,})" + +inherit autotools pkgconfig systemd + +PACKAGES =+ "${PN}-mstpd" +FILES:${PN}-mstpd = "${sbindir}/mstpd ${sbindir}/mstpctl ${sbindir}/bridge-stp" + +SYSTEMD_PACKAGES = "${PN}-mstpd" +SYSTEMD_SERVICE:${PN}-mstpd = "mstpd.service" + +do_install:append() { + rm -rf ${D}${libexecdir} ${D}${libdir}/NetworkManager + rmdir ${D}${libdir} || true + + install -d -m 0755 ${D}${sbindir} + install -m 0755 ${UNPACKDIR}/bridge-stp ${D}${sbindir} + + install -d -m 0755 ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/mstpd.service ${D}${systemd_system_unitdir} +} diff --git a/meta-oe/recipes-extended/networking/mstpd_git.bb b/meta-oe/recipes-extended/networking/mstpd_git.bb deleted file mode 100644 index b003b52d25e..00000000000 --- a/meta-oe/recipes-extended/networking/mstpd_git.bb +++ /dev/null @@ -1,32 +0,0 @@ -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4325afd396febcb659c36b49533135d4" - -PV = "0.1.0+git" - -SRC_URI = " \ - git://github.com/mstpd/mstpd;branch=master;protocol=https \ - file://bridge-stp \ - file://mstpd.service \ -" -SRCREV = "181c453fc1a00573e19f14960dcc54ad84beea7c" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+){2,})" - -inherit autotools pkgconfig systemd - -PACKAGES =+ "${PN}-mstpd" -FILES:${PN}-mstpd = "${sbindir}/mstpd ${sbindir}/mstpctl ${sbindir}/bridge-stp" - -SYSTEMD_PACKAGES = "${PN}-mstpd" -SYSTEMD_SERVICE:${PN}-mstpd = "mstpd.service" - -do_install:append() { - rm -rf ${D}${libexecdir} ${D}${libdir}/NetworkManager - rmdir ${D}${libdir} || true - - install -d -m 0755 ${D}${sbindir} - install -m 0755 ${UNPACKDIR}/bridge-stp ${D}${sbindir} - - install -d -m 0755 ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/mstpd.service ${D}${systemd_system_unitdir} -} diff --git a/meta-oe/recipes-extended/nushell/nushell-crates.inc b/meta-oe/recipes-extended/nushell/nushell-crates.inc new file mode 100644 index 00000000000..47e8f37aedc --- /dev/null +++ b/meta-oe/recipes-extended/nushell/nushell-crates.inc @@ -0,0 +1,1488 @@ +# Autogenerated with 'bitbake -c update_crates nushell' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/addr2line/0.24.2 \ + crate://crates.io/adler2/2.0.0 \ + crate://crates.io/aho-corasick/1.1.4 \ + crate://crates.io/alloc-no-stdlib/2.0.4 \ + crate://crates.io/alloc-stdlib/0.2.2 \ + crate://crates.io/alloca/0.4.0 \ + crate://crates.io/allocator-api2/0.2.21 \ + crate://crates.io/alphanumeric-sort/1.5.3 \ + crate://crates.io/android_system_properties/0.1.5 \ + crate://crates.io/ansi-str/0.9.0 \ + crate://crates.io/ansitok/0.3.0 \ + crate://crates.io/anstream/0.6.21 \ + crate://crates.io/anstyle/1.0.13 \ + crate://crates.io/anstyle-parse/0.2.7 \ + crate://crates.io/anstyle-query/1.1.5 \ + crate://crates.io/anstyle-wincon/3.0.6 \ + crate://crates.io/anyhow/1.0.100 \ + crate://crates.io/arbitrary/1.4.1 \ + crate://crates.io/arboard/3.6.1 \ + crate://crates.io/arrayvec/0.7.6 \ + crate://crates.io/assert_cmd/2.1.2 \ + crate://crates.io/async-trait/0.1.89 \ + crate://crates.io/atoi_simd/0.16.0 \ + crate://crates.io/atomic/0.6.1 \ + crate://crates.io/atomic-waker/1.1.2 \ + crate://crates.io/autocfg/1.5.0 \ + crate://crates.io/backtrace/0.3.74 \ + crate://crates.io/backtrace-ext/0.2.1 \ + crate://crates.io/base64/0.22.1 \ + crate://crates.io/base64ct/1.8.0 \ + crate://crates.io/bigdecimal/0.4.10 \ + crate://crates.io/bindgen/0.70.1 \ + crate://crates.io/bit-set/0.8.0 \ + crate://crates.io/bit-vec/0.8.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.10.0 \ + crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/block2/0.6.2 \ + crate://crates.io/bracoxide/0.1.8 \ + crate://crates.io/brotli/8.0.2 \ + crate://crates.io/brotli-decompressor/5.0.0 \ + crate://crates.io/bstr/1.12.1 \ + crate://crates.io/buf-trait/0.4.1 \ + crate://crates.io/bumpalo/3.19.1 \ + crate://crates.io/bytecount/0.6.8 \ + crate://crates.io/bytemuck/1.25.0 \ + crate://crates.io/byteorder/1.5.0 \ + crate://crates.io/byteorder-lite/0.1.0 \ + crate://crates.io/bytes/1.11.1 \ + crate://crates.io/bytesize/2.3.1 \ + crate://crates.io/byteyarn/0.5.1 \ + crate://crates.io/calamine/0.32.0 \ + crate://crates.io/castaway/0.2.3 \ + crate://crates.io/cc/1.2.55 \ + crate://crates.io/cesu8/1.1.0 \ + crate://crates.io/cexpr/0.6.0 \ + crate://crates.io/cfg-if/1.0.4 \ + crate://crates.io/cfg_aliases/0.2.1 \ + crate://crates.io/chacha20/0.10.0 \ + crate://crates.io/chardetng/0.1.17 \ + crate://crates.io/chrono/0.4.43 \ + crate://crates.io/chrono-humanize/0.2.3 \ + crate://crates.io/chrono-tz/0.10.0 \ + crate://crates.io/chrono-tz-build/0.4.0 \ + crate://crates.io/clang-sys/1.8.1 \ + crate://crates.io/clap/4.5.23 \ + crate://crates.io/clap_builder/4.5.23 \ + crate://crates.io/clap_derive/4.5.18 \ + crate://crates.io/clap_lex/0.7.4 \ + crate://crates.io/clipboard-win/5.4.0 \ + crate://crates.io/codepage/0.1.2 \ + crate://crates.io/colorchoice/1.0.4 \ + crate://crates.io/colorz/1.1.4 \ + crate://crates.io/combine/4.6.7 \ + crate://crates.io/compact_str/0.9.0 \ + crate://crates.io/console/0.16.1 \ + crate://crates.io/const_format/0.2.34 \ + crate://crates.io/const_format_proc_macros/0.2.34 \ + crate://crates.io/convert_case/0.7.1 \ + crate://crates.io/cookie/0.18.1 \ + crate://crates.io/cookie_store/0.21.1 \ + crate://crates.io/core-foundation/0.9.4 \ + crate://crates.io/core-foundation/0.10.0 \ + crate://crates.io/core-foundation-sys/0.8.7 \ + crate://crates.io/cpufeatures/0.2.17 \ + crate://crates.io/cpufeatures/0.3.0 \ + crate://crates.io/crc32fast/1.4.2 \ + crate://crates.io/crossbeam-channel/0.5.15 \ + crate://crates.io/crossbeam-deque/0.8.6 \ + crate://crates.io/crossbeam-epoch/0.9.18 \ + crate://crates.io/crossbeam-utils/0.8.21 \ + crate://crates.io/crossterm/0.29.0 \ + crate://crates.io/crossterm_winapi/0.9.1 \ + crate://crates.io/crunchy/0.2.4 \ + crate://crates.io/crypto-common/0.1.7 \ + crate://crates.io/csv/1.4.0 \ + crate://crates.io/csv-core/0.1.11 \ + crate://crates.io/ctrlc/3.5.1 \ + crate://crates.io/darling/0.20.10 \ + crate://crates.io/darling/0.23.0 \ + crate://crates.io/darling_core/0.20.10 \ + crate://crates.io/darling_core/0.23.0 \ + crate://crates.io/darling_macro/0.20.10 \ + crate://crates.io/darling_macro/0.23.0 \ + crate://crates.io/data-encoding/2.10.0 \ + crate://crates.io/der/0.7.10 \ + crate://crates.io/deranged/0.5.5 \ + crate://crates.io/derive_arbitrary/1.4.1 \ + crate://crates.io/derive_more/2.0.1 \ + crate://crates.io/derive_more-impl/2.0.1 \ + crate://crates.io/devicons/0.6.12 \ + crate://crates.io/diff/0.1.13 \ + crate://crates.io/difflib/0.4.0 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/dirs/6.0.0 \ + crate://crates.io/dirs-sys/0.5.0 \ + crate://crates.io/dispatch2/0.3.0 \ + crate://crates.io/displaydoc/0.2.5 \ + crate://crates.io/dns-lookup/3.0.1 \ + crate://crates.io/doctest-file/1.0.0 \ + crate://crates.io/document-features/0.2.11 \ + crate://crates.io/downcast-rs/1.2.1 \ + crate://crates.io/dtparse/2.0.1 \ + crate://crates.io/dunce/1.0.5 \ + crate://crates.io/dyn-clone/1.0.20 \ + crate://crates.io/edit/0.1.5 \ + crate://crates.io/edtui/0.11.1 \ + crate://crates.io/edtui-jagged/0.1.13 \ + crate://crates.io/either/1.15.0 \ + crate://crates.io/encode_unicode/1.0.0 \ + crate://crates.io/encoding_rs/0.8.35 \ + crate://crates.io/enum_dispatch/0.3.13 \ + crate://crates.io/env_home/0.1.0 \ + crate://crates.io/equivalent/1.0.2 \ + crate://crates.io/erased-serde/0.4.5 \ + crate://crates.io/errno/0.3.10 \ + crate://crates.io/error-code/3.3.1 \ + crate://crates.io/etcetera/0.10.0 \ + crate://crates.io/fallible-iterator/0.3.0 \ + crate://crates.io/fallible-streaming-iterator/0.1.9 \ + crate://crates.io/fancy-regex/0.17.0 \ + crate://crates.io/fast-float2/0.2.3 \ + crate://crates.io/fastrand/2.3.0 \ + crate://crates.io/fax/0.2.6 \ + crate://crates.io/fax_derive/0.2.0 \ + crate://crates.io/fd-lock/4.0.2 \ + crate://crates.io/fdeflate/0.3.7 \ + crate://crates.io/file-id/0.2.2 \ + crate://crates.io/filesize/0.2.0 \ + crate://crates.io/filetime/0.2.25 \ + crate://crates.io/find-msvc-tools/0.1.9 \ + crate://crates.io/fixedbitset/0.4.2 \ + crate://crates.io/flate2/1.1.2 \ + crate://crates.io/fluent/0.17.0 \ + crate://crates.io/fluent-bundle/0.16.0 \ + crate://crates.io/fluent-langneg/0.13.0 \ + crate://crates.io/fluent-syntax/0.12.0 \ + crate://crates.io/fluent-uri/0.1.4 \ + crate://crates.io/fnv/1.0.7 \ + crate://crates.io/foldhash/0.1.5 \ + crate://crates.io/foldhash/0.2.0 \ + crate://crates.io/foreign-types/0.3.2 \ + crate://crates.io/foreign-types-shared/0.1.1 \ + crate://crates.io/form_urlencoded/1.2.2 \ + crate://crates.io/fs_extra/1.3.0 \ + crate://crates.io/fsevent-sys/4.1.0 \ + crate://crates.io/futures/0.3.31 \ + crate://crates.io/futures-channel/0.3.31 \ + crate://crates.io/futures-core/0.3.31 \ + crate://crates.io/futures-executor/0.3.31 \ + crate://crates.io/futures-io/0.3.31 \ + crate://crates.io/futures-macro/0.3.31 \ + crate://crates.io/futures-sink/0.3.31 \ + crate://crates.io/futures-task/0.3.31 \ + crate://crates.io/futures-util/0.3.31 \ + crate://crates.io/fuzzy-matcher/0.3.7 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/gethostname/0.4.3 \ + crate://crates.io/getrandom/0.2.17 \ + crate://crates.io/getrandom/0.3.4 \ + crate://crates.io/getrandom/0.4.1 \ + crate://crates.io/gimli/0.31.1 \ + crate://crates.io/glob/0.3.1 \ + crate://crates.io/glob-match/0.2.1 \ + crate://crates.io/goblin/0.7.1 \ + crate://crates.io/h2/0.4.13 \ + crate://crates.io/half/2.7.1 \ + crate://crates.io/hashbrown/0.15.5 \ + crate://crates.io/hashbrown/0.16.1 \ + crate://crates.io/hashlink/0.10.0 \ + crate://crates.io/heck/0.5.0 \ + crate://crates.io/hex/0.4.3 \ + crate://crates.io/home/0.5.9 \ + crate://crates.io/http/1.4.0 \ + crate://crates.io/http-body/1.0.1 \ + crate://crates.io/http-body-util/0.1.3 \ + crate://crates.io/httparse/1.10.1 \ + crate://crates.io/httpdate/1.0.3 \ + crate://crates.io/human-date-parser/0.3.1 \ + crate://crates.io/hyper/1.8.1 \ + crate://crates.io/hyper-rustls/0.27.7 \ + crate://crates.io/hyper-tls/0.6.0 \ + crate://crates.io/hyper-util/0.1.20 \ + crate://crates.io/iana-time-zone/0.1.65 \ + crate://crates.io/iana-time-zone-haiku/0.1.2 \ + crate://crates.io/icu_collections/2.1.1 \ + crate://crates.io/icu_locale_core/2.1.1 \ + crate://crates.io/icu_normalizer/2.1.1 \ + crate://crates.io/icu_normalizer_data/2.1.1 \ + crate://crates.io/icu_properties/2.1.2 \ + crate://crates.io/icu_properties_data/2.1.2 \ + crate://crates.io/icu_provider/2.1.1 \ + crate://crates.io/id-arena/2.3.0 \ + crate://crates.io/ident_case/1.0.1 \ + crate://crates.io/idna/1.1.0 \ + crate://crates.io/idna_adapter/1.2.1 \ + crate://crates.io/image/0.25.9 \ + crate://crates.io/indexmap/2.13.0 \ + crate://crates.io/indicatif/0.18.0 \ + crate://crates.io/indoc/2.0.7 \ + crate://crates.io/inotify/0.9.6 \ + crate://crates.io/inotify-sys/0.1.5 \ + crate://crates.io/instability/0.3.7 \ + crate://crates.io/interprocess/2.3.1 \ + crate://crates.io/intl-memoizer/0.5.3 \ + crate://crates.io/intl_pluralrules/7.0.2 \ + crate://crates.io/inventory/0.3.15 \ + crate://crates.io/ipnet/2.10.1 \ + crate://crates.io/is-docker/0.2.0 \ + crate://crates.io/is-wsl/0.4.0 \ + crate://crates.io/is_ci/1.2.0 \ + crate://crates.io/is_debug/1.1.0 \ + crate://crates.io/is_executable/1.0.4 \ + crate://crates.io/is_terminal_polyfill/1.70.2 \ + crate://crates.io/itertools/0.11.0 \ + crate://crates.io/itertools/0.13.0 \ + crate://crates.io/itertools/0.14.0 \ + crate://crates.io/itoa/1.0.17 \ + crate://crates.io/jiff/0.2.18 \ + crate://crates.io/jiff-static/0.2.18 \ + crate://crates.io/jiff-tzdb/0.1.4 \ + crate://crates.io/jiff-tzdb-platform/0.1.3 \ + crate://crates.io/jni/0.21.1 \ + crate://crates.io/jni-sys/0.3.0 \ + crate://crates.io/js-sys/0.3.78 \ + crate://crates.io/kasuari/0.4.8 \ + crate://crates.io/kqueue/1.0.8 \ + crate://crates.io/kqueue-sys/1.0.4 \ + crate://crates.io/lazy_static/1.5.0 \ + crate://crates.io/lean_string/0.5.0 \ + crate://crates.io/leb128fmt/0.1.0 \ + crate://crates.io/lexopt/0.3.1 \ + crate://crates.io/libc/0.2.178 \ + crate://crates.io/libloading/0.8.6 \ + crate://crates.io/libm/0.2.16 \ + crate://crates.io/libproc/0.14.10 \ + crate://crates.io/libredox/0.1.3 \ + crate://crates.io/libsqlite3-sys/0.35.0 \ + crate://crates.io/libz-rs-sys/0.5.1 \ + crate://crates.io/line-clipping/0.3.5 \ + crate://crates.io/linked-hash-map/0.5.6 \ + crate://crates.io/linux-raw-sys/0.4.14 \ + crate://crates.io/linux-raw-sys/0.11.0 \ + crate://crates.io/litemap/0.8.1 \ + crate://crates.io/litrs/0.4.1 \ + crate://crates.io/lock_api/0.4.14 \ + crate://crates.io/lockfree-object-pool/0.1.6 \ + crate://crates.io/log/0.4.29 \ + crate://crates.io/lru/0.16.3 \ + crate://crates.io/lscolors/0.20.0 \ + crate://crates.io/lsp-server/0.7.9 \ + crate://crates.io/lsp-textdocument/0.5.0 \ + crate://crates.io/lsp-types/0.97.0 \ + crate://crates.io/mach2/0.6.0 \ + crate://crates.io/matchers/0.2.0 \ + crate://crates.io/md-5/0.10.6 \ + crate://crates.io/memchr/2.7.6 \ + crate://crates.io/miette/7.6.0 \ + crate://crates.io/miette-derive/7.6.0 \ + crate://crates.io/mime/0.3.17 \ + crate://crates.io/mime_guess/2.0.5 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/miniz_oxide/0.8.9 \ + crate://crates.io/mio/0.8.11 \ + crate://crates.io/mio/1.0.4 \ + crate://crates.io/moxcms/0.7.11 \ + crate://crates.io/multipart-rs/0.1.13 \ + crate://crates.io/native-tls/0.2.12 \ + crate://crates.io/nix/0.30.1 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/notify/6.1.1 \ + crate://crates.io/notify-debouncer-full/0.3.2 \ + crate://crates.io/ntapi/0.4.1 \ + crate://crates.io/nu-ansi-term/0.50.3 \ + crate://crates.io/nu-cli/0.111.0 \ + crate://crates.io/nu-cmd-base/0.111.0 \ + crate://crates.io/nu-cmd-extra/0.111.0 \ + crate://crates.io/nu-cmd-lang/0.111.0 \ + crate://crates.io/nu-cmd-plugin/0.111.0 \ + crate://crates.io/nu-color-config/0.111.0 \ + crate://crates.io/nu-command/0.111.0 \ + crate://crates.io/nu-derive-value/0.111.0 \ + crate://crates.io/nu-engine/0.111.0 \ + crate://crates.io/nu-experimental/0.111.0 \ + crate://crates.io/nu-explore/0.111.0 \ + crate://crates.io/nu-glob/0.111.0 \ + crate://crates.io/nu-json/0.111.0 \ + crate://crates.io/nu-lsp/0.111.0 \ + crate://crates.io/nu-mcp/0.111.0 \ + crate://crates.io/nu-parser/0.111.0 \ + crate://crates.io/nu-path/0.111.0 \ + crate://crates.io/nu-plugin-core/0.111.0 \ + crate://crates.io/nu-plugin-engine/0.111.0 \ + crate://crates.io/nu-plugin-protocol/0.111.0 \ + crate://crates.io/nu-pretty-hex/0.111.0 \ + crate://crates.io/nu-protocol/0.111.0 \ + crate://crates.io/nu-std/0.111.0 \ + crate://crates.io/nu-system/0.111.0 \ + crate://crates.io/nu-table/0.111.0 \ + crate://crates.io/nu-term-grid/0.111.0 \ + crate://crates.io/nu-test-support/0.111.0 \ + crate://crates.io/nu-utils/0.111.0 \ + crate://crates.io/nucleo-matcher/0.3.1 \ + crate://crates.io/num-bigint/0.4.6 \ + crate://crates.io/num-conv/0.2.0 \ + crate://crates.io/num-format/0.4.4 \ + crate://crates.io/num-integer/0.1.46 \ + crate://crates.io/num-traits/0.2.19 \ + crate://crates.io/num_threads/0.1.7 \ + crate://crates.io/nuon/0.111.0 \ + crate://crates.io/objc2/0.6.3 \ + crate://crates.io/objc2-app-kit/0.3.2 \ + crate://crates.io/objc2-core-foundation/0.3.2 \ + crate://crates.io/objc2-core-graphics/0.3.2 \ + crate://crates.io/objc2-encode/4.1.0 \ + crate://crates.io/objc2-foundation/0.3.2 \ + crate://crates.io/objc2-io-kit/0.3.2 \ + crate://crates.io/objc2-io-surface/0.3.2 \ + crate://crates.io/object/0.36.5 \ + crate://crates.io/oem_cp/2.1.2 \ + crate://crates.io/omnipath/0.1.6 \ + crate://crates.io/once_cell/1.21.3 \ + crate://crates.io/open/5.3.1 \ + crate://crates.io/openssl/0.10.72 \ + crate://crates.io/openssl-macros/0.1.1 \ + crate://crates.io/openssl-probe/0.1.6 \ + crate://crates.io/openssl-probe/0.2.1 \ + crate://crates.io/openssl-src/300.4.1+3.4.0 \ + crate://crates.io/openssl-sys/0.9.107 \ + crate://crates.io/option-ext/0.2.0 \ + crate://crates.io/os_display/0.1.3 \ + crate://crates.io/os_pipe/1.2.1 \ + crate://crates.io/owo-colors/4.1.0 \ + crate://crates.io/papergrid/0.17.0 \ + crate://crates.io/parking_lot/0.12.5 \ + crate://crates.io/parking_lot_core/0.9.12 \ + crate://crates.io/parse-zoneinfo/0.3.1 \ + crate://crates.io/parse_datetime/0.13.2 \ + crate://crates.io/pastey/0.2.1 \ + crate://crates.io/pathdiff/0.2.3 \ + crate://crates.io/pem-rfc7468/0.7.0 \ + crate://crates.io/percent-encoding/2.3.2 \ + crate://crates.io/pest/2.8.5 \ + crate://crates.io/pest_consume/1.1.3 \ + crate://crates.io/pest_consume_macros/1.1.0 \ + crate://crates.io/pest_derive/2.8.5 \ + crate://crates.io/pest_generator/2.8.5 \ + crate://crates.io/pest_meta/2.8.5 \ + crate://crates.io/petgraph/0.6.5 \ + crate://crates.io/phf/0.11.3 \ + crate://crates.io/phf_codegen/0.11.2 \ + crate://crates.io/phf_generator/0.11.3 \ + crate://crates.io/phf_shared/0.11.3 \ + crate://crates.io/pin-project-lite/0.2.16 \ + crate://crates.io/pin-utils/0.1.0 \ + crate://crates.io/pkg-config/0.3.31 \ + crate://crates.io/plain/0.2.3 \ + crate://crates.io/platform-info/2.0.4 \ + crate://crates.io/png/0.18.0 \ + crate://crates.io/pori/0.0.0 \ + crate://crates.io/portable-atomic/1.13.1 \ + crate://crates.io/portable-atomic-util/0.2.4 \ + crate://crates.io/potential_utf/0.1.4 \ + crate://crates.io/powerfmt/0.2.0 \ + crate://crates.io/ppv-lite86/0.2.21 \ + crate://crates.io/predicates/3.1.2 \ + crate://crates.io/predicates-core/1.0.8 \ + crate://crates.io/predicates-tree/1.0.11 \ + crate://crates.io/pretty_assertions/1.4.1 \ + crate://crates.io/prettyplease/0.2.37 \ + crate://crates.io/print-positions/0.6.1 \ + crate://crates.io/proc-macro-error-attr2/2.0.0 \ + crate://crates.io/proc-macro-error2/2.0.1 \ + crate://crates.io/proc-macro2/1.0.106 \ + crate://crates.io/procfs/0.18.0 \ + crate://crates.io/procfs-core/0.18.0 \ + crate://crates.io/pure-rust-locales/0.8.2 \ + crate://crates.io/pwd/1.4.0 \ + crate://crates.io/pxfm/0.1.27 \ + crate://crates.io/quick-error/2.0.1 \ + crate://crates.io/quick-xml/0.38.4 \ + crate://crates.io/quick-xml/0.39.0 \ + crate://crates.io/quinn/0.11.6 \ + crate://crates.io/quinn-proto/0.11.9 \ + crate://crates.io/quinn-udp/0.5.8 \ + crate://crates.io/quote/1.0.44 \ + crate://crates.io/r-efi/5.3.0 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand/0.9.0 \ + crate://crates.io/rand/0.10.0 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_chacha/0.9.0 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/rand_core/0.9.3 \ + crate://crates.io/rand_core/0.10.0 \ + crate://crates.io/ratatui/0.30.0 \ + crate://crates.io/ratatui-core/0.1.0 \ + crate://crates.io/ratatui-crossterm/0.1.0 \ + crate://crates.io/ratatui-macros/0.7.0 \ + crate://crates.io/ratatui-widgets/0.3.0 \ + crate://crates.io/rayon/1.11.0 \ + crate://crates.io/rayon-core/1.13.0 \ + crate://crates.io/recvmsg/1.0.0 \ + crate://crates.io/redox_syscall/0.5.8 \ + crate://crates.io/redox_users/0.5.2 \ + crate://crates.io/reedline/0.46.0 \ + crate://crates.io/ref-cast/1.0.25 \ + crate://crates.io/ref-cast-impl/1.0.25 \ + crate://crates.io/regex/1.12.3 \ + crate://crates.io/regex-automata/0.4.14 \ + crate://crates.io/regex-syntax/0.8.9 \ + crate://crates.io/relative-path/1.9.3 \ + crate://crates.io/reqwest/0.12.9 \ + crate://crates.io/ring/0.17.14 \ + crate://crates.io/rmcp/0.16.0 \ + crate://crates.io/rmcp-macros/0.16.0 \ + crate://crates.io/rmp/0.8.15 \ + crate://crates.io/rmp-serde/1.3.1 \ + crate://crates.io/roxmltree/0.20.0 \ + crate://crates.io/rstest/0.23.0 \ + crate://crates.io/rstest_macros/0.23.0 \ + crate://crates.io/rusqlite/0.37.0 \ + crate://crates.io/rust_decimal/1.36.0 \ + crate://crates.io/rustc-demangle/0.1.24 \ + crate://crates.io/rustc-hash/1.1.0 \ + crate://crates.io/rustc-hash/2.1.0 \ + crate://crates.io/rustc_version/0.4.1 \ + crate://crates.io/rustix/0.38.42 \ + crate://crates.io/rustix/1.1.3 \ + crate://crates.io/rustls/0.23.28 \ + crate://crates.io/rustls-native-certs/0.8.3 \ + crate://crates.io/rustls-pemfile/2.2.0 \ + crate://crates.io/rustls-pki-types/1.14.0 \ + crate://crates.io/rustls-platform-verifier/0.5.3 \ + crate://crates.io/rustls-platform-verifier-android/0.1.1 \ + crate://crates.io/rustls-webpki/0.103.9 \ + crate://crates.io/rustversion/1.0.22 \ + crate://crates.io/ryu/1.0.22 \ + crate://crates.io/same-file/1.0.6 \ + crate://crates.io/scc/2.4.0 \ + crate://crates.io/schannel/0.1.27 \ + crate://crates.io/schemars/1.2.1 \ + crate://crates.io/schemars_derive/1.2.1 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/scroll/0.11.0 \ + crate://crates.io/scroll_derive/0.11.1 \ + crate://crates.io/sdd/3.0.10 \ + crate://crates.io/security-framework/2.11.1 \ + crate://crates.io/security-framework/3.0.1 \ + crate://crates.io/security-framework-sys/2.12.1 \ + crate://crates.io/self_cell/1.2.0 \ + crate://crates.io/semver/1.0.27 \ + crate://crates.io/serde/1.0.228 \ + crate://crates.io/serde_core/1.0.228 \ + crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/serde_derive_internals/0.29.1 \ + crate://crates.io/serde_json/1.0.149 \ + crate://crates.io/serde_repr/0.1.19 \ + crate://crates.io/serde_spanned/0.6.9 \ + crate://crates.io/serde_spanned/1.0.4 \ + crate://crates.io/serde_urlencoded/0.7.1 \ + crate://crates.io/serde_yaml/0.9.34+deprecated \ + crate://crates.io/serial_test/3.3.1 \ + crate://crates.io/serial_test_derive/3.3.1 \ + crate://crates.io/sha1_smol/1.0.1 \ + crate://crates.io/sha2/0.10.9 \ + crate://crates.io/shadow-rs/1.7.0 \ + crate://crates.io/sharded-slab/0.1.7 \ + crate://crates.io/shlex/1.3.0 \ + crate://crates.io/signal-hook/0.3.17 \ + crate://crates.io/signal-hook-mio/0.2.4 \ + crate://crates.io/signal-hook-registry/1.4.8 \ + crate://crates.io/simd-adler32/0.3.7 \ + crate://crates.io/simplelog/0.12.2 \ + crate://crates.io/siphasher/1.0.1 \ + crate://crates.io/slab/0.4.12 \ + crate://crates.io/smallvec/1.15.1 \ + crate://crates.io/socket2/0.5.10 \ + crate://crates.io/socket2/0.6.2 \ + crate://crates.io/socks/0.3.4 \ + crate://crates.io/sse-stream/0.2.1 \ + crate://crates.io/stable_deref_trait/1.2.1 \ + crate://crates.io/static_assertions/1.1.0 \ + crate://crates.io/strip-ansi-escapes/0.2.1 \ + crate://crates.io/strsim/0.11.1 \ + crate://crates.io/strum/0.26.3 \ + crate://crates.io/strum/0.27.2 \ + crate://crates.io/strum_macros/0.26.4 \ + crate://crates.io/strum_macros/0.27.2 \ + crate://crates.io/subtle/2.6.1 \ + crate://crates.io/supports-color/3.0.2 \ + crate://crates.io/supports-hyperlinks/3.1.0 \ + crate://crates.io/supports-unicode/3.0.0 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.114 \ + crate://crates.io/sync_wrapper/1.0.2 \ + crate://crates.io/synstructure/0.13.2 \ + crate://crates.io/sys-locale/0.3.2 \ + crate://crates.io/sysinfo/0.38.0 \ + crate://crates.io/tabled/0.20.0 \ + crate://crates.io/tango-bench/0.6.0 \ + crate://crates.io/tempfile/3.24.0 \ + crate://crates.io/termcolor/1.4.1 \ + crate://crates.io/terminal_size/0.4.1 \ + crate://crates.io/termtree/0.4.1 \ + crate://crates.io/testing_table/0.3.0 \ + crate://crates.io/textwrap/0.16.1 \ + crate://crates.io/thiserror/1.0.69 \ + crate://crates.io/thiserror/2.0.18 \ + crate://crates.io/thiserror-impl/1.0.69 \ + crate://crates.io/thiserror-impl/2.0.18 \ + crate://crates.io/thread_local/1.1.8 \ + crate://crates.io/tiff/0.10.3 \ + crate://crates.io/time/0.3.47 \ + crate://crates.io/time-core/0.1.8 \ + crate://crates.io/time-macros/0.2.27 \ + crate://crates.io/tinystr/0.8.1 \ + crate://crates.io/tinyvec/1.8.0 \ + crate://crates.io/tinyvec_macros/0.1.1 \ + crate://crates.io/titlecase/3.6.0 \ + crate://crates.io/tokio/1.49.0 \ + crate://crates.io/tokio-macros/2.6.0 \ + crate://crates.io/tokio-native-tls/0.3.1 \ + crate://crates.io/tokio-rustls/0.26.4 \ + crate://crates.io/tokio-stream/0.1.17 \ + crate://crates.io/tokio-util/0.7.18 \ + crate://crates.io/toml/0.8.23 \ + crate://crates.io/toml/0.9.10+spec-1.1.0 \ + crate://crates.io/toml_datetime/0.6.11 \ + crate://crates.io/toml_datetime/0.7.5+spec-1.1.0 \ + crate://crates.io/toml_edit/0.22.27 \ + crate://crates.io/toml_parser/1.0.6+spec-1.1.0 \ + crate://crates.io/toml_write/0.1.2 \ + crate://crates.io/toml_writer/1.0.6+spec-1.1.0 \ + crate://crates.io/tower-service/0.3.3 \ + crate://crates.io/tracing/0.1.44 \ + crate://crates.io/tracing-attributes/0.1.31 \ + crate://crates.io/tracing-core/0.1.36 \ + crate://crates.io/tracing-log/0.2.0 \ + crate://crates.io/tracing-subscriber/0.3.22 \ + crate://crates.io/trash/5.2.4 \ + crate://crates.io/tree_magic_mini/3.1.6 \ + crate://crates.io/try-lock/0.2.5 \ + crate://crates.io/tui-tree-widget/0.24.0 \ + crate://crates.io/type-map/0.5.1 \ + crate://crates.io/typeid/1.0.2 \ + crate://crates.io/typenum/1.19.0 \ + crate://crates.io/typetag/0.2.18 \ + crate://crates.io/typetag-impl/0.2.18 \ + crate://crates.io/tz-rs/0.7.0 \ + crate://crates.io/tzdb/0.7.2 \ + crate://crates.io/tzdb_data/0.2.1 \ + crate://crates.io/ucd-trie/0.1.7 \ + crate://crates.io/umask/2.1.0 \ + crate://crates.io/unic-langid/0.9.6 \ + crate://crates.io/unic-langid-impl/0.9.6 \ + crate://crates.io/unicase/2.9.0 \ + crate://crates.io/unicode-ident/1.0.22 \ + crate://crates.io/unicode-linebreak/0.1.5 \ + crate://crates.io/unicode-segmentation/1.12.0 \ + crate://crates.io/unicode-truncate/2.0.1 \ + crate://crates.io/unicode-width/0.1.11 \ + crate://crates.io/unicode-width/0.2.2 \ + crate://crates.io/unicode-xid/0.2.6 \ + crate://crates.io/unit-prefix/0.5.1 \ + crate://crates.io/unsafe-libyaml/0.2.11 \ + crate://crates.io/untrusted/0.9.0 \ + crate://crates.io/update-informer/1.3.0 \ + crate://crates.io/ureq/3.0.12 \ + crate://crates.io/ureq-proto/0.4.2 \ + crate://crates.io/url/2.5.8 \ + crate://crates.io/urlencoding/2.1.3 \ + crate://crates.io/utf-8/0.7.6 \ + crate://crates.io/utf8_iter/1.0.4 \ + crate://crates.io/utf8parse/0.2.2 \ + crate://crates.io/uu_cp/0.6.0 \ + crate://crates.io/uu_mkdir/0.6.0 \ + crate://crates.io/uu_mktemp/0.6.0 \ + crate://crates.io/uu_mv/0.6.0 \ + crate://crates.io/uu_touch/0.6.0 \ + crate://crates.io/uu_uname/0.6.0 \ + crate://crates.io/uu_whoami/0.6.0 \ + crate://crates.io/uucore/0.6.0 \ + crate://crates.io/uucore_procs/0.6.0 \ + crate://crates.io/uuid/1.21.0 \ + crate://crates.io/v_htmlescape/0.15.8 \ + crate://crates.io/valuable/0.1.1 \ + crate://crates.io/vcpkg/0.2.15 \ + crate://crates.io/version_check/0.9.5 \ + crate://crates.io/vte/0.14.1 \ + crate://crates.io/wait-timeout/0.2.0 \ + crate://crates.io/walkdir/2.5.0 \ + crate://crates.io/want/0.3.1 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ + crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ + crate://crates.io/wasm-bindgen/0.2.101 \ + crate://crates.io/wasm-bindgen-backend/0.2.101 \ + crate://crates.io/wasm-bindgen-futures/0.4.51 \ + crate://crates.io/wasm-bindgen-macro/0.2.101 \ + crate://crates.io/wasm-bindgen-macro-support/0.2.101 \ + crate://crates.io/wasm-bindgen-shared/0.2.101 \ + crate://crates.io/wasm-encoder/0.244.0 \ + crate://crates.io/wasm-metadata/0.244.0 \ + crate://crates.io/wasmparser/0.244.0 \ + crate://crates.io/wax/0.6.0 \ + crate://crates.io/wayland-backend/0.3.12 \ + crate://crates.io/wayland-client/0.31.12 \ + crate://crates.io/wayland-protocols/0.32.10 \ + crate://crates.io/wayland-protocols-wlr/0.3.10 \ + crate://crates.io/wayland-scanner/0.31.8 \ + crate://crates.io/wayland-sys/0.31.8 \ + crate://crates.io/web-sys/0.3.78 \ + crate://crates.io/web-time/1.1.0 \ + crate://crates.io/webpki-root-certs/0.26.11 \ + crate://crates.io/webpki-root-certs/1.0.1 \ + crate://crates.io/webpki-roots/0.26.11 \ + crate://crates.io/webpki-roots/1.0.0 \ + crate://crates.io/weezl/0.1.12 \ + crate://crates.io/which/4.4.2 \ + crate://crates.io/which/8.0.0 \ + crate://crates.io/widestring/1.1.0 \ + crate://crates.io/wild/2.2.1 \ + crate://crates.io/win_uds/0.2.1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.9 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows/0.56.0 \ + crate://crates.io/windows/0.62.1 \ + crate://crates.io/windows-collections/0.3.1 \ + crate://crates.io/windows-core/0.56.0 \ + crate://crates.io/windows-core/0.62.1 \ + crate://crates.io/windows-future/0.3.1 \ + crate://crates.io/windows-implement/0.56.0 \ + crate://crates.io/windows-implement/0.60.2 \ + crate://crates.io/windows-interface/0.56.0 \ + crate://crates.io/windows-interface/0.59.3 \ + crate://crates.io/windows-link/0.2.0 \ + crate://crates.io/windows-numerics/0.3.0 \ + crate://crates.io/windows-registry/0.2.0 \ + crate://crates.io/windows-result/0.1.2 \ + crate://crates.io/windows-result/0.2.0 \ + crate://crates.io/windows-result/0.4.0 \ + crate://crates.io/windows-strings/0.1.0 \ + crate://crates.io/windows-strings/0.5.0 \ + crate://crates.io/windows-sys/0.45.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.52.0 \ + crate://crates.io/windows-sys/0.59.0 \ + crate://crates.io/windows-sys/0.60.2 \ + crate://crates.io/windows-sys/0.61.0 \ + crate://crates.io/windows-targets/0.42.2 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.52.6 \ + crate://crates.io/windows-targets/0.53.4 \ + crate://crates.io/windows-threading/0.2.0 \ + crate://crates.io/windows_aarch64_gnullvm/0.42.2 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ + crate://crates.io/windows_aarch64_gnullvm/0.53.1 \ + crate://crates.io/windows_aarch64_msvc/0.42.2 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.52.6 \ + crate://crates.io/windows_aarch64_msvc/0.53.1 \ + crate://crates.io/windows_i686_gnu/0.42.2 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.52.6 \ + crate://crates.io/windows_i686_gnu/0.53.1 \ + crate://crates.io/windows_i686_gnullvm/0.52.6 \ + crate://crates.io/windows_i686_gnullvm/0.53.1 \ + crate://crates.io/windows_i686_msvc/0.42.2 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.52.6 \ + crate://crates.io/windows_i686_msvc/0.53.1 \ + crate://crates.io/windows_x86_64_gnu/0.42.2 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.52.6 \ + crate://crates.io/windows_x86_64_gnu/0.53.1 \ + crate://crates.io/windows_x86_64_gnullvm/0.42.2 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ + crate://crates.io/windows_x86_64_gnullvm/0.53.1 \ + crate://crates.io/windows_x86_64_msvc/0.42.2 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.52.6 \ + crate://crates.io/windows_x86_64_msvc/0.53.1 \ + crate://crates.io/winnow/0.7.13 \ + crate://crates.io/winreg/0.55.0 \ + crate://crates.io/winresource/0.1.19 \ + crate://crates.io/winsafe/0.0.19 \ + crate://crates.io/wit-bindgen/0.51.0 \ + crate://crates.io/wit-bindgen-core/0.51.0 \ + crate://crates.io/wit-bindgen-rust/0.51.0 \ + crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ + crate://crates.io/wit-component/0.244.0 \ + crate://crates.io/wit-parser/0.244.0 \ + crate://crates.io/wl-clipboard-rs/0.9.3 \ + crate://crates.io/writeable/0.6.2 \ + crate://crates.io/x11rb/0.13.1 \ + crate://crates.io/x11rb-protocol/0.13.1 \ + crate://crates.io/xattr/1.3.1 \ + crate://crates.io/yansi/1.0.1 \ + crate://crates.io/yoke/0.8.1 \ + crate://crates.io/yoke-derive/0.8.1 \ + crate://crates.io/zerocopy/0.7.35 \ + crate://crates.io/zerocopy/0.8.34 \ + crate://crates.io/zerocopy-derive/0.7.35 \ + crate://crates.io/zerocopy-derive/0.8.34 \ + crate://crates.io/zerofrom/0.1.6 \ + crate://crates.io/zerofrom-derive/0.1.6 \ + crate://crates.io/zeroize/1.8.2 \ + crate://crates.io/zerotrie/0.2.3 \ + crate://crates.io/zerovec/0.11.4 \ + crate://crates.io/zerovec-derive/0.11.2 \ + crate://crates.io/zip/4.6.1 \ + crate://crates.io/zlib-rs/0.5.1 \ + crate://crates.io/zmij/1.0.19 \ + crate://crates.io/zopfli/0.8.1 \ + crate://crates.io/zune-core/0.4.12 \ + crate://crates.io/zune-jpeg/0.4.21 \ +" + +SRC_URI[addr2line-0.24.2.sha256sum] = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +SRC_URI[adler2-2.0.0.sha256sum] = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +SRC_URI[alloc-no-stdlib-2.0.4.sha256sum] = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" +SRC_URI[alloc-stdlib-0.2.2.sha256sum] = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +SRC_URI[alloca-0.4.0.sha256sum] = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +SRC_URI[alphanumeric-sort-1.5.3.sha256sum] = "d67c60c5f10f11c6ee04de72b2dd98bb9d2548cbc314d22a609bfa8bd9e87e8f" +SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +SRC_URI[ansi-str-0.9.0.sha256sum] = "060de1453b69f46304b28274f382132f4e72c55637cf362920926a70d090890d" +SRC_URI[ansitok-0.3.0.sha256sum] = "c0a8acea8c2f1c60f0a92a8cd26bf96ca97db56f10bbcab238bbe0cceba659ee" +SRC_URI[anstream-0.6.21.sha256sum] = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +SRC_URI[anstyle-wincon-3.0.6.sha256sum] = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +SRC_URI[anyhow-1.0.100.sha256sum] = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +SRC_URI[arbitrary-1.4.1.sha256sum] = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +SRC_URI[arboard-3.6.1.sha256sum] = "0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf" +SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +SRC_URI[assert_cmd-2.1.2.sha256sum] = "9c5bcfa8749ac45dd12cb11055aeeb6b27a3895560d60d71e3c23bf979e60514" +SRC_URI[async-trait-0.1.89.sha256sum] = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +SRC_URI[atoi_simd-0.16.0.sha256sum] = "4790f9e8961209112beb783d85449b508673cf4a6a419c8449b210743ac4dbe9" +SRC_URI[atomic-0.6.1.sha256sum] = "a89cbf775b137e9b968e67227ef7f775587cde3fd31b0d8599dbd0f598a48340" +SRC_URI[atomic-waker-1.1.2.sha256sum] = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +SRC_URI[autocfg-1.5.0.sha256sum] = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +SRC_URI[backtrace-0.3.74.sha256sum] = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +SRC_URI[backtrace-ext-0.2.1.sha256sum] = "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50" +SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +SRC_URI[base64ct-1.8.0.sha256sum] = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" +SRC_URI[bigdecimal-0.4.10.sha256sum] = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695" +SRC_URI[bindgen-0.70.1.sha256sum] = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +SRC_URI[bit-set-0.8.0.sha256sum] = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +SRC_URI[bit-vec-0.8.0.sha256sum] = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +SRC_URI[bracoxide-0.1.8.sha256sum] = "daeb5b71668c934a1db0c7b07317a3564f2558c5e9155c70d7d6823c01f2ddcd" +SRC_URI[brotli-8.0.2.sha256sum] = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" +SRC_URI[brotli-decompressor-5.0.0.sha256sum] = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" +SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +SRC_URI[buf-trait-0.4.1.sha256sum] = "21eaafc770e8c073d6c3facafe7617e774305d4954aa6351b9c452eb37ee17b4" +SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" +SRC_URI[bytecount-0.6.8.sha256sum] = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" +SRC_URI[bytemuck-1.25.0.sha256sum] = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +SRC_URI[byteorder-lite-0.1.0.sha256sum] = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" +SRC_URI[bytes-1.11.1.sha256sum] = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +SRC_URI[bytesize-2.3.1.sha256sum] = "6bd91ee7b2422bcb158d90ef4d14f75ef67f340943fc4149891dcce8f8b972a3" +SRC_URI[byteyarn-0.5.1.sha256sum] = "b93e51d26468a15ea59f8525e0c13dc405db43e644a0b1e6d44346c72cf4cf7b" +SRC_URI[calamine-0.32.0.sha256sum] = "41bdeb83af82cd9cb686a19ed7efc2f50a21c262610f51ce945a8528860725ce" +SRC_URI[castaway-0.2.3.sha256sum] = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" +SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" +SRC_URI[cesu8-1.1.0.sha256sum] = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" +SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +SRC_URI[chacha20-0.10.0.sha256sum] = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +SRC_URI[chardetng-0.1.17.sha256sum] = "14b8f0b65b7b08ae3c8187e8d77174de20cb6777864c6b832d8ad365999cf1ea" +SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" +SRC_URI[chrono-humanize-0.2.3.sha256sum] = "799627e6b4d27827a814e837b9d8a504832086081806d45b1afa34dc982b023b" +SRC_URI[chrono-tz-0.10.0.sha256sum] = "cd6dd8046d00723a59a2f8c5f295c515b9bb9a331ee4f8f3d4dd49e428acd3b6" +SRC_URI[chrono-tz-build-0.4.0.sha256sum] = "e94fea34d77a245229e7746bd2beb786cd2a896f306ff491fb8cecb3074b10a7" +SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +SRC_URI[clap-4.5.23.sha256sum] = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" +SRC_URI[clap_builder-4.5.23.sha256sum] = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" +SRC_URI[clap_derive-4.5.18.sha256sum] = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +SRC_URI[clap_lex-0.7.4.sha256sum] = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +SRC_URI[clipboard-win-5.4.0.sha256sum] = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" +SRC_URI[codepage-0.1.2.sha256sum] = "48f68d061bc2828ae826206326e61251aca94c1e4a5305cf52d9138639c918b4" +SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +SRC_URI[colorz-1.1.4.sha256sum] = "6ceb37c5798821e37369cb546f430f19da2f585e0364c9615ae340a9f2e6067b" +SRC_URI[combine-4.6.7.sha256sum] = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +SRC_URI[compact_str-0.9.0.sha256sum] = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" +SRC_URI[console-0.16.1.sha256sum] = "b430743a6eb14e9764d4260d4c0d8123087d504eeb9c48f2b2a5e810dd369df4" +SRC_URI[const_format-0.2.34.sha256sum] = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +SRC_URI[const_format_proc_macros-0.2.34.sha256sum] = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +SRC_URI[convert_case-0.7.1.sha256sum] = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +SRC_URI[cookie-0.18.1.sha256sum] = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +SRC_URI[cookie_store-0.21.1.sha256sum] = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" +SRC_URI[core-foundation-0.9.4.sha256sum] = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +SRC_URI[core-foundation-0.10.0.sha256sum] = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +SRC_URI[cpufeatures-0.3.0.sha256sum] = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +SRC_URI[crc32fast-1.4.2.sha256sum] = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +SRC_URI[crossbeam-channel-0.5.15.sha256sum] = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +SRC_URI[crossterm-0.29.0.sha256sum] = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" +SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +SRC_URI[csv-1.4.0.sha256sum] = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" +SRC_URI[csv-core-0.1.11.sha256sum] = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" +SRC_URI[ctrlc-3.5.1.sha256sum] = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +SRC_URI[darling-0.20.10.sha256sum] = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +SRC_URI[darling-0.23.0.sha256sum] = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +SRC_URI[darling_core-0.20.10.sha256sum] = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +SRC_URI[darling_core-0.23.0.sha256sum] = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +SRC_URI[darling_macro-0.20.10.sha256sum] = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +SRC_URI[darling_macro-0.23.0.sha256sum] = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" +SRC_URI[der-0.7.10.sha256sum] = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +SRC_URI[deranged-0.5.5.sha256sum] = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +SRC_URI[derive_arbitrary-1.4.1.sha256sum] = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +SRC_URI[derive_more-2.0.1.sha256sum] = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +SRC_URI[derive_more-impl-2.0.1.sha256sum] = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +SRC_URI[devicons-0.6.12.sha256sum] = "830e47e2f330cf4fdd5a958dcef921b9523ffc21ab6713aa5e77ba2cce03904b" +SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +SRC_URI[difflib-0.4.0.sha256sum] = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[dirs-6.0.0.sha256sum] = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +SRC_URI[dirs-sys-0.5.0.sha256sum] = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +SRC_URI[dns-lookup-3.0.1.sha256sum] = "6e39034cee21a2f5bbb66ba0e3689819c4bb5d00382a282006e802a7ffa6c41d" +SRC_URI[doctest-file-1.0.0.sha256sum] = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" +SRC_URI[document-features-0.2.11.sha256sum] = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" +SRC_URI[downcast-rs-1.2.1.sha256sum] = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +SRC_URI[dtparse-2.0.1.sha256sum] = "23fb403c0926d35af2cc54d961bc2696a10d40725c08360ef69db04a4c201fd7" +SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +SRC_URI[dyn-clone-1.0.20.sha256sum] = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" +SRC_URI[edit-0.1.5.sha256sum] = "f364860e764787163c8c8f58231003839be31276e821e2ad2092ddf496b1aa09" +SRC_URI[edtui-0.11.1.sha256sum] = "e49905ece098e793ca21a019598e9efc9a66459ad1d76bd7619e771a42dae2fc" +SRC_URI[edtui-jagged-0.1.13.sha256sum] = "c6818b2d6b8b3da52f7491b6331e27d45ae34e5baaffeb1edfde43911fe63dd6" +SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" +SRC_URI[encoding_rs-0.8.35.sha256sum] = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +SRC_URI[enum_dispatch-0.3.13.sha256sum] = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +SRC_URI[env_home-0.1.0.sha256sum] = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" +SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +SRC_URI[erased-serde-0.4.5.sha256sum] = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +SRC_URI[errno-0.3.10.sha256sum] = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +SRC_URI[error-code-3.3.1.sha256sum] = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" +SRC_URI[etcetera-0.10.0.sha256sum] = "26c7b13d0780cb82722fd59f6f57f925e143427e4a75313a6c77243bf5326ae6" +SRC_URI[fallible-iterator-0.3.0.sha256sum] = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" +SRC_URI[fallible-streaming-iterator-0.1.9.sha256sum] = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" +SRC_URI[fancy-regex-0.17.0.sha256sum] = "72cf461f865c862bb7dc573f643dd6a2b6842f7c30b07882b56bd148cc2761b8" +SRC_URI[fast-float2-0.2.3.sha256sum] = "f8eb564c5c7423d25c886fb561d1e4ee69f72354d16918afa32c08811f6b6a55" +SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +SRC_URI[fax-0.2.6.sha256sum] = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab" +SRC_URI[fax_derive-0.2.0.sha256sum] = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" +SRC_URI[fd-lock-4.0.2.sha256sum] = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" +SRC_URI[fdeflate-0.3.7.sha256sum] = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +SRC_URI[file-id-0.2.2.sha256sum] = "6bc904b9bbefcadbd8e3a9fb0d464a9b979de6324c03b3c663e8994f46a5be36" +SRC_URI[filesize-0.2.0.sha256sum] = "12d741e2415d4e2e5bd1c1d00409d1a8865a57892c2d689b504365655d237d43" +SRC_URI[filetime-0.2.25.sha256sum] = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +SRC_URI[fixedbitset-0.4.2.sha256sum] = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +SRC_URI[flate2-1.1.2.sha256sum] = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" +SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" +SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" +SRC_URI[fluent-langneg-0.13.0.sha256sum] = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94" +SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" +SRC_URI[fluent-uri-0.1.4.sha256sum] = "17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d" +SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" +SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +SRC_URI[form_urlencoded-1.2.2.sha256sum] = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +SRC_URI[fs_extra-1.3.0.sha256sum] = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" +SRC_URI[fsevent-sys-4.1.0.sha256sum] = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +SRC_URI[futures-0.3.31.sha256sum] = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +SRC_URI[futures-channel-0.3.31.sha256sum] = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +SRC_URI[futures-core-0.3.31.sha256sum] = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +SRC_URI[futures-executor-0.3.31.sha256sum] = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +SRC_URI[futures-io-0.3.31.sha256sum] = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +SRC_URI[futures-macro-0.3.31.sha256sum] = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +SRC_URI[futures-sink-0.3.31.sha256sum] = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +SRC_URI[futures-task-0.3.31.sha256sum] = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +SRC_URI[fuzzy-matcher-0.3.7.sha256sum] = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[gethostname-0.4.3.sha256sum] = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +SRC_URI[getrandom-0.4.1.sha256sum] = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" +SRC_URI[gimli-0.31.1.sha256sum] = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +SRC_URI[glob-match-0.2.1.sha256sum] = "9985c9503b412198aa4197559e9a318524ebc4519c229bfa05a535828c950b9d" +SRC_URI[goblin-0.7.1.sha256sum] = "f27c1b4369c2cd341b5de549380158b105a04c331be5db9110eef7b6d2742134" +SRC_URI[h2-0.4.13.sha256sum] = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" +SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +SRC_URI[hashlink-0.10.0.sha256sum] = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +SRC_URI[http-1.4.0.sha256sum] = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +SRC_URI[http-body-1.0.1.sha256sum] = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +SRC_URI[http-body-util-0.1.3.sha256sum] = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +SRC_URI[httparse-1.10.1.sha256sum] = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +SRC_URI[httpdate-1.0.3.sha256sum] = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +SRC_URI[human-date-parser-0.3.1.sha256sum] = "406f83c56de4b2c9183be52ae9a4fefa22c0e0c3d3d7ef80be26eaee11c7110e" +SRC_URI[hyper-1.8.1.sha256sum] = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +SRC_URI[hyper-rustls-0.27.7.sha256sum] = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +SRC_URI[hyper-tls-0.6.0.sha256sum] = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +SRC_URI[hyper-util-0.1.20.sha256sum] = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +SRC_URI[icu_collections-2.1.1.sha256sum] = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +SRC_URI[icu_locale_core-2.1.1.sha256sum] = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +SRC_URI[icu_normalizer-2.1.1.sha256sum] = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +SRC_URI[icu_normalizer_data-2.1.1.sha256sum] = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" +SRC_URI[icu_properties-2.1.2.sha256sum] = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +SRC_URI[icu_properties_data-2.1.2.sha256sum] = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" +SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +SRC_URI[ident_case-1.0.1.sha256sum] = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +SRC_URI[idna-1.1.0.sha256sum] = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +SRC_URI[idna_adapter-1.2.1.sha256sum] = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +SRC_URI[image-0.25.9.sha256sum] = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" +SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +SRC_URI[indicatif-0.18.0.sha256sum] = "70a646d946d06bedbbc4cac4c218acf4bbf2d87757a784857025f4d447e4e1cd" +SRC_URI[indoc-2.0.7.sha256sum] = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" +SRC_URI[inotify-0.9.6.sha256sum] = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +SRC_URI[inotify-sys-0.1.5.sha256sum] = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +SRC_URI[instability-0.3.7.sha256sum] = "0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d" +SRC_URI[interprocess-2.3.1.sha256sum] = "53bf2b0e0785c5394a7392f66d7c4fb9c653633c29b27a932280da3cb344c66a" +SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" +SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" +SRC_URI[inventory-0.3.15.sha256sum] = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" +SRC_URI[ipnet-2.10.1.sha256sum] = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +SRC_URI[is-docker-0.2.0.sha256sum] = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +SRC_URI[is-wsl-0.4.0.sha256sum] = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +SRC_URI[is_ci-1.2.0.sha256sum] = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" +SRC_URI[is_debug-1.1.0.sha256sum] = "1fe266d2e243c931d8190177f20bf7f24eed45e96f39e87dc49a27b32d12d407" +SRC_URI[is_executable-1.0.4.sha256sum] = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" +SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +SRC_URI[jiff-0.2.18.sha256sum] = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" +SRC_URI[jiff-static-0.2.18.sha256sum] = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" +SRC_URI[jiff-tzdb-0.1.4.sha256sum] = "c1283705eb0a21404d2bfd6eef2a7593d240bc42a0bdb39db0ad6fa2ec026524" +SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +SRC_URI[jni-0.21.1.sha256sum] = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +SRC_URI[jni-sys-0.3.0.sha256sum] = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" +SRC_URI[js-sys-0.3.78.sha256sum] = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" +SRC_URI[kasuari-0.4.8.sha256sum] = "9481b4381c813cebeca86bd55c781d21f902f34cf927ec08d6df3dfebcfd2002" +SRC_URI[kqueue-1.0.8.sha256sum] = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" +SRC_URI[kqueue-sys-1.0.4.sha256sum] = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +SRC_URI[lean_string-0.5.0.sha256sum] = "75e49998bd00bfb567a44a6d3c3d1a970ce35665b5ebf68d64e5e96410be58ae" +SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +SRC_URI[lexopt-0.3.1.sha256sum] = "9fa0e2a1fcbe2f6be6c42e342259976206b383122fc152e872795338b5a3f3a7" +SRC_URI[libc-0.2.178.sha256sum] = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" +SRC_URI[libloading-0.8.6.sha256sum] = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +SRC_URI[libproc-0.14.10.sha256sum] = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" +SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +SRC_URI[libsqlite3-sys-0.35.0.sha256sum] = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" +SRC_URI[libz-rs-sys-0.5.1.sha256sum] = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" +SRC_URI[line-clipping-0.3.5.sha256sum] = "5f4de44e98ddbf09375cbf4d17714d18f39195f4f4894e8524501726fd9a8a4a" +SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +SRC_URI[linux-raw-sys-0.11.0.sha256sum] = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +SRC_URI[litemap-0.8.1.sha256sum] = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" +SRC_URI[litrs-0.4.1.sha256sum] = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" +SRC_URI[lock_api-0.4.14.sha256sum] = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +SRC_URI[lockfree-object-pool-0.1.6.sha256sum] = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" +SRC_URI[log-0.4.29.sha256sum] = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +SRC_URI[lru-0.16.3.sha256sum] = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" +SRC_URI[lscolors-0.20.0.sha256sum] = "61183da5de8ba09a58e330d55e5ea796539d8443bd00fdeb863eac39724aa4ab" +SRC_URI[lsp-server-0.7.9.sha256sum] = "7d6ada348dbc2703cbe7637b2dda05cff84d3da2819c24abcb305dd613e0ba2e" +SRC_URI[lsp-textdocument-0.5.0.sha256sum] = "2da72ba568f141737cbaf0ce7c7f757a00f94f204352bb1297ae0f28ae43398a" +SRC_URI[lsp-types-0.97.0.sha256sum] = "53353550a17c04ac46c585feb189c2db82154fc84b79c7a66c96c2c644f66071" +SRC_URI[mach2-0.6.0.sha256sum] = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" +SRC_URI[matchers-0.2.0.sha256sum] = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +SRC_URI[miette-7.6.0.sha256sum] = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" +SRC_URI[miette-derive-7.6.0.sha256sum] = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b" +SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +SRC_URI[mime_guess-2.0.5.sha256sum] = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +SRC_URI[mio-0.8.11.sha256sum] = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +SRC_URI[mio-1.0.4.sha256sum] = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +SRC_URI[moxcms-0.7.11.sha256sum] = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" +SRC_URI[multipart-rs-0.1.13.sha256sum] = "64cae00e7e52aa5072342ef9a2ccd71669be913c2176a81a665b1f9cd79345f2" +SRC_URI[native-tls-0.2.12.sha256sum] = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[notify-6.1.1.sha256sum] = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" +SRC_URI[notify-debouncer-full-0.3.2.sha256sum] = "fb7fd166739789c9ff169e654dc1501373db9d80a4c3f972817c8a4d7cf8f34e" +SRC_URI[ntapi-0.4.1.sha256sum] = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +SRC_URI[nu-ansi-term-0.50.3.sha256sum] = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +SRC_URI[nu-cli-0.111.0.sha256sum] = "a1bc6be1092e83d9917a1d648f85eea9b55726fa18ce5b5f263e19bb06ab22e9" +SRC_URI[nu-cmd-base-0.111.0.sha256sum] = "5a772c2ef1c30886e85f4d8839e87a362b5e0960d186f8adeb5e257ac6522294" +SRC_URI[nu-cmd-extra-0.111.0.sha256sum] = "6d3b021a91851666b3c3eeafd50f442dcbd023e7a1d9de156d61cc6c9fe9e551" +SRC_URI[nu-cmd-lang-0.111.0.sha256sum] = "c107248c529b6c9599396c21105b45f23b3a3c0aed7d2a3f591be1b39dd85187" +SRC_URI[nu-cmd-plugin-0.111.0.sha256sum] = "89be08b9b865e7a53e6d0f137b37045b563ebbe65a2d0bc7d77b9760e0cffe97" +SRC_URI[nu-color-config-0.111.0.sha256sum] = "58fb0a0c4b0bcb93f49530bb8d34c060db9479c0c7e17d16d25944243e91e9db" +SRC_URI[nu-command-0.111.0.sha256sum] = "df19a2b0b3ab0d931755d71d57e9cf638cfaf44af000c882593f5f443ce3fc7d" +SRC_URI[nu-derive-value-0.111.0.sha256sum] = "d71958b54c367bda033f7dcc4a73b61972fb52323f71a1e3533e290fa67148d1" +SRC_URI[nu-engine-0.111.0.sha256sum] = "d41b3e3e2d25c30741a0761856258e22624c0d60064e4f0e12f86202a451d492" +SRC_URI[nu-experimental-0.111.0.sha256sum] = "f328fa0531bdf49c2dc0312b40cb780e3d74e0d3dbb15d508469a5ae4cfd8d8f" +SRC_URI[nu-explore-0.111.0.sha256sum] = "dced08792a481573900d9151d55d7dd4408900946a75821a3041f83c0767414e" +SRC_URI[nu-glob-0.111.0.sha256sum] = "01ee787f61353c9c90581ddf4c0602a07b991cdd06c97dac8b6d323a1a52c43a" +SRC_URI[nu-json-0.111.0.sha256sum] = "a045bd35a37372dcbb39f3cef78f27a1188b892e60a659d31ddd4184292fa8d9" +SRC_URI[nu-lsp-0.111.0.sha256sum] = "35493095cd04225f107a87add14b2dc88a3f40c681ae3932c9e38296ae607056" +SRC_URI[nu-mcp-0.111.0.sha256sum] = "1a3cd7e28762bc064477d0dff90492a792505581c2ca446aefedad3704372ae8" +SRC_URI[nu-parser-0.111.0.sha256sum] = "e39586113dcaf44c4877a01defeadc63a74fe7a2d9130300ff64689fae5a3205" +SRC_URI[nu-path-0.111.0.sha256sum] = "c01d110cb931acf56237ce572e5b156e8e1134227c90deeffb92eedda9482c23" +SRC_URI[nu-plugin-core-0.111.0.sha256sum] = "38ee792aeb0d37e0ed55ca4304e434eece497914e27ae42616a8bb973f5d2720" +SRC_URI[nu-plugin-engine-0.111.0.sha256sum] = "321b29af417505540a6b8888cdd85074ce77ac4c599e0ce5966d84e16f9c56ba" +SRC_URI[nu-plugin-protocol-0.111.0.sha256sum] = "7725f341428db16dbef4392970de32705abc77ee80a902572c8da811dade3564" +SRC_URI[nu-pretty-hex-0.111.0.sha256sum] = "b436bd9cc54a2386f891c5803b4110036a0bb64ef682039025e6095f4a78d4e9" +SRC_URI[nu-protocol-0.111.0.sha256sum] = "f1c0e58cbeb46cbfd40156e6f4b9f90e4a77e774ca863fa158867a4726aab1d1" +SRC_URI[nu-std-0.111.0.sha256sum] = "942a5c16385910e4576f4807500e5ba846cc48ae028ac0a17380af881941fadc" +SRC_URI[nu-system-0.111.0.sha256sum] = "62fe7847b65edbe362a0fcb67dedfab9fd7370e89c0313f7cb7d0a7ab8f9834b" +SRC_URI[nu-table-0.111.0.sha256sum] = "dcd97332ea4c62d24f44e1496a9d805109bc965e8e4f5a1ce6f26898063d8822" +SRC_URI[nu-term-grid-0.111.0.sha256sum] = "5027bbde5eb92b084dc2ad0760181c38aada10b99fdf713911c0c4ee699282a9" +SRC_URI[nu-test-support-0.111.0.sha256sum] = "3007dd1702769fd631c0303a6ab25eedf1fb47efcce5b1b949859be9e62d34a1" +SRC_URI[nu-utils-0.111.0.sha256sum] = "df85a8a4bb28c84d5f7c096c02c859ac454dfac59fd0296ab5eb6ed86619219e" +SRC_URI[nucleo-matcher-0.3.1.sha256sum] = "bf33f538733d1a5a3494b836ba913207f14d9d4a1d3cd67030c5061bdd2cac85" +SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +SRC_URI[num-conv-0.2.0.sha256sum] = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" +SRC_URI[num-format-0.4.4.sha256sum] = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" +SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +SRC_URI[num_threads-0.1.7.sha256sum] = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +SRC_URI[nuon-0.111.0.sha256sum] = "537036d9904253e4982411574ee4bcb6a24f7c1011b72cb41bc5c5b49051ce24" +SRC_URI[objc2-0.6.3.sha256sum] = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" +SRC_URI[objc2-app-kit-0.3.2.sha256sum] = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +SRC_URI[objc2-core-foundation-0.3.2.sha256sum] = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +SRC_URI[objc2-core-graphics-0.3.2.sha256sum] = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +SRC_URI[objc2-encode-4.1.0.sha256sum] = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" +SRC_URI[objc2-foundation-0.3.2.sha256sum] = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +SRC_URI[objc2-io-kit-0.3.2.sha256sum] = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +SRC_URI[objc2-io-surface-0.3.2.sha256sum] = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +SRC_URI[object-0.36.5.sha256sum] = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +SRC_URI[oem_cp-2.1.2.sha256sum] = "8c7959d3349f484aec36462f98226983578bf7d33f9b034c32967489c7000e1f" +SRC_URI[omnipath-0.1.6.sha256sum] = "80adb31078122c880307e9cdfd4e3361e6545c319f9b9dcafcb03acd3b51a575" +SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +SRC_URI[open-5.3.1.sha256sum] = "3ecd52f0b8d15c40ce4820aa251ed5de032e5d91fab27f7db2f40d42a8bdf69c" +SRC_URI[openssl-0.10.72.sha256sum] = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +SRC_URI[openssl-probe-0.1.6.sha256sum] = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +SRC_URI[openssl-probe-0.2.1.sha256sum] = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" +SRC_URI[openssl-src-300.4.1+3.4.0.sha256sum] = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" +SRC_URI[openssl-sys-0.9.107.sha256sum] = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" +SRC_URI[option-ext-0.2.0.sha256sum] = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +SRC_URI[os_display-0.1.3.sha256sum] = "7a6229bad892b46b0dcfaaeb18ad0d2e56400f5aaea05b768bde96e73676cf75" +SRC_URI[os_pipe-1.2.1.sha256sum] = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" +SRC_URI[owo-colors-4.1.0.sha256sum] = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" +SRC_URI[papergrid-0.17.0.sha256sum] = "6978128c8b51d8f4080631ceb2302ab51e32cc6e8615f735ee2f83fd269ae3f1" +SRC_URI[parking_lot-0.12.5.sha256sum] = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +SRC_URI[parking_lot_core-0.9.12.sha256sum] = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +SRC_URI[parse-zoneinfo-0.3.1.sha256sum] = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" +SRC_URI[parse_datetime-0.13.2.sha256sum] = "e4955561bc7aa4c40afcfd2a8c34297b13164ae9ac3b30ac348737befdc98e4c" +SRC_URI[pastey-0.2.1.sha256sum] = "b867cad97c0791bbd3aaa6472142568c6c9e8f71937e98379f584cfb0cf35bec" +SRC_URI[pathdiff-0.2.3.sha256sum] = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" +SRC_URI[pem-rfc7468-0.7.0.sha256sum] = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +SRC_URI[percent-encoding-2.3.2.sha256sum] = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" +SRC_URI[pest-2.8.5.sha256sum] = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7" +SRC_URI[pest_consume-1.1.3.sha256sum] = "79447402d15d18e7142e14c72f2e63fa3d155be1bc5b70b3ccbb610ac55f536b" +SRC_URI[pest_consume_macros-1.1.0.sha256sum] = "9d8630a7a899cb344ec1c16ba0a6b24240029af34bdc0a21f84e411d7f793f29" +SRC_URI[pest_derive-2.8.5.sha256sum] = "68f9dbced329c441fa79d80472764b1a2c7e57123553b8519b36663a2fb234ed" +SRC_URI[pest_generator-2.8.5.sha256sum] = "3bb96d5051a78f44f43c8f712d8e810adb0ebf923fc9ed2655a7f66f63ba8ee5" +SRC_URI[pest_meta-2.8.5.sha256sum] = "602113b5b5e8621770cfd490cfd90b9f84ab29bd2b0e49ad83eb6d186cef2365" +SRC_URI[petgraph-0.6.5.sha256sum] = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +SRC_URI[phf-0.11.3.sha256sum] = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +SRC_URI[phf_codegen-0.11.2.sha256sum] = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +SRC_URI[phf_generator-0.11.3.sha256sum] = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +SRC_URI[phf_shared-0.11.3.sha256sum] = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +SRC_URI[pkg-config-0.3.31.sha256sum] = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +SRC_URI[platform-info-2.0.4.sha256sum] = "91077ffd05d058d70d79eefcd7d7f6aac34980860a7519960f7913b6563a8c3a" +SRC_URI[png-0.18.0.sha256sum] = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" +SRC_URI[pori-0.0.0.sha256sum] = "a4a63d338dec139f56dacc692ca63ad35a6be6a797442479b55acd611d79e906" +SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +SRC_URI[predicates-3.1.2.sha256sum] = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" +SRC_URI[predicates-core-1.0.8.sha256sum] = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" +SRC_URI[predicates-tree-1.0.11.sha256sum] = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" +SRC_URI[pretty_assertions-1.4.1.sha256sum] = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +SRC_URI[print-positions-0.6.1.sha256sum] = "1df593470e3ef502e48cb0cfc9a3a61e5f61e967b78e1ed35a67ac615cfbd208" +SRC_URI[proc-macro-error-attr2-2.0.0.sha256sum] = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +SRC_URI[proc-macro-error2-2.0.1.sha256sum] = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" +SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" +SRC_URI[pure-rust-locales-0.8.2.sha256sum] = "869675ad2d7541aea90c6d88c81f46a7f4ea9af8cd0395d38f11a95126998a0d" +SRC_URI[pwd-1.4.0.sha256sum] = "72c71c0c79b9701efe4e1e4b563b2016dd4ee789eb99badcb09d61ac4b92e4a2" +SRC_URI[pxfm-0.1.27.sha256sum] = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" +SRC_URI[quick-error-2.0.1.sha256sum] = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" +SRC_URI[quick-xml-0.38.4.sha256sum] = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +SRC_URI[quick-xml-0.39.0.sha256sum] = "f2e3bf4aa9d243beeb01a7b3bc30b77cfe2c44e24ec02d751a7104a53c2c49a1" +SRC_URI[quinn-0.11.6.sha256sum] = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +SRC_URI[quinn-proto-0.11.9.sha256sum] = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +SRC_URI[quinn-udp-0.5.8.sha256sum] = "52cd4b1eff68bf27940dd39811292c49e007f4d0b4c357358dc9b0197be6b527" +SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand-0.9.0.sha256sum] = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +SRC_URI[rand-0.10.0.sha256sum] = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[rand_core-0.9.3.sha256sum] = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +SRC_URI[rand_core-0.10.0.sha256sum] = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" +SRC_URI[ratatui-0.30.0.sha256sum] = "d1ce67fb8ba4446454d1c8dbaeda0557ff5e94d39d5e5ed7f10a65eb4c8266bc" +SRC_URI[ratatui-core-0.1.0.sha256sum] = "5ef8dea09a92caaf73bff7adb70b76162e5937524058a7e5bff37869cbbec293" +SRC_URI[ratatui-crossterm-0.1.0.sha256sum] = "577c9b9f652b4c121fb25c6a391dd06406d3b092ba68827e6d2f09550edc54b3" +SRC_URI[ratatui-macros-0.7.0.sha256sum] = "a7f1342a13e83e4bb9d0b793d0ea762be633f9582048c892ae9041ef39c936f4" +SRC_URI[ratatui-widgets-0.3.0.sha256sum] = "d7dbfa023cd4e604c2553483820c5fe8aa9d71a42eea5aa77c6e7f35756612db" +SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +SRC_URI[recvmsg-1.0.0.sha256sum] = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" +SRC_URI[redox_syscall-0.5.8.sha256sum] = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +SRC_URI[redox_users-0.5.2.sha256sum] = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +SRC_URI[reedline-0.46.0.sha256sum] = "fe9e7c532bfc2759bc8a28902c04e8b993fc13ebd085ee4292eb1b230fa9beef" +SRC_URI[ref-cast-1.0.25.sha256sum] = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +SRC_URI[ref-cast-impl-1.0.25.sha256sum] = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +SRC_URI[regex-automata-0.4.14.sha256sum] = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +SRC_URI[regex-syntax-0.8.9.sha256sum] = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" +SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" +SRC_URI[reqwest-0.12.9.sha256sum] = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +SRC_URI[ring-0.17.14.sha256sum] = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +SRC_URI[rmcp-0.16.0.sha256sum] = "cc4c9c94680f75470ee8083a0667988b5d7b5beb70b9f998a8e51de7c682ce60" +SRC_URI[rmcp-macros-0.16.0.sha256sum] = "90c23c8f26cae4da838fbc3eadfaecf2d549d97c04b558e7bd90526a9c28b42a" +SRC_URI[rmp-0.8.15.sha256sum] = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c" +SRC_URI[rmp-serde-1.3.1.sha256sum] = "72f81bee8c8ef9b577d1681a70ebbc962c232461e397b22c208c43c04b67a155" +SRC_URI[roxmltree-0.20.0.sha256sum] = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" +SRC_URI[rstest-0.23.0.sha256sum] = "0a2c585be59b6b5dd66a9d2084aa1d8bd52fbdb806eafdeffb52791147862035" +SRC_URI[rstest_macros-0.23.0.sha256sum] = "825ea780781b15345a146be27eaefb05085e337e869bff01b4306a4fd4a9ad5a" +SRC_URI[rusqlite-0.37.0.sha256sum] = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" +SRC_URI[rust_decimal-1.36.0.sha256sum] = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" +SRC_URI[rustc-demangle-0.1.24.sha256sum] = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +SRC_URI[rustc-hash-2.1.0.sha256sum] = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +SRC_URI[rustix-0.38.42.sha256sum] = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" +SRC_URI[rustix-1.1.3.sha256sum] = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +SRC_URI[rustls-0.23.28.sha256sum] = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" +SRC_URI[rustls-native-certs-0.8.3.sha256sum] = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +SRC_URI[rustls-pemfile-2.2.0.sha256sum] = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +SRC_URI[rustls-pki-types-1.14.0.sha256sum] = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +SRC_URI[rustls-platform-verifier-0.5.3.sha256sum] = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" +SRC_URI[rustls-platform-verifier-android-0.1.1.sha256sum] = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" +SRC_URI[rustls-webpki-0.103.9.sha256sum] = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" +SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +SRC_URI[ryu-1.0.22.sha256sum] = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" +SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +SRC_URI[scc-2.4.0.sha256sum] = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc" +SRC_URI[schannel-0.1.27.sha256sum] = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +SRC_URI[schemars-1.2.1.sha256sum] = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +SRC_URI[schemars_derive-1.2.1.sha256sum] = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[scroll-0.11.0.sha256sum] = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" +SRC_URI[scroll_derive-0.11.1.sha256sum] = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" +SRC_URI[sdd-3.0.10.sha256sum] = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca" +SRC_URI[security-framework-2.11.1.sha256sum] = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +SRC_URI[security-framework-3.0.1.sha256sum] = "e1415a607e92bec364ea2cf9264646dcce0f91e6d65281bd6f2819cca3bf39c8" +SRC_URI[security-framework-sys-2.12.1.sha256sum] = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +SRC_URI[self_cell-1.2.0.sha256sum] = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" +SRC_URI[semver-1.0.27.sha256sum] = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[serde_derive_internals-0.29.1.sha256sum] = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +SRC_URI[serde_repr-0.1.19.sha256sum] = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +SRC_URI[serde_spanned-0.6.9.sha256sum] = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +SRC_URI[serde_spanned-1.0.4.sha256sum] = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +SRC_URI[serde_urlencoded-0.7.1.sha256sum] = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +SRC_URI[serde_yaml-0.9.34+deprecated.sha256sum] = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +SRC_URI[serial_test-3.3.1.sha256sum] = "0d0b343e184fc3b7bb44dff0705fffcf4b3756ba6aff420dddd8b24ca145e555" +SRC_URI[serial_test_derive-3.3.1.sha256sum] = "6f50427f258fb77356e4cd4aa0e87e2bd2c66dbcee41dc405282cae2bfc26c83" +SRC_URI[sha1_smol-1.0.1.sha256sum] = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" +SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +SRC_URI[shadow-rs-1.7.0.sha256sum] = "6d9967e7c3cd89d19cd533d8fceb3e5dcee28cf97fe76441481abe1d32723039" +SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[signal-hook-0.3.17.sha256sum] = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +SRC_URI[signal-hook-mio-0.2.4.sha256sum] = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +SRC_URI[signal-hook-registry-1.4.8.sha256sum] = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +SRC_URI[simd-adler32-0.3.7.sha256sum] = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +SRC_URI[simplelog-0.12.2.sha256sum] = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0" +SRC_URI[siphasher-1.0.1.sha256sum] = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +SRC_URI[socket2-0.5.10.sha256sum] = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +SRC_URI[socket2-0.6.2.sha256sum] = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" +SRC_URI[socks-0.3.4.sha256sum] = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" +SRC_URI[sse-stream-0.2.1.sha256sum] = "eb4dc4d33c68ec1f27d386b5610a351922656e1fdf5c05bbaad930cd1519479a" +SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +SRC_URI[strip-ansi-escapes-0.2.1.sha256sum] = "2a8f8038e7e7969abb3f1b7c2a811225e9296da208539e0f79c5251d6cac0025" +SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +SRC_URI[strum-0.26.3.sha256sum] = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +SRC_URI[strum-0.27.2.sha256sum] = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +SRC_URI[strum_macros-0.26.4.sha256sum] = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +SRC_URI[strum_macros-0.27.2.sha256sum] = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +SRC_URI[subtle-2.6.1.sha256sum] = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +SRC_URI[supports-color-3.0.2.sha256sum] = "c64fc7232dd8d2e4ac5ce4ef302b1d81e0b80d055b9d77c7c4f51f6aa4c867d6" +SRC_URI[supports-hyperlinks-3.1.0.sha256sum] = "804f44ed3c63152de6a9f90acbea1a110441de43006ea51bcce8f436196a288b" +SRC_URI[supports-unicode-3.0.0.sha256sum] = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +SRC_URI[sync_wrapper-1.0.2.sha256sum] = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +SRC_URI[sys-locale-0.3.2.sha256sum] = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" +SRC_URI[sysinfo-0.38.0.sha256sum] = "fe840c5b1afe259a5657392a4dbb74473a14c8db999c3ec2f4ae812e028a94da" +SRC_URI[tabled-0.20.0.sha256sum] = "e39a2ee1fbcd360805a771e1b300f78cc88fec7b8d3e2f71cd37bbf23e725c7d" +SRC_URI[tango-bench-0.6.0.sha256sum] = "257822358c6f206fed78bfe6369cf959063b0644d70f88df6b19f2dadc93423e" +SRC_URI[tempfile-3.24.0.sha256sum] = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +SRC_URI[terminal_size-0.4.1.sha256sum] = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" +SRC_URI[termtree-0.4.1.sha256sum] = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" +SRC_URI[testing_table-0.3.0.sha256sum] = "0f8daae29995a24f65619e19d8d31dea5b389f3d853d8bf297bbf607cd0014cc" +SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +SRC_URI[thiserror-impl-2.0.18.sha256sum] = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +SRC_URI[thread_local-1.1.8.sha256sum] = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +SRC_URI[tiff-0.10.3.sha256sum] = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" +SRC_URI[time-0.3.47.sha256sum] = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +SRC_URI[time-core-0.1.8.sha256sum] = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +SRC_URI[time-macros-0.2.27.sha256sum] = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +SRC_URI[tinystr-0.8.1.sha256sum] = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +SRC_URI[tinyvec-1.8.0.sha256sum] = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +SRC_URI[titlecase-3.6.0.sha256sum] = "eb567088a91d59b492520c8149e2be5ce10d5deb2d9a383f3378df3259679d40" +SRC_URI[tokio-1.49.0.sha256sum] = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +SRC_URI[tokio-macros-2.6.0.sha256sum] = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +SRC_URI[tokio-native-tls-0.3.1.sha256sum] = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +SRC_URI[tokio-rustls-0.26.4.sha256sum] = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +SRC_URI[tokio-stream-0.1.17.sha256sum] = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +SRC_URI[tokio-util-0.7.18.sha256sum] = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +SRC_URI[toml-0.8.23.sha256sum] = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" +SRC_URI[toml-0.9.10+spec-1.1.0.sha256sum] = "0825052159284a1a8b4d6c0c86cbc801f2da5afd2b225fa548c72f2e74002f48" +SRC_URI[toml_datetime-0.6.11.sha256sum] = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +SRC_URI[toml_datetime-0.7.5+spec-1.1.0.sha256sum] = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +SRC_URI[toml_edit-0.22.27.sha256sum] = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +SRC_URI[toml_parser-1.0.6+spec-1.1.0.sha256sum] = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" +SRC_URI[toml_write-0.1.2.sha256sum] = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +SRC_URI[toml_writer-1.0.6+spec-1.1.0.sha256sum] = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" +SRC_URI[tower-service-0.3.3.sha256sum] = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" +SRC_URI[tracing-0.1.44.sha256sum] = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +SRC_URI[tracing-attributes-0.1.31.sha256sum] = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +SRC_URI[tracing-core-0.1.36.sha256sum] = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +SRC_URI[tracing-log-0.2.0.sha256sum] = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +SRC_URI[tracing-subscriber-0.3.22.sha256sum] = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" +SRC_URI[trash-5.2.4.sha256sum] = "0102cfb632fbe1adefa067036d4f383045091ae8d4fc4c2c14d3c0f92d878972" +SRC_URI[tree_magic_mini-3.1.6.sha256sum] = "aac5e8971f245c3389a5a76e648bfc80803ae066a1243a75db0064d7c1129d63" +SRC_URI[try-lock-0.2.5.sha256sum] = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +SRC_URI[tui-tree-widget-0.24.0.sha256sum] = "deca119555009eee2e0cfb9c020f39f632444dc4579918d5fc009d51d75dff92" +SRC_URI[type-map-0.5.1.sha256sum] = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" +SRC_URI[typeid-1.0.2.sha256sum] = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" +SRC_URI[typenum-1.19.0.sha256sum] = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +SRC_URI[typetag-0.2.18.sha256sum] = "52ba3b6e86ffe0054b2c44f2d86407388b933b16cb0a70eea3929420db1d9bbe" +SRC_URI[typetag-impl-0.2.18.sha256sum] = "70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483" +SRC_URI[tz-rs-0.7.0.sha256sum] = "e1450bf2b99397e72070e7935c89facaa80092ac812502200375f1f7d33c71a1" +SRC_URI[tzdb-0.7.2.sha256sum] = "0be2ea5956f295449f47c0b825c5e109022ff1a6a53bb4f77682a87c2341fbf5" +SRC_URI[tzdb_data-0.2.1.sha256sum] = "0604b35c1f390a774fdb138cac75a99981078895d24bcab175987440bbff803b" +SRC_URI[ucd-trie-0.1.7.sha256sum] = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" +SRC_URI[umask-2.1.0.sha256sum] = "ec9a46c2549e35c054e0ffe281a3a6ec0007793db4df106604d37ed3f4d73d1c" +SRC_URI[unic-langid-0.9.6.sha256sum] = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05" +SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" +SRC_URI[unicase-2.9.0.sha256sum] = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" +SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" +SRC_URI[unicode-segmentation-1.12.0.sha256sum] = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +SRC_URI[unicode-truncate-2.0.1.sha256sum] = "16b380a1238663e5f8a691f9039c73e1cdae598a30e9855f541d29b08b53e9a5" +SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +SRC_URI[unit-prefix-0.5.1.sha256sum] = "323402cff2dd658f39ca17c789b502021b3f18707c91cdf22e3838e1b4023817" +SRC_URI[unsafe-libyaml-0.2.11.sha256sum] = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" +SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +SRC_URI[update-informer-1.3.0.sha256sum] = "67b27dcf766dc6ad64c2085201626e1a7955dc1983532bfc8406d552903ace2a" +SRC_URI[ureq-3.0.12.sha256sum] = "9f0fde9bc91026e381155f8c67cb354bcd35260b2f4a29bcc84639f762760c39" +SRC_URI[ureq-proto-0.4.2.sha256sum] = "59db78ad1923f2b1be62b6da81fe80b173605ca0d57f85da2e005382adf693f7" +SRC_URI[url-2.5.8.sha256sum] = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +SRC_URI[urlencoding-2.1.3.sha256sum] = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +SRC_URI[utf-8-0.7.6.sha256sum] = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +SRC_URI[uu_cp-0.6.0.sha256sum] = "19885072900bec2d63f0e94f73467d409bbe7b6644b5ab2475b2c728f725a9cb" +SRC_URI[uu_mkdir-0.6.0.sha256sum] = "0bd1198106d4ebf867fe15e31c0396ad5c775070ccd4598f233d32b1eb8c1e11" +SRC_URI[uu_mktemp-0.6.0.sha256sum] = "b9361746c44b4888ea45c33e1a907d93c74b42b8cab9cf3383d30a2380e3330f" +SRC_URI[uu_mv-0.6.0.sha256sum] = "85a89e71fea435be9ec14cc591fd30541433d043540b0c884ad7f3d56a1974d6" +SRC_URI[uu_touch-0.6.0.sha256sum] = "bced62a93ef672b5601ebba3a2b102b04db7ae1fdd16cbf2bd398e7768216474" +SRC_URI[uu_uname-0.6.0.sha256sum] = "6f8bd3abb201d672df3a5da52bf0c6a185ab74f2f367c476dc9f5757ab7f4af3" +SRC_URI[uu_whoami-0.6.0.sha256sum] = "eb5e3381a52672795ecdf34f37fc94c0d616cf5959a6218e52282e04a6ff2cd1" +SRC_URI[uucore-0.6.0.sha256sum] = "b157ba598d7f7ed06f6dbc62999edb9d730b4d3fb58e503d8ad6d5fbe1e04391" +SRC_URI[uucore_procs-0.6.0.sha256sum] = "daa291a52608ac5a2f8539e119666e021baa6b8c01f22f02ed201bbae54cbbc0" +SRC_URI[uuid-1.21.0.sha256sum] = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" +SRC_URI[v_htmlescape-0.15.8.sha256sum] = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" +SRC_URI[valuable-0.1.1.sha256sum] = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" +SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +SRC_URI[vte-0.14.1.sha256sum] = "231fdcd7ef3037e8330d8e17e61011a2c244126acc0a982f4040ac3f9f0bc077" +SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +SRC_URI[want-0.3.1.sha256sum] = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +SRC_URI[wasm-bindgen-0.2.101.sha256sum] = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" +SRC_URI[wasm-bindgen-backend-0.2.101.sha256sum] = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" +SRC_URI[wasm-bindgen-futures-0.4.51.sha256sum] = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" +SRC_URI[wasm-bindgen-macro-0.2.101.sha256sum] = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" +SRC_URI[wasm-bindgen-macro-support-0.2.101.sha256sum] = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" +SRC_URI[wasm-bindgen-shared-0.2.101.sha256sum] = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" +SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +SRC_URI[wax-0.6.0.sha256sum] = "8d12a78aa0bab22d2f26ed1a96df7ab58e8a93506a3e20adb47c51a93b4e1357" +SRC_URI[wayland-backend-0.3.12.sha256sum] = "fee64194ccd96bf648f42a65a7e589547096dfa702f7cadef84347b66ad164f9" +SRC_URI[wayland-client-0.31.12.sha256sum] = "b8e6faa537fbb6c186cb9f1d41f2f811a4120d1b57ec61f50da451a0c5122bec" +SRC_URI[wayland-protocols-0.32.10.sha256sum] = "baeda9ffbcfc8cd6ddaade385eaf2393bd2115a69523c735f12242353c3df4f3" +SRC_URI[wayland-protocols-wlr-0.3.10.sha256sum] = "e9597cdf02cf0c34cd5823786dce6b5ae8598f05c2daf5621b6e178d4f7345f3" +SRC_URI[wayland-scanner-0.31.8.sha256sum] = "5423e94b6a63e68e439803a3e153a9252d5ead12fd853334e2ad33997e3889e3" +SRC_URI[wayland-sys-0.31.8.sha256sum] = "1e6dbfc3ac5ef974c92a2235805cc0114033018ae1290a72e474aa8b28cbbdfd" +SRC_URI[web-sys-0.3.78.sha256sum] = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12" +SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +SRC_URI[webpki-root-certs-0.26.11.sha256sum] = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" +SRC_URI[webpki-root-certs-1.0.1.sha256sum] = "86138b15b2b7d561bc4469e77027b8dd005a43dc502e9031d1f5afc8ce1f280e" +SRC_URI[webpki-roots-0.26.11.sha256sum] = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +SRC_URI[webpki-roots-1.0.0.sha256sum] = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +SRC_URI[weezl-0.1.12.sha256sum] = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" +SRC_URI[which-4.4.2.sha256sum] = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +SRC_URI[which-8.0.0.sha256sum] = "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" +SRC_URI[widestring-1.1.0.sha256sum] = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" +SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" +SRC_URI[win_uds-0.2.1.sha256sum] = "cfdd26edeb0295aac5e12d2c22b230a22ad74ffca01d7c99db76cfe5f14f232a" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.9.sha256sum] = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-0.56.0.sha256sum] = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" +SRC_URI[windows-0.62.1.sha256sum] = "49e6c4a1f363c8210c6f77ba24f645c61c6fb941eccf013da691f7e09515b8ac" +SRC_URI[windows-collections-0.3.1.sha256sum] = "123e712f464a8a60ce1a13f4c446d2d43ab06464cb5842ff68f5c71b6fb7852e" +SRC_URI[windows-core-0.56.0.sha256sum] = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" +SRC_URI[windows-core-0.62.1.sha256sum] = "6844ee5416b285084d3d3fffd743b925a6c9385455f64f6d4fa3031c4c2749a9" +SRC_URI[windows-future-0.3.1.sha256sum] = "68f3db6b24b120200d649cd4811b4947188ed3a8d2626f7075146c5d178a9a4a" +SRC_URI[windows-implement-0.56.0.sha256sum] = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" +SRC_URI[windows-implement-0.60.2.sha256sum] = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +SRC_URI[windows-interface-0.56.0.sha256sum] = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" +SRC_URI[windows-interface-0.59.3.sha256sum] = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +SRC_URI[windows-link-0.2.0.sha256sum] = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" +SRC_URI[windows-numerics-0.3.0.sha256sum] = "2ce3498fe0aba81e62e477408383196b4b0363db5e0c27646f932676283b43d8" +SRC_URI[windows-registry-0.2.0.sha256sum] = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +SRC_URI[windows-result-0.1.2.sha256sum] = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +SRC_URI[windows-result-0.2.0.sha256sum] = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +SRC_URI[windows-result-0.4.0.sha256sum] = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" +SRC_URI[windows-strings-0.1.0.sha256sum] = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +SRC_URI[windows-strings-0.5.0.sha256sum] = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" +SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +SRC_URI[windows-sys-0.60.2.sha256sum] = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +SRC_URI[windows-sys-0.61.0.sha256sum] = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +SRC_URI[windows-targets-0.53.4.sha256sum] = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b" +SRC_URI[windows-threading-0.2.0.sha256sum] = "ab47f085ad6932defa48855254c758cdd0e2f2d48e62a34118a268d8f345e118" +SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +SRC_URI[windows_aarch64_gnullvm-0.53.1.sha256sum] = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +SRC_URI[windows_aarch64_msvc-0.53.1.sha256sum] = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +SRC_URI[windows_i686_gnu-0.53.1.sha256sum] = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" +SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +SRC_URI[windows_i686_gnullvm-0.53.1.sha256sum] = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +SRC_URI[windows_i686_msvc-0.53.1.sha256sum] = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +SRC_URI[windows_x86_64_gnu-0.53.1.sha256sum] = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +SRC_URI[winnow-0.7.13.sha256sum] = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +SRC_URI[winreg-0.55.0.sha256sum] = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" +SRC_URI[winresource-0.1.19.sha256sum] = "7276691b353ad4547af8c3268488d1311f4be791ffdc0c65b8cfa8f41eed693b" +SRC_URI[winsafe-0.0.19.sha256sum] = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" +SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +SRC_URI[wl-clipboard-rs-0.9.3.sha256sum] = "e9651471a32e87d96ef3a127715382b2d11cc7c8bb9822ded8a7cc94072eb0a3" +SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +SRC_URI[x11rb-0.13.1.sha256sum] = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" +SRC_URI[x11rb-protocol-0.13.1.sha256sum] = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" +SRC_URI[xattr-1.3.1.sha256sum] = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +SRC_URI[yoke-derive-0.8.1.sha256sum] = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +SRC_URI[zerocopy-0.8.34.sha256sum] = "71ddd76bcebeed25db614f82bf31a9f4222d3fbba300e6fb6c00afa26cbd4d9d" +SRC_URI[zerocopy-derive-0.7.35.sha256sum] = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +SRC_URI[zerocopy-derive-0.8.34.sha256sum] = "d8187381b52e32220d50b255276aa16a084ec0a9017a0ca2152a1f55c539758d" +SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +SRC_URI[zeroize-1.8.2.sha256sum] = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +SRC_URI[zerovec-0.11.4.sha256sum] = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" +SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +SRC_URI[zip-4.6.1.sha256sum] = "caa8cd6af31c3b31c6631b8f483848b91589021b28fffe50adada48d4f4d2ed1" +SRC_URI[zlib-rs-0.5.1.sha256sum] = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" +SRC_URI[zmij-1.0.19.sha256sum] = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" +SRC_URI[zopfli-0.8.1.sha256sum] = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +SRC_URI[zune-core-0.4.12.sha256sum] = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" +SRC_URI[zune-jpeg-0.4.21.sha256sum] = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" diff --git a/meta-oe/recipes-extended/nushell/nushell_0.111.0.bb b/meta-oe/recipes-extended/nushell/nushell_0.111.0.bb new file mode 100644 index 00000000000..720cfa3c09a --- /dev/null +++ b/meta-oe/recipes-extended/nushell/nushell_0.111.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Nushell is a modern shell for structured data" +HOMEPAGE = "https://crates.io/crates/nu" +DESCRIPTION = "Nushell is a modern shell that works with structured data rather than text. \ + Nushell takes cues from a lot of familiar territory: traditional shells like \ + bash, object based shells like PowerShell, gradually typed languages like \ + TypeScript, functional programming, systems programming, and more." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=ea22f3cfd911b3519505220cfc0ce542 \ +" + +SRC_URI = "crate://crates.io/nu/${PV};name=nu" +SRC_URI[nu.sha256sum] = "d976a48ba1dec6203834990d18a76050f05522160a375e53ef6620a864f69471" + +S = "${CARGO_VENDORING_DIRECTORY}/nu-${PV}" + +inherit cargo cargo-update-recipe-crates + +require ${BPN}-crates.inc + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/ostree/ostree/0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch b/meta-oe/recipes-extended/ostree/ostree/0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch new file mode 100644 index 00000000000..cc0c3d13184 --- /dev/null +++ b/meta-oe/recipes-extended/ostree/ostree/0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch @@ -0,0 +1,29 @@ +From 3b8255e24d0785d6049d473471da53b0c5fd52c1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 9 Apr 2026 16:28:07 -0700 +Subject: [PATCH] trivial-httpd: Fix const-correctness of slash pointer + +strrchr() returns a 'const char *' when passed a 'const char *' +argument. Declare the local 'slash' variable as 'const char *' +to match, fixing a build failure with clang when +-Werror,-Wincompatible-pointer-types-discards-qualifiers is active. + +Upstream-Status: Submitted [https://github.com/ostreedev/ostree/pull/3579] +Signed-off-by: Khem Raj +--- + src/ostree/ostree-trivial-httpd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ostree/ostree-trivial-httpd.c b/src/ostree/ostree-trivial-httpd.c +index 4a0c6b00..b5a52e61 100644 +--- a/src/ostree/ostree-trivial-httpd.c ++++ b/src/ostree/ostree-trivial-httpd.c +@@ -281,7 +281,7 @@ do_get (OtTrivialHttpd *self, SoupServer *server, SoupServerMessage *msg, const + do_get (OtTrivialHttpd *self, SoupServer *server, SoupServerMessage *msg, const char *path) + #endif + { +- char *slash; ++ const char *slash; + int ret; + struct stat stbuf; + diff --git a/meta-oe/recipes-extended/ostree/ostree_2024.10.bb b/meta-oe/recipes-extended/ostree/ostree_2024.10.bb deleted file mode 100644 index 1e9d47643a0..00000000000 --- a/meta-oe/recipes-extended/ostree/ostree_2024.10.bb +++ /dev/null @@ -1,218 +0,0 @@ -SUMMARY = "Versioned Operating System Repository." -DESCRIPTION = "libostree is both a shared library and suite of command line \ -tools that combines a \"git-like\" model for committing and downloading \ -bootable filesystem trees, along with a layer for deploying them and managing \ -the bootloader configuration." -HOMEPAGE = "https://ostree.readthedocs.io" -LICENSE = "LGPL-2.1-only" - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -DEPENDS = " \ - glib-2.0-native \ - glib-2.0 \ - e2fsprogs \ - libcap \ - zlib \ - xz \ - bison-native \ -" - -GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases" -SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \ - file://run-ptest \ - " -SRC_URI[sha256sum] = "54e3387dee1ff16031a0679aca2b60da90ab7f4a26c211822333c7f23000abee" - -S = "${UNPACKDIR}/libostree-${PV}" - -inherit autotools bash-completion gobject-introspection github-releases gtk-doc manpages pkgconfig ptest-gnome systemd - -UNKNOWN_CONFIGURE_OPT_IGNORE += "--disable-introspection --enable-introspection" - -# Workaround compile failure: -# |../git/src/libotutil/zbase32.c:37:1: error: function returns an aggregate [-Werror=aggregate-return] -# so remove -Og and use -O2 as workaround -DEBUG_OPTIMIZATION:remove = "-Og" -DEBUG_OPTIMIZATION:append = " -O2" -BUILD_OPTIMIZATION:remove = "-Og" -BUILD_OPTIMIZATION:append = " -O2" - -# Package configuration - match ostree defaults, but without rofiles-fuse -# otherwise we introduce a dependendency on meta-filesystems and swap -# soup for curl to avoid bringing in deprecated libsoup2 (though -# to run ptest requires that you have soup2 or soup3). -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'soup3 static', '', d)} \ - glib \ - gpgme \ - curl \ -" - -# We include curl because ostree can't (currently) be built without -# soup or curl - https://github.com/ostreedev/ostree/issues/1897 -PACKAGECONFIG:class-native ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - builtin-grub2-mkconfig \ - gpgme \ - curl \ -" - -PACKAGECONFIG:class-nativesdk ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - builtin-grub2-mkconfig \ - gpgme \ - curl \ -" - -PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi" -PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig" -PACKAGECONFIG[composefs] = "--with-composefs, --without-composefs, composefs" -PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl" -PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut" -PACKAGECONFIG[ed25519-libsodium] = "--with-ed25519-libsodium, --without-ed25519-libsodium, libsodium" -PACKAGECONFIG[ed25519-openssl] = "--with-openssl, --without-openssl, openssl" -PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs" -PACKAGECONFIG[glib] = "--with-crypto=glib, , , , , gnutls openssl" -PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls, , , glib openssl" -PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme" -PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux" -PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio" -PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2" -PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl, , , glib gnutls" -PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse3" -PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux, bubblewrap" -PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack" -PACKAGECONFIG[soup2] = "--with-soup, --without-soup, libsoup-2.4, , , soup3" -PACKAGECONFIG[soup3] = "--with-soup3, --without-soup3, libsoup, , , soup2" -PACKAGECONFIG[static] = "" -PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-libsystemd, systemd" - -EXTRA_OECONF = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \ -" - -# Makefile-libostree.am overrides this to avoid a build problem with clang, -# but that fix breaks cross compilation and we don't need it -EXTRA_OEMAKE = " \ - INTROSPECTION_SCANNER_ENV= \ -" - -EXTRA_OECONF:class-native = " \ - --enable-wrpseudo-compat \ - --disable-otmpfile \ -" - -EXTRA_OECONF:class-nativesdk = " \ - --enable-wrpseudo-compat \ - --disable-otmpfile \ -" - -# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the -# do_configure stage so we do depend on it -SYSROOT_DIR = "${STAGING_DIR_TARGET}" -SYSROOT_DIR:class-native = "${STAGING_DIR_NATIVE}" -do_configure[vardeps] += "SYSROOT_DIR" - -# i686-yoe-linux-ld.lld: error: undefined symbol: __unordtf2 -LDFLAGS:append:libc-glibc:toolchain-clang:x86 = " --rtlib=libgcc --unwindlib=libgcc" - -do_configure:prepend() { - # this reflects what autogen.sh does, but the OE wrappers for autoreconf - # allow it to work without the other gyrations which exist there - cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc - cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc -} - -do_install:append:class-native() { - create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator" -} - -do_install:append:class-nativesdk() { - create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="\$OECORE_NATIVE_SYSROOT/usr/lib/ostree/ostree-grub-generator" -} - -PACKAGE_BEFORE_PN += " \ - ${PN}-dracut \ - ${PN}-grub \ - ${PN}-mkinitcpio \ - ${PN}-switchroot \ -" - -FILES:${PN} += " \ - ${nonarch_libdir}/${BPN} \ - ${nonarch_libdir}/tmpfiles.d \ - ${systemd_system_unitdir} \ - ${systemd_unitdir}/system-generators \ -" -FILES:${PN}-dracut = " \ - ${sysconfdir}/dracut.conf.d \ - ${libdir}/dracut \ -" -FILES:${PN}-grub = " \ - ${sysconfdir}/grub.d \ - ${libexecdir}/libostree/grub2-15_ostree \ -" -FILES:${PN}-mkinitcpio = " \ - ${sysconfdir}/ostree-mkinitcpio.conf \ - ${libdir}/initcpio \ -" -FILES:${PN}-switchroot = " \ - ${nonarch_libdir}/${BPN}/ostree-prepare-root \ - ${systemd_system_unitdir}/ostree-prepare-root.service \ -" - -RDEPENDS:${PN}-dracut = "bash" -RDEPENDS:${PN}-mkinitcpio = "bash" -RDEPENDS:${PN}:class-target = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \ - ${PN}-switchroot \ -" - -# -# Note that to get ptest to pass you also need: -# -# xattr in DISTRO_FEATURES (default) -# static ostree-prepare-root -# overlayfs in your kernel -# busybox built statically -# C.UTF-8 locale available (default) -# Sufficient disk space/RAM (e.g. core-image-sato-sdk) -# -# Something like this in your local.conf: -# -# PACKAGECONFIG:append:pn-ostree = " static soup3" -# KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" -# TARGET_CFLAGS:append:pn-busybox = " -static" -# -RDEPENDS:${PN}-ptest += " \ - attr \ - bash \ - coreutils \ - cpio \ - diffutils \ - findutils \ - grep \ - locale-base-en-us \ - python3-core \ - python3-multiprocessing \ - strace \ - tar \ - util-linux \ - xz \ - python3-pyyaml \ - ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \ -" -RDEPENDS:${PN}-ptest:remove:riscv32 = "strace" -RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-localedata-en-us" - -RRECOMMENDS:${PN}:append:class-target = " kernel-module-overlay" - -SYSTEMD_SERVICE:${PN} = "ostree-remount.service ostree-finalize-staged.path" -SYSTEMD_SERVICE:${PN}-switchroot = "ostree-prepare-root.service" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/ostree/ostree_2026.1.bb b/meta-oe/recipes-extended/ostree/ostree_2026.1.bb new file mode 100644 index 00000000000..af726fff12f --- /dev/null +++ b/meta-oe/recipes-extended/ostree/ostree_2026.1.bb @@ -0,0 +1,216 @@ +SUMMARY = "Versioned Operating System Repository." +DESCRIPTION = "libostree is both a shared library and suite of command line \ +tools that combines a \"git-like\" model for committing and downloading \ +bootable filesystem trees, along with a layer for deploying them and managing \ +the bootloader configuration." +HOMEPAGE = "https://ostree.readthedocs.io" +LICENSE = "LGPL-2.1-only" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = " \ + glib-2.0-native \ + glib-2.0 \ + e2fsprogs \ + libcap \ + zlib \ + xz \ + bison-native \ +" + +GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases" +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \ + file://run-ptest \ + file://0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch \ + " +SRC_URI[sha256sum] = "8e77c285dd6fa5ec5fb063130390977be727fe11107335ed8778a40385069e95" + +S = "${UNPACKDIR}/libostree-${PV}" + +inherit autotools bash-completion gobject-introspection github-releases gtk-doc manpages pkgconfig ptest-gnome systemd + +UNKNOWN_CONFIGURE_OPT_IGNORE += "--disable-introspection --enable-introspection" + +# Workaround compile failure: +# |../git/src/libotutil/zbase32.c:37:1: error: function returns an aggregate [-Werror=aggregate-return] +# so remove -Og and use -O2 as workaround +DEBUG_OPTIMIZATION:remove = "-Og" +DEBUG_OPTIMIZATION:append = " -O2" +BUILD_OPTIMIZATION:remove = "-Og" +BUILD_OPTIMIZATION:append = " -O2" + +# Package configuration - match ostree defaults, but without rofiles-fuse +# otherwise we introduce a dependendency on meta-filesystems +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'soup3 static', '', d)} \ + glib \ + gpgme \ + curl \ +" + +# We include curl because ostree can't (currently) be built without +# soup or curl - https://github.com/ostreedev/ostree/issues/1897 +PACKAGECONFIG:class-native ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + builtin-grub2-mkconfig \ + gpgme \ + curl \ +" + +PACKAGECONFIG:class-nativesdk ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + builtin-grub2-mkconfig \ + gpgme \ + curl \ +" + +PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi" +PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig" +PACKAGECONFIG[composefs] = "--with-composefs, --without-composefs, composefs" +PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl" +PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut" +PACKAGECONFIG[ed25519-libsodium] = "--with-ed25519-libsodium, --without-ed25519-libsodium, libsodium" +PACKAGECONFIG[ed25519-openssl] = "--with-openssl, --without-openssl, openssl" +PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs" +PACKAGECONFIG[glib] = "--with-crypto=glib, , , , , gnutls openssl" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls, , , glib openssl" +PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme" +PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux" +PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio" +PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2" +PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl, , , glib gnutls" +PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse3" +PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux, bubblewrap" +PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack" +PACKAGECONFIG[soup3] = "--with-soup3, --without-soup3, libsoup" +PACKAGECONFIG[static] = "" +PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-libsystemd, systemd" + +EXTRA_OECONF = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \ + --without-soup \ +" + +# Makefile-libostree.am overrides this to avoid a build problem with clang, +# but that fix breaks cross compilation and we don't need it +EXTRA_OEMAKE = " \ + INTROSPECTION_SCANNER_ENV= \ +" + +EXTRA_OECONF:class-native = " \ + --enable-wrpseudo-compat \ + --disable-otmpfile \ +" + +EXTRA_OECONF:class-nativesdk = " \ + --enable-wrpseudo-compat \ + --disable-otmpfile \ +" + +# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the +# do_configure stage so we do depend on it +SYSROOT_DIR = "${STAGING_DIR_TARGET}" +SYSROOT_DIR:class-native = "${STAGING_DIR_NATIVE}" +do_configure[vardeps] += "SYSROOT_DIR" + +# i686-yoe-linux-ld.lld: error: undefined symbol: __unordtf2 +LDFLAGS:append:libc-glibc:toolchain-clang:x86 = " --rtlib=libgcc --unwindlib=libgcc" + +do_configure:prepend() { + # this reflects what autogen.sh does, but the OE wrappers for autoreconf + # allow it to work without the other gyrations which exist there + cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc + cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc +} + +do_install:append:class-native() { + create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator" +} + +do_install:append:class-nativesdk() { + create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="\$OECORE_NATIVE_SYSROOT/usr/lib/ostree/ostree-grub-generator" +} + +PACKAGE_BEFORE_PN += " \ + ${PN}-dracut \ + ${PN}-grub \ + ${PN}-mkinitcpio \ + ${PN}-switchroot \ +" + +FILES:${PN} += " \ + ${nonarch_libdir}/${BPN} \ + ${nonarch_libdir}/tmpfiles.d \ + ${systemd_system_unitdir} \ + ${systemd_unitdir}/system-generators \ +" +FILES:${PN}-dracut = " \ + ${sysconfdir}/dracut.conf.d \ + ${libdir}/dracut \ +" +FILES:${PN}-grub = " \ + ${sysconfdir}/grub.d \ + ${libexecdir}/libostree/grub2-15_ostree \ +" +FILES:${PN}-mkinitcpio = " \ + ${sysconfdir}/ostree-mkinitcpio.conf \ + ${libdir}/initcpio \ +" +FILES:${PN}-switchroot = " \ + ${nonarch_libdir}/${BPN}/ostree-prepare-root \ + ${systemd_system_unitdir}/ostree-prepare-root.service \ +" + +RDEPENDS:${PN}-dracut = "bash" +RDEPENDS:${PN}-mkinitcpio = "bash" +RDEPENDS:${PN}:class-target = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \ + ${PN}-switchroot \ +" + +# +# Note that to get ptest to pass you also need: +# +# xattr in DISTRO_FEATURES (default) +# static ostree-prepare-root +# overlayfs in your kernel +# busybox built statically +# C.UTF-8 locale available (default) +# Sufficient disk space/RAM (e.g. core-image-sato-sdk) +# +# Something like this in your local.conf: +# +# KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc" +# TARGET_CFLAGS:append:pn-busybox = " -static" +# +RDEPENDS:${PN}-ptest += " \ + attr \ + bash \ + coreutils \ + cpio \ + diffutils \ + findutils \ + grep \ + locale-base-en-us \ + python3-core \ + python3-multiprocessing \ + strace \ + tar \ + util-linux \ + xz \ + python3-pyyaml \ + ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \ +" +RDEPENDS:${PN}-ptest:remove:riscv32 = "strace" +RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-localedata-en-us" + +RRECOMMENDS:${PN}:append:class-target = " kernel-module-overlay" + +SYSTEMD_SERVICE:${PN} = "ostree-remount.service" +SYSTEMD_SERVICE:${PN}-switchroot = "ostree-prepare-root.service" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/parallel/parallel_20251122.bb b/meta-oe/recipes-extended/parallel/parallel_20251122.bb deleted file mode 100644 index c2775472d71..00000000000 --- a/meta-oe/recipes-extended/parallel/parallel_20251122.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers" -DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \ -It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks." - -HOMEPAGE = "https://www.gnu.org/software/parallel/" -LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later" - -LIC_FILES_CHKSUM = " \ - file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8 \ - file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7 \ - file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 \ -" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2" -SRC_URI[sha256sum] = "368d1982cfd9dbebb8cd0e444de6199559df94ac2dd1edf95f74350f0af1e84d" - -inherit autotools bash-completion - -PACKAGES += "${PN}-zsh-completion" -FILES:${PN}-zsh-completion = "${datadir}/zsh" - -RDEPENDS:${PN} = " \ - perl \ - perl-module-file-basename \ - perl-module-file-glob \ - perl-module-file-path \ - perl-module-file-temp \ - perl-module-filehandle \ - perl-module-getopt-long \ - perl-module-io-select \ - perl-module-ipc-open3 \ - perl-module-posix \ - perl-module-symbol \ - perl-module-thread-queue \ - perl-module-threads \ - perl-module-threads-shared \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/parallel/parallel_20260322.bb b/meta-oe/recipes-extended/parallel/parallel_20260322.bb new file mode 100644 index 00000000000..5a9980e66f4 --- /dev/null +++ b/meta-oe/recipes-extended/parallel/parallel_20260322.bb @@ -0,0 +1,39 @@ +SUMMARY = "GNU Parallel - A shell tool for executing jobs in parallel using one or more computers" +DESCRIPTION = "GNU Parallel is a command-line tool for executing jobs in parallel on one or more computers. \ +It allows users to run multiple commands simultaneously, making it easier to process large batches of tasks." + +HOMEPAGE = "https://www.gnu.org/software/parallel/" +LICENSE = "CC-BY-SA-4.0 & GFDL-1.3-or-later & GPL-3.0-or-later" + +LIC_FILES_CHKSUM = " \ + file://LICENSES/CC-BY-SA-4.0.txt;md5=7130783469368ceb248a4f03e89ea4b8 \ + file://LICENSES/GFDL-1.3-or-later.txt;md5=e0771ae6a62dc8a2e50b1d450fea66b7 \ + file://LICENSES/GPL-3.0-or-later.txt;md5=8da5784ab1c72e63ac74971f88658166 \ +" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2" +SRC_URI[sha256sum] = "764680e932f4d0d21cf0329bd9f9eed659895de16836001f6491533b822befe0" + +inherit autotools bash-completion + +PACKAGES += "${PN}-zsh-completion" +FILES:${PN}-zsh-completion = "${datadir}/zsh" + +RDEPENDS:${PN} = " \ + perl \ + perl-module-file-basename \ + perl-module-file-glob \ + perl-module-file-path \ + perl-module-file-temp \ + perl-module-filehandle \ + perl-module-getopt-long \ + perl-module-io-select \ + perl-module-ipc-open3 \ + perl-module-posix \ + perl-module-symbol \ + perl-module-thread-queue \ + perl-module-threads \ + perl-module-threads-shared \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/polkit/polkit_127.bb b/meta-oe/recipes-extended/polkit/polkit_127.bb index 40eca9f9ee4..f97c6efbf7a 100644 --- a/meta-oe/recipes-extended/polkit/polkit_127.bb +++ b/meta-oe/recipes-extended/polkit/polkit_127.bb @@ -65,3 +65,5 @@ FILES:${PN} += " \ ${systemd_unitdir}/system/polkit-agent-helper.socket \ ${systemd_unitdir}/system/polkit-agent-helper@.service \ " + +CVE_STATUS[CVE-2016-2568] = "unpatched: the fix is a kernel compiled without CONFIG_LEGACY_TIOCSTI" diff --git a/meta-oe/recipes-extended/qad/qad/0001-fix-compilation-with-glibc-2.43.patch b/meta-oe/recipes-extended/qad/qad/0001-fix-compilation-with-glibc-2.43.patch new file mode 100644 index 00000000000..3bebcc1b11e --- /dev/null +++ b/meta-oe/recipes-extended/qad/qad/0001-fix-compilation-with-glibc-2.43.patch @@ -0,0 +1,30 @@ +From 030b4983e3515b214f4faa61ce1b7c552c007340 Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Thu, 19 Mar 2026 18:05:00 +0100 +Subject: [PATCH] fix compilation with glibc 2.43 + +Fioxes compilation error: +| ../sources/qad-0.0+git/src/server.c:212:22: error: initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] +| 212 | char *pLastSlash = strrchr(url, '/'); + +Upstream-Status: Submitted [https://gitlab.com/CodethinkLabs/qad/qad/-/merge_requests/56] +Signed-off-by: Gyorgy Sarvari +--- + src/server.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/server.c b/src/server.c +index 648fb46..11ec114 100644 +--- a/src/server.c ++++ b/src/server.c +@@ -307,8 +307,8 @@ void qad_text(const char *post_data, int post_data_size, qad_backend_t *backend, + void qad_screenshot(struct MHD_Connection *connection, const char *url, + qad_backend_t *backend, connection_info_struct_t *con_info, + char *error) { +- char *pLastSlash = strrchr(url, '/'); +- char *screenName = pLastSlash ? pLastSlash + 1 : NULL; ++ const char *pLastSlash = strrchr(url, '/'); ++ const char *screenName = pLastSlash ? pLastSlash + 1 : NULL; + int screenNumber = -1; + + if (screenName && *screenName != '\0') { diff --git a/meta-oe/recipes-extended/qad/qad_git.bb b/meta-oe/recipes-extended/qad/qad_git.bb index 189d2f9d15b..4a80b6738fc 100644 --- a/meta-oe/recipes-extended/qad/qad_git.bb +++ b/meta-oe/recipes-extended/qad/qad_git.bb @@ -10,7 +10,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=402cce7fbcb6ea9ab5a0378dd7f40806 \ file://openqa/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ " SRC_URI = "git://gitlab.com/CodethinkLabs/qad/qad;branch=main;protocol=https \ - file://0001-Fix-warnings-found-by-clang-compiler.patch" + file://0001-Fix-warnings-found-by-clang-compiler.patch \ + file://0001-fix-compilation-with-glibc-2.43.patch" SRCREV = "ae0c099c1fdc0ca6f5d631cea6b302937122b362" diff --git a/meta-oe/recipes-extended/qcbor/qcbor_1.6.1.bb b/meta-oe/recipes-extended/qcbor/qcbor_1.6.1.bb new file mode 100644 index 00000000000..e16e9fc948c --- /dev/null +++ b/meta-oe/recipes-extended/qcbor/qcbor_1.6.1.bb @@ -0,0 +1,29 @@ +DESCRIPTION = " \ + QCBOR is a powerful, commercial-quality CBOR encoder/decoder that \ + implements these RFCs: RFC8949, RFC7049, RFC8742, RFC8943 \ +" + +HOMEPAGE = "https://github.com/laurencelundblade/QCBOR" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9abe2371333f4ab0e62402a486f308a5" + +SRC_URI = "git://github.com/laurencelundblade/QCBOR;protocol=https;branch=master;tag=v${PV}" + +SRCREV = "930708bb86481e88879eb1d87fd4d664f1d69503" + + +inherit pkgconfig + +CFLAGS += " \ + -DUSEFULBUF_DISABLE_ALL_FLOAT \ +" + +do_install(){ + install -d ${D}${libdir} + install -m 755 ${S}/libqcbor.a ${D}${libdir}/ + install -d ${D}${includedir}/qcbor + install -m 644 ${S}/inc/*.h ${D}${includedir} + install -m 644 ${S}/inc/qcbor/*.h ${D}${includedir}/qcbor +} + diff --git a/meta-oe/recipes-extended/qcbor/qcbor_1.6.bb b/meta-oe/recipes-extended/qcbor/qcbor_1.6.bb deleted file mode 100644 index ca96199ea0a..00000000000 --- a/meta-oe/recipes-extended/qcbor/qcbor_1.6.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION = " \ - QCBOR is a powerful, commercial-quality CBOR encoder/decoder that \ - implements these RFCs: RFC8949, RFC7049, RFC8742, RFC8943 \ -" - -HOMEPAGE = "https://github.com/laurencelundblade/QCBOR" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9abe2371333f4ab0e62402a486f308a5" - -SRC_URI = "git://github.com/laurencelundblade/QCBOR;protocol=https;branch=master;tag=v${PV}" - -SRCREV = "590a23daf65af068cee81555c597063150e23539" - - -inherit pkgconfig - -CFLAGS += " \ - -DUSEFULBUF_DISABLE_ALL_FLOAT \ -" - -do_install(){ - install -d ${D}${libdir} - install -m 755 ${S}/libqcbor.a ${D}${libdir}/ - install -d ${D}${includedir}/qcbor - install -m 644 ${S}/inc/*.h ${D}${includedir} - install -m 644 ${S}/inc/qcbor/*.h ${D}${includedir}/qcbor -} - diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/0001-hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/redis/redis-7.2.12/0001-hiredis-use-default-CC-if-it-is-set.patch deleted file mode 100644 index 99783ce2373..00000000000 --- a/meta-oe/recipes-extended/redis/redis-7.2.12/0001-hiredis-use-default-CC-if-it-is-set.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2fec7733df9a6224875f3ecd3aaafc2857a546c0 Mon Sep 17 00:00:00 2001 -From: Venture Research -Date: Fri, 8 Feb 2013 17:39:52 -0600 -Subject: [PATCH] hiredis: use default CC if it is set -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Instead of trying to automagically figure out CC, which breaks with OE -as CC has spaces in it, just skip it if one was already passed in. - -Upstream-Status: Pending - -Signed-off-by: Venture Research - -Update to work with 4.0.8 -Signed-off-by: Alistair Francis - -Reworked for 6.0.4 -Signed-off-by: Andreas Müller ---- - deps/hiredis/Makefile | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile -index bd2106b..9ce768d 100644 ---- a/deps/hiredis/Makefile -+++ b/deps/hiredis/Makefile -@@ -36,8 +36,6 @@ endef - export REDIS_TEST_CONFIG - - # Fallback to gcc when $CC is not in $PATH. --CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc') --CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++') - OPTIMIZATION?=-O3 - WARNINGS=-Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers - DEBUG_FLAGS?= -g -ggdb diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/0002-lua-update-Makefile-to-use-environment-build-setting.patch b/meta-oe/recipes-extended/redis/redis-7.2.12/0002-lua-update-Makefile-to-use-environment-build-setting.patch deleted file mode 100644 index a3365043b55..00000000000 --- a/meta-oe/recipes-extended/redis/redis-7.2.12/0002-lua-update-Makefile-to-use-environment-build-setting.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 71d92a24da61eab1e3697cc83ebc387b57bb6c3b Mon Sep 17 00:00:00 2001 -From: Venture Research -Date: Fri, 8 Feb 2013 20:22:19 -0600 -Subject: [PATCH] lua: update Makefile to use environment build settings - -OE-specific parameters, instead of overriding all of these simply use -the ones that are already passed in. Also configure for only Linux... - -Upstream-Status: Pending - -Signed-off-by: Venture Research - -Updated to work with 3.0.x - -Signed-off-by: Armin Kuster - -updated to work wtih 6.2.1 -Signed-off-by: Yi Fan Yu ---- - deps/Makefile | 1 - - deps/lua/Makefile | 1 - - deps/lua/src/Makefile | 16 ++++++---------- - 3 files changed, 6 insertions(+), 12 deletions(-) - -diff --git a/deps/Makefile b/deps/Makefile -index 3bf0363..fd8765a 100644 ---- a/deps/Makefile -+++ b/deps/Makefile -@@ -94,7 +94,6 @@ endif - # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more - # challenging to cross-compile lua (and redis). These defines make it easier - # to fit redis into cross-compilation environments, which typically set AR. --AR=ar - ARFLAGS=rc - - lua: .make-prerequisites -diff --git a/deps/lua/Makefile b/deps/lua/Makefile -index 209a132..72f4b2b 100644 ---- a/deps/lua/Makefile -+++ b/deps/lua/Makefile -@@ -33,7 +33,6 @@ INSTALL_DATA= $(INSTALL) -m 0644 - - # Utilities. - MKDIR= mkdir -p --RANLIB= ranlib - - # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= - -diff --git a/deps/lua/src/Makefile b/deps/lua/src/Makefile -index f3bba2f..1555ec0 100644 ---- a/deps/lua/src/Makefile -+++ b/deps/lua/src/Makefile -@@ -5,18 +5,14 @@ - # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= - - # Your platform. See PLATS for possible values. --PLAT= none -+PLAT= linux - --CC?= gcc --CFLAGS= -O2 -Wall $(MYCFLAGS) --AR= ar rcu --RANLIB= ranlib --RM= rm -f --LIBS= -lm $(MYLIBS) -- --MYCFLAGS= -+MYCFLAGS=-DLUA_USE_LINUX - MYLDFLAGS= --MYLIBS= -+MYLIBS=-Wl,-E -ldl -lreadline -lhistory -lncurses -+ -+CFLAGS += $(MYCFLAGS) -+LIBS += -lm $(MYLIBS) - - # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= - diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/0003-hack-to-force-use-of-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis-7.2.12/0003-hack-to-force-use-of-libc-malloc.patch deleted file mode 100644 index 4ab1ca0ca87..00000000000 --- a/meta-oe/recipes-extended/redis/redis-7.2.12/0003-hack-to-force-use-of-libc-malloc.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 577335d0309c852d9f6099c255d5a80603fcbdb9 Mon Sep 17 00:00:00 2001 -From: Venture Research -Date: Wed, 6 Feb 2013 20:51:02 -0600 -Subject: [PATCH] hack to force use of libc malloc - -Hack to force libc usage as it seems the option to pass it in has been -removed in favor of magic. - -Note that this of course doesn't allow tcmalloc and jemalloc, however -jemalloc wasn't building correctly. - -Upstream-Status: Pending - -Signed-off-by: Venture Research - -Update to work with 4.0.8 -Signed-off-by: Alistair Francis ---- - src/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 6a87909..b8e0d44 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -13,7 +13,8 @@ - # Just use 'make dep', but this is only needed by developers. - - release_hdr := $(shell sh -c './mkreleasehdr.sh') --uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') -+# use fake uname option to force use of generic libc -+uname_S := "USE_LIBC_MALLOC" - uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') - CLANG := $(findstring clang,$(shell sh -c '$(CC) --version | head -1')) - OPTIMIZATION?=-O3 diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/0004-src-Do-not-reset-FINAL_LIBS.patch b/meta-oe/recipes-extended/redis/redis-7.2.12/0004-src-Do-not-reset-FINAL_LIBS.patch deleted file mode 100644 index 71044365afd..00000000000 --- a/meta-oe/recipes-extended/redis/redis-7.2.12/0004-src-Do-not-reset-FINAL_LIBS.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 225f45d5fbeaa8998fac983fcb78d7912d6d6dd3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 10 Sep 2019 20:04:26 -0700 -Subject: [PATCH] src: Do not reset FINAL_LIBS - -This helps case where additional libraries are needed to be passed from -environment to get it going - -e.g. -latomic is needed on clang/x86 to provide for 64bit atomics - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index b8e0d44..3a68fa6 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -122,7 +122,7 @@ endif - - FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) - FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) --FINAL_LIBS=-lm -+FINAL_LIBS+=-lm - DEBUG=-g -ggdb - - # Linux ARM32 needs -latomic at linking time diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch b/meta-oe/recipes-extended/redis/redis-7.2.12/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch deleted file mode 100644 index a45de28e0e5..00000000000 --- a/meta-oe/recipes-extended/redis/redis-7.2.12/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b636c748fb4047b1ef3a4062c675e1ee4584230b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 21 Dec 2019 12:09:51 -0800 -Subject: [PATCH] Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER - -Fixes -| zmalloc.c:87:37: error: 'PTHREAD_MUTEX_DEFAULT' undeclared here (not in a function) -| 87 | pthread_mutex_t used_memory_mutex = PTHREAD_MUTEX_INITIALIZER; -| | ^~~~~~~~~~~~~~~~~~~~~~~~~ - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - src/zmalloc.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/zmalloc.c b/src/zmalloc.c -index bbfa386..93e07ff 100644 ---- a/src/zmalloc.c -+++ b/src/zmalloc.c -@@ -32,6 +32,7 @@ - #include "config.h" - #include "solarisfixes.h" - -+#define _GNU_SOURCE - #include - #include - #include diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/0006-Define-correct-gregs-for-RISCV32.patch b/meta-oe/recipes-extended/redis/redis-7.2.12/0006-Define-correct-gregs-for-RISCV32.patch deleted file mode 100644 index bf44858d16b..00000000000 --- a/meta-oe/recipes-extended/redis/redis-7.2.12/0006-Define-correct-gregs-for-RISCV32.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 8984a5df54fc80de1c99b311f117d28c2a42d959 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 26 Oct 2020 21:32:22 -0700 -Subject: [PATCH] Define correct gregs for RISCV32 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj - -Updated patch for 6.2.8 -Signed-off-by: Changqing Li ---- - src/debug.c | 26 ++++++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -diff --git a/src/debug.c b/src/debug.c -index 684f692..2ee151f 100644 ---- a/src/debug.c -+++ b/src/debug.c -@@ -1215,7 +1215,9 @@ static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) { - #endif - #elif defined(__linux__) - /* Linux */ -- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__)) -+ #if defined(__riscv) && __riscv_xlen == 32 -+ return (void*) uc->uc_mcontext.__gregs[REG_PC]; -+ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__)) - GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip); - #elif defined(__X86_64__) || defined(__x86_64__) - GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip); -@@ -1401,8 +1403,28 @@ void logRegisters(ucontext_t *uc) { - #endif - /* Linux */ - #elif defined(__linux__) -+ /* Linux RISCV32 */ -+ #if defined(__riscv) && __riscv_xlen == 32 -+ serverLog(LL_WARNING, -+ "\n" -+ "RA:%08lx S0:%08lx S1:%08lx S2:%08lx\n" -+ "SP:%08lx PC:%08lx A0:%08lx A1:%08lx\n" -+ "A2 :%08lx A3:%08lx A4:%08lx", -+ (unsigned long) uc->uc_mcontext.__gregs[REG_RA], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_S0], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_S1], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_S2], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_SP], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_PC], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 0], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 1], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 2], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 3], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 4] -+ ); -+ logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]); - /* Linux x86 */ -- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__)) -+ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__)) - serverLog(LL_WARNING, - "\n" - "EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n" diff --git a/meta-oe/recipes-extended/redis/redis-8.0.6/0001-hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/redis/redis-8.0.6/0001-hiredis-use-default-CC-if-it-is-set.patch new file mode 100644 index 00000000000..a176f7c14e5 --- /dev/null +++ b/meta-oe/recipes-extended/redis/redis-8.0.6/0001-hiredis-use-default-CC-if-it-is-set.patch @@ -0,0 +1,45 @@ +From 43601f60f268ddbc2e03f7a33ae4a1ad109f092c Mon Sep 17 00:00:00 2001 +From: Venture Research +Date: Fri, 8 Feb 2013 17:39:52 -0600 +Subject: [PATCH] hiredis: use default CC if it is set +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Instead of trying to automagically figure out CC, which breaks with OE +as CC has spaces in it, just skip it if one was already passed in. + +Upstream-Status: Pending + +Signed-off-by: Venture Research + +Update to work with 4.0.8 +Signed-off-by: Alistair Francis + +Reworked for 6.0.4 +Signed-off-by: Andreas Müller + +Reworked for 8.0.0 +Signed-off-by: Eric Meyers + +--- + deps/hiredis/Makefile | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile +index bd2106b..9ce768d 100644 +--- a/deps/hiredis/Makefile ++++ b/deps/hiredis/Makefile +@@ -36,8 +36,6 @@ endef + export REDIS_TEST_CONFIG + + # Fallback to gcc when $CC is not in $PATH. +-CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc') +-CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++') + OPTIMIZATION?=-O3 + WARNINGS=-Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers + DEBUG_FLAGS?= -g -ggdb diff --git a/meta-oe/recipes-extended/redis/redis-8.0.6/0002-lua-update-Makefile-to-use-environment-build-setting.patch b/meta-oe/recipes-extended/redis/redis-8.0.6/0002-lua-update-Makefile-to-use-environment-build-setting.patch new file mode 100644 index 00000000000..f1b59ad0a12 --- /dev/null +++ b/meta-oe/recipes-extended/redis/redis-8.0.6/0002-lua-update-Makefile-to-use-environment-build-setting.patch @@ -0,0 +1,81 @@ +From d50d4cb30bfb533185711116822a50d83e5a92e8 Mon Sep 17 00:00:00 2001 +From: Venture Research +Date: Fri, 8 Feb 2013 20:22:19 -0600 +Subject: [PATCH] lua: update Makefile to use environment build settings + +OE-specific parameters, instead of overriding all of these simply use +the ones that are already passed in. Also configure for only Linux... + +Upstream-Status: Pending + +Signed-off-by: Venture Research + +Updated to work with 3.0.x + +Signed-off-by: Armin Kuster + +updated to work wtih 6.2.1 +Signed-off-by: Yi Fan Yu + +Reworked for 8.0.0 +Signed-off-by: Eric Meyers + +--- + deps/Makefile | 1 - + deps/lua/Makefile | 1 - + deps/lua/src/Makefile | 16 ++++++---------- + 3 files changed, 6 insertions(+), 12 deletions(-) + +diff --git a/deps/Makefile b/deps/Makefile +index 5593e0c..d71265a 100644 +--- a/deps/Makefile ++++ b/deps/Makefile +@@ -101,7 +101,6 @@ endif + # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more + # challenging to cross-compile lua (and redis). These defines make it easier + # to fit redis into cross-compilation environments, which typically set AR. +-AR=ar + ARFLAGS=rc + + lua: .make-prerequisites +diff --git a/deps/lua/Makefile b/deps/lua/Makefile +index 209a132..72f4b2b 100644 +--- a/deps/lua/Makefile ++++ b/deps/lua/Makefile +@@ -33,7 +33,6 @@ INSTALL_DATA= $(INSTALL) -m 0644 + + # Utilities. + MKDIR= mkdir -p +-RANLIB= ranlib + + # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= + +diff --git a/deps/lua/src/Makefile b/deps/lua/src/Makefile +index f3bba2f..1555ec0 100644 +--- a/deps/lua/src/Makefile ++++ b/deps/lua/src/Makefile +@@ -5,18 +5,14 @@ + # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= + + # Your platform. See PLATS for possible values. +-PLAT= none ++PLAT= linux + +-CC?= gcc +-CFLAGS= -O2 -Wall $(MYCFLAGS) +-AR= ar rcu +-RANLIB= ranlib +-RM= rm -f +-LIBS= -lm $(MYLIBS) +- +-MYCFLAGS= ++MYCFLAGS=-DLUA_USE_LINUX + MYLDFLAGS= +-MYLIBS= ++MYLIBS=-Wl,-E -ldl -lreadline -lhistory -lncurses ++ ++CFLAGS += $(MYCFLAGS) ++LIBS += -lm $(MYLIBS) + + # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= + diff --git a/meta-oe/recipes-extended/redis/redis-8.0.6/0003-hack-to-force-use-of-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis-8.0.6/0003-hack-to-force-use-of-libc-malloc.patch new file mode 100644 index 00000000000..2b0db43f7e4 --- /dev/null +++ b/meta-oe/recipes-extended/redis/redis-8.0.6/0003-hack-to-force-use-of-libc-malloc.patch @@ -0,0 +1,39 @@ +From 55e09d562a1b8ca6a7d3ef2349c58f466bc44d2b Mon Sep 17 00:00:00 2001 +From: Venture Research +Date: Wed, 6 Feb 2013 20:51:02 -0600 +Subject: [PATCH] hack to force use of libc malloc + +Hack to force libc usage as it seems the option to pass it in has been +removed in favor of magic. + +Note that this of course doesn't allow tcmalloc and jemalloc, however +jemalloc wasn't building correctly. + +Upstream-Status: Pending + +Signed-off-by: Venture Research + +Update to work with 4.0.8 +Signed-off-by: Alistair Francis + +Reworked for 8.0.0 +Signed-off-by: Eric Meyers + +--- + src/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 948ef83..5dbbefc 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -17,7 +17,8 @@ + # Just use 'make dep', but this is only needed by developers. + + release_hdr := $(shell sh -c './mkreleasehdr.sh') +-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') ++# use fake uname option to force use of generic libc ++uname_S := "USE_LIBC_MALLOC" + uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') + CLANG := $(findstring clang,$(shell sh -c '$(CC) --version | head -1')) + diff --git a/meta-oe/recipes-extended/redis/redis-8.0.6/0004-src-Do-not-reset-FINAL_LIBS.patch b/meta-oe/recipes-extended/redis/redis-8.0.6/0004-src-Do-not-reset-FINAL_LIBS.patch new file mode 100644 index 00000000000..5b8616c6524 --- /dev/null +++ b/meta-oe/recipes-extended/redis/redis-8.0.6/0004-src-Do-not-reset-FINAL_LIBS.patch @@ -0,0 +1,34 @@ +From 8f7a23705433e3f8850736a3348ecabbf7949e01 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 10 Sep 2019 20:04:26 -0700 +Subject: [PATCH] src: Do not reset FINAL_LIBS + +This helps case where additional libraries are needed to be passed from +environment to get it going + +e.g. -latomic is needed on clang/x86 to provide for 64bit atomics + +Upstream-Status: Pending + +Signed-off-by: Khem Raj + +Reworked for 8.0.0 +Signed-off-by: Eric Meyers + +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 5dbbefc..15fbe09 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -131,7 +131,7 @@ endif + + FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) + FINAL_LDFLAGS=$(LDFLAGS) $(OPT) $(REDIS_LDFLAGS) $(DEBUG) +-FINAL_LIBS=-lm -lstdc++ ++FINAL_LIBS+=-lm -lstdc++ + DEBUG=-g -ggdb + + # Linux ARM32 needs -latomic at linking time diff --git a/meta-oe/recipes-extended/redis/redis-8.0.6/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch b/meta-oe/recipes-extended/redis/redis-8.0.6/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch new file mode 100644 index 00000000000..a94f2ad565e --- /dev/null +++ b/meta-oe/recipes-extended/redis/redis-8.0.6/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch @@ -0,0 +1,33 @@ +From 3e5b6732b936883d895638a3098a29dd254a7be4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 21 Dec 2019 12:09:51 -0800 +Subject: [PATCH] Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER + +Fixes +| zmalloc.c:87:37: error: 'PTHREAD_MUTEX_DEFAULT' undeclared here (not in a function) +| 87 | pthread_mutex_t used_memory_mutex = PTHREAD_MUTEX_INITIALIZER; +| | ^~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj + +Reworked for 8.0.0 +Signed-off-by: Eric Meyers + +--- + src/zmalloc.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/zmalloc.c b/src/zmalloc.c +index b2f5718..913be90 100644 +--- a/src/zmalloc.c ++++ b/src/zmalloc.c +@@ -12,6 +12,7 @@ + #include "config.h" + #include "solarisfixes.h" + ++#define _GNU_SOURCE + #include + #include + #include diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/init-redis-server b/meta-oe/recipes-extended/redis/redis-8.0.6/init-redis-server similarity index 100% rename from meta-oe/recipes-extended/redis/redis-7.2.12/init-redis-server rename to meta-oe/recipes-extended/redis/redis-8.0.6/init-redis-server diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/redis.conf b/meta-oe/recipes-extended/redis/redis-8.0.6/redis.conf similarity index 100% rename from meta-oe/recipes-extended/redis/redis-7.2.12/redis.conf rename to meta-oe/recipes-extended/redis/redis-8.0.6/redis.conf diff --git a/meta-oe/recipes-extended/redis/redis-7.2.12/redis.service b/meta-oe/recipes-extended/redis/redis-8.0.6/redis.service similarity index 100% rename from meta-oe/recipes-extended/redis/redis-7.2.12/redis.service rename to meta-oe/recipes-extended/redis/redis-8.0.6/redis.service diff --git a/meta-oe/recipes-extended/redis/redis/0001-hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/redis/redis/0001-hiredis-use-default-CC-if-it-is-set.patch deleted file mode 100644 index 51a6e9c9579..00000000000 --- a/meta-oe/recipes-extended/redis/redis/0001-hiredis-use-default-CC-if-it-is-set.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 67990f216f2fbbc8a6699c700dfc089aa617905f Mon Sep 17 00:00:00 2001 -From: Venture Research -Date: Fri, 8 Feb 2013 17:39:52 -0600 -Subject: [PATCH] hiredis: use default CC if it is set -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Instead of trying to automagically figure out CC, which breaks with OE -as CC has spaces in it, just skip it if one was already passed in. - -Upstream-Status: Pending - -Signed-off-by: Venture Research - -Update to work with 4.0.8 -Signed-off-by: Alistair Francis - -Reworked for 6.0.4 -Signed-off-by: Andreas Müller ---- - deps/hiredis/Makefile | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile -index 7e41c97..54717e3 100644 ---- a/deps/hiredis/Makefile -+++ b/deps/hiredis/Makefile -@@ -42,8 +42,6 @@ endef - export REDIS_TEST_CONFIG - - # Fallback to gcc when $CC is not in $PATH. --CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc') --CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++') - OPTIMIZATION?=-O3 - WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers - DEBUG_FLAGS?= -g -ggdb diff --git a/meta-oe/recipes-extended/redis/redis/0002-lua-update-Makefile-to-use-environment-build-setting.patch b/meta-oe/recipes-extended/redis/redis/0002-lua-update-Makefile-to-use-environment-build-setting.patch deleted file mode 100644 index 17b533669ba..00000000000 --- a/meta-oe/recipes-extended/redis/redis/0002-lua-update-Makefile-to-use-environment-build-setting.patch +++ /dev/null @@ -1,77 +0,0 @@ -From ef989aab052510bfda32b2b325a5f80b76c42677 Mon Sep 17 00:00:00 2001 -From: Venture Research -Date: Fri, 8 Feb 2013 20:22:19 -0600 -Subject: [PATCH] lua: update Makefile to use environment build settings - -OE-specific parameters, instead of overriding all of these simply use -the ones that are already passed in. Also configure for only Linux... - -Upstream-Status: Pending - -Signed-off-by: Venture Research - -Updated to work with 3.0.x - -Signed-off-by: Armin Kuster - -updated to work wtih 6.2.1 -Signed-off-by: Yi Fan Yu ---- - deps/Makefile | 1 - - deps/lua/Makefile | 1 - - deps/lua/src/Makefile | 16 ++++++---------- - 3 files changed, 6 insertions(+), 12 deletions(-) - -diff --git a/deps/Makefile b/deps/Makefile -index cbe3aef..76bc222 100644 ---- a/deps/Makefile -+++ b/deps/Makefile -@@ -81,7 +81,6 @@ endif - # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more - # challenging to cross-compile lua (and redis). These defines make it easier - # to fit redis into cross-compilation environments, which typically set AR. --AR=ar - ARFLAGS=rc - - lua: .make-prerequisites -diff --git a/deps/lua/Makefile b/deps/lua/Makefile -index 209a132..72f4b2b 100644 ---- a/deps/lua/Makefile -+++ b/deps/lua/Makefile -@@ -33,7 +33,6 @@ INSTALL_DATA= $(INSTALL) -m 0644 - - # Utilities. - MKDIR= mkdir -p --RANLIB= ranlib - - # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= - -diff --git a/deps/lua/src/Makefile b/deps/lua/src/Makefile -index f3bba2f..1555ec0 100644 ---- a/deps/lua/src/Makefile -+++ b/deps/lua/src/Makefile -@@ -5,18 +5,14 @@ - # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= - - # Your platform. See PLATS for possible values. --PLAT= none -+PLAT= linux - --CC?= gcc --CFLAGS= -O2 -Wall $(MYCFLAGS) --AR= ar rcu --RANLIB= ranlib --RM= rm -f --LIBS= -lm $(MYLIBS) -- --MYCFLAGS= -+MYCFLAGS=-DLUA_USE_LINUX - MYLDFLAGS= --MYLIBS= -+MYLIBS=-Wl,-E -ldl -lreadline -lhistory -lncurses -+ -+CFLAGS += $(MYCFLAGS) -+LIBS += -lm $(MYLIBS) - - # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= - diff --git a/meta-oe/recipes-extended/redis/redis/0003-hack-to-force-use-of-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis/0003-hack-to-force-use-of-libc-malloc.patch deleted file mode 100644 index f1021eef6c6..00000000000 --- a/meta-oe/recipes-extended/redis/redis/0003-hack-to-force-use-of-libc-malloc.patch +++ /dev/null @@ -1,35 +0,0 @@ -From b9586abcb803747301f6cc4ff93c7642bef693ea Mon Sep 17 00:00:00 2001 -From: Venture Research -Date: Wed, 6 Feb 2013 20:51:02 -0600 -Subject: [PATCH] hack to force use of libc malloc - -Hack to force libc usage as it seems the option to pass it in has been -removed in favor of magic. - -Note that this of course doesn't allow tcmalloc and jemalloc, however -jemalloc wasn't building correctly. - -Upstream-Status: Pending - -Signed-off-by: Venture Research - -Update to work with 4.0.8 -Signed-off-by: Alistair Francis ---- - src/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 7d75c83..35dd314 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -13,7 +13,8 @@ - # Just use 'make dep', but this is only needed by developers. - - release_hdr := $(shell sh -c './mkreleasehdr.sh') --uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') -+# use fake uname option to force use of generic libc -+uname_S := "USE_LIBC_MALLOC" - uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') - OPTIMIZATION?=-O2 - DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram diff --git a/meta-oe/recipes-extended/redis/redis/0004-src-Do-not-reset-FINAL_LIBS.patch b/meta-oe/recipes-extended/redis/redis/0004-src-Do-not-reset-FINAL_LIBS.patch deleted file mode 100644 index 958106e2619..00000000000 --- a/meta-oe/recipes-extended/redis/redis/0004-src-Do-not-reset-FINAL_LIBS.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a4d87aca1c00c53b386ee7490223971e00873add Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 10 Sep 2019 20:04:26 -0700 -Subject: [PATCH] src: Do not reset FINAL_LIBS - -This helps case where additional libraries are needed to be passed from -environment to get it going - -e.g. -latomic is needed on clang/x86 to provide for 64bit atomics - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - src/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 35dd314..3770f96 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -93,7 +93,7 @@ endif - - FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) - FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) --FINAL_LIBS=-lm -+FINAL_LIBS+=-lm - DEBUG=-g -ggdb - - # Linux ARM32 needs -latomic at linking time diff --git a/meta-oe/recipes-extended/redis/redis/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch b/meta-oe/recipes-extended/redis/redis/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch deleted file mode 100644 index d73c66c9d06..00000000000 --- a/meta-oe/recipes-extended/redis/redis/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 2e6311c9c7cd85bf63eab8fe92c08ec1ec01b6fc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 21 Dec 2019 12:09:51 -0800 -Subject: [PATCH] Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER - -Fixes -| zmalloc.c:87:37: error: 'PTHREAD_MUTEX_DEFAULT' undeclared here (not in a function) -| 87 | pthread_mutex_t used_memory_mutex = PTHREAD_MUTEX_INITIALIZER; -| | ^~~~~~~~~~~~~~~~~~~~~~~~~ - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - src/zmalloc.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/zmalloc.c b/src/zmalloc.c -index 1f33d09..5e182d1 100644 ---- a/src/zmalloc.c -+++ b/src/zmalloc.c -@@ -28,6 +28,7 @@ - * POSSIBILITY OF SUCH DAMAGE. - */ - -+#define _GNU_SOURCE - #include - #include - #include diff --git a/meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch b/meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch deleted file mode 100644 index bb3f5c607eb..00000000000 --- a/meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 6149911f7a6fbaef3ed418408e2b501fa9479ffa Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 26 Oct 2020 21:32:22 -0700 -Subject: [PATCH] Define correct gregs for RISCV32 - -Upstream-Status: Pending - -Signed-off-by: Khem Raj - -Updated patch for 6.2.1 -Signed-off-by: Yi Fan Yu ---- - src/debug.c | 26 ++++++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -diff --git a/src/debug.c b/src/debug.c -index bb76c5d..55a0696 100644 ---- a/src/debug.c -+++ b/src/debug.c -@@ -1067,7 +1067,9 @@ static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) { - #endif - #elif defined(__linux__) - /* Linux */ -- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__)) -+ #if defined(__riscv) && __riscv_xlen == 32 -+ return (void*) uc->uc_mcontext.__gregs[REG_PC]; -+ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__)) - GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip); - #elif defined(__X86_64__) || defined(__x86_64__) - GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip); -@@ -1234,8 +1236,28 @@ void logRegisters(ucontext_t *uc) { - #endif - /* Linux */ - #elif defined(__linux__) -+ /* Linux RISCV32 */ -+ #if defined(__riscv) && __riscv_xlen == 32 -+ serverLog(LL_WARNING, -+ "\n" -+ "RA:%08lx S0:%08lx S1:%08lx S2:%08lx\n" -+ "SP:%08lx PC:%08lx A0:%08lx A1:%08lx\n" -+ "A2 :%08lx A3:%08lx A4:%08lx", -+ (unsigned long) uc->uc_mcontext.__gregs[REG_RA], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_S0], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_S1], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_S2], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_SP], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_PC], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 0], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 1], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 2], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 3], -+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 4] -+ ); -+ logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]); - /* Linux x86 */ -- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__)) -+ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__)) - serverLog(LL_WARNING, - "\n" - "EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n" diff --git a/meta-oe/recipes-extended/redis/redis/init-redis-server b/meta-oe/recipes-extended/redis/redis/init-redis-server deleted file mode 100644 index c5f335f57df..00000000000 --- a/meta-oe/recipes-extended/redis/redis/init-redis-server +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh -# -### BEGIN INIT INFO -# Provides: redis-server -# Required-Start: $network -# Required-Stop: $network -# Default-Start: S 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Redis, a key-value store -# Description: Redis is an open source, advanced key-value store. -# http://redis.io -### END INIT INFO - -test -f /usr/bin/redis-server || exit 0 - -ARGS="/etc/redis/redis.conf" - -case "$1" in - start) - echo "Starting redis-server..." - start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS - ;; - stop) - echo "Stopping redis-server..." - start-stop-daemon --stop --quiet --exec /usr/bin/redis-server - ;; - restart) - echo "Stopping redis-server..." - start-stop-daemon --stop --quiet --exec /usr/bin/redis-server - - # Since busybox implementation ignores --retry arguments repeatedly check - # if the process is still running and try another signal after a timeout, - # efectively simulating a stop with --retry=TERM/5/KILL/5 schedule. - waitAfterTerm=5000000 # us / 5000 ms / 5 s - waitAfterKill=5000000 # us / 5000 ms / 5 s - waitStep=100000 # us / 100 ms / 0.1 s - waited=0 - start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server - processOff=$? - while [ $processOff -eq 0 ] && [ $waited -le $waitAfterTerm ] ; do - usleep ${waitStep} - ((waited+=${waitStep})) - start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server - processOff=$? - done - if [ $processOff -eq 0 ] ; then - start-stop-daemon --stop --signal KILL --exec /usr/bin/redis-server - start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server - processOff=$? - fi - waited=0 - while [ $processOff -eq 0 ] && [ $waited -le $waitAfterKill ] ; do - usleep ${waitStep} - ((waited+=${waitStep})) - start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server - processOff=$? - done - # Here $processOff will indicate if waiting and retrying according to - # the schedule ended in a successfull stop or not. - - echo "Starting redis-server..." - start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS - ;; - *) - echo "Usage: /etc/init.d/redis-server {start|stop|restart}" - exit 1 - ;; -esac - -exit 0 - diff --git a/meta-oe/recipes-extended/redis/redis/redis.conf b/meta-oe/recipes-extended/redis/redis/redis.conf deleted file mode 100644 index 75037d6dc83..00000000000 --- a/meta-oe/recipes-extended/redis/redis/redis.conf +++ /dev/null @@ -1,1314 +0,0 @@ -# Redis configuration file example. -# -# Note that in order to read the configuration file, Redis must be -# started with the file path as first argument: -# -# ./redis-server /path/to/redis.conf - -# Note on units: when memory size is needed, it is possible to specify -# it in the usual form of 1k 5GB 4M and so forth: -# -# 1k => 1000 bytes -# 1kb => 1024 bytes -# 1m => 1000000 bytes -# 1mb => 1024*1024 bytes -# 1g => 1000000000 bytes -# 1gb => 1024*1024*1024 bytes -# -# units are case insensitive so 1GB 1Gb 1gB are all the same. - -################################## INCLUDES ################################### - -# Include one or more other config files here. This is useful if you -# have a standard template that goes to all Redis servers but also need -# to customize a few per-server settings. Include files can include -# other files, so use this wisely. -# -# Notice option "include" won't be rewritten by command "CONFIG REWRITE" -# from admin or Redis Sentinel. Since Redis always uses the last processed -# line as value of a configuration directive, you'd better put includes -# at the beginning of this file to avoid overwriting config change at runtime. -# -# If instead you are interested in using includes to override configuration -# options, it is better to use include as the last line. -# -# include /path/to/local.conf -# include /path/to/other.conf - -################################## MODULES ##################################### - -# Load modules at startup. If the server is not able to load modules -# it will abort. It is possible to use multiple loadmodule directives. -# -# loadmodule /path/to/my_module.so -# loadmodule /path/to/other_module.so - -################################## NETWORK ##################################### - -# By default, if no "bind" configuration directive is specified, Redis listens -# for connections from all the network interfaces available on the server. -# It is possible to listen to just one or multiple selected interfaces using -# the "bind" configuration directive, followed by one or more IP addresses. -# -# Examples: -# -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 -# -# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the -# internet, binding to all the interfaces is dangerous and will expose the -# instance to everybody on the internet. So by default we uncomment the -# following bind directive, that will force Redis to listen only into -# the IPv4 lookback interface address (this means Redis will be able to -# accept connections only from clients running into the same computer it -# is running). -# -# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# JUST COMMENT THE FOLLOWING LINE. -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -bind 127.0.0.1 - -# Protected mode is a layer of security protection, in order to avoid that -# Redis instances left open on the internet are accessed and exploited. -# -# When protected mode is on and if: -# -# 1) The server is not binding explicitly to a set of addresses using the -# "bind" directive. -# 2) No password is configured. -# -# The server only accepts connections from clients connecting from the -# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain -# sockets. -# -# By default protected mode is enabled. You should disable it only if -# you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured, nor a specific set of interfaces -# are explicitly listed using the "bind" directive. -protected-mode yes - -# Accept connections on the specified port, default is 6379 (IANA #815344). -# If port 0 is specified Redis will not listen on a TCP socket. -port 6379 - -# TCP listen() backlog. -# -# In high requests-per-second environments you need an high backlog in order -# to avoid slow clients connections issues. Note that the Linux kernel -# will silently truncate it to the value of /proc/sys/net/core/somaxconn so -# make sure to raise both the value of somaxconn and tcp_max_syn_backlog -# in order to get the desired effect. -tcp-backlog 511 - -# Unix socket. -# -# Specify the path for the Unix socket that will be used to listen for -# incoming connections. There is no default, so Redis will not listen -# on a unix socket when not specified. -# -# unixsocket /tmp/redis.sock -# unixsocketperm 700 - -# Close the connection after a client is idle for N seconds (0 to disable) -timeout 0 - -# TCP keepalive. -# -# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence -# of communication. This is useful for two reasons: -# -# 1) Detect dead peers. -# 2) Take the connection alive from the point of view of network -# equipment in the middle. -# -# On Linux, the specified value (in seconds) is the period used to send ACKs. -# Note that to close the connection the double of the time is needed. -# On other kernels the period depends on the kernel configuration. -# -# A reasonable value for this option is 300 seconds, which is the new -# Redis default starting with Redis 3.2.1. -tcp-keepalive 300 - -################################# GENERAL ##################################### - -# OE: run as a daemon. -daemonize yes - -# If you run Redis from upstart or systemd, Redis can interact with your -# supervision tree. Options: -# supervised no - no supervision interaction -# supervised upstart - signal upstart by putting Redis into SIGSTOP mode -# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# supervised auto - detect upstart or systemd method based on -# UPSTART_JOB or NOTIFY_SOCKET environment variables -# Note: these supervision methods only signal "process is ready." -# They do not enable continuous liveness pings back to your supervisor. -supervised no - -# If a pid file is specified, Redis writes it where specified at startup -# and removes it at exit. -# -# When the server runs non daemonized, no pid file is created if none is -# specified in the configuration. When the server is daemonized, the pid file -# is used even if not specified, defaulting to "/var/run/redis.pid". -# -# Creating a pid file is best effort: if Redis is not able to create it -# nothing bad happens, the server will start and run normally. - -# When running daemonized, Redis writes a pid file in /var/run/redis.pid by -# default. You can specify a custom pid file location here. -pidfile /var/run/redis.pid - -# Specify the server verbosity level. -# This can be one of: -# debug (a lot of information, useful for development/testing) -# verbose (many rarely useful info, but not a mess like the debug level) -# notice (moderately verbose, what you want in production probably) -# warning (only very important / critical messages are logged) -loglevel notice - -# Specify the log file name. Also the empty string can be used to force -# Redis to log on the standard output. Note that if you use standard -# output for logging but daemonize, logs will be sent to /dev/null -logfile "" - -# To enable logging to the system logger, just set 'syslog-enabled' to yes, -# and optionally update the other syslog parameters to suit your needs. -syslog-enabled yes - -# Specify the syslog identity. -syslog-ident redis - -# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. -# syslog-facility local0 - -# Set the number of databases. The default database is DB 0, you can select -# a different one on a per-connection basis using SELECT where -# dbid is a number between 0 and 'databases'-1 -databases 16 - -# By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY. Basically this means -# that normally a logo is displayed only in interactive sessions. -# -# However it is possible to force the pre-4.0 behavior and always show a -# ASCII art logo in startup logs by setting the following option to yes. -always-show-logo yes - -################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behaviour will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" - -#save 900 1 -#save 300 10 -#save 60 10000 - -# OE: tune for a small embedded system with a limited # of keys. -save 120 1 -save 60 100 -save 30 1000 - -# By default Redis will stop accepting writes if RDB snapshots are enabled -# (at least one save point) and the latest background save failed. -# This will make the user aware (in a hard way) that data is not persisting -# on disk properly, otherwise chances are that no one will notice and some -# disaster will happen. -# -# If the background saving process will start working again Redis will -# automatically allow writes again. -# -# However if you have setup your proper monitoring of the Redis server -# and persistence, you may want to disable this feature so that Redis will -# continue to work as usual even if there are problems with disk, -# permissions, and so forth. -stop-writes-on-bgsave-error yes - -# Compress string objects using LZF when dump .rdb databases? -# For default that's set to 'yes' as it's almost always a win. -# If you want to save some CPU in the saving child set it to 'no' but -# the dataset will likely be bigger if you have compressible values or keys. -rdbcompression yes - -# Since version 5 of RDB a CRC64 checksum is placed at the end of the file. -# This makes the format more resistant to corruption but there is a performance -# hit to pay (around 10%) when saving and loading RDB files, so you can disable it -# for maximum performances. -# -# RDB files created with checksum disabled have a checksum of zero that will -# tell the loading code to skip the check. -rdbchecksum yes - -# The filename where to dump the DB -dbfilename dump.rdb - -# The working directory. -# -# The DB will be written inside this directory, with the filename specified -# above using the 'dbfilename' configuration directive. -# -# The Append Only File will also be created inside this directory. -# -# Note that you must specify a directory here, not a file name. -dir /var/lib/redis/ - -################################# REPLICATION ################################# - -# Master-Slave replication. Use slaveof to make a Redis instance a copy of -# another Redis server. A few things to understand ASAP about Redis replication. -# -# 1) Redis replication is asynchronous, but you can configure a master to -# stop accepting writes if it appears to be not connected with at least -# a given number of slaves. -# 2) Redis slaves are able to perform a partial resynchronization with the -# master if the replication link is lost for a relatively small amount of -# time. You may want to configure the replication backlog size (see the next -# sections of this file) with a sensible value depending on your needs. -# 3) Replication is automatic and does not need user intervention. After a -# network partition slaves automatically try to reconnect to masters -# and resynchronize with them. -# -# slaveof - -# If the master is password protected (using the "requirepass" configuration -# directive below) it is possible to tell the slave to authenticate before -# starting the replication synchronization process, otherwise the master will -# refuse the slave request. -# -# masterauth - -# When a slave loses its connection with the master, or when the replication -# is still in progress, the slave can act in two different ways: -# -# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will -# still reply to client requests, possibly with out of date data, or the -# data set may just be empty if this is the first synchronization. -# -# 2) if slave-serve-stale-data is set to 'no' the slave will reply with -# an error "SYNC with master in progress" to all the kind of commands -# but to INFO and SLAVEOF. -# -slave-serve-stale-data yes - -# You can configure a slave instance to accept writes or not. Writing against -# a slave instance may be useful to store some ephemeral data (because data -# written on a slave will be easily deleted after resync with the master) but -# may also cause problems if clients are writing to it because of a -# misconfiguration. -# -# Since Redis 2.6 by default slaves are read-only. -# -# Note: read only slaves are not designed to be exposed to untrusted clients -# on the internet. It's just a protection layer against misuse of the instance. -# Still a read only slave exports by default all the administrative commands -# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve -# security of read only slaves using 'rename-command' to shadow all the -# administrative / dangerous commands. -slave-read-only yes - -# Replication SYNC strategy: disk or socket. -# -# ------------------------------------------------------- -# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY -# ------------------------------------------------------- -# -# New slaves and reconnecting slaves that are not able to continue the replication -# process just receiving differences, need to do what is called a "full -# synchronization". An RDB file is transmitted from the master to the slaves. -# The transmission can happen in two different ways: -# -# 1) Disk-backed: The Redis master creates a new process that writes the RDB -# file on disk. Later the file is transferred by the parent -# process to the slaves incrementally. -# 2) Diskless: The Redis master creates a new process that directly writes the -# RDB file to slave sockets, without touching the disk at all. -# -# With disk-backed replication, while the RDB file is generated, more slaves -# can be queued and served with the RDB file as soon as the current child producing -# the RDB file finishes its work. With diskless replication instead once -# the transfer starts, new slaves arriving will be queued and a new transfer -# will start when the current one terminates. -# -# When diskless replication is used, the master waits a configurable amount of -# time (in seconds) before starting the transfer in the hope that multiple slaves -# will arrive and the transfer can be parallelized. -# -# With slow disks and fast (large bandwidth) networks, diskless replication -# works better. -repl-diskless-sync no - -# When diskless replication is enabled, it is possible to configure the delay -# the server waits in order to spawn the child that transfers the RDB via socket -# to the slaves. -# -# This is important since once the transfer starts, it is not possible to serve -# new slaves arriving, that will be queued for the next RDB transfer, so the server -# waits a delay in order to let more slaves arrive. -# -# The delay is specified in seconds, and by default is 5 seconds. To disable -# it entirely just set it to 0 seconds and the transfer will start ASAP. -repl-diskless-sync-delay 5 - -# Slaves send PINGs to server in a predefined interval. It's possible to change -# this interval with the repl_ping_slave_period option. The default value is 10 -# seconds. -# -# repl-ping-slave-period 10 - -# The following option sets the replication timeout for: -# -# 1) Bulk transfer I/O during SYNC, from the point of view of slave. -# 2) Master timeout from the point of view of slaves (data, pings). -# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings). -# -# It is important to make sure that this value is greater than the value -# specified for repl-ping-slave-period otherwise a timeout will be detected -# every time there is low traffic between the master and the slave. -# -# repl-timeout 60 - -# Disable TCP_NODELAY on the slave socket after SYNC? -# -# If you select "yes" Redis will use a smaller number of TCP packets and -# less bandwidth to send data to slaves. But this can add a delay for -# the data to appear on the slave side, up to 40 milliseconds with -# Linux kernels using a default configuration. -# -# If you select "no" the delay for data to appear on the slave side will -# be reduced but more bandwidth will be used for replication. -# -# By default we optimize for low latency, but in very high traffic conditions -# or when the master and slaves are many hops away, turning this to "yes" may -# be a good idea. -repl-disable-tcp-nodelay no - -# Set the replication backlog size. The backlog is a buffer that accumulates -# slave data when slaves are disconnected for some time, so that when a slave -# wants to reconnect again, often a full resync is not needed, but a partial -# resync is enough, just passing the portion of data the slave missed while -# disconnected. -# -# The bigger the replication backlog, the longer the time the slave can be -# disconnected and later be able to perform a partial resynchronization. -# -# The backlog is only allocated once there is at least a slave connected. -# -# repl-backlog-size 1mb - -# After a master has no longer connected slaves for some time, the backlog -# will be freed. The following option configures the amount of seconds that -# need to elapse, starting from the time the last slave disconnected, for -# the backlog buffer to be freed. -# -# Note that slaves never free the backlog for timeout, since they may be -# promoted to masters later, and should be able to correctly "partially -# resynchronize" with the slaves: hence they should always accumulate backlog. -# -# A value of 0 means to never release the backlog. -# -# repl-backlog-ttl 3600 - -# The slave priority is an integer number published by Redis in the INFO output. -# It is used by Redis Sentinel in order to select a slave to promote into a -# master if the master is no longer working correctly. -# -# A slave with a low priority number is considered better for promotion, so -# for instance if there are three slaves with priority 10, 100, 25 Sentinel will -# pick the one with priority 10, that is the lowest. -# -# However a special priority of 0 marks the slave as not able to perform the -# role of master, so a slave with priority of 0 will never be selected by -# Redis Sentinel for promotion. -# -# By default the priority is 100. -slave-priority 100 - -# It is possible for a master to stop accepting writes if there are less than -# N slaves connected, having a lag less or equal than M seconds. -# -# The N slaves need to be in "online" state. -# -# The lag in seconds, that must be <= the specified value, is calculated from -# the last ping received from the slave, that is usually sent every second. -# -# This option does not GUARANTEE that N replicas will accept the write, but -# will limit the window of exposure for lost writes in case not enough slaves -# are available, to the specified number of seconds. -# -# For example to require at least 3 slaves with a lag <= 10 seconds use: -# -# min-slaves-to-write 3 -# min-slaves-max-lag 10 -# -# Setting one or the other to 0 disables the feature. -# -# By default min-slaves-to-write is set to 0 (feature disabled) and -# min-slaves-max-lag is set to 10. - -# A Redis master is able to list the address and port of the attached -# slaves in different ways. For example the "INFO replication" section -# offers this information, which is used, among other tools, by -# Redis Sentinel in order to discover slave instances. -# Another place where this info is available is in the output of the -# "ROLE" command of a master. -# -# The listed IP and address normally reported by a slave is obtained -# in the following way: -# -# IP: The address is auto detected by checking the peer address -# of the socket used by the slave to connect with the master. -# -# Port: The port is communicated by the slave during the replication -# handshake, and is normally the port that the slave is using to -# list for connections. -# -# However when port forwarding or Network Address Translation (NAT) is -# used, the slave may be actually reachable via different IP and port -# pairs. The following two options can be used by a slave in order to -# report to its master a specific set of IP and port, so that both INFO -# and ROLE will report those values. -# -# There is no need to use both the options if you need to override just -# the port or the IP address. -# -# slave-announce-ip 5.5.5.5 -# slave-announce-port 1234 - -################################## SECURITY ################################### - -# Require clients to issue AUTH before processing any other -# commands. This might be useful in environments in which you do not trust -# others with access to the host running redis-server. -# -# This should stay commented out for backward compatibility and because most -# people do not need auth (e.g. they run their own servers). -# -# Warning: since Redis is pretty fast an outside user can try up to -# 150k passwords per second against a good box. This means that you should -# use a very strong password otherwise it will be very easy to break. -# -# requirepass foobared - -# Command renaming. -# -# It is possible to change the name of dangerous commands in a shared -# environment. For instance the CONFIG command may be renamed into something -# hard to guess so that it will still be available for internal-use tools -# but not available for general clients. -# -# Example: -# -# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 -# -# It is also possible to completely kill a command by renaming it into -# an empty string: -# -# rename-command CONFIG "" -# -# Please note that changing the name of commands that are logged into the -# AOF file or transmitted to slaves may cause problems. - -################################### CLIENTS #################################### - -# Set the max number of connected clients at the same time. By default -# this limit is set to 10000 clients, however if the Redis server is not -# able to configure the process file limit to allow for the specified limit -# the max number of allowed clients is set to the current file limit -# minus 32 (as Redis reserves a few file descriptors for internal uses). -# -# Once the limit is reached Redis will close all the new connections sending -# an error 'max number of clients reached'. -# -# maxclients 10000 - -############################## MEMORY MANAGEMENT ################################ - -# Set a memory usage limit to the specified amount of bytes. -# When the memory limit is reached Redis will try to remove keys -# according to the eviction policy selected (see maxmemory-policy). -# -# If Redis can't remove keys according to the policy, or if the policy is -# set to 'noeviction', Redis will start to reply with errors to commands -# that would use more memory, like SET, LPUSH, and so on, and will continue -# to reply to read-only commands like GET. -# -# This option is usually useful when using Redis as an LRU or LFU cache, or to -# set a hard memory limit for an instance (using the 'noeviction' policy). -# -# WARNING: If you have slaves attached to an instance with maxmemory on, -# the size of the output buffers needed to feed the slaves are subtracted -# from the used memory count, so that network problems / resyncs will -# not trigger a loop where keys are evicted, and in turn the output -# buffer of slaves is full with DELs of keys evicted triggering the deletion -# of more keys, and so forth until the database is completely emptied. -# -# In short... if you have slaves attached it is suggested that you set a lower -# limit for maxmemory so that there is some free RAM on the system for slave -# output buffers (but this is not needed if the policy is 'noeviction'). -# -# maxmemory - -# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory -# is reached. You can select among five behaviors: -# -# volatile-lru -> Evict using approximated LRU among the keys with an expire set. -# allkeys-lru -> Evict any key using approximated LRU. -# volatile-lfu -> Evict using approximated LFU among the keys with an expire set. -# allkeys-lfu -> Evict any key using approximated LFU. -# volatile-random -> Remove a random key among the ones with an expire set. -# allkeys-random -> Remove a random key, any key. -# volatile-ttl -> Remove the key with the nearest expire time (minor TTL) -# noeviction -> Don't evict anything, just return an error on write operations. -# -# LRU means Least Recently Used -# LFU means Least Frequently Used -# -# Both LRU, LFU and volatile-ttl are implemented using approximated -# randomized algorithms. -# -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort -# -# The default is: -# -# maxmemory-policy noeviction - -# LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated -# algorithms (in order to save memory), so you can tune it for speed or -# accuracy. For default Redis will check five keys and pick the one that was -# used less recently, you can change the sample size using the following -# configuration directive. -# -# The default of 5 produces good enough results. 10 Approximates very closely -# true LRU but costs more CPU. 3 is faster but not very accurate. -# -# maxmemory-samples 5 - -############################# LAZY FREEING #################################### - -# Redis has two primitives to delete keys. One is called DEL and is a blocking -# deletion of the object. It means that the server stops processing new commands -# in order to reclaim all the memory associated with an object in a synchronous -# way. If the key deleted is associated with a small object, the time needed -# in order to execute the DEL command is very small and comparable to most other -# O(1) or O(log_N) commands in Redis. However if the key is associated with an -# aggregated value containing millions of elements, the server can block for -# a long time (even seconds) in order to complete the operation. -# -# For the above reasons Redis also offers non blocking deletion primitives -# such as UNLINK (non blocking DEL) and the ASYNC option of FLUSHALL and -# FLUSHDB commands, in order to reclaim memory in background. Those commands -# are executed in constant time. Another thread will incrementally free the -# object in the background as fast as possible. -# -# DEL, UNLINK and ASYNC option of FLUSHALL and FLUSHDB are user-controlled. -# It's up to the design of the application to understand when it is a good -# idea to use one or the other. However the Redis server sometimes has to -# delete keys or flush the whole database as a side effect of other operations. -# Specifically Redis deletes objects independently of a user call in the -# following scenarios: -# -# 1) On eviction, because of the maxmemory and maxmemory policy configurations, -# in order to make room for new data, without going over the specified -# memory limit. -# 2) Because of expire: when a key with an associated time to live (see the -# EXPIRE command) must be deleted from memory. -# 3) Because of a side effect of a command that stores data on a key that may -# already exist. For example the RENAME command may delete the old key -# content when it is replaced with another one. Similarly SUNIONSTORE -# or SORT with STORE option may delete existing keys. The SET command -# itself removes any old content of the specified key in order to replace -# it with the specified string. -# 4) During replication, when a slave performs a full resynchronization with -# its master, the content of the whole database is removed in order to -# load the RDB file just transfered. -# -# In all the above cases the default is to delete objects in a blocking way, -# like if DEL was called. However you can configure each case specifically -# in order to instead release memory in a non-blocking way like if UNLINK -# was called, using the following configuration directives: - -lazyfree-lazy-eviction no -lazyfree-lazy-expire no -lazyfree-lazy-server-del no -slave-lazy-flush no - -############################## APPEND ONLY MODE ############################### - -# By default Redis asynchronously dumps the dataset on disk. This mode is -# good enough in many applications, but an issue with the Redis process or -# a power outage may result into a few minutes of writes lost (depending on -# the configured save points). -# -# The Append Only File is an alternative persistence mode that provides -# much better durability. For instance using the default data fsync policy -# (see later in the config file) Redis can lose just one second of writes in a -# dramatic event like a server power outage, or a single write if something -# wrong with the Redis process itself happens, but the operating system is -# still running correctly. -# -# AOF and RDB persistence can be enabled at the same time without problems. -# If the AOF is enabled on startup Redis will load the AOF, that is the file -# with the better durability guarantees. -# -# Please check http://redis.io/topics/persistence for more information. - -# OE: changed default to enable this -appendonly yes - -# The name of the append only file (default: "appendonly.aof") - -appendfilename "appendonly.aof" - -# The fsync() call tells the Operating System to actually write data on disk -# instead of waiting for more data in the output buffer. Some OS will really flush -# data on disk, some other OS will just try to do it ASAP. -# -# Redis supports three different modes: -# -# no: don't fsync, just let the OS flush the data when it wants. Faster. -# always: fsync after every write to the append only log. Slow, Safest. -# everysec: fsync only one time every second. Compromise. -# -# The default is "everysec", as that's usually the right compromise between -# speed and data safety. It's up to you to understand if you can relax this to -# "no" that will let the operating system flush the output buffer when -# it wants, for better performances (but if you can live with the idea of -# some data loss consider the default persistence mode that's snapshotting), -# or on the contrary, use "always" that's very slow but a bit safer than -# everysec. -# -# More details please check the following article: -# http://antirez.com/post/redis-persistence-demystified.html -# -# If unsure, use "everysec". - -# appendfsync always -appendfsync everysec -# appendfsync no - -# When the AOF fsync policy is set to always or everysec, and a background -# saving process (a background save or AOF log background rewriting) is -# performing a lot of I/O against the disk, in some Linux configurations -# Redis may block too long on the fsync() call. Note that there is no fix for -# this currently, as even performing fsync in a different thread will block -# our synchronous write(2) call. -# -# In order to mitigate this problem it's possible to use the following option -# that will prevent fsync() from being called in the main process while a -# BGSAVE or BGREWRITEAOF is in progress. -# -# This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is -# possible to lose up to 30 seconds of log in the worst scenario (with the -# default Linux settings). -# -# If you have latency problems turn this to "yes". Otherwise leave it as -# "no" that is the safest pick from the point of view of durability. - -no-appendfsync-on-rewrite no - -# Automatic rewrite of the append only file. -# Redis is able to automatically rewrite the log file implicitly calling -# BGREWRITEAOF when the AOF log size grows by the specified percentage. -# -# This is how it works: Redis remembers the size of the AOF file after the -# latest rewrite (if no rewrite has happened since the restart, the size of -# the AOF at startup is used). -# -# This base size is compared to the current size. If the current size is -# bigger than the specified percentage, the rewrite is triggered. Also -# you need to specify a minimal size for the AOF file to be rewritten, this -# is useful to avoid rewriting the AOF file even if the percentage increase -# is reached but it is still pretty small. -# -# Specify a percentage of zero in order to disable the automatic AOF -# rewrite feature. - -auto-aof-rewrite-percentage 100 -auto-aof-rewrite-min-size 64mb - -# An AOF file may be found to be truncated at the end during the Redis -# startup process, when the AOF data gets loaded back into memory. -# This may happen when the system where Redis is running -# crashes, especially when an ext4 filesystem is mounted without the -# data=ordered option (however this can't happen when Redis itself -# crashes or aborts but the operating system still works correctly). -# -# Redis can either exit with an error when this happens, or load as much -# data as possible (the default now) and start if the AOF file is found -# to be truncated at the end. The following option controls this behavior. -# -# If aof-load-truncated is set to yes, a truncated AOF file is loaded and -# the Redis server starts emitting a log to inform the user of the event. -# Otherwise if the option is set to no, the server aborts with an error -# and refuses to start. When the option is set to no, the user requires -# to fix the AOF file using the "redis-check-aof" utility before to restart -# the server. -# -# Note that if the AOF file will be found to be corrupted in the middle -# the server will still exit with an error. This option only applies when -# Redis will try to read more data from the AOF file but not enough bytes -# will be found. -aof-load-truncated yes - -# When rewriting the AOF file, Redis is able to use an RDB preamble in the -# AOF file for faster rewrites and recoveries. When this option is turned -# on the rewritten AOF file is composed of two different stanzas: -# -# [RDB file][AOF tail] -# -# When loading Redis recognizes that the AOF file starts with the "REDIS" -# string and loads the prefixed RDB file, and continues loading the AOF -# tail. -# -# This is currently turned off by default in order to avoid the surprise -# of a format change, but will at some point be used as the default. -aof-use-rdb-preamble no - -################################ LUA SCRIPTING ############################### - -# Max execution time of a Lua script in milliseconds. -# -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. -# -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet called write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. -# -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 - -################################ REDIS CLUSTER ############################### -# -# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however -# in order to mark it as "mature" we need to wait for a non trivial percentage -# of users to deploy it in production. -# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# -# Normal Redis instances can't be part of a Redis Cluster; only nodes that are -# started as cluster nodes can. In order to start a Redis instance as a -# cluster node enable the cluster support uncommenting the following: -# -# cluster-enabled yes - -# Every cluster node has a cluster configuration file. This file is not -# intended to be edited by hand. It is created and updated by Redis nodes. -# Every Redis Cluster node requires a different cluster configuration file. -# Make sure that instances running in the same system do not have -# overlapping cluster configuration file names. -# -# cluster-config-file nodes-6379.conf - -# Cluster node timeout is the amount of milliseconds a node must be unreachable -# for it to be considered in failure state. -# Most other internal time limits are multiple of the node timeout. -# -# cluster-node-timeout 15000 - -# A slave of a failing master will avoid to start a failover if its data -# looks too old. -# -# There is no simple way for a slave to actually have an exact measure of -# its "data age", so the following two checks are performed: -# -# 1) If there are multiple slaves able to failover, they exchange messages -# in order to try to give an advantage to the slave with the best -# replication offset (more data from the master processed). -# Slaves will try to get their rank by offset, and apply to the start -# of the failover a delay proportional to their rank. -# -# 2) Every single slave computes the time of the last interaction with -# its master. This can be the last ping or command received (if the master -# is still in the "connected" state), or the time that elapsed since the -# disconnection with the master (if the replication link is currently down). -# If the last interaction is too old, the slave will not try to failover -# at all. -# -# The point "2" can be tuned by user. Specifically a slave will not perform -# the failover if, since the last interaction with the master, the time -# elapsed is greater than: -# -# (node-timeout * slave-validity-factor) + repl-ping-slave-period -# -# So for example if node-timeout is 30 seconds, and the slave-validity-factor -# is 10, and assuming a default repl-ping-slave-period of 10 seconds, the -# slave will not try to failover if it was not able to talk with the master -# for longer than 310 seconds. -# -# A large slave-validity-factor may allow slaves with too old data to failover -# a master, while a too small value may prevent the cluster from being able to -# elect a slave at all. -# -# For maximum availability, it is possible to set the slave-validity-factor -# to a value of 0, which means, that slaves will always try to failover the -# master regardless of the last time they interacted with the master. -# (However they'll always try to apply a delay proportional to their -# offset rank). -# -# Zero is the only value able to guarantee that when all the partitions heal -# the cluster will always be able to continue. -# -# cluster-slave-validity-factor 10 - -# Cluster slaves are able to migrate to orphaned masters, that are masters -# that are left without working slaves. This improves the cluster ability -# to resist to failures as otherwise an orphaned master can't be failed over -# in case of failure if it has no working slaves. -# -# Slaves migrate to orphaned masters only if there are still at least a -# given number of other working slaves for their old master. This number -# is the "migration barrier". A migration barrier of 1 means that a slave -# will migrate only if there is at least 1 other working slave for its master -# and so forth. It usually reflects the number of slaves you want for every -# master in your cluster. -# -# Default is 1 (slaves migrate only if their masters remain with at least -# one slave). To disable migration just set it to a very large value. -# A value of 0 can be set but is useful only for debugging and dangerous -# in production. -# -# cluster-migration-barrier 1 - -# By default Redis Cluster nodes stop accepting queries if they detect there -# is at least an hash slot uncovered (no available node is serving it). -# This way if the cluster is partially down (for example a range of hash slots -# are no longer covered) all the cluster becomes, eventually, unavailable. -# It automatically returns available as soon as all the slots are covered again. -# -# However sometimes you want the subset of the cluster which is working, -# to continue to accept queries for the part of the key space that is still -# covered. In order to do so, just set the cluster-require-full-coverage -# option to no. -# -# cluster-require-full-coverage yes - -# In order to setup your cluster make sure to read the documentation -# available at http://redis.io web site. - -########################## CLUSTER DOCKER/NAT support ######################## - -# In certain deployments, Redis Cluster nodes address discovery fails, because -# addresses are NAT-ted or because ports are forwarded (the typical case is -# Docker and other containers). -# -# In order to make Redis Cluster working in such environments, a static -# configuration where each node knows its public address is needed. The -# following two options are used for this scope, and are: -# -# * cluster-announce-ip -# * cluster-announce-port -# * cluster-announce-bus-port -# -# Each instruct the node about its address, client port, and cluster message -# bus port. The information is then published in the header of the bus packets -# so that other nodes will be able to correctly map the address of the node -# publishing the information. -# -# If the above options are not used, the normal Redis Cluster auto-detection -# will be used instead. -# -# Note that when remapped, the bus port may not be at the fixed offset of -# clients port + 10000, so you can specify any port and bus-port depending -# on how they get remapped. If the bus-port is not set, a fixed offset of -# 10000 will be used as usually. -# -# Example: -# -# cluster-announce-ip 10.1.1.5 -# cluster-announce-port 6379 -# cluster-announce-bus-port 6380 - -################################## SLOW LOG ################################### - -# The Redis Slow Log is a system to log queries that exceeded a specified -# execution time. The execution time does not include the I/O operations -# like talking with the client, sending the reply and so forth, -# but just the time needed to actually execute the command (this is the only -# stage of command execution where the thread is blocked and can not serve -# other requests in the meantime). -# -# You can configure the slow log with two parameters: one tells Redis -# what is the execution time, in microseconds, to exceed in order for the -# command to get logged, and the other parameter is the length of the -# slow log. When a new command is logged the oldest one is removed from the -# queue of logged commands. - -# The following time is expressed in microseconds, so 1000000 is equivalent -# to one second. Note that a negative number disables the slow log, while -# a value of zero forces the logging of every command. -slowlog-log-slower-than 10000 - -# There is no limit to this length. Just be aware that it will consume memory. -# You can reclaim memory used by the slow log with SLOWLOG RESET. -slowlog-max-len 128 - -################################ LATENCY MONITOR ############################## - -# The Redis latency monitoring subsystem samples different operations -# at runtime in order to collect data related to possible sources of -# latency of a Redis instance. -# -# Via the LATENCY command this information is available to the user that can -# print graphs and obtain reports. -# -# The system only logs operations that were performed in a time equal or -# greater than the amount of milliseconds specified via the -# latency-monitor-threshold configuration directive. When its value is set -# to zero, the latency monitor is turned off. -# -# By default latency monitoring is disabled since it is mostly not needed -# if you don't have latency issues, and collecting data has a performance -# impact, that while very small, can be measured under big load. Latency -# monitoring can easily be enabled at runtime using the command -# "CONFIG SET latency-monitor-threshold " if needed. -latency-monitor-threshold 0 - -############################# EVENT NOTIFICATION ############################## - -# Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications -# -# For instance if keyspace events notification is enabled, and a client -# performs a DEL operation on key "foo" stored in the Database 0, two -# messages will be published via Pub/Sub: -# -# PUBLISH __keyspace@0__:foo del -# PUBLISH __keyevent@0__:del foo -# -# It is possible to select the events that Redis will notify among a set -# of classes. Every class is identified by a single character: -# -# K Keyspace events, published with __keyspace@__ prefix. -# E Keyevent events, published with __keyevent@__ prefix. -# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... -# $ String commands -# l List commands -# s Set commands -# h Hash commands -# z Sorted set commands -# x Expired events (events generated every time a key expires) -# e Evicted events (events generated when a key is evicted for maxmemory) -# A Alias for g$lshzxe, so that the "AKE" string means all the events. -# -# The "notify-keyspace-events" takes as argument a string that is composed -# of zero or multiple characters. The empty string means that notifications -# are disabled. -# -# Example: to enable list and generic events, from the point of view of the -# event name, use: -# -# notify-keyspace-events Elg -# -# Example 2: to get the stream of the expired keys subscribing to channel -# name __keyevent@0__:expired use: -# -# notify-keyspace-events Ex -# -# By default all notifications are disabled because most users don't need -# this feature and the feature has some overhead. Note that if you don't -# specify at least one of K or E, no events will be delivered. -notify-keyspace-events "" - -############################### ADVANCED CONFIG ############################### - -# Hashes are encoded using a memory efficient data structure when they have a -# small number of entries, and the biggest entry does not exceed a given -# threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 - -# Lists are also encoded in a special way to save a lot of space. -# The number of entries allowed per internal list node can be specified -# as a fixed maximum size or a maximum number of elements. -# For a fixed maximum size, use -5 through -1, meaning: -# -5: max size: 64 Kb <-- not recommended for normal workloads -# -4: max size: 32 Kb <-- not recommended -# -3: max size: 16 Kb <-- probably not recommended -# -2: max size: 8 Kb <-- good -# -1: max size: 4 Kb <-- good -# Positive numbers mean store up to _exactly_ that number of elements -# per list node. -# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), -# but if your use case is unique, adjust the settings as necessary. -list-max-ziplist-size -2 - -# Lists may also be compressed. -# Compress depth is the number of quicklist ziplist nodes from *each* side of -# the list to *exclude* from compression. The head and tail of the list -# are always uncompressed for fast push/pop operations. Settings are: -# 0: disable all list compression -# 1: depth 1 means "don't start compressing until after 1 node into the list, -# going from either the head or tail" -# So: [head]->node->node->...->node->[tail] -# [head], [tail] will always be uncompressed; inner nodes will compress. -# 2: [head]->[next]->node->node->...->node->[prev]->[tail] -# 2 here means: don't compress head or head->next or tail->prev or tail, -# but compress all nodes between them. -# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail] -# etc. -list-compress-depth 0 - -# Sets have a special encoding in just one case: when a set is composed -# of just strings that happen to be integers in radix 10 in the range -# of 64 bit signed integers. -# The following configuration setting sets the limit in the size of the -# set in order to use this special memory saving encoding. -set-max-intset-entries 512 - -# Similarly to hashes and lists, sorted sets are also specially encoded in -# order to save a lot of space. This encoding is only used when the length and -# elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 - -# HyperLogLog sparse representation bytes limit. The limit includes the -# 16 bytes header. When an HyperLogLog using the sparse representation crosses -# this limit, it is converted into the dense representation. -# -# A value greater than 16000 is totally useless, since at that point the -# dense representation is more memory efficient. -# -# The suggested value is ~ 3000 in order to have the benefits of -# the space efficient encoding without slowing down too much PFADD, -# which is O(N) with the sparse encoding. The value can be raised to -# ~ 10000 when CPU is not a concern, but space is, and the data set is -# composed of many HyperLogLogs with cardinality in the 0 - 15000 range. -hll-sparse-max-bytes 3000 - -# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in -# order to help rehashing the main Redis hash table (the one mapping top-level -# keys to values). The hash table implementation Redis uses (see dict.c) -# performs a lazy rehashing: the more operation you run into a hash table -# that is rehashing, the more rehashing "steps" are performed, so if the -# server is idle the rehashing is never complete and some more memory is used -# by the hash table. -# -# The default is to use this millisecond 10 times every second in order to -# actively rehash the main dictionaries, freeing memory when possible. -# -# If unsure: -# use "activerehashing no" if you have hard latency requirements and it is -# not a good thing in your environment that Redis can reply from time to time -# to queries with 2 milliseconds delay. -# -# use "activerehashing yes" if you don't have such hard requirements but -# want to free memory asap when possible. -activerehashing yes - -# The client output buffer limits can be used to force disconnection of clients -# that are not reading data from the server fast enough for some reason (a -# common reason is that a Pub/Sub client can't consume messages as fast as the -# publisher can produce them). -# -# The limit can be set differently for the three different classes of clients: -# -# normal -> normal clients including MONITOR clients -# slave -> slave clients -# pubsub -> clients subscribed to at least one pubsub channel or pattern -# -# The syntax of every client-output-buffer-limit directive is the following: -# -# client-output-buffer-limit -# -# A client is immediately disconnected once the hard limit is reached, or if -# the soft limit is reached and remains reached for the specified number of -# seconds (continuously). -# So for instance if the hard limit is 32 megabytes and the soft limit is -# 16 megabytes / 10 seconds, the client will get disconnected immediately -# if the size of the output buffers reach 32 megabytes, but will also get -# disconnected if the client reaches 16 megabytes and continuously overcomes -# the limit for 10 seconds. -# -# By default normal clients are not limited because they don't receive data -# without asking (in a push way), but just after a request, so only -# asynchronous clients may create a scenario where data is requested faster -# than it can read. -# -# Instead there is a default limit for pubsub and slave clients, since -# subscribers and slaves receive data in a push fashion. -# -# Both the hard or the soft limit can be disabled by setting them to zero. -client-output-buffer-limit normal 0 0 0 -client-output-buffer-limit slave 256mb 64mb 60 -client-output-buffer-limit pubsub 32mb 8mb 60 - -# Client query buffers accumulate new commands. They are limited to a fixed -# amount by default in order to avoid that a protocol desynchronization (for -# instance due to a bug in the client) will lead to unbound memory usage in -# the query buffer. However you can configure it here if you have very special -# needs, such us huge multi/exec requests or alike. -# -# client-query-buffer-limit 1gb - -# In the Redis protocol, bulk requests, that are, elements representing single -# strings, are normally limited ot 512 mb. However you can change this limit -# here. -# -# proto-max-bulk-len 512mb - -# Redis calls an internal function to perform many background tasks, like -# closing connections of clients in timeout, purging expired keys that are -# never requested, and so forth. -# -# Not all tasks are performed with the same frequency, but Redis checks for -# tasks to perform according to the specified "hz" value. -# -# By default "hz" is set to 10. Raising the value will use more CPU when -# Redis is idle, but at the same time will make Redis more responsive when -# there are many keys expiring at the same time, and timeouts may be -# handled with more precision. -# -# The range is between 1 and 500, however a value over 100 is usually not -# a good idea. Most users should use the default of 10 and raise this up to -# 100 only in environments where very low latency is required. -hz 10 - -# When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful -# in order to commit the file to the disk more incrementally and avoid -# big latency spikes. -aof-rewrite-incremental-fsync yes - -# Redis LFU eviction (see maxmemory setting) can be tuned. However it is a good -# idea to start with the default settings and only change them after investigating -# how to improve the performances and how the keys LFU change over time, which -# is possible to inspect via the OBJECT FREQ command. -# -# There are two tunable parameters in the Redis LFU implementation: the -# counter logarithm factor and the counter decay time. It is important to -# understand what the two parameters mean before changing them. -# -# The LFU counter is just 8 bits per key, it's maximum value is 255, so Redis -# uses a probabilistic increment with logarithmic behavior. Given the value -# of the old counter, when a key is accessed, the counter is incremented in -# this way: -# -# 1. A random number R between 0 and 1 is extracted. -# 2. A probability P is calculated as 1/(old_value*lfu_log_factor+1). -# 3. The counter is incremented only if R < P. -# -# The default lfu-log-factor is 10. This is a table of how the frequency -# counter changes with a different number of accesses with different -# logarithmic factors: -# -# +--------+------------+------------+------------+------------+------------+ -# | factor | 100 hits | 1000 hits | 100K hits | 1M hits | 10M hits | -# +--------+------------+------------+------------+------------+------------+ -# | 0 | 104 | 255 | 255 | 255 | 255 | -# +--------+------------+------------+------------+------------+------------+ -# | 1 | 18 | 49 | 255 | 255 | 255 | -# +--------+------------+------------+------------+------------+------------+ -# | 10 | 10 | 18 | 142 | 255 | 255 | -# +--------+------------+------------+------------+------------+------------+ -# | 100 | 8 | 11 | 49 | 143 | 255 | -# +--------+------------+------------+------------+------------+------------+ -# -# NOTE: The above table was obtained by running the following commands: -# -# redis-benchmark -n 1000000 incr foo -# redis-cli object freq foo -# -# NOTE 2: The counter initial value is 5 in order to give new objects a chance -# to accumulate hits. -# -# The counter decay time is the time, in minutes, that must elapse in order -# for the key counter to be divided by two (or decremented if it has a value -# less <= 10). -# -# The default value for the lfu-decay-time is 1. A Special value of 0 means to -# decay the counter every time it happens to be scanned. -# -# lfu-log-factor 10 -# lfu-decay-time 1 - -########################### ACTIVE DEFRAGMENTATION ####################### -# -# WARNING THIS FEATURE IS EXPERIMENTAL. However it was stress tested -# even in production and manually tested by multiple engineers for some -# time. -# -# What is active defragmentation? -# ------------------------------- -# -# Active (online) defragmentation allows a Redis server to compact the -# spaces left between small allocations and deallocations of data in memory, -# thus allowing to reclaim back memory. -# -# Fragmentation is a natural process that happens with every allocator (but -# less so with Jemalloc, fortunately) and certain workloads. Normally a server -# restart is needed in order to lower the fragmentation, or at least to flush -# away all the data and create it again. However thanks to this feature -# implemented by Oran Agra for Redis 4.0 this process can happen at runtime -# in an "hot" way, while the server is running. -# -# Basically when the fragmentation is over a certain level (see the -# configuration options below) Redis will start to create new copies of the -# values in contiguous memory regions by exploiting certain specific Jemalloc -# features (in order to understand if an allocation is causing fragmentation -# and to allocate it in a better place), and at the same time, will release the -# old copies of the data. This process, repeated incrementally for all the keys -# will cause the fragmentation to drop back to normal values. -# -# Important things to understand: -# -# 1. This feature is disabled by default, and only works if you compiled Redis -# to use the copy of Jemalloc we ship with the source code of Redis. -# This is the default with Linux builds. -# -# 2. You never need to enable this feature if you don't have fragmentation -# issues. -# -# 3. Once you experience fragmentation, you can enable this feature when -# needed with the command "CONFIG SET activedefrag yes". -# -# The configuration parameters are able to fine tune the behavior of the -# defragmentation process. If you are not sure about what they mean it is -# a good idea to leave the defaults untouched. - -# Enabled active defragmentation -# activedefrag yes - -# Minimum amount of fragmentation waste to start active defrag -# active-defrag-ignore-bytes 100mb - -# Minimum percentage of fragmentation to start active defrag -# active-defrag-threshold-lower 10 - -# Maximum percentage of fragmentation at which we use maximum effort -# active-defrag-threshold-upper 100 - -# Minimal effort for defrag in CPU percentage -# active-defrag-cycle-min 25 - -# Maximal effort for defrag in CPU percentage -# active-defrag-cycle-max 75 diff --git a/meta-oe/recipes-extended/redis/redis/redis.service b/meta-oe/recipes-extended/redis/redis/redis.service deleted file mode 100644 index f98f2d19e8e..00000000000 --- a/meta-oe/recipes-extended/redis/redis/redis.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=Redis In-Memory Data Store -After=network.target - -[Service] -User=redis -Group=redis -ExecStart=/usr/bin/redis-server /etc/redis/redis.conf -ExecStop=/usr/bin/redis-cli shutdown -Restart=always -LimitNOFILE=10032 -StateDirectory=redis - -[Install] -WantedBy=multi-user.target - diff --git a/meta-oe/recipes-extended/redis/redis_6.2.21.bb b/meta-oe/recipes-extended/redis/redis_6.2.21.bb deleted file mode 100644 index 474aea7dc3b..00000000000 --- a/meta-oe/recipes-extended/redis/redis_6.2.21.bb +++ /dev/null @@ -1,77 +0,0 @@ -SUMMARY = "Redis key-value store" -DESCRIPTION = "Redis is an open source, advanced key-value store." -HOMEPAGE = "http://redis.io" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2" -DEPENDS = "readline lua ncurses" - -SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ - file://redis.conf \ - file://init-redis-server \ - file://redis.service \ - file://0001-hiredis-use-default-CC-if-it-is-set.patch \ - file://0002-lua-update-Makefile-to-use-environment-build-setting.patch \ - file://0003-hack-to-force-use-of-libc-malloc.patch \ - file://0004-src-Do-not-reset-FINAL_LIBS.patch \ - file://0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch \ - file://0006-Define-correct-gregs-for-RISCV32.patch \ - " - -SRC_URI[sha256sum] = "6383b32ba8d246f41bbbb83663381f5a5f4c4713235433cec22fc4a47e9b6d5f" - -CVE_STATUS[CVE-2025-21605] = "cpe-incorrect: the used version already contains the fix" -# The vulnerability originates from Debian's packaging methodology, -# which loads system-wide Lua libraries (lua-cjson, lua-cmsgpack), -# enabling Lua sandbox escape. Upstream Redis builds, including -# those built by Yocto/OpenEmbedded, utilize embedded Lua from the -# deps/ directory and are therefore not affected by this issue. -CVE_STATUS[CVE-2022-0543] = "not-applicable-config: Debian-specific packaging issue caused by loading system-wide Lua libraries; upstream builds use embedded Lua and are not affected" -CVE_STATUS[CVE-2022-3734] = "not-applicable-config: only affects Windows" -CVE_STATUS[CVE-2025-46686] = "disputed: upstream rejected because mitigating it would affect other functionality" - -inherit update-rc.d systemd useradd - -FINAL_LIBS:x86:toolchain-clang = "-latomic" -FINAL_LIBS:riscv32 = "-latomic" -FINAL_LIBS:mips = "-latomic" -FINAL_LIBS:arm = "-latomic" -FINAL_LIBS:powerpc = "-latomic" - -export FINAL_LIBS - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" -GROUPADD_PARAM:${PN} = "--system redis" - -REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" - -do_compile:prepend() { - oe_runmake -C deps hiredis lua linenoise -} - -do_install() { - export PREFIX=${D}/${prefix} - oe_runmake install - install -d ${D}/${sysconfdir}/redis - install -m 0644 ${UNPACKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server - install -d ${D}/var/lib/redis/ - chown redis.redis ${D}/var/lib/redis/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/redis.service ${D}${systemd_system_unitdir} - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service - - if [ "${REDIS_ON_SYSTEMD}" = true ]; then - sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf - fi -} - -CONFFILES:${PN} = "${sysconfdir}/redis/redis.conf" - -INITSCRIPT_NAME = "redis-server" -INITSCRIPT_PARAMS = "defaults 87" - -SYSTEMD_SERVICE:${PN} = "redis.service" diff --git a/meta-oe/recipes-extended/redis/redis_7.2.12.bb b/meta-oe/recipes-extended/redis/redis_7.2.12.bb deleted file mode 100644 index 63a801dd57e..00000000000 --- a/meta-oe/recipes-extended/redis/redis_7.2.12.bb +++ /dev/null @@ -1,89 +0,0 @@ -SUMMARY = "Redis key-value store" -DESCRIPTION = "Redis is an open source, advanced key-value store." -HOMEPAGE = "http://redis.io" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2" -DEPENDS = "readline lua ncurses" - -SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ - file://redis.conf \ - file://init-redis-server \ - file://redis.service \ - file://0001-hiredis-use-default-CC-if-it-is-set.patch \ - file://0002-lua-update-Makefile-to-use-environment-build-setting.patch \ - file://0003-hack-to-force-use-of-libc-malloc.patch \ - file://0004-src-Do-not-reset-FINAL_LIBS.patch \ - file://0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch \ - file://0006-Define-correct-gregs-for-RISCV32.patch \ - " -SRC_URI[sha256sum] = "97c60478a7c777ac914ca9d87a7e88ba265926456107e758c62d8f971d0196bc" - -RPROVIDES:${PN} = "virtual-redis" - -CVE_STATUS[CVE-2025-21605] = "cpe-incorrect: the used version already contains the fix" -CVE_STATUS[CVE-2025-27151] = "cpe-incorrect: the used version already contains the fix" -CVE_STATUS[CVE-2025-46686] = "disputed: upstream rejected because mitigating it would affect other functionality" -CVE_STATUS[CVE-2025-46817] = "cpe-incorrect: the used version already contains the fix" -CVE_STATUS[CVE-2025-46818] = "cpe-incorrect: the used version already contains the fix" -CVE_STATUS[CVE-2025-46819] = "cpe-incorrect: the used version already contains the fix" - -inherit pkgconfig update-rc.d systemd useradd - -FINAL_LIBS:x86:toolchain-clang = "-latomic" -FINAL_LIBS:riscv32 = "-latomic" -FINAL_LIBS:mips = "-latomic" -FINAL_LIBS:arm = "-latomic" -FINAL_LIBS:powerpc = "-latomic" - -export FINAL_LIBS - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" -GROUPADD_PARAM:${PN} = "--system redis" - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd" - -EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}" - -TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" - -do_compile:prepend() { - oe_runmake -C deps hdr_histogram fpconv hiredis lua linenoise -} - -do_install() { - export PREFIX=${D}/${prefix} - oe_runmake install - install -d ${D}/${sysconfdir}/redis - install -m 0644 ${UNPACKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server - install -d ${D}/var/lib/redis/ - chown redis.redis ${D}/var/lib/redis/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/redis.service ${D}${systemd_system_unitdir} - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf - sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/redis/redis.conf - fi -} - -CONFFILES:${PN} = "${sysconfdir}/redis/redis.conf" - -INITSCRIPT_NAME = "redis-server" -INITSCRIPT_PARAMS = "defaults 87" - -SYSTEMD_SERVICE:${PN} = "redis.service" - -CVE_STATUS[CVE-2022-3734] = "not-applicable-platform: CVE only applies for Windows." -# The vulnerability originates from Debian's packaging methodology, -# which loads system-wide Lua libraries (lua-cjson, lua-cmsgpack), -# enabling Lua sandbox escape. Upstream Redis builds, including -# those built by Yocto/OpenEmbedded, utilize embedded Lua from the -# deps/ directory and are therefore not affected by this issue. -CVE_STATUS[CVE-2022-0543] = "not-applicable-config: Debian-specific packaging issue caused by loading system-wide Lua libraries; upstream builds use embedded Lua and are not affected" diff --git a/meta-oe/recipes-extended/redis/redis_8.0.6.bb b/meta-oe/recipes-extended/redis/redis_8.0.6.bb new file mode 100644 index 00000000000..f6866747ebd --- /dev/null +++ b/meta-oe/recipes-extended/redis/redis_8.0.6.bb @@ -0,0 +1,83 @@ +SUMMARY = "Redis key-value store" +DESCRIPTION = "Redis is an open source, advanced key-value store." +HOMEPAGE = "http://redis.io" +SECTION = "libs" +LICENSE = "RSAL-2 | AGPL-3.0-only | SSPL-1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9f1da87999fb281d8a9e3e3b2d0403b4" +DEPENDS = "readline lua ncurses" + +SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ + file://redis.conf \ + file://init-redis-server \ + file://redis.service \ + file://0001-hiredis-use-default-CC-if-it-is-set.patch \ + file://0002-lua-update-Makefile-to-use-environment-build-setting.patch \ + file://0003-hack-to-force-use-of-libc-malloc.patch \ + file://0004-src-Do-not-reset-FINAL_LIBS.patch \ + file://0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch \ + " +SRC_URI[sha256sum] = "6d0a9913887a4972536f9da226f1575859c34d86354129163260a5f9c6bd4229" + +RPROVIDES:${PN} = "virtual-redis" + +CVE_STATUS[CVE-2025-46686] = "disputed: upstream rejected because mitigating it would affect other functionality" + +inherit pkgconfig update-rc.d systemd useradd + +FINAL_LIBS:x86:toolchain-clang = "-latomic" +FINAL_LIBS:riscv32 = "-latomic" +FINAL_LIBS:mips = "-latomic" +FINAL_LIBS:arm = "-latomic" +FINAL_LIBS:powerpc = "-latomic" + +export FINAL_LIBS + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" +GROUPADD_PARAM:${PN} = "--system redis" + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd" + +EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}" + +TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" + +do_compile:prepend() { + oe_runmake -C deps hdr_histogram fpconv hiredis lua linenoise +} + +do_install() { + export PREFIX=${D}/${prefix} + oe_runmake install + install -d ${D}/${sysconfdir}/redis + install -m 0644 ${UNPACKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server + install -d ${D}/var/lib/redis/ + chown redis.redis ${D}/var/lib/redis/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/redis.service ${D}${systemd_system_unitdir} + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf + sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/redis/redis.conf + fi +} + +CONFFILES:${PN} = "${sysconfdir}/redis/redis.conf" + +INITSCRIPT_NAME = "redis-server" +INITSCRIPT_PARAMS = "defaults 87" + +SYSTEMD_SERVICE:${PN} = "redis.service" + +CVE_STATUS[CVE-2022-3734] = "not-applicable-platform: CVE only applies for Windows." +# The vulnerability originates from Debian's packaging methodology, +# which loads system-wide Lua libraries (lua-cjson, lua-cmsgpack), +# enabling Lua sandbox escape. Upstream Redis builds, including +# those built by Yocto/OpenEmbedded, utilize embedded Lua from the +# deps/ directory and are therefore not affected by this issue. +CVE_STATUS[CVE-2022-0543] = "not-applicable-config: Debian-specific packaging issue caused by loading system-wide Lua libraries; upstream builds use embedded Lua and are not affected" diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb index 69c281bd92d..752ecc6c48a 100644 --- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb +++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.9.0.bb @@ -25,7 +25,11 @@ AUTOTOOLS_AUXDIR = "${S}/conftools" EXTRA_AUTORECONF = "-I m4 --exclude=autopoint" -PACKAGECONFIG ??= "perl graph ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG ??= " \ + perl \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'graph', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" PACKAGECONFIG[python] = "--enable-python=yes \ am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \ diff --git a/meta-oe/recipes-extended/rsyslog/librelp_1.12.0.bb b/meta-oe/recipes-extended/rsyslog/librelp_1.12.0.bb index 6bad112e5a6..260e4171a7e 100644 --- a/meta-oe/recipes-extended/rsyslog/librelp_1.12.0.bb +++ b/meta-oe/recipes-extended/rsyslog/librelp_1.12.0.bb @@ -17,9 +17,12 @@ CVE_PRODUCT = "rsyslog:librelp" inherit autotools pkgconfig ptest PACKAGECONFIG ?= "tls-openssl valgrind" -# Valgrind is not available for RISCV yet -PACKAGECONFIG:remove:riscv64 = "valgrind" +# Valgrind is not available for RISCV32 yet PACKAGECONFIG:remove:riscv32 = "valgrind" +# armv4/armv5/armv6 is not in COMPATIBLE_HOST of valgrind +PACKAGECONFIG:remove:armv4 = "valgrind" +PACKAGECONFIG:remove:armv5 = "valgrind" +PACKAGECONFIG:remove:armv6 = "valgrind" PACKAGECONFIG[tls] = "--enable-tls,--disable-tls,gnutls nettle" PACKAGECONFIG[tls-openssl] = "--enable-tls-openssl,--disable-tls-openssl,openssl" diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2512.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2512.0.bb index c50a7a3f7ac..186e1ccf249 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2512.0.bb +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2512.0.bb @@ -40,6 +40,7 @@ CVE_STATUS[CVE-2015-3243] = "fix-file-included: The shipped default rsyslog.conf inherit autotools pkgconfig systemd update-rc.d ptest +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" EXTRA_OECONF += "--enable-imfile-tests ${ATOMICS}" ATOMICS = "ap_cv_atomic_builtins_64=yes ap_cv_atomic_builtins=yes" ATOMICS:mipsarch = "" diff --git a/meta-oe/recipes-extended/sanlock/sanlock_4.2.0.bb b/meta-oe/recipes-extended/sanlock/sanlock_4.2.0.bb deleted file mode 100644 index 8babaf8017e..00000000000 --- a/meta-oe/recipes-extended/sanlock/sanlock_4.2.0.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "A shared storage lock manager" -DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \ -to the storage can perform locking. An application running on the \ -hosts is given a small amount of space on the shared block device or \ -file, and uses sanlock for its own application-specific synchronization. \ -Internally, the sanlock daemon manages locks using two disk-based \ -lease algorithms: delta leases and paxos leases." -HOMEPAGE = "https://pagure.io/sanlock" -SECTION = "utils" - -LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" - -PV .= "+git" - -SRC_URI = "git://pagure.io/sanlock.git;protocol=http;branch=master \ - file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch \ - file://0001-add-missing-system-header-string.h.patch \ - " -SRCREV = "efe86d2e691383da07942fe9a4bccab13046f3d4" - - -CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." - -DEPENDS = "libaio util-linux" - -inherit setuptools3 useradd - -SETUPTOOLS_SETUP_PATH = "${S}/python" - -do_compile:prepend () { - oe_runmake -C ${S}/wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" - oe_runmake -C ${S}/src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}" -} - -do_install:prepend () { - oe_runmake -C ${S}/wdmd DESTDIR=${D} LIBDIR=${libdir} install - oe_runmake -C ${S}/src DESTDIR=${D} LIBDIR=${libdir} install -} - -SANLOCKGROUP ?= "sanlock" -SANLOCKUSER ?= "sanlock" -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "--system ${SANLOCKGROUP}" -USERADD_PARAM:${PN} = "--system -g ${SANLOCKGROUP} -G disk \ - --home-dir /run/${SANLOCKUSER} --no-create-home \ - --shell /sbin/nologin ${SANLOCKUSER}" diff --git a/meta-oe/recipes-extended/sanlock/sanlock_5.1.0.bb b/meta-oe/recipes-extended/sanlock/sanlock_5.1.0.bb new file mode 100644 index 00000000000..72242946c10 --- /dev/null +++ b/meta-oe/recipes-extended/sanlock/sanlock_5.1.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "A shared storage lock manager" +DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \ +to the storage can perform locking. An application running on the \ +hosts is given a small amount of space on the shared block device or \ +file, and uses sanlock for its own application-specific synchronization. \ +Internally, the sanlock daemon manages locks using two disk-based \ +lease algorithms: delta leases and paxos leases." +HOMEPAGE = "https://pagure.io/sanlock" +SECTION = "utils" + +LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" + +SRC_URI = "git://codeberg.org/sanlock/sanlock.git;protocol=https;branch=master;tag=${BPN}-${PV} \ + file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch \ + file://0001-add-missing-system-header-string.h.patch \ + " +SRCREV = "995685ac3ad8909cb7562e74dd13e3b450833d9c" + +CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." + +DEPENDS = "libaio util-linux libdevmapper" +RDEPENDS:${PN} += "libdevmapper" + +inherit useradd + +do_compile:prepend () { + oe_runmake -C ${S}/wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" + oe_runmake -C ${S}/src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}" +} + +do_install:prepend () { + oe_runmake -C ${S}/wdmd DESTDIR=${D} LIBDIR=${libdir} install + oe_runmake -C ${S}/src DESTDIR=${D} LIBDIR=${libdir} install +} + +SANLOCKGROUP ?= "sanlock" +SANLOCKUSER ?= "sanlock" +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "--system ${SANLOCKGROUP}" +USERADD_PARAM:${PN} = "--system -g ${SANLOCKGROUP} -G disk \ + --home-dir /run/${SANLOCKUSER} --no-create-home \ + --shell /sbin/nologin ${SANLOCKUSER}" diff --git a/meta-oe/recipes-extended/sd/sd-crates.inc b/meta-oe/recipes-extended/sd/sd-crates.inc new file mode 100644 index 00000000000..a37e5fa2ca9 --- /dev/null +++ b/meta-oe/recipes-extended/sd/sd-crates.inc @@ -0,0 +1,212 @@ +# Autogenerated with 'bitbake -c update_crates sd' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/aho-corasick/1.1.4 \ + crate://crates.io/ansi-to-html/0.1.3 \ + crate://crates.io/anstream/0.6.4 \ + crate://crates.io/anstyle/1.0.13 \ + crate://crates.io/anstyle-parse/0.2.2 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/3.0.1 \ + crate://crates.io/anyhow/1.0.75 \ + crate://crates.io/assert_cmd/2.1.1 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/bit-set/0.5.3 \ + crate://crates.io/bit-vec/0.6.3 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.4.1 \ + crate://crates.io/bstr/1.12.0 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clap/4.4.6 \ + crate://crates.io/clap_builder/4.4.6 \ + crate://crates.io/clap_complete/4.4.3 \ + crate://crates.io/clap_derive/4.4.2 \ + crate://crates.io/clap_lex/0.5.1 \ + crate://crates.io/clap_mangen/0.2.14 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/console/0.15.7 \ + crate://crates.io/crossbeam-deque/0.8.3 \ + crate://crates.io/crossbeam-epoch/0.9.15 \ + crate://crates.io/crossbeam-utils/0.8.16 \ + crate://crates.io/difflib/0.4.0 \ + crate://crates.io/either/1.15.0 \ + crate://crates.io/encode_unicode/0.3.6 \ + crate://crates.io/errno/0.3.5 \ + crate://crates.io/fastrand/2.0.1 \ + crate://crates.io/fnv/1.0.7 \ + crate://crates.io/getrandom/0.2.10 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/insta/1.34.0 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/libc/0.2.177 \ + crate://crates.io/libm/0.2.8 \ + crate://crates.io/linked-hash-map/0.5.6 \ + crate://crates.io/linux-raw-sys/0.4.10 \ + crate://crates.io/memchr/2.7.6 \ + crate://crates.io/memoffset/0.9.0 \ + crate://crates.io/num-traits/0.2.17 \ + crate://crates.io/ppv-lite86/0.2.17 \ + crate://crates.io/predicates/3.1.3 \ + crate://crates.io/predicates-core/1.0.9 \ + crate://crates.io/predicates-tree/1.0.12 \ + crate://crates.io/proc-macro2/1.0.103 \ + crate://crates.io/proptest/1.3.1 \ + crate://crates.io/quick-error/1.2.3 \ + crate://crates.io/quote/1.0.42 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/rand_xorshift/0.3.0 \ + crate://crates.io/rayon/1.8.0 \ + crate://crates.io/rayon-core/1.12.0 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/regex/1.10.2 \ + crate://crates.io/regex-automata/0.4.13 \ + crate://crates.io/regex-syntax/0.7.5 \ + crate://crates.io/regex-syntax/0.8.8 \ + crate://crates.io/roff/0.2.1 \ + crate://crates.io/rustix/0.38.20 \ + crate://crates.io/rusty-fork/0.3.0 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/serde/1.0.228 \ + crate://crates.io/serde_core/1.0.228 \ + crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/similar/2.3.0 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/2.0.111 \ + crate://crates.io/tempfile/3.8.0 \ + crate://crates.io/terminal_size/0.3.0 \ + crate://crates.io/termtree/0.5.1 \ + crate://crates.io/thiserror/1.0.50 \ + crate://crates.io/thiserror-impl/1.0.50 \ + crate://crates.io/unarray/0.1.4 \ + crate://crates.io/unicode-ident/1.0.22 \ + crate://crates.io/unicode-width/0.1.11 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/wait-timeout/0.2.1 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/windows-sys/0.45.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-targets/0.42.2 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.42.2 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.42.2 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.42.2 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.42.2 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.42.2 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.42.2 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.42.2 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/yaml-rust/0.4.5 \ +" + +SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +SRC_URI[ansi-to-html-0.1.3.sha256sum] = "c7bd918cc0ff933f0e6cf48a8f74584818ea43e07d1fba1f9251bb3df2a37ca2" +SRC_URI[anstream-0.6.4.sha256sum] = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +SRC_URI[anstyle-parse-0.2.2.sha256sum] = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-3.0.1.sha256sum] = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +SRC_URI[assert_cmd-2.1.1.sha256sum] = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[bit-set-0.5.3.sha256sum] = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +SRC_URI[bit-vec-0.6.3.sha256sum] = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +SRC_URI[bstr-1.12.0.sha256sum] = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clap-4.4.6.sha256sum] = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +SRC_URI[clap_builder-4.4.6.sha256sum] = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +SRC_URI[clap_complete-4.4.3.sha256sum] = "e3ae8ba90b9d8b007efe66e55e48fb936272f5ca00349b5b0e89877520d35ea7" +SRC_URI[clap_derive-4.4.2.sha256sum] = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +SRC_URI[clap_lex-0.5.1.sha256sum] = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +SRC_URI[clap_mangen-0.2.14.sha256sum] = "b44f35c514163027542f7147797ff930523eea288e03642727348ef1a9666f6b" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[console-0.15.7.sha256sum] = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +SRC_URI[crossbeam-epoch-0.9.15.sha256sum] = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +SRC_URI[difflib-0.4.0.sha256sum] = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" +SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +SRC_URI[errno-0.3.5.sha256sum] = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[insta-1.34.0.sha256sum] = "5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfc" +SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +SRC_URI[libc-0.2.177.sha256sum] = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +SRC_URI[libm-0.2.8.sha256sum] = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +SRC_URI[linux-raw-sys-0.4.10.sha256sum] = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +SRC_URI[num-traits-0.2.17.sha256sum] = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +SRC_URI[predicates-3.1.3.sha256sum] = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" +SRC_URI[predicates-core-1.0.9.sha256sum] = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" +SRC_URI[predicates-tree-1.0.12.sha256sum] = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" +SRC_URI[proc-macro2-1.0.103.sha256sum] = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +SRC_URI[proptest-1.3.1.sha256sum] = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" +SRC_URI[quick-error-1.2.3.sha256sum] = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +SRC_URI[quote-1.0.42.sha256sum] = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[rand_xorshift-0.3.0.sha256sum] = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +SRC_URI[rayon-1.8.0.sha256sum] = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +SRC_URI[rayon-core-1.12.0.sha256sum] = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +SRC_URI[regex-automata-0.4.13.sha256sum] = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +SRC_URI[regex-syntax-0.7.5.sha256sum] = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +SRC_URI[regex-syntax-0.8.8.sha256sum] = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +SRC_URI[roff-0.2.1.sha256sum] = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316" +SRC_URI[rustix-0.38.20.sha256sum] = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0" +SRC_URI[rusty-fork-0.3.0.sha256sum] = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[similar-2.3.0.sha256sum] = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-2.0.111.sha256sum] = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +SRC_URI[tempfile-3.8.0.sha256sum] = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +SRC_URI[termtree-0.5.1.sha256sum] = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" +SRC_URI[thiserror-1.0.50.sha256sum] = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +SRC_URI[thiserror-impl-1.0.50.sha256sum] = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +SRC_URI[unarray-0.1.4.sha256sum] = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" +SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[wait-timeout-0.2.1.sha256sum] = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[yaml-rust-0.4.5.sha256sum] = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" diff --git a/meta-oe/recipes-extended/sd/sd_1.1.0.bb b/meta-oe/recipes-extended/sd/sd_1.1.0.bb new file mode 100644 index 00000000000..6dc369fff9e --- /dev/null +++ b/meta-oe/recipes-extended/sd/sd_1.1.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "sd is an intuitive and fast CLI for search and replace" +HOMEPAGE = "https://github.com/chmln/sd" +DESCRIPTION = "sd is a command-line tool written in Rust for simple and \ + fast find and replace. It uses familiar regular expression \ + syntax and also supports string-literal replacements \ + without escaping. With clear syntax and sensible defaults, \ + it offers an easy-to-use alternative to traditional tools like sed." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=aec69d9265f7a44821317ebe1e576f1b \ +" + +SRC_URI = "git://github.com/chmln/sd.git;protocol=https;nobranch=1;tag=v${PV}" +SRCREV = "4a7b216552d64134c0fa17a59b9d557d89019f0f" + +inherit cargo cargo-update-recipe-crates + +# Build only the main binary ("sd"); helper binaries like "xtask" +# are dev-only and not needed, preventing extra build artifacts. +CARGO_BUILD_FLAGS += "--bin sd" + +require ${BPN}-crates.inc + +INSANE_SKIP:${PN} = "already-stripped" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/socketcan/can-isotp_git.bb b/meta-oe/recipes-extended/socketcan/can-isotp_git.bb deleted file mode 100644 index 530e38ce21c..00000000000 --- a/meta-oe/recipes-extended/socketcan/can-isotp_git.bb +++ /dev/null @@ -1,20 +0,0 @@ -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=72d977d697c3c05830fdff00a7448931" -SRCREV = "7626d0a0707391970080d493ce69638719938da7" -PV = "1.0+git" - -SRC_URI = "git://github.com/hartkopp/can-isotp.git;protocol=https;branch=master" - -# Upstream repo does not tag -UPSTREAM_CHECK_COMMITS = "1" - - -inherit module - -EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}" - -do_install:append() { - install -Dm 644 ${S}/include/uapi/linux/can/isotp.h ${D}${includedir}/linux/can/isotp.h -} - -SKIP_RECIPE[can-isotp] ?= "Not needed with kernel 5.10+" diff --git a/meta-oe/recipes-extended/sysdig/sysdig/0001-Add-cstdint-for-uintXX_t-types.patch b/meta-oe/recipes-extended/sysdig/sysdig/0001-Add-cstdint-for-uintXX_t-types.patch deleted file mode 100644 index e564958dad9..00000000000 --- a/meta-oe/recipes-extended/sysdig/sysdig/0001-Add-cstdint-for-uintXX_t-types.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 3d076ea588eb3c7f334133b4c31172a14beadf5b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 2 Feb 2023 20:18:27 -0800 -Subject: [PATCH] Add for uintXX_t types - -gcc 13 moved some includes around and as a result is no -longer transitively included [1]. Explicitly include it -for uintXX_t. - -[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes - -Upstream-Status: Submitted [https://github.com/falcosecurity/libs/pull/862] -Signed-off-by: Khem Raj ---- - userspace/libsinsp/filter/parser.h | 1 + - userspace/libsinsp/filter_value.h | 1 + - 2 files changed, 2 insertions(+) - ---- a/userspace/libsinsp/filter/parser.h -+++ b/userspace/libsinsp/filter/parser.h -@@ -18,6 +18,7 @@ limitations under the License. - #pragma once - - #include "ast.h" -+#include - - // - // Context-free Grammar for Sinsp Filters ---- a/userspace/libsinsp/filter_value.h -+++ b/userspace/libsinsp/filter_value.h -@@ -18,6 +18,7 @@ limitations under the License. - #pragma once - - #include -+#include - #include - - // Used for CO_IN/CO_PMATCH filterchecks using PT_CHARBUFs to allow diff --git a/meta-oe/recipes-extended/sysdig/sysdig/0001-Avoid-duplicate-operations-of-add_library.patch b/meta-oe/recipes-extended/sysdig/sysdig/0001-Avoid-duplicate-operations-of-add_library.patch new file mode 100644 index 00000000000..b8ca7dd38b1 --- /dev/null +++ b/meta-oe/recipes-extended/sysdig/sysdig/0001-Avoid-duplicate-operations-of-add_library.patch @@ -0,0 +1,47 @@ +From 74dec208d95821855130f6ed7b167327f1247e99 Mon Sep 17 00:00:00 2001 +From: Liu Yiding +Date: Thu, 5 Mar 2026 09:28:03 +0000 +Subject: [PATCH] Avoid duplicate operations of add_library. + +To fix following configure error +| -- Existing strlcat found, will *not* use local definition +| CMake Error at falcosecurity-libs/userspace/libscap/CMakeLists.txt:64 (add_library): +| add_library cannot create target "scap_error" because another target with +| the same name already exists. The existing target is a static library + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Liu Yiding +--- + cmake/modules/libscap.cmake | 2 +- + cmake/modules/libsinsp.cmake | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/modules/libscap.cmake b/cmake/modules/libscap.cmake +index b41b12ff3..1753598e9 100644 +--- a/cmake/modules/libscap.cmake ++++ b/cmake/modules/libscap.cmake +@@ -14,7 +14,7 @@ + # + + if(NOT HAVE_LIBSCAP) +- set(HAVE_LIBSCAP On) ++ set(HAVE_LIBSCAP On CACHE INTERNAL "Flag to indicate libscap has been processed") + + if(NOT LIBS_DIR) + get_filename_component(LIBS_DIR ${CMAKE_CURRENT_LIST_DIR}/../.. ABSOLUTE) +diff --git a/cmake/modules/libsinsp.cmake b/cmake/modules/libsinsp.cmake +index ff336e27f..0fdd2d4a9 100644 +--- a/cmake/modules/libsinsp.cmake ++++ b/cmake/modules/libsinsp.cmake +@@ -14,7 +14,7 @@ + # + + if(NOT HAVE_LIBSINSP) +- set(HAVE_LIBSINSP On) ++ set(HAVE_LIBSINSP On CACHE INTERNAL "Flag to indicate libsinsp has been processed") + + if(NOT LIBS_DIR) + get_filename_component(LIBS_DIR ${CMAKE_CURRENT_LIST_DIR}/../.. ABSOLUTE) +-- +2.43.0 + diff --git a/meta-oe/recipes-extended/sysdig/sysdig/0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch b/meta-oe/recipes-extended/sysdig/sysdig/0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch index 903ccdf36ae..bcf5da4f2c2 100644 --- a/meta-oe/recipes-extended/sysdig/sysdig/0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch +++ b/meta-oe/recipes-extended/sysdig/sysdig/0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch @@ -1,6 +1,6 @@ -From ed8969a233adb6bf701de96d0fd0570e5ddcc787 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 21 Mar 2022 19:35:48 -0700 +From 6ff4114dcbb87f34751064249967aa96c7b8b030 Mon Sep 17 00:00:00 2001 +From: Liu Yiding +Date: Wed, 4 Mar 2026 10:02:10 +0000 Subject: [PATCH] cmake: Pass PROBE_NAME via CFLAGS This helps compliation of driver code where its calling modprobe on the @@ -8,22 +8,25 @@ given kernel module via system() API Upstream-Status: Pending Signed-off-by: Khem Raj + +Update for 0.39.0 +Signed-off-by: Liu Yiding --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7dceb7ae..e156c36f 100644 +index 8e8850dbe..c6d725c05 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -149,6 +149,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") - if(NOT DEFINED PROBE_NAME) - set(PROBE_NAME "scap") +@@ -174,6 +174,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") + if(NOT DEFINED DRIVER_NAME) + set(DRIVER_NAME "scap") endif() -+ add_definitions(-DPROBE_NAME="${PROBE_NAME}") ++ add_definitions(-DPROBE_NAME="${PROBE_NAME}") set(DRIVERS_REPO "https://download.sysdig.com/scap-drivers") -- -2.35.1 +2.43.0 diff --git a/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-fix-build-with-gcc-15.patch b/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-fix-build-with-gcc-15.patch deleted file mode 100644 index 9a81f1c74cd..00000000000 --- a/meta-oe/recipes-extended/sysdig/sysdig/0001-libsinsp-fix-build-with-gcc-15.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 47a86dabd065096ffc8818a1cffca96964d18120 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Tue, 22 Apr 2025 18:43:46 +0200 -Subject: [PATCH] libsinsp: fix build with gcc-15 - -fixes: -http://errors.yoctoproject.org/Errors/Details/852848/ - -In file included from TOPDIR/tmp/work/core2-64-oe-linux/sysdig/0.28.0/git/falcosecurity-libs/userspace/chisel/lua_parser.cpp:20: -TOPDIR/tmp/work/core2-64-oe-linux/sysdig/0.28.0/git/falcosecurity-libs/userspace/libsinsp/./gen_filter.h:87:17: error: 'uint64_t' does not name a type - 87 | virtual uint64_t get_ts() const = 0; - | ^~~~~~~~ - -Upstream-Status: Pending [gen_filter is removed in newer version with https://github.com/falcosecurity/libs/commit/47e245f3d343eff27ed178ec2449caa3a01faabb] -Signed-off-by: Martin Jansa ---- - userspace/libsinsp/gen_filter.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/userspace/libsinsp/gen_filter.h b/userspace/libsinsp/gen_filter.h -index f4cfa08b1..79ac30dc3 100644 ---- a/userspace/libsinsp/gen_filter.h -+++ b/userspace/libsinsp/gen_filter.h -@@ -16,6 +16,7 @@ along with Falco. If not, see . - - #pragma once - -+#include - #include - #include - #include diff --git a/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb b/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb deleted file mode 100644 index c988b0af59e..00000000000 --- a/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "A New System Troubleshooting Tool Built for the Way You Work" -DESCRIPTION = "Sysdig is open source, system-level exploration: capture \ -system state and activity from a running Linux instance, then save, \ -filter and analyze." -HOMEPAGE = "http://www.sysdig.org/" -LICENSE = "Apache-2.0 & (MIT | GPL-2.0-only)" -LIC_FILES_CHKSUM = "file://COPYING;md5=f8fee3d59797546cffab04f3b88b2d44" - -inherit cmake pkgconfig - -#OECMAKE_GENERATOR = "Unix Makefiles" -JIT ?= "jit" -JIT:mipsarchn32 = "" -JIT:mipsarchn64 = "" -JIT:riscv64 = "" -JIT:riscv32 = "" -JIT:powerpc = "" -JIT:powerpc64le = "" -JIT:powerpc64 = "" - -DEPENDS += "libb64 lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp \ - tbb jq openssl elfutils protobuf protobuf-native jq-native valijson" -RDEPENDS:${PN} = "bash" - -SRC_URI = "git://github.com/draios/sysdig.git;branch=dev;protocol=https;name=sysdig \ - git://github.com/falcosecurity/libs;protocol=https;branch=master;name=falco;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/falcosecurity-libs \ - file://0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch \ - file://0001-Add-cstdint-for-uintXX_t-types.patch;patchdir=./falcosecurity-libs \ - file://0001-libsinsp-fix-build-with-gcc-15.patch;patchdir=./falcosecurity-libs \ - file://0001-update-cmake-Only-add-dependencies-when-we-bundle.patch;patchdir=./falcosecurity-libs \ - " -SRCREV_sysdig = "4fb6288275f567f63515df0ff0a6518043ecfa9b" -SRCREV_falco = "caa0e4d0044fdaaebab086592a97f0c7f32aeaa9" - -SRCREV_FORMAT = "sysdig_falco" - - -EXTRA_OECMAKE = "\ - -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ - -DBUILD_DRIVER=OFF \ - -DMINIMAL_BUILD=ON \ - -DUSE_BUNDLED_DEPS=OFF \ - -DCREATE_TEST_TARGETS=OFF \ - -DDIR_ETC=${sysconfdir} \ - -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \ - -DFALCOSECURITY_LIBS_SOURCE_DIR=${S}/falcosecurity-libs \ - -DVALIJSON_INCLUDE=${STAGING_INCDIR}/valijson \ -" - -#CMAKE_VERBOSE = "VERBOSE=1" - -FILES:${PN} += " \ - ${DIR_ETC}/* \ - ${datadir}/zsh/* \ - ${prefix}/src/* \ -" -# Use getaddrinfo_a is a GNU extension in libsinsp -# It should be fixed in sysdig, until then disable -# on musl -# Something like this https://code.videolan.org/ePirat/vlc/-/commit/01fd9fe4c7f6c5558f7345f38abf0152e17853ab is needed to fix it -COMPATIBLE_HOST:libc-musl = "null" -COMPATIBLE_HOST:mips = "null" -COMPATIBLE_HOST:riscv64 = "null" -COMPATIBLE_HOST:riscv32 = "null" -COMPATIBLE_HOST:powerpc = "null" -COMPATIBLE_HOST:powerpc64le = "null" diff --git a/meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb b/meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb new file mode 100644 index 00000000000..6d754b9bd03 --- /dev/null +++ b/meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb @@ -0,0 +1,95 @@ +SUMMARY = "A New System Troubleshooting Tool Built for the Way You Work" +DESCRIPTION = "Sysdig is open source, system-level exploration: capture \ +system state and activity from a running Linux instance, then save, \ +filter and analyze." +HOMEPAGE = "http://www.sysdig.org/" +LICENSE = "Apache-2.0 & (MIT | GPL-2.0-only)" +LIC_FILES_CHKSUM = "file://COPYING;md5=f8fee3d59797546cffab04f3b88b2d44" + +inherit cmake pkgconfig + +#OECMAKE_GENERATOR = "Unix Makefiles" +JIT ?= "jit" +JIT:mipsarchn32 = "" +JIT:mipsarchn64 = "" +JIT:riscv64 = "" +JIT:riscv32 = "" +JIT:powerpc = "" +JIT:powerpc64le = "" +JIT:powerpc64 = "" + +DEPENDS += "libb64 lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp \ + tbb jq openssl elfutils protobuf protobuf-native jq-native valijson \ + uthash libbpf clang-native bpftool-native yaml-cpp nlohmann-json" +RDEPENDS:${PN} = "bash" + +SRC_URI = "git://github.com/draios/sysdig.git;branch=dev;protocol=https;name=sysdig \ + git://github.com/falcosecurity/libs;protocol=https;branch=release/0.18.x;name=falco;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/falcosecurity-libs \ + git://github.com/falcosecurity/libs;protocol=https;branch=release/0.18.x;name=driver;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/driver \ + file://0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch \ + file://0001-Avoid-duplicate-operations-of-add_library.patch;patchdir=./falcosecurity-libs \ + " +SRCREV_sysdig = "6ef29110cf1add746e10ab5b38957e22730b7349" +SRCREV_falco = "e1999d079880d10800c57e004fca794a03cd060a" +SRCREV_driver = "d4efc80ece48174a71c1a420cb52d233fa94f946" + +SRCREV_FORMAT = "sysdig_falco" + +#Add this function to generate driver_config.h +do_configure:prepend() { + mkdir -p ${WORKDIR}/driver_Make + cd ${WORKDIR}/driver_Make + cmake ${S}/driver -DMINIMAL_BUILD=ON -DCREATE_TEST_TARGETS=OFF + cd - +} +do_configure[cleandirs] = "${WORKDIR}/driver_Make" + +EXTRA_OECMAKE = "\ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DBUILD_DRIVER=OFF \ + -DMINIMAL_BUILD=ON \ + -DUSE_BUNDLED_DEPS=OFF \ + -DCREATE_TEST_TARGETS=OFF \ + -DDIR_ETC=${sysconfdir} \ + -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \ + -DFALCOSECURITY_LIBS_SOURCE_DIR=${S}/falcosecurity-libs \ + -DDRIVER_SOURCE_DIR=${S}/driver \ + -DVALIJSON_INCLUDE=${STAGING_INCDIR}/valijson \ + -DUSE_BUNDLED_RE2=OFF \ + -DUSE_BUNDLED_TBB=OFF \ + -DUSE_BUNDLED_JSONCPP=OFF \ + -DBUILD_SYSDIG_MODERN_BPF=OFF \ + -DCREATE_TEST_TARGETS=OFF \ +" + +#Add include dir to find driver_config.h +CXXFLAGS:append = " -I${WORKDIR}/driver_Make/driver/src" +CFLAGS:append = " -I${WORKDIR}/driver_Make/driver/src" + +#To fix do_package QA Issue +do_compile:append() { + sed -i -e "s,${WORKDIR},,g" ${B}/libsinsp/libsinsp.pc + sed -i -e "s,${WORKDIR},,g" ${B}/driver/libscap/libscap.pc + mkdir -p ${B}/driver/libsinsp + cp ${B}/libsinsp/libsinsp.pc ${B}/driver/libsinsp/ +} +do_compile[cleandirs] = "${B}/driver/libsinsp" + +#CMAKE_VERBOSE = "VERBOSE=1" + + +FILES:${PN} += " \ + ${DIR_ETC}/* \ + ${datadir}/zsh/* \ + ${prefix}/src/* \ +" +# Use getaddrinfo_a is a GNU extension in libsinsp +# It should be fixed in sysdig, until then disable +# on musl +# Something like this https://code.videolan.org/ePirat/vlc/-/commit/01fd9fe4c7f6c5558f7345f38abf0152e17853ab is needed to fix it +COMPATIBLE_HOST:libc-musl = "null" +COMPATIBLE_HOST:mips = "null" +COMPATIBLE_HOST:riscv64 = "null" +COMPATIBLE_HOST:riscv32 = "null" +COMPATIBLE_HOST:powerpc = "null" +COMPATIBLE_HOST:powerpc64le = "null" diff --git a/meta-oe/recipes-extended/tmux/tmux_3.6.bb b/meta-oe/recipes-extended/tmux/tmux_3.6.bb deleted file mode 100644 index 199863d7e4b..00000000000 --- a/meta-oe/recipes-extended/tmux/tmux_3.6.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Terminal multiplexer" -HOMEPAGE = "http://tmux.sourceforge.net" -SECTION = "console/utils" - -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=f256b76d52e7b4d02bf19144bdaca107" - -DEPENDS = "ncurses libevent bison-native" - -SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.gz" -SRC_URI[sha256sum] = "136db80cfbfba617a103401f52874e7c64927986b65b1b700350b6058ad69607" - -UPSTREAM_CHECK_URI = "https://github.com/tmux/tmux/releases" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+[a-z]?)" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "" -PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter," -PACKAGECONFIG[sixel] = "--enable-sixel,--disable-sixel" - -do_configure:prepend() { - # The 'compat' directory is needed for output during the build but it's - # not automatically created when building outside the source directory. - mkdir -p ${B}/compat -} diff --git a/meta-oe/recipes-extended/tmux/tmux_3.6a.bb b/meta-oe/recipes-extended/tmux/tmux_3.6a.bb new file mode 100644 index 00000000000..63011ce040b --- /dev/null +++ b/meta-oe/recipes-extended/tmux/tmux_3.6a.bb @@ -0,0 +1,26 @@ +SUMMARY = "Terminal multiplexer" +HOMEPAGE = "https://github.com/tmux/tmux/wiki" +SECTION = "console/utils" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=f256b76d52e7b4d02bf19144bdaca107" + +DEPENDS = "ncurses libevent bison-native" + +SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.gz" +SRC_URI[sha256sum] = "b6d8d9c76585db8ef5fa00d4931902fa4b8cbe8166f528f44fc403961a3f3759" + +UPSTREAM_CHECK_URI = "https://github.com/tmux/tmux/releases" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+[a-z]?)" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter," +PACKAGECONFIG[sixel] = "--enable-sixel,--disable-sixel" + +do_configure:prepend() { + # The 'compat' directory is needed for output during the build but it's + # not automatically created when building outside the source directory. + mkdir -p ${B}/compat +} diff --git a/meta-oe/recipes-extended/valkey/valkey_9.0.2.bb b/meta-oe/recipes-extended/valkey/valkey_9.0.2.bb deleted file mode 100644 index 419efab17c0..00000000000 --- a/meta-oe/recipes-extended/valkey/valkey_9.0.2.bb +++ /dev/null @@ -1,76 +0,0 @@ -SUMMARY = "Valkey key-value store" -DESCRIPTION = "A flexible distributed key-value datastore that supports both caching and beyond caching workloads." -HOMEPAGE = "http://valkey.io" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=08b9159809d809e8aaa340a8387e693e" -DEPENDS = "readline lua ncurses" - -SRC_URI = "git://github.com/valkey-io/valkey.git;branch=9.0;protocol=https;tag=${PV} \ - file://valkey.conf \ - file://init-valkey-server \ - file://valkey.service \ - file://lua-update-Makefile-to-use-environment-build-setting.patch \ - file://oe-use-libc-malloc.patch \ - file://0001-src-Do-not-reset-FINAL_LIBS.patch \ - file://GNU_SOURCE-7.patch \ - " -SRCREV = "1ac4cfe4c877a6cb8cb2e28fa7094055ac06f64b" - -RPROVIDES:${PN} = "virtual-redis" - -inherit pkgconfig update-rc.d systemd useradd - -TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" - -FINAL_LIBS:x86:toolchain-clang = "-latomic" -FINAL_LIBS:riscv32 = "-latomic" -FINAL_LIBS:mips = "-latomic" -FINAL_LIBS:arm = "-latomic" -FINAL_LIBS:powerpc = "-latomic" - -export FINAL_LIBS - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --home-dir /var/lib/valkey -g valkey --shell /bin/false valkey" -GROUPADD_PARAM:${PN} = "--system valkey" - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd" - -EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}" - -do_compile() { - oe_runmake -C deps libvalkey lua linenoise - oe_runmake -} - -do_install() { - export PREFIX=${D}/${prefix} - oe_runmake install - install -d ${D}/${sysconfdir}/valkey - install -m 0644 ${UNPACKDIR}/valkey.conf ${D}/${sysconfdir}/valkey/valkey.conf - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/init-valkey-server ${D}/${sysconfdir}/init.d/valkey-server - install -d ${D}/var/lib/valkey/ - chown valkey.valkey ${D}/var/lib/valkey/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${UNPACKDIR}/valkey.service ${D}${systemd_system_unitdir} - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/valkey.service - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/valkey/valkey.conf - sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/valkey/valkey.conf - fi -} - - -CONFFILES:${PN} = "${sysconfdir}/valkey/valkey.conf" - -INITSCRIPT_NAME = "valkey-server" -INITSCRIPT_PARAMS = "defaults 87" - -SYSTEMD_SERVICE:${PN} = "valkey.service" - -CVE_STATUS[CVE-2022-3734] = "not-applicable-platform: CVE only applies for Windows." diff --git a/meta-oe/recipes-extended/valkey/valkey_9.0.4.bb b/meta-oe/recipes-extended/valkey/valkey_9.0.4.bb new file mode 100644 index 00000000000..93e37a922a4 --- /dev/null +++ b/meta-oe/recipes-extended/valkey/valkey_9.0.4.bb @@ -0,0 +1,76 @@ +SUMMARY = "Valkey key-value store" +DESCRIPTION = "A flexible distributed key-value datastore that supports both caching and beyond caching workloads." +HOMEPAGE = "http://valkey.io" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=08b9159809d809e8aaa340a8387e693e" +DEPENDS = "readline lua ncurses" + +SRC_URI = "git://github.com/valkey-io/valkey.git;branch=9.0;protocol=https;tag=${PV} \ + file://valkey.conf \ + file://init-valkey-server \ + file://valkey.service \ + file://lua-update-Makefile-to-use-environment-build-setting.patch \ + file://oe-use-libc-malloc.patch \ + file://0001-src-Do-not-reset-FINAL_LIBS.patch \ + file://GNU_SOURCE-7.patch \ + " +SRCREV = "1cbee84ba69b54c3510597965fc4320ce716a6f4" + +RPROVIDES:${PN} = "virtual-redis" + +inherit pkgconfig update-rc.d systemd useradd + +TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" + +FINAL_LIBS:x86:toolchain-clang = "-latomic" +FINAL_LIBS:riscv32 = "-latomic" +FINAL_LIBS:mips = "-latomic" +FINAL_LIBS:arm = "-latomic" +FINAL_LIBS:powerpc = "-latomic" + +export FINAL_LIBS + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --home-dir /var/lib/valkey -g valkey --shell /bin/false valkey" +GROUPADD_PARAM:${PN} = "--system valkey" + +PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd" + +EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}" + +do_compile() { + oe_runmake -C deps libvalkey lua linenoise + oe_runmake +} + +do_install() { + export PREFIX=${D}/${prefix} + oe_runmake install + install -d ${D}/${sysconfdir}/valkey + install -m 0644 ${UNPACKDIR}/valkey.conf ${D}/${sysconfdir}/valkey/valkey.conf + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/init-valkey-server ${D}/${sysconfdir}/init.d/valkey-server + install -d ${D}/var/lib/valkey/ + chown valkey.valkey ${D}/var/lib/valkey/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/valkey.service ${D}${systemd_system_unitdir} + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/valkey.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/valkey/valkey.conf + sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/valkey/valkey.conf + fi +} + + +CONFFILES:${PN} = "${sysconfdir}/valkey/valkey.conf" + +INITSCRIPT_NAME = "valkey-server" +INITSCRIPT_PARAMS = "defaults 87" + +SYSTEMD_SERVICE:${PN} = "valkey.service" + +CVE_STATUS[CVE-2022-3734] = "not-applicable-platform: CVE only applies for Windows." diff --git a/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.11.0.bb b/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.11.0.bb index b901e8815a5..45097624dbf 100644 --- a/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.11.0.bb +++ b/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.11.0.bb @@ -33,3 +33,5 @@ FILES:${PN} += " ${systemd_system_unitdir} " FILES:${PN} += " ${libdir} " FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* " FILES:${PN} += " ${base_libdir}/security/*.so " + +TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.8.1.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.8.1.bb index 815a0b2d0a8..a149134f5aa 100644 --- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.8.1.bb +++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.8.1.bb @@ -50,7 +50,13 @@ EXTRA_OECMAKE:append:class-target = ' -DEGREP="/bin/grep -E"' PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gtk', 'no_gui', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)} \ " -PACKAGECONFIG:append:class-target = " mediactrl ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'webkit', '', d)}" +PACKAGECONFIG:append:class-target = " mediactrl" + +# (x11 OR wayland) AND opengl -> webkit +PACKAGECONFIG:append:class-target = "\ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', \ + bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webkit', '', d),\ + '', d)}" PACKAGECONFIG:class-native ?= "${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gtk', 'no_gui', d)}" diff --git a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb index e624b269419..79b8ee18e75 100644 --- a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb +++ b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb @@ -15,6 +15,8 @@ UPSTREAM_CHECK_COMMITS = "1" inherit autotools +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + AUTOTOOLS_SCRIPT_PATH = "${S}/src" BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb b/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb deleted file mode 100644 index bc637470f98..00000000000 --- a/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "C++ bindings for the atk" -SECTION = "libs" - -LICENSE = "LGPL-2.1-only & GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS = "atk glibmm" - - -inherit gnomebase features_check - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI[archive.sha256sum] = "a0bb49765ceccc293ab2c6735ba100431807d384ffa14c2ebd30e07993fd2fa4" - -EXTRA_OEMESON = "-Dbuild-documentation=false" - -FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/atk/atkmm_2.28.4.bb b/meta-oe/recipes-gnome/atk/atkmm_2.28.4.bb new file mode 100644 index 00000000000..82e4d21f4e0 --- /dev/null +++ b/meta-oe/recipes-gnome/atk/atkmm_2.28.4.bb @@ -0,0 +1,19 @@ +SUMMARY = "C++ bindings for the atk" +SECTION = "libs" + +LICENSE = "LGPL-2.1-only & GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "atk glibmm" + + +inherit gnomebase features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI[archive.sha256sum] = "0a142a8128f83c001efb8014ee463e9a766054ef84686af953135e04d28fdab3" + +EXTRA_OEMESON = "-Dbuild-documentation=false" + +FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4" diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm4_4.20.0.bb b/meta-oe/recipes-gnome/gtk+/gtkmm4_4.20.0.bb index 0e08bed8a10..e0b91f02a93 100644 --- a/meta-oe/recipes-gnome/gtk+/gtkmm4_4.20.0.bb +++ b/meta-oe/recipes-gnome/gtk+/gtkmm4_4.20.0.bb @@ -8,13 +8,13 @@ LIC_FILES_CHKSUM = " \ file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce \ " -DEPENDS = "glib-2.0-native atkmm pangomm-2.48 glibmm gtk4 cairomm-1.16 gdk-pixbuf-native" +DEPENDS = "glib-2.0-native pangomm-2.48 glibmm gtk4 cairomm-1.16 gdk-pixbuf-native" GNOMEBN = "gtkmm" inherit gnomebase features_check -REQUIRED_DISTRO_FEATURES = "opengl x11" +REQUIRED_DISTRO_FEATURES = "opengl" SRC_URI[archive.sha256sum] = "daad9bf9b70f90975f91781fc7a656c923a91374261f576c883cd3aebd59c833" diff --git a/meta-oe/recipes-graphics/feh/feh_3.11.2.bb b/meta-oe/recipes-graphics/feh/feh_3.11.2.bb deleted file mode 100644 index 57c30c3475b..00000000000 --- a/meta-oe/recipes-graphics/feh/feh_3.11.2.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "X11 image viewer aimed mostly at console users" -HOMEPAGE = "https://feh.finalrewind.org/" -SECTION = "x11/utils" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=275a549d1abc07e3bae1d7137f53f602" -DEPENDS = "\ - imlib2 \ - virtual/libx11 libxt\ -" - -SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2" -SRC_URI[sha256sum] = "020f8bce84c709333dcc6ec5fff36313782e0b50662754947c6585d922a7a7b2" - -inherit mime-xdg features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -EXTRA_OEMAKE = "curl=0 xinerama=0 PREFIX=/usr" - -do_compile () { - oe_runmake -} - -do_install () { - oe_runmake install app=1 'DESTDIR=${D}' 'ICON_PREFIX=${D}${datadir}/icons' -} - -RDEPENDS:${PN} += "imlib2-loaders" - -FILES:${PN} += "${datadir}/icons" diff --git a/meta-oe/recipes-graphics/feh/feh_3.12.1.bb b/meta-oe/recipes-graphics/feh/feh_3.12.1.bb new file mode 100644 index 00000000000..2ac504a551d --- /dev/null +++ b/meta-oe/recipes-graphics/feh/feh_3.12.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "X11 image viewer aimed mostly at console users" +HOMEPAGE = "https://feh.finalrewind.org/" +SECTION = "x11/utils" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=275a549d1abc07e3bae1d7137f53f602" +DEPENDS = "\ + imlib2 \ + virtual/libx11 libxt\ +" + +SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2" +SRC_URI[sha256sum] = "6772f48e7956a16736e4c165a8367f357efc413b895f5b04133366e01438f95d" + +inherit mime-xdg features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OEMAKE = "curl=0 xinerama=0 PREFIX=/usr" + +do_compile () { + oe_runmake +} + +do_install () { + oe_runmake install app=1 'DESTDIR=${D}' 'ICON_PREFIX=${D}${datadir}/icons' +} + +RDEPENDS:${PN} += "imlib2-loaders" + +FILES:${PN} += "${datadir}/icons" diff --git a/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver/cmake.patch b/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver/cmake.patch new file mode 100644 index 00000000000..03673ce323b --- /dev/null +++ b/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver/cmake.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Sommer?= +Date: Tue, 21 Apr 2026 20:20:42 +0200 +Subject: [PATCH] CMakeLists: Raise minimum version to 3.10 + +CMake 4 requires at least 3.5, but suggests 3.10. + +Signed-off-by: Jörg Sommer +Upstream-Status: Submitted [https://github.com/ponty/framebuffer-vncserver/pull/30] +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c8b8f90..d342734 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,5 @@ + PROJECT(framebuffer-vncserver) +-CMAKE_MINIMUM_REQUIRED(VERSION 2.6) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.10) + + + FILE(GLOB SOURCES src/*.c) diff --git a/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver_git.bb b/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver_git.bb new file mode 100644 index 00000000000..d7ce066cb2a --- /dev/null +++ b/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver_git.bb @@ -0,0 +1,28 @@ +SUMMARY = "VNC server for Linux framebuffer devices" +DESCRIPTION = "\ + The goal is to access remote embedded Linux systems without X. Implemented \ + features: remote display, touchscreen, keyboard, rotation. Not implemented: \ + file transfer, ... \ +" +HOMEPAGE = "https://github.com/ponty/framebuffer-vncserver" +BUGTRACKER = "https://github.com/ponty/framebuffer-vncserver/issues" +SECTION = "graphics" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022" + +DEPENDS = "libvncserver" + +SRC_URI = "\ + git://github.com/ponty/framebuffer-vncserver.git;protocol=https;branch=master \ + file://cmake.patch \ +" +SRCREV = "1963e57bebfde420baeecbb2c6848a2382488413" + +inherit cmake systemd + +do_install:append() { + install -m 644 -D -t ${D}${systemd_system_unitdir} ${S}/fbvnc.service +} + +SYSTEMD_SERVICE:${PN} = "fbvnc.service" diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch deleted file mode 100644 index e0c3de469ae..00000000000 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 366930ccc1a261c3eb883da2bf3c655162ccd75f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 1 Mar 2023 22:58:37 -0800 -Subject: [PATCH] Match prototypes of callbacks with libgphoto - -In https://github.com/gphoto/gphoto2/pull/535/commits/ccc4c1f092bd21ebc713f4d7b9be85be49f92f1e -we tried to fix by using pthread_t but it also needs to make changes in -libgphoto and these changes can be invasive, therefore lets revert to -older types and to fix musl problem fix it via type casts - -Upstream-Status: Backport [https://github.com/gphoto/gphoto2/pull/569] -Signed-off-by: Khem Raj ---- - gphoto2/main.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gphoto2/main.c b/gphoto2/main.c -index 0dac947..cd3c990 100644 ---- a/gphoto2/main.c -+++ b/gphoto2/main.c -@@ -1198,7 +1198,7 @@ thread_func (void *data) - pthread_cleanup_pop (1); - } - --static pthread_t -+static unsigned int - start_timeout_func (Camera *camera, unsigned int timeout, - CameraTimeoutFunc func, void __unused__ *data) - { -@@ -1215,14 +1215,14 @@ start_timeout_func (Camera *camera, unsigned int timeout, - - pthread_create (&tid, NULL, thread_func, td); - -- return (tid); -+ return (unsigned int)tid; - } - - static void --stop_timeout_func (Camera __unused__ *camera, pthread_t id, -+stop_timeout_func (Camera __unused__ *camera, unsigned int id, - void __unused__ *data) - { -- pthread_t tid = id; -+ pthread_t tid = (pthread_t)id; - - pthread_cancel (tid); - pthread_join (tid, NULL); --- -2.39.2 - diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch index 3d54d58e188..bd916e339ac 100644 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch +++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch @@ -14,13 +14,13 @@ Signed-off-by: Khem Raj --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,9 @@ AC_PROG_INSTALL - AC_SYS_LARGEFILE + ]) - GP_CONFIG_MSG([Compiler],[${CC}]) --AC_DEFINE_UNQUOTED([HAVE_CC],"$CC",[The C compiler we're using]) + GP_CONFIG_MSG([Compiler], [${CC}]) +-AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC"], [The C compiler we are using]) +CC_NO_SYSROOT=`echo $CC | sed -e \ + 's|--sysroot=.*\b||g'` -+AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"], [The C compiler we're using]) ++AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"], [The C compiler we are using]) dnl AC_STRUCT_TIMEZONE diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch index 14976ffb72c..358dbbb51a4 100644 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch +++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch @@ -14,10 +14,10 @@ Upstream-Status: Pending --- a/configure.ac +++ b/configure.ac @@ -46,7 +46,6 @@ dnl i18n support - dnl --------------------------------------------------------------------------- - GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}]) - ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW" + GP_GETTEXT_SETUP([GETTEXT_PACKAGE_GPHOTO2], + [gphoto2], + [po]) -AM_PO_SUBDIRS() - AM_GNU_GETTEXT_VERSION([0.14.1]) + AM_GNU_GETTEXT_VERSION([0.19.1]) AM_GNU_GETTEXT([external]) AM_ICONV() diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch deleted file mode 100644 index a27c02cefca..00000000000 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 23c67e93e51f700d0aeecfc08277e39f51201fc3 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 2 Sep 2022 12:59:46 -0700 -Subject: [PATCH] gphoto2: Use pthread_t abstract type for thead IDs - -This is not a plain old datatype in every libc, e.g. with musl this -would fail in type conversion - -Upstream-Status: Submitted [https://github.com/gphoto/gphoto2/pull/535] -Signed-off-by: Khem Raj ---- - gphoto2/main.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gphoto2/main.c b/gphoto2/main.c -index 2bf5964..9a6b05d 100644 ---- a/gphoto2/main.c -+++ b/gphoto2/main.c -@@ -1198,7 +1198,7 @@ thread_func (void *data) - pthread_cleanup_pop (1); - } - --static unsigned int -+static pthread_t - start_timeout_func (Camera *camera, unsigned int timeout, - CameraTimeoutFunc func, void __unused__ *data) - { -@@ -1219,7 +1219,7 @@ start_timeout_func (Camera *camera, unsigned int timeout, - } - - static void --stop_timeout_func (Camera __unused__ *camera, unsigned int id, -+stop_timeout_func (Camera __unused__ *camera, pthread_t id, - void __unused__ *data) - { - pthread_t tid = id; --- -2.37.3 - diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-fix-const-qualifier-violations.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-fix-const-qualifier-violations.patch new file mode 100644 index 00000000000..a8f85d034c1 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-fix-const-qualifier-violations.patch @@ -0,0 +1,73 @@ +From 55edc241e9b61b14153c61fd0baaefac927ad89f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 21 Apr 2026 17:39:43 -0700 +Subject: [PATCH] gphoto2: fix const qualifier violations +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +No logic is changed. The patch is a pure +type-correctness fix that makes the variable +declarations match the actual semantics — +const char * for pointers into string literals +or function parameters that must not be mutated, +and char * only for owned heap memory. This +satisfies Clang's strict qualifier checking without +needing any casts or warning suppressions. + +Fixes errors seen on clang with + -Werror,-Wincompatible-pointer-types-discards-qualifiers + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + gphoto2/main.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/gphoto2/main.c b/gphoto2/main.c +index 5a3c5c1..086f9df 100644 +--- a/gphoto2/main.c ++++ b/gphoto2/main.c +@@ -146,7 +146,8 @@ static int + get_path_for_file (const char *folder, const char *name, CameraFileType type, CameraFile *file, char **path) + { + unsigned int i, l; +- char *s = NULL, b[1024]; ++ const char *s = NULL; ++ char *p = NULL; char b[1024]; + time_t t = 0; + struct tm *tm; + int hour12; +@@ -339,18 +340,18 @@ get_path_for_file (const char *folder, const char *name, CameraFileType type, Ca + b[1] = '\0'; + } + +- s = *path ? realloc (*path, strlen (*path) + strlen (b) + 1) : ++ p = *path ? realloc (*path, strlen (*path) + strlen (b) + 1) : + malloc (strlen (b) + 1); +- if (!s) { ++ if (!p) { + free (*path); + *path = NULL; + return (GP_ERROR_NO_MEMORY); + } + if (*path) { +- *path = s; ++ *path = p; + strcat (*path, b); + } else { +- *path = s; ++ *path = p; + strcpy (*path, b); + } + } +@@ -696,7 +697,8 @@ dissolve_filename ( + const char *folder, const char *filename, + char **newfolder, char **newfilename + ) { +- char *nfolder, *s; ++ char *nfolder; ++ const char *s; + + s = strrchr (filename, '/'); + if (!s) { diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb deleted file mode 100644 index 40409ed3880..00000000000 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "gphoto2 - a command-line frontend to libgphoto2" -HOMEPAGE = "http://www.gphoto.com/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -DEPENDS = "libgphoto2 popt readline" -RDEPENDS:gphoto2 = "libgphoto2" - -SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.bz2;name=gphoto2 \ - file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ - file://0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch \ - file://0001-Match-prototypes-of-callbacks-with-libgphoto.patch \ - file://0001-configure-Filter-out-buildpaths-from-CC.patch \ -" -SRC_URI[gphoto2.sha256sum] = "2a648dcdf12da19e208255df4ebed3e7d2a02f905be4165f2443c984cf887375" - -inherit autotools pkgconfig gettext - -EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \ - --without-cdk \ -" diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb new file mode 100644 index 00000000000..dbd2b0e748f --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb @@ -0,0 +1,20 @@ +SUMMARY = "gphoto2 - a command-line frontend to libgphoto2" +HOMEPAGE = "http://www.gphoto.com/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +DEPENDS = "libgphoto2 popt readline" +RDEPENDS:gphoto2 = "libgphoto2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.bz2;name=gphoto2 \ + file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ + file://0001-configure-Filter-out-buildpaths-from-CC.patch \ + file://0001-gphoto2-fix-const-qualifier-violations.patch \ +" +SRC_URI[gphoto2.sha256sum] = "4e379a0f12f72b49ee5ee2283ffd806b5d12d099939d75197a3f4bbc7f27a1a1" + +inherit autotools pkgconfig gettext + +EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \ + --without-cdk \ +" diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-libgphoto2-fix-const-correctness-for-c23-builds.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-libgphoto2-fix-const-correctness-for-c23-builds.patch new file mode 100644 index 00000000000..9ded1740953 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-libgphoto2-fix-const-correctness-for-c23-builds.patch @@ -0,0 +1,84 @@ +From bfa786a260bfd4660e8186ebad8778718e85e8cd Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 4 Apr 2026 14:56:01 -0700 +Subject: [PATCH] libgphoto2: fix const-correctness for c23 builds + +C23 treats the return values of strrchr() and strchr() as const char * +when the input string is const-qualified. Update local variables to use +const char * where appropriate to avoid discarded-qualifier warnings and +build failures with -std=gnu23. + +No functional change intended. + +Upstream-Status: Submitted [https://github.com/gphoto/libgphoto2/pull/1235] +Signed-off-by: Khem Raj +--- + camlibs/directory/directory.c | 2 +- + libgphoto2/gphoto2-file.c | 6 +++--- + libgphoto2/gphoto2-filesys.c | 2 +- + packaging/generic/print-camera-list.c | 2 +- + 4 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/camlibs/directory/directory.c b/camlibs/directory/directory.c +index 790405d54..cc63c6684 100644 +--- a/camlibs/directory/directory.c ++++ b/camlibs/directory/directory.c +@@ -125,7 +125,7 @@ static const char * + get_mime_type (const char *filename) + { + +- char *dot; ++ const char *dot; + int x=0; + + dot = strrchr(filename, '.'); +diff --git a/libgphoto2/gphoto2-file.c b/libgphoto2/gphoto2-file.c +index 04d4d5e3e..1a9dbc193 100644 +--- a/libgphoto2/gphoto2-file.c ++++ b/libgphoto2/gphoto2-file.c +@@ -610,7 +610,7 @@ int + gp_file_open (CameraFile *file, const char *filename) + { + FILE *fp; +- char *name, *dot; ++ const char *name, *dot; + long size, size_read; + int i; + struct stat s; +@@ -906,8 +906,8 @@ gp_file_get_name (CameraFile *file, const char **name) + int + gp_file_get_name_by_type (CameraFile *file, const char *basename, CameraFileType type, char **newname) + { +- char *prefix = NULL, *s, *new, *slash = NULL; +- const char *suffix = NULL; ++ char *prefix = NULL, *new; ++ const char *suffix = NULL, *s, *slash = NULL; + int i; + + C_PARAMS (file && basename && newname); +diff --git a/libgphoto2/gphoto2-filesys.c b/libgphoto2/gphoto2-filesys.c +index 45f957292..07decff24 100644 +--- a/libgphoto2/gphoto2-filesys.c ++++ b/libgphoto2/gphoto2-filesys.c +@@ -521,7 +521,7 @@ append_to_folder (CameraFilesystemFolder *folder, + CameraFilesystemFolder **newfolder + ) { + CameraFilesystemFolder *f; +- char *s; ++ const char *s; + + GP_LOG_D ("Append to folder %p/%s - %s", folder, folder->name, foldername); + /* Handle multiple slashes, and slashes at the end */ +diff --git a/packaging/generic/print-camera-list.c b/packaging/generic/print-camera-list.c +index 1707b4e87..44530b4ae 100644 +--- a/packaging/generic/print-camera-list.c ++++ b/packaging/generic/print-camera-list.c +@@ -1138,7 +1138,7 @@ escape_html(const char *str) { + newstr = malloc(strlen(str)+1+inc); + s = str; ns = newstr; + do { +- char *x; ++ const char *x; + x = strchr(s,'&'); + if (x) { + memcpy (ns, s, x-s); diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch new file mode 100644 index 00000000000..77c307e88d5 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch @@ -0,0 +1,150 @@ +From 8fefd2da7b9e2c7c448086cd251b108c0ebf1262 Mon Sep 17 00:00:00 2001 +From: Marcus Meissner +Date: Wed, 8 Apr 2026 15:18:42 +0200 +Subject: [PATCH] Fixed EOS ImageFormat/CustomFuncEx Parsers Lack Length + Parameter +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +ptp_unpack_EOS_ImageFormat() and ptp_unpack_EOS_CustomFuncEx() accept +const unsigned char** data but no length/size parameter. They perform +unbounded reads via dtoh32o calls (up to 36 bytes for ImageFormat, +up to 1024 bytes for CustomFuncEx). Callers in ptp_unpack_EOS_events() +have xsize available but never pass it. + + CVE-2026-40333 + +Reported-By: Sebastián Alba + +CVE: CVE-2026-40333 +Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/1817ecead20c2aafa7549dac9619fe38f47b2f53] +Signed-off-by: Gyorgy Sarvari +--- + camlibs/ptp2/ptp-pack.c | 53 ++++++++++++++++++++++++++++++++++------- + 1 file changed, 44 insertions(+), 9 deletions(-) + +diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c +index 09421b7..09dcc24 100644 +--- a/camlibs/ptp2/ptp-pack.c ++++ b/camlibs/ptp2/ptp-pack.c +@@ -1448,7 +1448,7 @@ ptp_unpack_Canon_EOS_FE (PTPParams *params, const unsigned char* data, unsigned + + + static inline uint16_t +-ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data ) ++ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data, unsigned int *size ) + { + /* + EOS ImageFormat entries look are a sequence of u32 values: +@@ -1492,30 +1492,57 @@ ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data ) + + const uint8_t* d = *data; + uint32_t offset = 0; +- uint32_t n = dtoh32o (d, offset); ++ uint32_t n; + uint32_t l, t1, s1, c1, t2 = 0, s2 = 0, c2 = 0; + ++ if (*size < sizeof(uint32_t)) { ++ ptp_debug (params, "parsing EOS ImageFormat property failed 1 (size %d)", *size); ++ return 0; ++ } ++ n = dtoh32o (d, offset); ++ *size -= sizeof(uint32_t); ++ + if (n != 1 && n !=2) { + ptp_debug (params, "parsing EOS ImageFormat property failed (n != 1 && n != 2: %d)", n); + return 0; + } +- ++ if (*size < sizeof(uint32_t)) { ++ ptp_debug (params, "parsing EOS ImageFormat property failed 2 (size %d)", *size); ++ return 0; ++ } + l = dtoh32o (d, offset); ++ *size -= sizeof(uint32_t); ++ + if (l != 0x10) { + ptp_debug (params, "parsing EOS ImageFormat property failed (l != 0x10: 0x%x)", l); + return 0; + } + ++ if (*size < 3*sizeof(uint32_t)) { ++ ptp_debug (params, "parsing EOS ImageFormat property failed 3 (size %d)", *size); ++ return 0; ++ } + t1 = dtoh32o (d, offset); + s1 = dtoh32o (d, offset); + c1 = dtoh32o (d, offset); ++ *size -= 3*sizeof(uint32_t); + + if (n == 2) { ++ if (*size < sizeof(uint32_t)) { ++ ptp_debug (params, "parsing EOS ImageFormat property failed 4 (size %d)", *size); ++ return 0; ++ } + l = dtoh32o (d, offset); ++ *size -= sizeof(uint32_t); ++ + if (l != 0x10) { + ptp_debug (params, "parsing EOS ImageFormat property failed (l != 0x10: 0x%x)", l); + return 0; + } ++ if (*size < 3*sizeof(uint32_t)) { ++ ptp_debug (params, "parsing EOS ImageFormat property failed 5 (size %d)", *size); ++ return 0; ++ } + t2 = dtoh32o (d, offset); + s2 = dtoh32o (d, offset); + c2 = dtoh32o (d, offset); +@@ -1668,12 +1695,20 @@ ptp_unpack_EOS_FocusInfoEx (PTPParams* params, const unsigned char** data, uint3 + + + static inline char* +-ptp_unpack_EOS_CustomFuncEx (PTPParams* params, const unsigned char** data ) ++ptp_unpack_EOS_CustomFuncEx (PTPParams* params, const unsigned char** data, unsigned int *size ) + { +- uint32_t s = dtoh32a( *data ); +- uint32_t n = s/4, i; ++ uint32_t s, n, i; + char *str, *p; + ++ if (*size < sizeof(uint32_t)) ++ return strdup("bad length"); ++ ++ s = dtoh32a( *data ); ++ n = s/4; ++ ++ if (*size < 4+s) ++ return strdup("bad length"); ++ + if (s > 1024) { + ptp_debug (params, "customfuncex data is larger than 1k / %d... unexpected?", s); + return strdup("bad length"); +@@ -1962,7 +1997,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in + case PTP_DPC_CANON_EOS_ImageFormatExtHD: + /* special handling of ImageFormat properties */ + for (j=0;jFORM.Enum.SupportedValue[j].u16 = ptp_unpack_EOS_ImageFormat( params, &xdata ); ++ dpd->FORM.Enum.SupportedValue[j].u16 = ptp_unpack_EOS_ImageFormat( params, &xdata, &xsize ); + ptp_debug (params, INDENT "prop %x option[%2d] == 0x%04x", dpc, j, dpd->FORM.Enum.SupportedValue[j].u16); + } + break; +@@ -2267,7 +2302,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in + case PTP_DPC_CANON_EOS_ImageFormatSD: + case PTP_DPC_CANON_EOS_ImageFormatExtHD: + dpd->DataType = PTP_DTC_UINT16; +- dpd->DefaultValue.u16 = ptp_unpack_EOS_ImageFormat( params, &xdata ); ++ dpd->DefaultValue.u16 = ptp_unpack_EOS_ImageFormat( params, &xdata, &xsize ); + dpd->CurrentValue.u16 = dpd->DefaultValue.u16; + ptp_debug (params, INDENT "prop %x value == 0x%04x (u16)", dpc, dpd->CurrentValue.u16); + break; +@@ -2275,7 +2310,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in + dpd->DataType = PTP_DTC_STR; + free (dpd->DefaultValue.str); + free (dpd->CurrentValue.str); +- dpd->DefaultValue.str = ptp_unpack_EOS_CustomFuncEx( params, &xdata ); ++ dpd->DefaultValue.str = ptp_unpack_EOS_CustomFuncEx( params, &xdata, &xsize ); + dpd->CurrentValue.str = strdup( (char*)dpd->DefaultValue.str ); + ptp_debug (params, INDENT "prop %x value == %s", dpc, dpd->CurrentValue.str); + break; diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch new file mode 100644 index 00000000000..883582dff02 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch @@ -0,0 +1,37 @@ +From 20b33a26b2efdbf2c35c5cacc54a041855ec764b Mon Sep 17 00:00:00 2001 +From: Marcus Meissner +Date: Wed, 8 Apr 2026 15:15:54 +0200 +Subject: [PATCH] Fixed Canon FolderEntry Missing Null Termination +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +ptp_unpack_Canon_FE() copies filename with strncpy into a 13-byte +buffer without explicit null termination. The EOS variant at line +1451–1452 correctly adds fe->Filename[PTP_CANON_FilenameBufferLen-1] += 0; confirming this was recognized as necessary but not applied to the +original Canon path. + + CVE-2026-40334 + +Reported-By: Sebastián Alba + +CVE: CVE-2026-40334 +Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/259fc7d3bfe534ce4b114c464f55b448670ab873] +Signed-off-by: Gyorgy Sarvari +--- + camlibs/ptp2/ptp-pack.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c +index 09dcc24..982b4f4 100644 +--- a/camlibs/ptp2/ptp-pack.c ++++ b/camlibs/ptp2/ptp-pack.c +@@ -1369,6 +1369,7 @@ ptp_unpack_Canon_FE (PTPParams *params, const unsigned char* data, PTPCANONFolde + fe->ObjectSize = dtoh32a(data + PTP_cfe_ObjectSize); + fe->Time = (time_t)dtoh32a(data + PTP_cfe_Time); + strncpy(fe->Filename, (char*)data + PTP_cfe_Filename, PTP_CANON_FilenameBufferLen); ++ fe->Filename[PTP_CANON_FilenameBufferLen-1] = '\0'; + } + + /* diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch new file mode 100644 index 00000000000..dfe832e6c85 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch @@ -0,0 +1,43 @@ +From edcdf804662eb4340fdc371af4853d6579e969ab Mon Sep 17 00:00:00 2001 +From: Marcus Meissner +Date: Wed, 8 Apr 2026 15:07:38 +0200 +Subject: [PATCH] =?UTF-8?q?Fixed=20UINT128/INT128=20Unchecked=20Offset=20A?= + =?UTF-8?q?dvance=20(CWE-125)=20=E2=80=94=20MEDIUM?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Finding 5: UINT128/INT128 Unchecked Offset Advance (CWE-125) — MEDIUM + +In ptp_unpack_DPV(), the PTP_DTC_UINT128 and PTP_DTC_INT128 cases advance *offset += 16 without verifying 16 bytes remain. The entry check at line 609 only guarantees *offset < total (at least 1 byte available). After the unchecked advance, *offset can exceed total, and the CTVAL macro's bounds check (total - *offset < sizeof(target)) wraps due to unsigned arithmetic. + +CVE-2026-40335 + +Reported-By: Sebastián Alba + +CVE: CVE-2026-40335 +Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/433bde9888d70aa726e32744cd751d7dbe94379a] +Signed-off-by: Gyorgy Sarvari +--- + camlibs/ptp2/ptp-pack.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c +index 982b4f4..7fc120d 100644 +--- a/camlibs/ptp2/ptp-pack.c ++++ b/camlibs/ptp2/ptp-pack.c +@@ -614,10 +614,14 @@ ptp_unpack_DPV ( + case PTP_DTC_UINT64: CTVAL(value->u64,dtoh64a); break; + + case PTP_DTC_UINT128: ++ if (total - *offset < 16) ++ return 0; + *offset += 16; + /*fprintf(stderr,"unhandled unpack of uint128n");*/ + break; + case PTP_DTC_INT128: ++ if (total - *offset < 16) ++ return 0; + *offset += 16; + /*fprintf(stderr,"unhandled unpack of int128n");*/ + break; diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch new file mode 100644 index 00000000000..1a809b4f25c --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch @@ -0,0 +1,44 @@ +From e19c45d3530f1585805711e14aa4ea788e499f46 Mon Sep 17 00:00:00 2001 +From: Marcus Meissner +Date: Wed, 8 Apr 2026 15:13:51 +0200 +Subject: [PATCH] Fixed Sony DPD Secondary Enum List Memory Leak +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Finding 4: Sony DPD Secondary Enum List Memory Leak (CWE-401) — LOW + +File: ptp-pack.c:884-885 + +When processing a secondary enumeration list (2024+ Sony cameras), line +884–885 overwrites dpd->FORM.Enum.SupportedValue with a new calloc() +without freeing the previous allocation from line 857. The original +array and any string values it contains are leaked. + +CVE-2026-40336 + +Reported-By: Sebastián Alba + +CVE: CVE-2026-40336 +Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/404ff02c75f3cb280196fc260a63c4d26cf1a8f6] +Signed-off-by: Gyorgy Sarvari +--- + camlibs/ptp2/ptp-pack.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c +index 7fc120d..fc51d77 100644 +--- a/camlibs/ptp2/ptp-pack.c ++++ b/camlibs/ptp2/ptp-pack.c +@@ -879,6 +879,11 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp + /* check if we have a secondary list of items, this is for newer Sonys (2024) */ + if (val < 0x200) { /* if a secondary list is not provided, this will be the next property code - 0x5XXX or 0xDxxx */ + if (dpd->FormFlag == PTP_DPFF_Enumeration) { ++ /* free old enum variables */ ++ for (i=0;iFORM.Enum.NumberOfValues;i++) ++ ptp_free_propvalue (dpd->DataType, dpd->FORM.Enum.SupportedValue+i); ++ free (dpd->FORM.Enum.SupportedValue); ++ + N = dtoh16o(data, *poffset); + dpd->FORM.Enum.SupportedValue = calloc(N,sizeof(dpd->FORM.Enum.SupportedValue[0])); + if (!dpd->FORM.Enum.SupportedValue) diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch new file mode 100644 index 00000000000..9f233f2ec93 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch @@ -0,0 +1,34 @@ +From 43cc20e807cd2935869617a7d8b9488070712c0e Mon Sep 17 00:00:00 2001 +From: Marcus Meissner +Date: Sat, 11 Apr 2026 10:47:52 +0200 +Subject: [PATCH] =?UTF-8?q?Fixed=20Sony=20DPD=20Enum=20Count=20OOB=20Read?= + =?UTF-8?q?=20(CWE-125)=20=E2=80=94=20MEDIUM?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In the PTP_DPFF_Enumeration case of ptp_unpack_Sony_DPD(), dtoh16o(data, *poffset) reads 2 bytes for enumeration count N without verifying 2 bytes remain. The standard parser at line 704 has this check. + +CVE-2026-40338 + +Reported-By: Sebastián Alba + +CVE: CVE-2026-40338 +Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/3b9f9696be76ae51dca983d9dd8ce586a2561845] +Signed-off-by: Gyorgy Sarvari +--- + camlibs/ptp2/ptp-pack.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c +index fc51d77..f90d2a5 100644 +--- a/camlibs/ptp2/ptp-pack.c ++++ b/camlibs/ptp2/ptp-pack.c +@@ -851,6 +851,7 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp + break; + case PTP_DPFF_Enumeration: { + #define N dpd->FORM.Enum.NumberOfValues ++ if (*poffset + sizeof(uint16_t) > dpdlen) goto outofmemory; + N = dtoh16o(data, *poffset); + dpd->FORM.Enum.SupportedValue = calloc(N,sizeof(dpd->FORM.Enum.SupportedValue[0])); + if (!dpd->FORM.Enum.SupportedValue) diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch new file mode 100644 index 00000000000..b00ac72772e --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch @@ -0,0 +1,41 @@ +From 585e8113b541469347d09c341c2e8b468b431adb Mon Sep 17 00:00:00 2001 +From: Marcus Meissner +Date: Sat, 11 Apr 2026 10:50:47 +0200 +Subject: [PATCH] =?UTF-8?q?Fixed=20Sony=20DPD=20FormFlag=20OOB=20Read=20(C?= + =?UTF-8?q?WE-125)=20=E2=80=94=20MEDIUM?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +ptp_unpack_Sony_DPD() reads the FormFlag byte via dtoh8o(data, *poffset) +without a prior bounds check. The standard ptp_unpack_DPD() at line +686–687 correctly validates *offset + sizeof(uint8_t) > dpdlen before +this same read, but the Sony variant omits this check. + +CVE-2026-40339 + +Reported-By: Sebastián Alba + +CVE: CVE-2026-40339 +Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/09f8a940b1e418b5693f5c11e3016a1ad2cea62d] +Signed-off-by: Gyorgy Sarvari +--- + camlibs/ptp2/ptp-pack.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c +index f90d2a5..28648a5 100644 +--- a/camlibs/ptp2/ptp-pack.c ++++ b/camlibs/ptp2/ptp-pack.c +@@ -833,9 +833,10 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp + code or the Data Type is a string (with two empty strings as + values). In both cases Form Flag should be set to 0x00 and FORM is + not present. */ +- + if (*poffset==PTP_dpd_Sony_DefaultValue) + return 1; ++ if (*poffset + sizeof(uint8_t) > dpdlen) ++ return 1; + + dpd->FormFlag = dtoh8o(data, *poffset); + ptp_debug (params, "formflag 0x%04x", dpd->FormFlag); diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch new file mode 100644 index 00000000000..a0852692b05 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch @@ -0,0 +1,40 @@ +From fd9f234df894caec6c65144b5a4f0264aadf0989 Mon Sep 17 00:00:00 2001 +From: Marcus Meissner +Date: Wed, 8 Apr 2026 16:01:48 +0200 +Subject: [PATCH] Fixed ObjectInfo Parser OOB Read +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +ptp_unpack_OI() validates len < PTP_oi_SequenceNumber (i.e., len < 48) but then accesses: + + Offsets 48–51: dtoh32a(data + PTP_oi_SequenceNumber) at line 563 (4 bytes OOB) + Offset 52: data[PTP_oi_filenamelen] at line 547 (5 bytes OOB) + Offset 56: data[PTP_oi_filenamelen+4] at line 547 (9 bytes OOB) + +The Samsung Galaxy 64-bit objectsize detection heuristic reads up to 9 bytes beyond the validated boundary. + + CVE-2026-40340 + +Reported-By: Sebastián Alba + +CVE: CVE-2026-40340 +Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/7c7f515bc88c3d0c4098ac965d313518e0ccbe33] +Signed-off-by: Gyorgy Sarvari +--- + camlibs/ptp2/ptp-pack.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c +index 28648a5..9eba06f 100644 +--- a/camlibs/ptp2/ptp-pack.c ++++ b/camlibs/ptp2/ptp-pack.c +@@ -526,7 +526,7 @@ ptp_unpack_OI (PTPParams *params, const unsigned char* data, PTPObjectInfo *oi, + { + char *capture_date; + +- if (!data || len < PTP_oi_SequenceNumber) ++ if (!data || len < PTP_oi_filenamelen + 5) + return; + + oi->Filename = oi->Keywords = NULL; diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch new file mode 100644 index 00000000000..b71792c1851 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch @@ -0,0 +1,69 @@ +From 3674dbeafa5157a264ca5e562ffdbef159a2185f Mon Sep 17 00:00:00 2001 +From: Marcus Meissner +Date: Wed, 8 Apr 2026 15:28:52 +0200 +Subject: [PATCH] Fixed OOB read in ptp_unpack_EOS_FocusInfoEx + +Do not read out values before checking there is sufficient size + +CVE-2026-40341 + +CVE: CVE-2026-40341 +Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/c385b34af260595dfbb5f9329526be5158985987] +Signed-off-by: Gyorgy Sarvari +--- + camlibs/ptp2/ptp-pack.c | 34 +++++++++++++++++++++++++--------- + 1 file changed, 25 insertions(+), 9 deletions(-) + +diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c +index 9eba06f..11428ab 100644 +--- a/camlibs/ptp2/ptp-pack.c ++++ b/camlibs/ptp2/ptp-pack.c +@@ -1629,23 +1629,39 @@ ptp_pack_EOS_ImageFormat (PTPParams* params, unsigned char* data, uint16_t value + static inline char* + ptp_unpack_EOS_FocusInfoEx (PTPParams* params, const unsigned char** data, uint32_t datasize) + { +- uint32_t size = dtoh32a( *data ); +- uint32_t halfsize = dtoh16a( (*data) + 4); +- uint32_t version = dtoh16a( (*data) + 6); +- uint32_t focus_points_in_struct = dtoh16a( (*data) + 8); +- uint32_t focus_points_in_use = dtoh16a( (*data) + 10); +- uint32_t sizeX = dtoh16a( (*data) + 12); +- uint32_t sizeY = dtoh16a( (*data) + 14); +- uint32_t size2X = dtoh16a( (*data) + 16); +- uint32_t size2Y = dtoh16a( (*data) + 18); ++ uint32_t size; ++ uint32_t halfsize; ++ uint32_t version; ++ uint32_t focus_points_in_struct; ++ uint32_t focus_points_in_use; ++ uint32_t sizeX; ++ uint32_t sizeY; ++ uint32_t size2X; ++ uint32_t size2Y; + uint32_t i; + uint32_t maxlen; + char *str, *p; + ++ if (datasize<4) { ++ ptp_error(params, "FocusInfoEx has invalid size (%d)", datasize); ++ return strdup("bad size 0"); ++ } ++ ++ size = dtoh32a( *data ); + if ((size > datasize) || (size < 20)) { + ptp_error(params, "FocusInfoEx has invalid size (%d) vs datasize (%d)", size, datasize); + return strdup("bad size 1"); + } ++ ++ halfsize = dtoh16a( (*data) + 4); ++ version = dtoh16a( (*data) + 6); ++ focus_points_in_struct = dtoh16a( (*data) + 8); ++ focus_points_in_use = dtoh16a( (*data) + 10); ++ sizeX = dtoh16a( (*data) + 12); ++ sizeY = dtoh16a( (*data) + 14); ++ size2X = dtoh16a( (*data) + 16); ++ size2Y = dtoh16a( (*data) + 18); ++ + /* If data is zero-filled, then it is just a placeholder, so nothing + useful, but also not an error */ + if (!focus_points_in_struct || !focus_points_in_use) { diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb index 6b5e6c21b93..04c4786f848 100644 --- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb @@ -12,7 +12,16 @@ DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2" SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.xz;name=libgphoto2 \ file://40-libgphoto2.rules \ file://0001-configure-Filter-out-buildpaths-from-CC.patch \ -" + file://0001-libgphoto2-fix-const-correctness-for-c23-builds.patch \ + file://CVE-2026-40333.patch \ + file://CVE-2026-40334.patch \ + file://CVE-2026-40335.patch \ + file://CVE-2026-40336.patch \ + file://CVE-2026-40338.patch \ + file://CVE-2026-40339.patch \ + file://CVE-2026-40340.patch \ + file://CVE-2026-40341.patch \ + " SRC_URI[libgphoto2.sha256sum] = "28825f767a85544cb58f6e15028f8e53a5bb37a62148b3f1708b524781c3bef2" UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gphoto/files/libgphoto/" diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.2.bb b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.2.bb deleted file mode 100644 index 9a1d9927cec..00000000000 --- a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.2.bb +++ /dev/null @@ -1,120 +0,0 @@ -SUMMARY = "Graph Visualization Tools" -HOMEPAGE = "http://www.graphviz.org" -LICENSE = "EPL-1.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04" - -DEPENDS = " \ - bison-native \ - groff-native \ - libtool \ - gdk-pixbuf \ - cairo \ - pango \ - expat \ - freetype \ -" -DEPENDS:append:class-target = " ${BPN}-native" -DEPENDS:append:class-nativesdk = " ${BPN}-native" - -inherit autotools-brokensep pkgconfig gettext qemu - -SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \ - " -SRC_URI:append:class-nativesdk = "\ - file://graphviz-setup.sh \ -" -SRC_URI[sha256sum] = "65572cd29317cfb96eac8434fac1d8861c905e9b761bd0442beb2cfcc0211354" - -UPSTREAM_CHECK_URI = "https://graphviz.org/download/" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" - -PACKAGECONFIG ??= "librsvg" -PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg" - -EXTRA_OECONF:append = " PS2PDF=/bin/echo --disable-man-pdfs" - -EXTRA_OECONF:class-target = "\ - --with-expatincludedir=${STAGING_INCDIR} \ - --with-expatlibdir=${STAGING_LIBDIR} \ - --without-included-ltdl \ - --disable-java \ - --disable-perl \ - --disable-tcl \ - --disable-r \ - --disable-sharp \ - " -EXTRA_OECONF:class-nativesdk = "\ - --with-expatincludedir=${STAGING_INCDIR} \ - --with-expatlibdir=${STAGING_LIBDIR} \ - --without-included-ltdl \ - --disable-java \ - --disable-tcl \ - --disable-r \ - --disable-sharp \ - " -EXTRA_OECONF:class-native = "\ - --disable-tcl \ - " -CFLAGS:append:class-target = " -D_typ_ssize_t=1 -D_long_double=1" -CFLAGS:append:class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1" -do_configure:prepend() { - cd ${S} - # create version.m4 and ignore libtoolize errors - ./autogen.sh NOCONFIG || true -} - -do_install:append:class-nativesdk() { - # graphviz-setup.sh must be executed at SDK installation - install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d - install -m 0755 ${UNPACKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d -} -FILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}" - -# create /usr/lib/graphviz/config6 -graphviz_sstate_postinst() { - mkdir -p ${SYSROOT_DESTDIR}${bindir} - dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN} - echo '#!/bin/sh' > $dest - echo '' >> $dest - echo 'dot -c' >> $dest - chmod 0755 $dest -} -SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst" - -pkg_postinst:${PN} () { - if [ -n "$D" ]; then - if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then - ${@qemu_run_binary(d, '$D', '${bindir}/dot')} -c - fi - else - dot -c - fi -} - -pkg_postrm:${PN} () { - rm -f $D${libdir}/graphviz/config* - rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz -} - -PACKAGE_WRITE_DEPS += "qemu-native" - -PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo" - -FILES:${PN}-python += "${PYTHON_SITEPACKAGES_DIR}/ ${libdir}/graphviz/python/" -FILES:${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/" -FILES:${PN}-demo += "${datadir}/graphviz/demo/" - -RDEPENDS:${PN}-perl += "perl" -RDEPENDS:${PN}-python += "python3" -RDEPENDS:${PN}-demo += "python3 perl" - -RRECOMMENDS:${PN} = "liberation-fonts" - -INSANE_SKIP:${PN}-perl = "dev-so" -INSANE_SKIP:${PN}-python = "dev-so" - -FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}" - -RRECOMMENDS:${PN} = "liberation-fonts" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb new file mode 100644 index 00000000000..388de9b4526 --- /dev/null +++ b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb @@ -0,0 +1,120 @@ +SUMMARY = "Graph Visualization Tools" +HOMEPAGE = "http://www.graphviz.org" +LICENSE = "EPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d9fc0efef5228704e7f5b37f27192723" + +DEPENDS = " \ + bison-native \ + groff-native \ + libtool \ + gdk-pixbuf \ + cairo \ + pango \ + expat \ + freetype \ +" +DEPENDS:append:class-target = " ${BPN}-native" +DEPENDS:append:class-nativesdk = " ${BPN}-native" + +inherit autotools-brokensep pkgconfig gettext qemu + +SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \ + " +SRC_URI:append:class-nativesdk = "\ + file://graphviz-setup.sh \ +" +SRC_URI[sha256sum] = "b017378835f7ca12f1a3f1db5c338d7e7af16b284b7007ad73ccec960c1b45b3" + +UPSTREAM_CHECK_URI = "https://graphviz.org/download/" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" + +PACKAGECONFIG ??= "librsvg" +PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg" + +EXTRA_OECONF:append = " PS2PDF=/bin/echo --disable-man-pdfs" + +EXTRA_OECONF:class-target = "\ + --with-expatincludedir=${STAGING_INCDIR} \ + --with-expatlibdir=${STAGING_LIBDIR} \ + --without-included-ltdl \ + --disable-java \ + --disable-perl \ + --disable-tcl \ + --disable-r \ + --disable-sharp \ + " +EXTRA_OECONF:class-nativesdk = "\ + --with-expatincludedir=${STAGING_INCDIR} \ + --with-expatlibdir=${STAGING_LIBDIR} \ + --without-included-ltdl \ + --disable-java \ + --disable-tcl \ + --disable-r \ + --disable-sharp \ + " +EXTRA_OECONF:class-native = "\ + --disable-tcl \ + " +CFLAGS:append:class-target = " -D_typ_ssize_t=1 -D_long_double=1" +CFLAGS:append:class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1" +do_configure:prepend() { + cd ${S} + # create version.m4 and ignore libtoolize errors + ./autogen.sh NOCONFIG || true +} + +do_install:append:class-nativesdk() { + # graphviz-setup.sh must be executed at SDK installation + install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d + install -m 0755 ${UNPACKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d +} +FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}" + +# create /usr/lib/graphviz/config6 +graphviz_sstate_postinst() { + mkdir -p ${SYSROOT_DESTDIR}${bindir} + dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN} + echo '#!/bin/sh' > $dest + echo '' >> $dest + echo 'dot -c' >> $dest + chmod 0755 $dest +} +SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst" + +pkg_postinst:${PN} () { + if [ -n "$D" ]; then + if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then + ${@qemu_run_binary(d, '$D', '${bindir}/dot')} -c + fi + else + dot -c + fi +} + +pkg_postrm:${PN} () { + rm -f $D${libdir}/graphviz/config* + rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz +} + +PACKAGE_WRITE_DEPS += "qemu-native" + +PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo" + +FILES:${PN}-python += "${PYTHON_SITEPACKAGES_DIR}/ ${libdir}/graphviz/python/" +FILES:${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/" +FILES:${PN}-demo += "${datadir}/graphviz/demo/" + +RDEPENDS:${PN}-perl += "perl" +RDEPENDS:${PN}-python += "python3" +RDEPENDS:${PN}-demo += "python3 perl" + +RRECOMMENDS:${PN} = "liberation-fonts" + +INSANE_SKIP:${PN}-perl = "dev-so" +INSANE_SKIP:${PN}-python = "dev-so" + +FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}" + +RRECOMMENDS:${PN} = "liberation-fonts" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-graphics/jasper/jasper_4.2.8.bb b/meta-oe/recipes-graphics/jasper/jasper_4.2.8.bb deleted file mode 100644 index e00b56ddbff..00000000000 --- a/meta-oe/recipes-graphics/jasper/jasper_4.2.8.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Jpeg 2000 implementation" -HOMEPAGE = "https://jasper-software.github.io/jasper/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a80440d1d8f17d041c71c7271d6e06eb" - -SRC_URI = "https://github.com/jasper-software/${BPN}/releases/download/version-${PV}/${BP}.tar.gz" -SRC_URI[sha256sum] = "98058a94fbff57ec6e31dcaec37290589de0ba6f47c966f92654681a56c71fae" - -UPSTREAM_CHECK_URI = "https://github.com/jasper-software/jasper/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/version-(?P\d+(\.\d+)+)" - -inherit cmake multilib_header - -do_configure:prepend() { - JAS_STDC_VERSION="$(echo __STDC_VERSION__ | ${CPP} -E -P -)" -} - -EXTRA_OECMAKE:append = " -DJAS_STDC_VERSION=${JAS_STDC_VERSION}" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)} \ - jpeg" - -PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=ON,-DJAS_ENABLE_LIBJPEG=OFF,jpeg," -PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=ON,-DJAS_ENABLE_OPENGL=OFF,freeglut," - -do_install:append() { - chrpath -d ${D}${bindir}/jasper - chrpath -d ${D}${bindir}/imginfo - chrpath -d ${D}${bindir}/imgcmp - chrpath -d ${D}${libdir}/libjasper.so.* - oe_multilib_header jasper/jas_config.h -} diff --git a/meta-oe/recipes-graphics/jasper/jasper_4.2.9.bb b/meta-oe/recipes-graphics/jasper/jasper_4.2.9.bb new file mode 100644 index 00000000000..b48fff70815 --- /dev/null +++ b/meta-oe/recipes-graphics/jasper/jasper_4.2.9.bb @@ -0,0 +1,32 @@ +SUMMARY = "Jpeg 2000 implementation" +HOMEPAGE = "https://jasper-software.github.io/jasper/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a80440d1d8f17d041c71c7271d6e06eb" + +SRC_URI = "https://github.com/jasper-software/${BPN}/releases/download/version-${PV}/${BP}.tar.gz" +SRC_URI[sha256sum] = "f71cf643937a5fcaedcfeb30a22ba406912948ad4413148214df280afc425454" + +UPSTREAM_CHECK_URI = "https://github.com/jasper-software/jasper/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/version-(?P\d+(\.\d+)+)" + +inherit cmake multilib_header + +do_configure:prepend() { + JAS_STDC_VERSION="$(echo __STDC_VERSION__ | ${CPP} -E -P -)" +} + +EXTRA_OECMAKE:append = " -DJAS_STDC_VERSION=${JAS_STDC_VERSION}" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)} \ + jpeg" + +PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=ON,-DJAS_ENABLE_LIBJPEG=OFF,jpeg," +PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=ON,-DJAS_ENABLE_OPENGL=OFF,freeglut," + +do_install:append() { + chrpath -d ${D}${bindir}/jasper + chrpath -d ${D}${bindir}/imginfo + chrpath -d ${D}${bindir}/imgcmp + chrpath -d ${D}${libdir}/libjasper.so.* + oe_multilib_header jasper/jas_config.h +} diff --git a/meta-oe/recipes-graphics/kmscon/kmscon_9.3.1.bb b/meta-oe/recipes-graphics/kmscon/kmscon_9.3.1.bb deleted file mode 100644 index 4e27ba218aa..00000000000 --- a/meta-oe/recipes-graphics/kmscon/kmscon_9.3.1.bb +++ /dev/null @@ -1,67 +0,0 @@ -SUMMARY = "Simple terminal emulator based on linux kernel mode setting (KMS)." -DESCRIPTION = "\ - Kmscon is a simple terminal emulator based on linux kernel mode setting \ - (KMS). It is an attempt to replace the in-kernel VT implementation with \ - a userspace console. \ -" -HOMEPAGE = "https://github.com/kmscon/kmscon" -BUGTRACKER = "https://github.com/kmscon/kmscon/issues" -CVE_PRODUCT = "kmscon" - -SECTION = "graphics" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=6d4602d249f8a3401040238e98367d9e" - -DEPENDS = "\ - libtsm \ - libxkbcommon \ - udev \ -" - -SRC_URI = "git://github.com/kmscon/kmscon;protocol=https;branch=main;tag=v${PV}" -SRCREV = "e44ff728e51c5a38b56392abe9bc3e8306db86cc" - -inherit meson pkgconfig systemd - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" - -PACKAGECONFIG[font_pango] = "-Dfont_pango=enabled, -Dfont_pango=disabled, pango" -PACKAGECONFIG[multi_seat] = "-Dmulti_seat=enabled, -Dmulti_seat=disabled, systemd" -PACKAGECONFIG[opengl] = "-Drenderer_gltex=enabled -Dvideo_drm3d=enabled, -Drenderer_gltex=disabled -Dvideo_drm3d=disabled, libdrm virtual/egl virtual/libgles2 virtual/libgbm" -PACKAGECONFIG[video_drm2d] = "-Dvideo_drm2d=enabled, -Dvideo_drm2d=disabled, libdrm" - -EXTRA_OEMESON = "\ - -Delogind=disabled \ - -Dextra_debug=false \ - -Dfont_unifont=enabled \ - -Dsession_dummy=enabled \ - -Dsession_terminal=enabled \ - -Dtests=false \ - -Dvideo_fbdev=enabled \ -" - -SYSTEMD_SERVICE:${PN} = "kmscon.service" -FILES:${PN} += "${systemd_system_unitdir}/kmsconvt@.service" - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/systemd/system - ln -sf ${systemd_system_unitdir}/kmsconvt@.service \ - ${D}${sysconfdir}/systemd/system/autovt@.service - else - # kmscon always installs service files. - # If systemd and usrmerge are not in DISTRO_FEATURES, packaging errors - # occur because service files are installed to /usr/lib/systemd/system/kmscon.service. - rm -rf ${D}${libdir}/systemd - fi - - if ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'true', 'false', d)}; then - mv ${D}${sysconfdir}/kmscon/kmscon.conf.example ${D}${sysconfdir}/kmscon/kmscon.conf - sed -e "s@#drm@drm@g" \ - -e "s@#hwaccel@hwaccel@g" \ - -i ${D}${sysconfdir}/kmscon/kmscon.conf - fi -} - -RDEPENDS:${PN} = "xkeyboard-config" diff --git a/meta-oe/recipes-graphics/kmscon/kmscon_9.3.5.bb b/meta-oe/recipes-graphics/kmscon/kmscon_9.3.5.bb new file mode 100644 index 00000000000..b730faf414e --- /dev/null +++ b/meta-oe/recipes-graphics/kmscon/kmscon_9.3.5.bb @@ -0,0 +1,69 @@ +SUMMARY = "Simple terminal emulator based on linux kernel mode setting (KMS)." +DESCRIPTION = "\ + Kmscon is a simple terminal emulator based on linux kernel mode setting \ + (KMS). It is an attempt to replace the in-kernel VT implementation with \ + a userspace console. \ +" +HOMEPAGE = "https://github.com/kmscon/kmscon" +BUGTRACKER = "https://github.com/kmscon/kmscon/issues" +CVE_PRODUCT = "kmscon" + +SECTION = "graphics" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=6d4602d249f8a3401040238e98367d9e" + +DEPENDS = "\ + libtsm \ + libxkbcommon \ + udev \ + zlib \ +" + +SRC_URI = "git://github.com/kmscon/kmscon;protocol=https;branch=main;tag=v${PV}" +SRCREV = "a8832afb1dcca5bb4c0476d4c13c7239fecbd93a" + +inherit meson pkgconfig systemd + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" + +PACKAGECONFIG[font_freetype] = "-Dfont_freetype=enabled, -Dfont_freetype=disabled, fontconfig freetype" +PACKAGECONFIG[font_pango] = "-Dfont_pango=enabled, -Dfont_pango=disabled, pango" +PACKAGECONFIG[multi_seat] = "-Dmulti_seat=enabled, -Dmulti_seat=disabled, systemd" +PACKAGECONFIG[opengl] = "-Drenderer_gltex=enabled -Dvideo_drm3d=enabled, -Drenderer_gltex=disabled -Dvideo_drm3d=disabled, libdrm virtual/egl virtual/libgles2 virtual/libgbm" +PACKAGECONFIG[video_drm2d] = "-Dvideo_drm2d=enabled, -Dvideo_drm2d=disabled, libdrm" + +EXTRA_OEMESON = "\ + -Delogind=disabled \ + -Dextra_debug=false \ + -Dfont_unifont=enabled \ + -Dsession_dummy=enabled \ + -Dsession_terminal=enabled \ + -Dtests=false \ + -Dvideo_fbdev=enabled \ +" + +SYSTEMD_SERVICE:${PN} = "kmscon.service" +FILES:${PN} += "${systemd_system_unitdir}/kmsconvt@.service" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/systemd/system + ln -sf ${systemd_system_unitdir}/kmsconvt@.service \ + ${D}${sysconfdir}/systemd/system/autovt@.service + else + # kmscon always installs service files. + # If systemd and usrmerge are not in DISTRO_FEATURES, packaging errors + # occur because service files are installed to /usr/lib/systemd/system/kmscon.service. + rm -rf ${D}${libdir}/systemd + fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'true', 'false', d)}; then + mv ${D}${sysconfdir}/kmscon/kmscon.conf.example ${D}${sysconfdir}/kmscon/kmscon.conf + sed -e "s@#drm@drm@g" \ + -e "s@#hwaccel@hwaccel@g" \ + -i ${D}${sysconfdir}/kmscon/kmscon.conf + fi +} + +RDEPENDS:${PN} = "xkeyboard-config" diff --git a/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb b/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb new file mode 100644 index 00000000000..8eaaee4492a --- /dev/null +++ b/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb @@ -0,0 +1,25 @@ +SUMMARY = "A library for complex text layout" +DESCRIPTION = "\ + Raqm is a small library that encapsulates the logic for complex text \ + layout and provides a convenient API. It currently provides bidirectional \ + text support (using FriBiDi or SheenBidi), shaping (using HarfBuzz), and \ + proper script itemization. As a result, Raqm can support most writing \ + systems covered by Unicode. \ +" +HOMEPAGE = "https://github.com/HOST-Oman/libraqm" +BUGTRACKER = "https://github.com/HOST-Oman/libraqm/issues" +SECTION = "graphics" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=7dc444a99e2824eac906383266fe4fa6" + +SRC_URI = "git://github.com/HOST-Oman/libraqm.git;protocol=https;branch=main;tag=v${PV}" +SRCREV = "3a6b891a3db0e0db1364aa38088422f68d8d81e6" + +DEPENDS = "freetype fribidi harfbuzz" + +inherit meson pkgconfig + +PACKAGECONFIG ?= "" + +PACKAGECONFIG[sheenbidi] = "-Dsheenbidi=true,-Dsheenbidi=false,sheenbidi" diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb new file mode 100644 index 00000000000..27ddc353812 --- /dev/null +++ b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb @@ -0,0 +1,16 @@ +SUMMARY = "Simple DirectMedia Layer image library v2" +SECTION = "libs" + +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbb0010b2f7cf6e8a13bcac1ef4d2455" + +DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" + +SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" +SRC_URI[sha256sum] = "ebc059d01c007a62f4b04f10cf858527c875062532296943174df9a80264fd65" + +S = "${UNPACKDIR}/SDL2_image-${PV}" + +inherit cmake pkgconfig + +FILES:${PN} += "${datadir}/licenses" diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb deleted file mode 100644 index c15e986dc3d..00000000000 --- a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer image library v2" -SECTION = "libs" - -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbb0010b2f7cf6e8a13bcac1ef4d2455" - -DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" - -SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" -SRC_URI[sha256sum] = "2213b56fdaff2220d0e38c8e420cbe1a83c87374190cba8c70af2156097ce30a" - -S = "${UNPACKDIR}/SDL2_image-${PV}" - -inherit cmake pkgconfig - -FILES:${PN} += "${datadir}/licenses" diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl2-compat_2.32.62.bb b/meta-oe/recipes-graphics/libsdl3/libsdl2-compat_2.32.62.bb deleted file mode 100644 index 2d0125ce7df..00000000000 --- a/meta-oe/recipes-graphics/libsdl3/libsdl2-compat_2.32.62.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer (SDL) sdl2-compat" -DESCRIPTION = "This code is a compatibility layer; it provides a binary and source compatible \ -API for programs written against SDL2, but it uses SDL3 behind the scenes. If you are \ -writing new code, please target SDL3 directly and do not use this layer." -HOMEPAGE = "http://www.libsdl.org" -BUGTRACKER = "http://bugzilla.libsdl.org/" - -SECTION = "libs" - -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=98241180d857fe975e4b60d44d6c01a5" - -SRC_URI = "http://www.libsdl.org/release/sdl2-compat-${PV}.tar.gz" -SRC_URI[sha256sum] = "23019a3b0825e2fd3411901df3e1ae24c595cd57e20a345509f77472bd9000e0" -S = "${UNPACKDIR}/sdl2-compat-${PV}" - -DEPENDS += "libsdl3" - -PROVIDES = "virtual/libsdl2" - -inherit cmake pkgconfig upstream-version-is-even features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG[x11] = "-DSDL2COMPAT_X11=ON,-DSDL2COMPAT_X11=OFF,virtual/libx11" - -do_install:append() { - mv ${D}${libdir}/pkgconfig/sdl2-compat.pc ${D}${libdir}/pkgconfig/sdl2.pc -} - -FILES:${PN} += "${datadir}/licenses" - -RCONFLICTS:${PN} = "libsdl2" -RPROVIDES:${PN} = "libsdl2" - -BBCLASSEXTEND = "nativesdk native" diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl2-compat_2.32.64.bb b/meta-oe/recipes-graphics/libsdl3/libsdl2-compat_2.32.64.bb new file mode 100644 index 00000000000..c83b90f77b4 --- /dev/null +++ b/meta-oe/recipes-graphics/libsdl3/libsdl2-compat_2.32.64.bb @@ -0,0 +1,37 @@ +SUMMARY = "Simple DirectMedia Layer (SDL) sdl2-compat" +DESCRIPTION = "This code is a compatibility layer; it provides a binary and source compatible \ +API for programs written against SDL2, but it uses SDL3 behind the scenes. If you are \ +writing new code, please target SDL3 directly and do not use this layer." +HOMEPAGE = "http://www.libsdl.org" +BUGTRACKER = "http://bugzilla.libsdl.org/" + +SECTION = "libs" + +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca6eaff208365238403badb97aa6b3d2" + +SRC_URI = "http://www.libsdl.org/release/sdl2-compat-${PV}.tar.gz" +SRC_URI[sha256sum] = "b2fa522e7bb08113534904b3dc2d2f7ff7b0c259224d86c12374d5b4a4027930" +S = "${UNPACKDIR}/sdl2-compat-${PV}" + +DEPENDS += "libsdl3" + +PROVIDES = "virtual/libsdl2" + +inherit cmake pkgconfig upstream-version-is-even features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "-DSDL2COMPAT_X11=ON,-DSDL2COMPAT_X11=OFF,virtual/libx11" + +do_install:append() { + mv ${D}${libdir}/pkgconfig/sdl2-compat.pc ${D}${libdir}/pkgconfig/sdl2.pc +} + +FILES:${PN} += "${datadir}/licenses" + +RCONFLICTS:${PN} = "libsdl2" +RPROVIDES:${PN} = "libsdl2" + +BBCLASSEXTEND = "nativesdk native" diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.2.6.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.2.6.bb deleted file mode 100644 index 7c2f4026f21..00000000000 --- a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.2.6.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer image library v2" -SECTION = "libs" - -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbb0010b2f7cf6e8a13bcac1ef4d2455" - -DEPENDS = "tiff zlib libpng jpeg libsdl3 libwebp" - -SRC_URI = "git://github.com/libsdl-org/SDL_image.git;protocol=https;branch=release-3.2.x" -SRCREV = "d78dd65454f442bfdbc373201165f1ef579484ab" - - -inherit cmake pkgconfig - -FILES:${PN} += "${datadir}/licenses" diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb new file mode 100644 index 00000000000..0f7ce92efde --- /dev/null +++ b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "Simple DirectMedia Layer image library v2" +SECTION = "libs" + +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=df8f4d887d3997f6e9cf81bb7f43dbf7" + +DEPENDS = "tiff zlib libpng jpeg libsdl3 libwebp libjxl" + +SRC_URI = "git://github.com/libsdl-org/SDL_image.git;protocol=https;branch=release-3.4.x;tag=release-${PV}" +SRCREV = "96a73a551a857b7c8d0ca3cc553a266eabbab6a7" + +EXTRA_OECMAKE += "-DSDLIMAGE_JXL=ON" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[av1] = "-DSDLIMAGE_AVIF=ON,-DSDLIMAGE_AVIF=OFF,libavif" + +inherit cmake pkgconfig + +FILES:${PN} += "${datadir}/licenses" diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3-mixer_3.2.0.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3-mixer_3.2.0.bb new file mode 100644 index 00000000000..27a02fcc329 --- /dev/null +++ b/meta-oe/recipes-graphics/libsdl3/libsdl3-mixer_3.2.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "Provides decoding of many popular audio file formats, mixing, various DSP processing effects and positional audio" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=df8f4d887d3997f6e9cf81bb7f43dbf7" + +DEPENDS = "libsdl3" + +SRC_URI = "git://github.com/libsdl-org/SDL_mixer.git;protocol=https;branch=release-3.2.x;tag=release-${PV}" +SRCREV = "cedfeef30e93db35eee6b25759117da63f8e5a4f" + +inherit cmake pkgconfig + +PACKAGECONFIG ?= "flac wave vorbis" +PACKAGECONFIG[opus] = "-DSDLMIXER_OPUS=ON -DSDLMIXER_OPUS_SHARED=ON, -DSDLMIXER_OPUS=OFF,opusfile" +PACKAGECONFIG[vorbis] = "-DSDLMIXER_VORBIS_VORBISFILE=ON -DSDLMIXER_VORBIS_STB=OFF -DSDLMIXER_VORBIS_TREMOR=OFF, -DSDLMIXER_VORBIS_VORBISFILE=OFF -DSDLMIXER_VORBIS_STB=OFF -DSDLMIXER_VORBIS_TREMOR=OFF,libvorbis" +PACKAGECONFIG[flac] = "-DSDLMIXER_FLAC_LIBFLAC=ON -DSDLMIXER_FLAC_LIBFLAC_SHARED=ON, -DSDLMIXER_FLAC_LIBFLAC=OFF,flac" +PACKAGECONFIG[xmp] = "-DSDLMIXER_MOD=ON -DSDLMIXER_MOD_XMP=ON -DSDLMIXER_MOD_XMP_SHARED=ON, -DSDLMIXER_MOD=OFF,libxmp,libxmp" +PACKAGECONFIG[fluidsynth] = "-DSDLMIXER_MIDI=ON -DSDLMIXER_MIDI_FLUIDSYNTH_ENABLED=ON -DSDLMIXER_MIDI_FLUIDSYNTH_SHARED=ON, -DSDLMIXER_MIDI=OFF,fluidsynth,fluidsynth-bin" +PACKAGECONFIG[wave] = "-DSDLMIXER_WAVE=ON -DSDLMIXER_WAVPACK=ON -DSDLMIXER_WAVPACK_SHARED=ON, -DSDLMIXER_WAVE=OFF,wavpack,wavpack wavpack-bin" +PACKAGECONFIG[mpg123] = "-DSDLMIXER_MP3 -DSDLMIXER_MP3_MPG123_SHARED=ON -DSDLMIXER_MP3_MPG123=ON, -DSDLMIXER_MP3=OFF,mpg123" + +do_configure:prepend() { + touch ${STAGING_BINDIR}/wavpack + touch ${STAGING_BINDIR}/wvunpack + touch ${STAGING_BINDIR}/wvgain + touch ${STAGING_BINDIR}/wvtag +} + +FILES:${PN} += "${datadir}/licenses" diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.2.30.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.2.30.bb deleted file mode 100644 index bb111050e1e..00000000000 --- a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.2.30.bb +++ /dev/null @@ -1,78 +0,0 @@ -SUMMARY = "Simple DirectMedia Layer" -DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \ -library designed to provide low level access to audio, keyboard, mouse, \ -joystick, 3D hardware via OpenGL, and 2D video framebuffer." -HOMEPAGE = "http://www.libsdl.org" -BUGTRACKER = "http://bugzilla.libsdl.org/" - -SECTION = "libs" - -LICENSE = "Zlib & BSD-2-Clause" -LIC_FILES_CHKSUM = "\ - file://LICENSE.txt;md5=cbf0e3161523f9a9315b6b915c5c4457 \ - file://src/hidapi/LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077 \ - file://src/hidapi/LICENSE-bsd.txt;md5=b5fa085ce0926bb50d0621620a82361f \ - file://src/video/yuv2rgb/LICENSE;md5=79f8f3418d91531e05f0fc94ca67e071 \ -" - -SRC_URI = "http://www.libsdl.org/release/SDL3-${PV}.tar.gz" - -S = "${UNPACKDIR}/SDL3-${PV}" - -SRC_URI[sha256sum] = "4c3b09330d866dc52eb65b66259a6684ad387252ca8c57901b3a2b534eb42e3d" - -inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even - -CVE_PRODUCT = "simple_directmedia_layer sdl" - -EXTRA_OECMAKE = " \ - -DSDL_OSS_DEFAULT=OFF \ - -DSDL_DISKAUDIO=OFF \ - -DSDL_DUMMYVIDEO=OFF \ - -DSDL_RPI=OFF \ - -DSDL_PTHREADS=ON \ - -DSDL_RPATH=OFF \ - -DSDL_SNDIO=OFF \ - -DSDL_X11_XCURSOR=OFF \ - -DSDL_X11_XDBE=OFF \ - -DSDL_X11_XFIXES=OFF \ - -DSDL_X11_XINPUT=OFF \ - -DSDL_X11_XSCRNSAVER=OFF \ - -DSDL_X11_XSHAPE=OFF \ -" - -# opengl packageconfig factored out to make it easy for distros -# and BSP layers to pick either (desktop) opengl, gles2, or no GL -PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" - -PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}" -PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}" -PACKAGECONFIG ??= " \ - ${PACKAGECONFIG_GL} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio pipewire x11 vulkan', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \ - ${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \ - ${@bb.utils.contains_any("DISTRO_FEATURES", "x11 wayland","","console-build",d)} \ -" -PACKAGECONFIG[alsa] = "-DSDL_ALSA=ON,-DSDL_ALSA=OFF,alsa-lib," -PACKAGECONFIG[arm-neon] = "-DSDL_ARMNEON=ON,-DSDL_ARMNEON=OFF" -PACKAGECONFIG[console-build] = "-DSDL_UNIX_CONSOLE_BUILD=ON" -PACKAGECONFIG[gles2] = "-DSDL_OPENGLES=ON,-DSDL_OPENGLES=OFF,virtual/libgles2" -PACKAGECONFIG[jack] = "-DSDL_JACK=ON,-DSDL_JACK=OFF,jack" -PACKAGECONFIG[kmsdrm] = "-DSDL_KMSDRM=ON,-DSDL_KMSDRM=OFF,libdrm virtual/libgbm" -# The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers, -# so we'll just use libusb when it's available. -PACKAGECONFIG[libusb] = "-DSDL_HIDAPI_LIBUSB=ON,-DSDL_HIDAPI_LIBUSB=OFF,libusb1" -PACKAGECONFIG[libdecor] = "-DSDL_WAYLAND_LIBDECOR=ON,-DSDL_WAYLAND_LIBDECOR=OFF,libdecor,libdecor" -PACKAGECONFIG[opengl] = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/egl" -PACKAGECONFIG[pipewire] = "-DSDL_PIPEWIRE_SHARED=ON,-DSDL_PIPEWIRE_SHARED=OFF,pipewire" -PACKAGECONFIG[pulseaudio] = "-DSDL_PULSEAUDIO=ON,-DSDL_PULSEAUDIO=OFF,pulseaudio" -PACKAGECONFIG[vulkan] = "-DSDL_VULKAN=ON -DSDL_RENDER_VULKAN=ON,-DSDL_VULKAN=OFF -DSDL_RENDER_VULKAN=OFF" -PACKAGECONFIG[wayland] = "-DSDL_WAYLAND=ON,-DSDL_WAYLAND=OFF,wayland-native wayland wayland-protocols libxkbcommon" -PACKAGECONFIG[x11] = "-DSDL_X11=ON,-DSDL_X11=OFF,virtual/libx11 libxext libxrandr libxrender" - -CFLAGS:append:class-native = " -DNO_SHARED_MEMORY" - -FILES:${PN} += "${datadir}/licenses/SDL3/LICENSE.txt" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb new file mode 100644 index 00000000000..01590212809 --- /dev/null +++ b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb @@ -0,0 +1,75 @@ +SUMMARY = "Simple DirectMedia Layer" +DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \ +library designed to provide low level access to audio, keyboard, mouse, \ +joystick, 3D hardware via OpenGL, and 2D video framebuffer." +HOMEPAGE = "http://www.libsdl.org" +BUGTRACKER = "http://bugzilla.libsdl.org/" + +SECTION = "libs" + +LICENSE = "Zlib & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=036a54229112040a743509a86b30c80c \ + file://src/hidapi/LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077 \ + file://src/hidapi/LICENSE-bsd.txt;md5=b5fa085ce0926bb50d0621620a82361f \ + file://src/video/yuv2rgb/LICENSE;md5=79f8f3418d91531e05f0fc94ca67e071 \ + " + +SRC_URI = "http://www.libsdl.org/release/SDL3-${PV}.tar.gz" + +S = "${UNPACKDIR}/SDL3-${PV}" + +SRC_URI[sha256sum] = "ee712dbe6a89bb140bbfc2ce72358fb5ee5cc2240abeabd54855012db30b3864" + +inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even + +CVE_PRODUCT = "simple_directmedia_layer sdl" + +EXTRA_OECMAKE = " \ + -DSDL_OSS_DEFAULT=OFF \ + -DSDL_DISKAUDIO=OFF \ + -DSDL_DUMMYVIDEO=OFF \ + -DSDL_RPI=OFF \ + -DSDL_PTHREADS=ON \ + -DSDL_RPATH=OFF \ + -DSDL_SNDIO=OFF \ + -DSDL_X11_XDBE=OFF \ + -DSDL_X11_XFIXES=OFF \ + -DSDL_X11_XSCRNSAVER=OFF \ + -DSDL_X11_XSHAPE=OFF \ +" + +# opengl packageconfig factored out to make it easy for distros +# and BSP layers to pick either (desktop) opengl, gles2, or no GL +PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" + +PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}" +PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}" +PACKAGECONFIG ??= " \ + ${PACKAGECONFIG_GL} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio pipewire x11 vulkan', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \ + ${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \ + ${@bb.utils.contains_any("DISTRO_FEATURES", "x11 wayland","","console-build",d)} \ +" +PACKAGECONFIG[alsa] = "-DSDL_ALSA=ON,-DSDL_ALSA=OFF,alsa-lib," +PACKAGECONFIG[arm-neon] = "-DSDL_ARMNEON=ON,-DSDL_ARMNEON=OFF" +PACKAGECONFIG[console-build] = "-DSDL_UNIX_CONSOLE_BUILD=ON" +PACKAGECONFIG[gles2] = "-DSDL_OPENGLES=ON,-DSDL_OPENGLES=OFF,virtual/libgles2" +PACKAGECONFIG[jack] = "-DSDL_JACK=ON,-DSDL_JACK=OFF,jack" +PACKAGECONFIG[kmsdrm] = "-DSDL_KMSDRM=ON,-DSDL_KMSDRM=OFF,libdrm virtual/libgbm" +# The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers, +# so we'll just use libusb when it's available. +PACKAGECONFIG[libusb] = "-DSDL_HIDAPI_LIBUSB=ON,-DSDL_HIDAPI_LIBUSB=OFF,libusb1" +PACKAGECONFIG[libdecor] = "-DSDL_WAYLAND_LIBDECOR=ON,-DSDL_WAYLAND_LIBDECOR=OFF,libdecor,libdecor" +PACKAGECONFIG[opengl] = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/egl" +PACKAGECONFIG[pipewire] = "-DSDL_PIPEWIRE_SHARED=ON,-DSDL_PIPEWIRE_SHARED=OFF,pipewire" +PACKAGECONFIG[pulseaudio] = "-DSDL_PULSEAUDIO=ON,-DSDL_PULSEAUDIO=OFF,pulseaudio" +PACKAGECONFIG[vulkan] = "-DSDL_VULKAN=ON -DSDL_RENDER_VULKAN=ON,-DSDL_VULKAN=OFF -DSDL_RENDER_VULKAN=OFF" +PACKAGECONFIG[wayland] = "-DSDL_WAYLAND=ON,-DSDL_WAYLAND=OFF,wayland-native wayland wayland-protocols libxkbcommon" +PACKAGECONFIG[x11] = "-DSDL_X11=ON,-DSDL_X11=OFF,virtual/libx11 libxext libxrandr libxrender libxcursor xinput libxtst" + +CFLAGS:append:class-native = " -DNO_SHARED_MEMORY" + +FILES:${PN} += "${datadir}/licenses/SDL3/LICENSE.txt" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-graphics/libtsm/libtsm_4.4.2.bb b/meta-oe/recipes-graphics/libtsm/libtsm_4.4.2.bb deleted file mode 100644 index 6f060cd0f5e..00000000000 --- a/meta-oe/recipes-graphics/libtsm/libtsm_4.4.2.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Terminal Emulator State Machine" -DESCRIPTION = "\ - TSM is a state machine for DEC VT100-VT520 compatible terminal emulators. \ - It tries to support all common standards while keeping compatibility to \ - existing emulators like xterm, gnome-terminal, konsole, etc. \ - TSM itself does not provide any rendering nor window management. It is a \ - simple plain state machine without any external dependencies. It can be \ - used to implement terminal emulators, but also to implement other \ - applications that need to interpret terminal escape sequences. \ -" -HOMEPAGE = "https://github.com/kmscon/libtsm" -BUGTRACKER = "https://github.com/kmscon/libtsm/issues" -CVE_PRODUCT = "libtsm" -SECTION = "libs" - -LICENSE = "MIT & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=69e8256cdc4e949f86fedf94b1b320b4 \ - file://LICENSE_htable;md5=2d5025d4aa3495befef8f17206a5b0a1 \ -" - -DEPENDS = "xkeyboard-config" - -SRC_URI = "git://github.com/kmscon/libtsm;protocol=https;branch=main;tag=v${PV}" -SRCREV = "b052e48cc776be1cdb940be2dcc1603457c01c96" - -inherit meson pkgconfig - -EXTRA_OEMESON:append = " \ - -Dextra_debug=false \ - -Dtests=false \ - -Dgtktsm=false \ -" diff --git a/meta-oe/recipes-graphics/libtsm/libtsm_4.5.0.bb b/meta-oe/recipes-graphics/libtsm/libtsm_4.5.0.bb new file mode 100644 index 00000000000..9e999fe9702 --- /dev/null +++ b/meta-oe/recipes-graphics/libtsm/libtsm_4.5.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "Terminal Emulator State Machine" +DESCRIPTION = "\ + TSM is a state machine for DEC VT100-VT520 compatible terminal emulators. \ + It tries to support all common standards while keeping compatibility to \ + existing emulators like xterm, gnome-terminal, konsole, etc. \ + TSM itself does not provide any rendering nor window management. It is a \ + simple plain state machine without any external dependencies. It can be \ + used to implement terminal emulators, but also to implement other \ + applications that need to interpret terminal escape sequences. \ +" +HOMEPAGE = "https://github.com/kmscon/libtsm" +BUGTRACKER = "https://github.com/kmscon/libtsm/issues" +CVE_PRODUCT = "libtsm" +SECTION = "libs" + +LICENSE = "MIT & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=69e8256cdc4e949f86fedf94b1b320b4 \ + file://LICENSE_htable;md5=2d5025d4aa3495befef8f17206a5b0a1 \ +" + +DEPENDS = "xkeyboard-config" + +SRC_URI = "git://github.com/kmscon/libtsm;protocol=https;branch=main;tag=v${PV}" +SRCREV = "556373437d1c5f57f4dfc7c6cc1330e5088a4174" + +inherit meson pkgconfig + +EXTRA_OEMESON:append = " \ + -Dextra_debug=false \ + -Dtests=false \ + -Dgtktsm=false \ +" diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2023-39327.patch b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2023-39327.patch new file mode 100644 index 00000000000..05e504a18e7 --- /dev/null +++ b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2023-39327.patch @@ -0,0 +1,50 @@ +From a3504b2484cf7443c547037511c40f59aff8ae5a Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Mon, 23 Feb 2026 17:22:18 +0100 +Subject: [PATCH] CVE-2023-39327 + +This patch fixes CVE-2023-39327. + +This patch comes from OpenSuse: +https://build.opensuse.org/projects/openSUSE:Factory/packages/openjpeg2/files/openjpeg2-cve-2023-39327-limit-iterations.patch + +Upstream seems to unresponsive to this vulnerability. + +Upstream-Status: Inactive-Upstream [inactive, when it comes to CVEs] + +Signed-off-by: Gyorgy Sarvari +--- + src/lib/openjp2/t2.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/src/lib/openjp2/t2.c b/src/lib/openjp2/t2.c +index 4e8cf601..ad39cd74 100644 +--- a/src/lib/openjp2/t2.c ++++ b/src/lib/openjp2/t2.c +@@ -441,6 +441,8 @@ OPJ_BOOL opj_t2_decode_packets(opj_tcd_t* tcd, + * and no l_img_comp->resno_decoded are computed + */ + OPJ_BOOL* first_pass_failed = NULL; ++ OPJ_UINT32 l_packet_count = 0; ++ OPJ_UINT32 l_max_packets = 100000; + + if (l_current_pi->poc.prg == OPJ_PROG_UNKNOWN) { + /* TODO ADE : add an error */ +@@ -457,6 +459,17 @@ OPJ_BOOL opj_t2_decode_packets(opj_tcd_t* tcd, + + while (opj_pi_next(l_current_pi)) { + OPJ_BOOL skip_packet = OPJ_FALSE; ++ ++ /* CVE-2023-39327: Check for excessive packet iterations */ ++ if (++l_packet_count > l_max_packets) { ++ opj_event_msg(p_manager, EVT_ERROR, ++ "Excessive packet iterations detected (>%u). Possible malformed stream.\n", ++ l_max_packets); ++ opj_pi_destroy(l_pi, l_nb_pocs); ++ opj_free(first_pass_failed); ++ return OPJ_FALSE; ++ } ++ + JAS_FPRINTF(stderr, + "packet offset=00000166 prg=%d cmptno=%02d rlvlno=%02d prcno=%03d lyrno=%02d\n\n", + l_current_pi->poc.prg1, l_current_pi->compno, l_current_pi->resno, diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch new file mode 100644 index 00000000000..49be9bd0a62 --- /dev/null +++ b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch @@ -0,0 +1,35 @@ +From 776b00ff792a3c54b65f3bd92dbe7476a5a54106 Mon Sep 17 00:00:00 2001 +From: Even Rouault +Date: Sun, 5 Apr 2026 13:25:27 +0200 +Subject: [PATCH] opj_pi_initialise_encode() (write code path): avoid potential + integer overflow leading to insufficient memory allocation + +Fixes #1619 + +CVE: CVE-2026-6192 +Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/commit/839936aa33eb8899bbbd80fda02796bb65068951] +Signed-off-by: Gyorgy Sarvari +--- + src/lib/openjp2/pi.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/lib/openjp2/pi.c b/src/lib/openjp2/pi.c +index 15ac3314..4abb87af 100644 +--- a/src/lib/openjp2/pi.c ++++ b/src/lib/openjp2/pi.c +@@ -1694,9 +1694,12 @@ opj_pi_iterator_t *opj_pi_initialise_encode(const opj_image_t *p_image, + l_current_pi = l_pi; + + /* memory allocation for include*/ +- l_current_pi->include_size = l_tcp->numlayers * l_step_l; +- l_current_pi->include = (OPJ_INT16*) opj_calloc(l_current_pi->include_size, +- sizeof(OPJ_INT16)); ++ l_current_pi->include = NULL; ++ if (l_step_l <= UINT_MAX / l_tcp->numlayers) { ++ l_current_pi->include_size = l_tcp->numlayers * l_step_l; ++ l_current_pi->include = (OPJ_INT16*) opj_calloc(l_current_pi->include_size, ++ sizeof(OPJ_INT16)); ++ } + if (!l_current_pi->include) { + opj_free(l_tmp_data); + opj_free(l_tmp_ptr); diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb index 6d7d87f5f1a..968b7a0a5c5 100644 --- a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb +++ b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb @@ -7,6 +7,8 @@ DEPENDS = "libpng tiff lcms zlib" SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \ file://0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \ + file://CVE-2023-39327.patch \ + file://CVE-2026-6192.patch \ " SRCREV = "6c4a29b00211eb0430fa0e5e890f1ce5c80f409f" diff --git a/meta-oe/recipes-graphics/pango/pangomm-2.48_2.56.1.bb b/meta-oe/recipes-graphics/pango/pangomm-2.48_2.56.1.bb index d99c6ceac02..6afcf08a168 100644 --- a/meta-oe/recipes-graphics/pango/pangomm-2.48_2.56.1.bb +++ b/meta-oe/recipes-graphics/pango/pangomm-2.48_2.56.1.bb @@ -7,10 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ DEPENDS = "mm-common cairomm-1.16 glibmm-2.68 pango" GNOMEBN = "pangomm" -inherit gnomebase features_check +inherit gnomebase SRC_URI[archive.sha256sum] = "539f5aa60e9bdc6b955bb448e2a62cc14562744df690258040fbb74bf885755d" -REQUIRED_DISTRO_FEATURES = "x11" S = "${UNPACKDIR}/${GNOMEBN}-${PV}" diff --git a/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch b/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch deleted file mode 100644 index d273d1459f1..00000000000 --- a/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 0cd38e6dbcaff7eef39fd46a60ff8a47e5f488c4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Sun, 3 Oct 2021 23:08:48 +0200 -Subject: [PATCH] config.ml: make compatible with webkitgtk 2.34.0 - -Signed-off-by: Alexander Kanavin ---- -Upstream-Status: Pending - - config.mk | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/config.mk -+++ b/config.mk -@@ -2,6 +2,7 @@ - VERSION = 2.1 - - # Customize below to fit your system -+PKG_CONFIG ?= pkg-config - - # paths - PREFIX = /usr/local -@@ -9,13 +10,13 @@ MANPREFIX = $(PREFIX)/share/man - LIBPREFIX = $(PREFIX)/lib - LIBDIR = $(LIBPREFIX)/surf - --X11INC = `pkg-config --cflags x11` --X11LIB = `pkg-config --libs x11` -+X11INC = $(shell $(PKG_CONFIG) --cflags x11) -+X11LIB = $(shell $(PKG_CONFIG) --libs x11) - --GTKINC = `pkg-config --cflags gtk+-3.0 gcr-3 webkit2gtk-4.0` --GTKLIB = `pkg-config --libs gtk+-3.0 gcr-3 webkit2gtk-4.0` --WEBEXTINC = `pkg-config --cflags webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0` --WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0` -+GTKINC = $(shell $(PKG_CONFIG) --cflags gtk+-3.0 gcr-3 webkit2gtk-4.1) -+GTKLIB = $(shell $(PKG_CONFIG) --libs gtk+-3.0 gcr-3 webkit2gtk-4.1) -+WEBEXTINC = $(shell $(PKG_CONFIG) --cflags webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0) -+WEBEXTLIBS = $(shell $(PKG_CONFIG) --libs webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0) - - # includes and libs - INCS = $(X11INC) $(GTKINC) diff --git a/meta-oe/recipes-graphics/surf/surf_2.1.bb b/meta-oe/recipes-graphics/surf/surf_2.1.bb index 258c78e509c..6da7a0d93e7 100644 --- a/meta-oe/recipes-graphics/surf/surf_2.1.bb +++ b/meta-oe/recipes-graphics/surf/surf_2.1.bb @@ -9,20 +9,12 @@ DEPENDS = "webkitgtk3 gtk+3 glib-2.0 gcr3" REQUIRED_DISTRO_FEATURES = "x11 opengl" -SRCREV = "665a709b522a6fa18c671f1fc41297603292d0e8" +SRCREV = "48517e586cdc98bc1af7115674b554cc70c8bc2e" SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \ + file://0001-config.mk-Fix-compiler-and-linker.patch \ " -SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'soup3', 'file://0001-config.mk-Fix-compiler-and-linker.patch file://0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch', '', d)}" - - inherit pkgconfig features_check -PACKAGECONFIG_SOUP ?= "soup3" -PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}" - -PACKAGECONFIG[soup2] = ",,," -PACKAGECONFIG[soup3] = ",,," - TARGET_CC_ARCH += "${LDFLAGS}" do_install () { diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.0.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.0.bb deleted file mode 100644 index a5413a9108b..00000000000 --- a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.0.bb +++ /dev/null @@ -1,109 +0,0 @@ -DESCRIPTION = "TigerVNC remote display system" -HOMEPAGE = "http://www.tigervnc.com/" -LICENSE = "GPL-2.0-or-later" -SECTION = "x11/utils" -DEPENDS = "gettext-native xserver-xorg gnutls nettle jpeg pixman libxtst fltk libpam libx11 libxdamage libxfixes libxrandr xkbcomp" -RDEPENDS:${PN} = "coreutils hicolor-icon-theme perl bash xkbcomp" - -LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" - - -inherit autotools cmake features_check pkgconfig systemd - -REQUIRED_DISTRO_FEATURES = "x11 pam" - -# For ease we do in-tree builds right now. It should be possible to do -# out-of-tree builds. -B = "${S}" - -SRCREV = "dc50022844dfad0a0e195d54b8499fcf242fff0c" - -SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.16-branch;protocol=https \ - file://0001-do-not-build-tests-sub-directory.patch \ - file://0002-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ - file://0003-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ -" - -# Keep sync with xorg-server in oe-core -XORG_PN ?= "xorg-server" -XORG_PV ?= "21.1.21" -SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.xz;name=xorg" -XORG_S = "${UNPACKDIR}/${XORG_PN}-${XORG_PV}" -SRC_URI[xorg.sha256sum] = "c0cbe5545b3f645bae6024b830d1d1154a956350683a4e52b2fff5b0fa1ab519" - -# It is the directory containing the Xorg source for the -# machine on which you are building TigerVNC. -XSERVER_SOURCE_DIR = "${S}/unix/xserver" -AUTOTOOLS_SCRIPT_PATH = "${XSERVER_SOURCE_DIR}" - -do_patch[postfuncs] += "do_patch_xserver" -do_patch_xserver () { - # Put the xserver source in the right place in the tigervnc source tree - cp -rfl ${XORG_S}/* ${XSERVER_SOURCE_DIR} - # Apply the patch to integrate the vnc server - patch -p1 -b --suffix .vnc --directory ${XSERVER_SOURCE_DIR} <${S}/unix/xserver21.patch -} - -# It is very easy to miss xserver updates in oe-core, and this recipe's xserver -# gets out of sync due to this. Hopefully this warning will help. -do_configure[prefuncs] += "do_verify_xserver_version" -do_verify_xserver_version() { - OE_CORE_XSERVER_VERSION=$(pkg-config --modversion xorg-server) - if [ "$OE_CORE_XSERVER_VERSION" != "${XORG_PV}" ]; then - bbwarn "TigerVNC xorg-server version (${XORG_PV}) is different from oe-core's xorg-xserver version ($OE_CORE_XSERVER_VERSION)" - fi -} - -EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb \ - --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ - --disable-static --disable-xinerama \ - --with-xkb-output=${localstatedir}/lib/xkb \ - --disable-glx --disable-dri --disable-dri2 \ - --disable-config-hal \ - --disable-config-udev \ - --without-dtrace \ - --disable-unit-tests \ - --disable-devel-docs \ - --disable-selective-werror \ - --disable-xshmfence \ - --disable-config-udev \ - --disable-dri3 \ - --disable-libunwind \ - --without-xmlto \ - --enable-systemd-logind=no \ - --disable-xinerama \ -" - -EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_system_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}" - -do_configure:append () { - autotools_do_configure -} - -do_compile:append () { - oe_runmake 'TIGERVNC_BUILDDIR=${B}' -} - -do_install:append() { - oe_runmake 'TIGERVNC_BUILDDIR=${B}' -C ${B}/hw/vnc 'DESTDIR=${D}' install -} - -FILES:${PN} += " \ - ${libdir}/xorg/modules/extensions \ - ${datadir}/icons \ - ${datadir}/metainfo \ -" - -SYSTEMD_SERVICE:${PN} = "vncserver@.service" - -CVE_STATUS[CVE-2014-8241] = "fixed-version: The vulnerable code is not present in the used version (1.15.0)" -CVE_STATUS[CVE-2023-6377] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2023-6478] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2025-26594] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2025-26595] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2025-26596] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2025-26597] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2025-26598] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2025-26599] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2025-26600] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" -CVE_STATUS[CVE-2025-26601] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb new file mode 100644 index 00000000000..c9b0cd24043 --- /dev/null +++ b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb @@ -0,0 +1,111 @@ +DESCRIPTION = "TigerVNC remote display system" +HOMEPAGE = "http://www.tigervnc.com/" +LICENSE = "GPL-2.0-or-later" +SECTION = "x11/utils" +DEPENDS = "gettext-native xserver-xorg gnutls nettle jpeg pixman libxtst fltk libpam libx11 libxdamage libxfixes libxrandr xkbcomp" +RDEPENDS:${PN} = "coreutils hicolor-icon-theme perl bash xkbcomp" + +LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" + + +inherit autotools cmake features_check pkgconfig systemd + +REQUIRED_DISTRO_FEATURES = "x11 pam" + +# For ease we do in-tree builds right now. It should be possible to do +# out-of-tree builds. +B = "${S}" + +SRCREV = "b555312d70d7ff017f866649a7e7167af4eb8fca" + +SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.16-branch;protocol=https;tag=v${PV} \ + file://0001-do-not-build-tests-sub-directory.patch \ + file://0002-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ + file://0003-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ +" + +# Keep sync with xorg-server in oe-core +XORG_PN ?= "xorg-server" +XORG_PV ?= "21.1.21" +SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.xz;name=xorg" +XORG_S = "${UNPACKDIR}/${XORG_PN}-${XORG_PV}" +SRC_URI[xorg.sha256sum] = "c0cbe5545b3f645bae6024b830d1d1154a956350683a4e52b2fff5b0fa1ab519" + +# It is the directory containing the Xorg source for the +# machine on which you are building TigerVNC. +XSERVER_SOURCE_DIR = "${S}/unix/xserver" +AUTOTOOLS_SCRIPT_PATH = "${XSERVER_SOURCE_DIR}" + +do_patch[postfuncs] += "do_patch_xserver" +do_patch_xserver () { + # Put the xserver source in the right place in the tigervnc source tree + cp -rfl ${XORG_S}/* ${XSERVER_SOURCE_DIR} + # Apply the patch to integrate the vnc server + patch -p1 -b --suffix .vnc --directory ${XSERVER_SOURCE_DIR} <${S}/unix/xserver21.patch +} + +# It is very easy to miss xserver updates in oe-core, and this recipe's xserver +# gets out of sync due to this. Hopefully this warning will help. +do_configure[prefuncs] += "do_verify_xserver_version" +do_verify_xserver_version() { + OE_CORE_XSERVER_VERSION=$(pkg-config --modversion xorg-server) + if [ "$OE_CORE_XSERVER_VERSION" != "${XORG_PV}" ]; then + bbwarn "TigerVNC xorg-server version (${XORG_PV}) is different from oe-core's xorg-xserver version ($OE_CORE_XSERVER_VERSION)" + fi +} + +EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb \ + --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ + --disable-static --disable-xinerama \ + --with-xkb-output=${localstatedir}/lib/xkb \ + --disable-glx --disable-dri --disable-dri2 \ + --disable-config-hal \ + --disable-config-udev \ + --without-dtrace \ + --disable-unit-tests \ + --disable-devel-docs \ + --disable-selective-werror \ + --disable-xshmfence \ + --disable-config-udev \ + --disable-dri3 \ + --disable-libunwind \ + --without-xmlto \ + --enable-systemd-logind=no \ + --disable-xinerama \ +" + +EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_system_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}" + +do_configure:append () { + autotools_do_configure +} + +do_compile:append () { + oe_runmake 'TIGERVNC_BUILDDIR=${B}' +} + +do_install:append() { + oe_runmake 'TIGERVNC_BUILDDIR=${B}' -C ${B}/hw/vnc 'DESTDIR=${D}' install +} + +FILES:${PN} += " \ + ${libdir}/xorg/modules/extensions \ + ${datadir}/icons \ + ${datadir}/metainfo \ +" + +#If user want to enable service of vncserver, vncserver@:.service is needed and further steps are listed in unit file itself. +SYSTEMD_SERVICE:${PN} ?= "vncserver@.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" + +CVE_STATUS[CVE-2014-8241] = "fixed-version: The vulnerable code is not present in the used version (1.15.0)" +CVE_STATUS[CVE-2023-6377] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2023-6478] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2025-26594] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2025-26595] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2025-26596] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2025-26597] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2025-26598] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2025-26599] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2025-26600] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" +CVE_STATUS[CVE-2025-26601] = "fixed-version: The vulnerable code is not present in the used xserver version (21.1.18)" diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts-sources.inc b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts-sources.inc index da4977ca282..88eea63ba36 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts-sources.inc +++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts-sources.inc @@ -6,19 +6,19 @@ RECIPE_UPGRADE_EXTRA_TASKS += "do_refresh_srcuri" python __anonymous() { - if d.getVar("PV") != "3.2.13.0": + if d.getVar("PV") != "3.2.14.0": bb.warn("-sources.inc out of date, run refresh_srcuri task") } SRC_URI += " \ https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/external/renderdoc/src;sha256sum=e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e \ - git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/spirv-tools/src;rev=6d43afe9a0ef71712d8cec5b0ce0cd3570d1fd41 \ - git://github.com/KhronosGroup/glslang.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/glslang/src;rev=8e1494f9d742a27b54193ecd9475dcb2ef23b8b7 \ - git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/spirv-headers/src;rev=9268f3057354a2cb65991ba5f38b16d81e803692 \ - git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-docs/src;rev=ac3d0660c45ecf86b2952b298d125270228150d1 \ - git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-validationlayers/src;rev=68e4cdd8269c2af39aa16793c9089d1893eae972 \ - git://github.com/google/amber.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/amber/src;rev=57ba1ca211b6f4890c013dcf42cb16069ae916dd \ + git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/spirv-tools/src;rev=65b2ace21293057714b7fa1e87bd764d3dcef305 \ + git://github.com/KhronosGroup/glslang.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/glslang/src;rev=7881226269b1596feb604515743f528f02041375 \ + git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/spirv-headers/src;rev=babee77020ff82b571d723ce2c0262e2ec0ee3f1 \ + git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-docs/src;rev=ac8223b312d40a6bc1733fb3490bdcdb5a389d50 \ + git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-validationlayers/src;rev=0a11cf1257471c22b9e7d620ab48057fb2f53cf9 \ + git://github.com/google/amber.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/amber/src;rev=83c140b6f67f45220956b1971e83a53588b4c426 \ git://github.com/open-source-parsers/jsoncpp.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/jsoncpp/src;rev=9059f5cad030ba11d37818847443a53918c327b1 \ - git://github.com/KhronosGroup/Vulkan-Video-Samples.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-video-samples/src;rev=25f4401686c5b5ec726641f134b1989450e81027 \ + git://github.com/KhronosGroup/Vulkan-Video-Samples.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/vulkan-video-samples/src;rev=aaf915a0e08d679d1e8b835c30e6a346ab0c7ad2 \ git://github.com/Igalia/video_generator.git;protocol=https;nobranch=1;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/external/video_generator/src;rev=426300e12a5cc5d4676807039a1be237a2b68187 \ " diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.13.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.13.0.bb deleted file mode 100644 index cf01ce2491b..00000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.13.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -DESCRIPTION = "OpenGL CTS" - -require khronos-cts.inc - -SRCREV_vk-gl-cts = "67ce2ed4a32658b6a80afc52dc4d2825cdfdda8a" - -require opengl-es-cts-sources.inc - -EXTRA_OECMAKE += "-DSELECTED_BUILD_TARGETS="cts-runner deqp-egl deqp-gles2 deqp-gles3 deqp-gles31 deqp-gl-shared de-internal-tests glcts" \ - -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -" - -do_install() { - install -d ${D}/${CTSDIR} - cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR} - cp -r ${S}/external/openglcts/data/gl_cts/data/mustpass/ ${D}/${CTSDIR}/mustpass/ - - install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR} - - rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles - rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles - rm -rf ${D}/${CTSDIR}/common/*/*.a ${D}/${CTSDIR}/common/*/cmake_install.cmake ${D}/${CTSDIR}/common/*/CMakeFiles -} - -SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}" -LTO = "" diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.14.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.14.0.bb new file mode 100644 index 00000000000..2a98ba1bbb9 --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.14.0.bb @@ -0,0 +1,30 @@ +DESCRIPTION = "OpenGL CTS" + +require khronos-cts.inc + +SRCREV_vk-gl-cts = "ed5729a4e50de78f577cc043627aef93af8f16f6" + +require opengl-es-cts-sources.inc + +EXTRA_OECMAKE += "-DSELECTED_BUILD_TARGETS="cts-runner deqp-egl deqp-gles2 deqp-gles3 deqp-gles31 deqp-gl-shared de-internal-tests glcts" \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ +" + +do_install() { + install -d ${D}/${CTSDIR} + cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR} + cp -r ${S}/external/openglcts/data/gl_cts/data/mustpass/ ${D}/${CTSDIR}/mustpass/ + + install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR} + + rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles + rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles + rm -rf ${D}/${CTSDIR}/common/*/*.a ${D}/${CTSDIR}/common/*/cmake_install.cmake ${D}/${CTSDIR}/common/*/CMakeFiles +} + +SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}" +LTO = "" diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc index 52116c8ed72..6ebb9c18db9 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc @@ -6,7 +6,7 @@ RECIPE_UPGRADE_EXTRA_TASKS += "do_refresh_srcuri" python __anonymous() { - if d.getVar("PV") != "1.4.5.1": + if d.getVar("PV") != "1.4.5.2": bb.warn("-sources.inc out of date, run refresh_srcuri task") } diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.5.1.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.5.1.bb deleted file mode 100644 index cd5a66fd9fc..00000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.5.1.bb +++ /dev/null @@ -1,25 +0,0 @@ -DESCRIPTION = "Vulkan CTS" - -require khronos-cts.inc - -SRCREV_vk-gl-cts = "7b7c6cda940bec82d1c5a8c39048728d9bd32f39" - -require vulkan-cts-sources.inc - -# Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT -OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2" - -REQUIRED_DISTRO_FEATURES = "vulkan" -inherit features_check - -DEPENDS += " vulkan-loader" - -EXTRA_OECMAKE += "-DSELECTED_BUILD_TARGETS="deqp-vk deqp-vksc"" - -do_install() { - install -d ${D}/${CTSDIR}/mustpass - cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ - cp -r ${S}/external/vulkancts/mustpass/main/ ${D}/${CTSDIR}/mustpass/ - rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles - rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles -} diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.5.2.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.5.2.bb new file mode 100644 index 00000000000..0dd78620fbf --- /dev/null +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.5.2.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Vulkan CTS" + +require khronos-cts.inc + +SRCREV_vk-gl-cts = "a02761593aedeb1d3941ddd344ca35d7a2f9de46" + +require vulkan-cts-sources.inc + +# Workaround an optimization bug that breaks createMeshShaderMiscTestsEXT +OECMAKE_CXX_FLAGS:remove:toolchain-gcc = "-O2" + +REQUIRED_DISTRO_FEATURES = "vulkan" +inherit features_check + +DEPENDS += " vulkan-loader" + +EXTRA_OECMAKE += "-DSELECTED_BUILD_TARGETS="deqp-vk deqp-vksc"" + +do_install() { + install -d ${D}/${CTSDIR}/mustpass + cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ + cp -r ${S}/external/vulkancts/mustpass/main/ ${D}/${CTSDIR}/mustpass/ + rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles + rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles +} diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch b/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch deleted file mode 100644 index bfda2dfe717..00000000000 --- a/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 088bb4cef2c93bef312b076a8c7a3c798cbf2f19 Mon Sep 17 00:00:00 2001 -From: daicy -Date: Tue, 8 Dec 2015 11:45:01 +0900 -Subject: [PATCH] Makefile.am: Error Fix - -Do not compile man dir since error always occur. - | sed: file filenames.sed line 3: unterminated `s' command - | make[2]: *** [sessreg.1] Error 1 -It is not a good way.But can remove it from SKIP_RECIPE. - -Upstream-Status: Pending - -Signed-off-by: Li Xin ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index cddffd0..94f7048 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -18,7 +18,7 @@ - # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - # PERFORMANCE OF THIS SOFTWARE. - --SUBDIRS = man -+#SUBDIRS = man - bin_PROGRAMS = sessreg - - AM_CFLAGS = $(CWARNFLAGS) $(SESSREG_CFLAGS) --- -1.8.4.2 - diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb deleted file mode 100644 index 33ab22cde47..00000000000 --- a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb +++ /dev/null @@ -1,11 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc - -SUMMARY = "a simple program for managing utmp/wtmp entries" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185" -SRC_URI += "file://0001-Makefile.am-Error-Fix.patch" -SRC_URI_EXT = "xz" -SRC_URI[sha256sum] = "022acd5de8077dddc4f919961f79e102ecd5f3228a333681af5cd0e7344facc2" - -CFLAGS:append:libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP " - diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.4.bb b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.4.bb new file mode 100644 index 00000000000..4c711307593 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.4.bb @@ -0,0 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "a simple program for managing utmp/wtmp entries" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=82cc7e3245e8b11a5259108ba5b7e3dc" + +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "4e85b52f4f65a93449753bfb00ceb5d77f3317e24d07dc23147f2f116c785350" + +CFLAGS:append:libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP " + diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb deleted file mode 100644 index 9c522d6ae12..00000000000 --- a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb +++ /dev/null @@ -1,19 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc - -SUMMARY = "A program to compile XKB keyboard description" - -DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \ -XKB keymap into one of several output formats. The most common use for \ -xkbcomp is to create a compiled keymap file (.xkm extension) which can \ -be read directly by XKB-capable X servers or utilities." - -LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8" - -PE = "1" - -DEPENDS += "libxkbfile xrandr" - -BBCLASSEXTEND = "native" - -SRC_URI_EXT = "xz" -SRC_URI[sha256sum] = "be8d8554d40e981d1b93b5ff82497c9ad2259f59f675b38f1b5e84624c07fade" diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.5.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.5.bb new file mode 100644 index 00000000000..3b0fdf6077d --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.5.bb @@ -0,0 +1,19 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "A program to compile XKB keyboard description" + +DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \ +XKB keymap into one of several output formats. The most common use for \ +xkbcomp is to create a compiled keymap file (.xkm extension) which can \ +be read directly by XKB-capable X servers or utilities." + +LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8" + +PE = "1" + +DEPENDS += "libxkbfile xrandr" + +BBCLASSEXTEND = "native" + +SRC_URI_EXT = "xz" +SRC_URI[sha256sum] = "360193cecc93f906d8383a8fb5c1f3a7eed35e6ced0e118a64ee56ae13c88cac" diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_404.bb b/meta-oe/recipes-graphics/xorg-app/xterm_404.bb deleted file mode 100644 index 944d8115665..00000000000 --- a/meta-oe/recipes-graphics/xorg-app/xterm_404.bb +++ /dev/null @@ -1,52 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc -SUMMARY = "xterm is the standard terminal emulator for the X Window System" -DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native" - -LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=170620b648626a97057ff6ea99e6396e" - -SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ - file://0001-include-missing-pty.h-header-for-openpty.patch \ - " -SRC_URI[sha256sum] = "63332f921c227ba59e589fa07dfdad1599c10ac859ea26c72ac1dd4a41b565a4" - -PACKAGECONFIG ?= "" -PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" - -# Let xterm install .desktop files -inherit mime-xdg - -EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ - --x-libraries=${STAGING_LIBDIR} \ - FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ - --disable-imake \ - --disable-rpath-hack \ - --disable-setuid \ - --with-app-defaults=${datadir}/X11/app-defaults \ - --program-transform-name= \ - " - -B = "${S}" - -CFLAGS += "-D_GNU_SOURCE" - -do_configure() { - gnu-configize --force - sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure - oe_runconf -} - -do_install:append() { - oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}" -} - -RPROVIDES:${PN} = "virtual-x-terminal-emulator" - -# busybox can supply resize too -inherit update-alternatives - -ALTERNATIVE:${PN} = "resize x-terminal-emulator" -ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm" -# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm. -ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9" - -CVE_STATUS[CVE-1999-0965] = "cpe-incorrect: Current version (392) not affected. This was fixed in version X11R5-fix-26 (R11R6 from 1994)" diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_408.bb b/meta-oe/recipes-graphics/xorg-app/xterm_408.bb new file mode 100644 index 00000000000..0f76bc12090 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xterm_408.bb @@ -0,0 +1,52 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "xterm is the standard terminal emulator for the X Window System" +DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native" + +LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=413ff95100710d7a817c5257bf3940cb" + +SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ + file://0001-include-missing-pty.h-header-for-openpty.patch \ + " +SRC_URI[sha256sum] = "27dc9e770885f98fbd0b5b40bcda959dc11ec9ba21f0a33b12aafffcc7f9b813" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" + +# Let xterm install .desktop files +inherit mime-xdg + +EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ + --disable-imake \ + --disable-rpath-hack \ + --disable-setuid \ + --with-app-defaults=${datadir}/X11/app-defaults \ + --program-transform-name= \ + " + +B = "${S}" + +CFLAGS += "-D_GNU_SOURCE" + +do_configure() { + gnu-configize --force + sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure + oe_runconf +} + +do_install:append() { + oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}" +} + +RPROVIDES:${PN} = "virtual-x-terminal-emulator" + +# busybox can supply resize too +inherit update-alternatives + +ALTERNATIVE:${PN} = "resize x-terminal-emulator" +ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm" +# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm. +ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9" + +CVE_STATUS[CVE-1999-0965] = "cpe-incorrect: Current version (392) not affected. This was fixed in version X11R5-fix-26 (R11R6 from 1994)" diff --git a/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb b/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb index cce85331f8a..2ad41da9575 100644 --- a/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb +++ b/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" SECTION = "devel" -EXTRA_OEMAKE = "'CC=${CC}'" +EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS}'" SRCREV = "468fe4c31e6c62c9bbb328b06ba71eaf7be0b76a" diff --git a/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-oe/recipes-kernel/bpftool/bpftool.bb index 4f4d4a86706..66e48cfd843 100644 --- a/meta-oe/recipes-kernel/bpftool/bpftool.bb +++ b/meta-oe/recipes-kernel/bpftool/bpftool.bb @@ -2,7 +2,7 @@ SUMMARY = "Inspect and manipulate eBPF programs and maps" DESCRIPTION = "bpftool is a kernel tool for inspection and simple manipulation \ of eBPF programs and maps." LICENSE = "GPL-2.0-only" -DEPENDS = "binutils elfutils elfutils-native" +DEPENDS = "binutils elfutils elfutils-native openssl" PROVIDES = "virtual/bpftool" inherit bash-completion kernelsrc kernel-arch diff --git a/meta-oe/recipes-kernel/cpupower/cpupower.bb b/meta-oe/recipes-kernel/cpupower/cpupower.bb index 453ebe8c7f0..b4533087709 100644 --- a/meta-oe/recipes-kernel/cpupower/cpupower.bb +++ b/meta-oe/recipes-kernel/cpupower/cpupower.bb @@ -5,6 +5,8 @@ LICENSE = "GPL-2.0-only" DEPENDS = "pciutils gettext-native" PROVIDES = "virtual/cpupower" +B = "${WORKDIR}/${BPN}-${PV}" + inherit kernelsrc kernel-arch bash-completion do_populate_lic[depends] += "virtual/kernel:do_shared_workdir" @@ -19,17 +21,16 @@ do_compile() { do_install() { oe_runmake DESTDIR=${D} install - # Do not ship headers - rm -rf ${D}${includedir} chown -R root:root ${D} } PACKAGE_ARCH = "${MACHINE_ARCH}" +PACKAGES =+ "${PN}-systemd" + +FILES:${PN}-systemd = "${sysconfdir}/cpupower-service.conf ${systemd_unitdir}" RDEPENDS:${PN} = "bash" python do_package:prepend() { d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0]) } - -B = "${WORKDIR}/${BPN}-${PV}" diff --git a/meta-oe/recipes-kernel/drgn/python3-drgn_0.0.33.bb b/meta-oe/recipes-kernel/drgn/python3-drgn_0.0.33.bb deleted file mode 100644 index b15af42f369..00000000000 --- a/meta-oe/recipes-kernel/drgn/python3-drgn_0.0.33.bb +++ /dev/null @@ -1,79 +0,0 @@ -SUMMARY = "drgn (pronounced dragon) is a debugger with an emphasis on \ -programmability. drgn exposes the types and variables in a program for easy, \ -expressive scripting in Python." -HOMEPAGE = "https://github.com/osandov/drgn" -LICENSE = " LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=7c83d30e99508d6b790eacdd3abab846" - -SRC_URI = "git://github.com/osandov/drgn.git;protocol=https;branch=main;tag=v${PV}" -SRCREV = "781a21cb057ce07f17fd6edf0ffd299426abcbf7" - - -DEPENDS = "\ - autoconf-native \ - automake-native \ - libtool-native \ - elfutils \ - " - -DEPENDS:append:toolchain-clang:class-target = "\ - openmp \ - " - -OPENMP_LIB = "libgomp" -OPENMP_LIB:toolchain-clang:class-target = "openmp" - -RDEPENDS:${PN} = "\ - python3-crypt \ - python3-io \ - python3-logging \ - python3-math \ - python3-pickle \ - python3-stringold \ - python3-compression \ - " - -RDEPENDS:${PN}:append:class-target = "\ - libdw \ - libelf \ - ${OPENMP_LIB} \ - " - -RDEPENDS:${PN}:append:class-native = "\ - elfutils-native \ - " - -RDEPENDS:${PN}:append:class-nativesdk = "\ - nativesdk-elfutils \ - " - -OPENMP_LIB_NAME = "gomp" -OPENMP_LIB_NAME:toolchain-clang:class-target = "omp" - -export CONFIGURE_FLAGS = "\ - --build=${BUILD_SYS}, \ - --host=${HOST_SYS}, \ - --target=${TARGET_SYS}, \ - --prefix=${prefix}, \ - --exec_prefix=${exec_prefix}, \ - --bindir=${bindir}, \ - --sbindir=${sbindir}, \ - --libexecdir=${libexecdir}, \ - --datadir=${datadir}, \ - --sysconfdir=${sysconfdir}, \ - --sharedstatedir=${sharedstatedir}, \ - --localstatedir=${localstatedir}, \ - --libdir=${libdir}, \ - --includedir=${includedir}, \ - --oldincludedir=${includedir}, \ - --infodir=${infodir}, \ - --mandir=${mandir}, \ - --enable-openmp=${OPENMP_LIB_NAME} \ - " - -export PYTHON_CPPFLAGS = "-I${STAGING_INCDIR}/${PYTHON_DIR}" - -inherit python3native pkgconfig setuptools3 - -BBCLASSEXTEND = "native nativesdk" - diff --git a/meta-oe/recipes-kernel/drgn/python3-drgn_0.1.0.bb b/meta-oe/recipes-kernel/drgn/python3-drgn_0.1.0.bb new file mode 100644 index 00000000000..c2b4d9404ea --- /dev/null +++ b/meta-oe/recipes-kernel/drgn/python3-drgn_0.1.0.bb @@ -0,0 +1,79 @@ +SUMMARY = "drgn (pronounced dragon) is a debugger with an emphasis on \ +programmability. drgn exposes the types and variables in a program for easy, \ +expressive scripting in Python." +HOMEPAGE = "https://github.com/osandov/drgn" +LICENSE = " LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=7c83d30e99508d6b790eacdd3abab846" + +SRC_URI = "git://github.com/osandov/drgn.git;protocol=https;branch=main;tag=v${PV}" +SRCREV = "26dd4435315e6735cfa7f4ab0713bb1533a94750" + + +DEPENDS = "\ + autoconf-native \ + automake-native \ + libtool-native \ + elfutils \ + " + +DEPENDS:append:toolchain-clang:class-target = "\ + openmp \ + " + +OPENMP_LIB = "libgomp" +OPENMP_LIB:toolchain-clang:class-target = "openmp" + +RDEPENDS:${PN} = "\ + python3-crypt \ + python3-io \ + python3-logging \ + python3-math \ + python3-pickle \ + python3-stringold \ + python3-compression \ + " + +RDEPENDS:${PN}:append:class-target = "\ + libdw \ + libelf \ + ${OPENMP_LIB} \ + " + +RDEPENDS:${PN}:append:class-native = "\ + elfutils-native \ + " + +RDEPENDS:${PN}:append:class-nativesdk = "\ + nativesdk-elfutils \ + " + +OPENMP_LIB_NAME = "gomp" +OPENMP_LIB_NAME:toolchain-clang:class-target = "omp" + +export CONFIGURE_FLAGS = "\ + --build=${BUILD_SYS}, \ + --host=${HOST_SYS}, \ + --target=${TARGET_SYS}, \ + --prefix=${prefix}, \ + --exec_prefix=${exec_prefix}, \ + --bindir=${bindir}, \ + --sbindir=${sbindir}, \ + --libexecdir=${libexecdir}, \ + --datadir=${datadir}, \ + --sysconfdir=${sysconfdir}, \ + --sharedstatedir=${sharedstatedir}, \ + --localstatedir=${localstatedir}, \ + --libdir=${libdir}, \ + --includedir=${includedir}, \ + --oldincludedir=${includedir}, \ + --infodir=${infodir}, \ + --mandir=${mandir}, \ + --enable-openmp=${OPENMP_LIB_NAME} \ + " + +export PYTHON_CPPFLAGS = "-I${STAGING_INCDIR}/${PYTHON_DIR}" + +inherit python3native pkgconfig setuptools3 + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb index 430b5974b38..5c001696d01 100644 --- a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb +++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb @@ -12,12 +12,17 @@ S = "${UNPACKDIR}" SRC_URI:append:libc-musl = "\ file://userfaultfd.patch \ " + +# Fix liburing detection (from Linux v7.0) +MM_PATCH = "file://0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch" + SRC_URI += "file://run-ptest \ file://COPYING \ file://0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch \ + ${@bb.utils.contains('PACKAGECONFIG', 'mm', '${MM_PATCH}', '', d)} \ " -# now we just test bpf and vm +# now we just test bpf and mm (formerly known as vm) # we will append other kernel selftest in the future # bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d # if you have older kernel than that you need to remove it from PACKAGECONFIG @@ -25,20 +30,17 @@ PACKAGECONFIG ??= "firmware" # bpf needs working clang compiler anyway PACKAGECONFIG:append:toolchain-clang:x86-64 = " bpf" PACKAGECONFIG:remove:x86 = "bpf" -PACKAGECONFIG:remove:arm = "bpf vm" +PACKAGECONFIG:remove:arm = "bpf mm" # host ptrace.h is used to compile BPF target but mips ptrace.h is needed # progs/loop1.c:21:9: error: incomplete definition of type 'struct user_pt_regs' # m = PT_REGS_RC(ctx); -# vm tests need libhugetlbfs starting 5.8+ (https://lkml.org/lkml/2020/4/22/1654) -PACKAGECONFIG:remove:qemumips = "bpf vm" - -# riscv does not support libhugetlbfs yet -PACKAGECONFIG:remove:riscv64 = "bpf vm" -PACKAGECONFIG:remove:riscv32 = "bpf vm" +PACKAGECONFIG:remove:qemumips = "bpf" +PACKAGECONFIG:remove:riscv64 = "bpf" +PACKAGECONFIG:remove:riscv32 = "bpf" PACKAGECONFIG[bpf] = ",,elfutils elfutils-native libcap libcap-ng rsync-native python3-docutils-native," PACKAGECONFIG[firmware] = ",,libcap, bash" -PACKAGECONFIG[vm] = ",,libcap libhugetlbfs,libgcc bash" +PACKAGECONFIG[mm] = ",,libcap liburing numactl, libgcc bash" do_patch[depends] += "virtual/kernel:do_shared_workdir" do_compile[depends] += "virtual/kernel:do_install" @@ -48,7 +50,7 @@ inherit linux-kernel-base module-base kernel-arch ptest siteinfo DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" TEST_LIST = "\ - ${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware vm', d)} \ + ${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware mm', d)} \ cpufreq \ cpu-hotplug \ rtc \ @@ -78,6 +80,7 @@ KERNEL_SELFTEST_SRC ?= "Makefile \ tools \ scripts \ arch \ + ${@bb.utils.filter('PACKAGECONFIG', 'mm', d)} \ LICENSES \ " do_compile() { diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch new file mode 100644 index 00000000000..a115d56dd15 --- /dev/null +++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch @@ -0,0 +1,76 @@ +From 8f9e6395f1f8121b577eeb4cb54f671a9088bddd Mon Sep 17 00:00:00 2001 +From: Kevin Brodsky +Date: Thu, 22 Jan 2026 17:02:18 +0000 +Subject: [PATCH] selftests/mm: pass down full CC and CFLAGS to check_config.sh + +check_config.sh checks that liburing is available by running the compiler +provided as its first argument. This makes two assumptions: + +1. CC consists of only one word +2. No extra flag is required + +Unfortunately, there are many situations where these assumptions don't +hold. For instance: + +- When using Clang, CC consists of multiple words +- When cross-compiling, extra flags may be required to allow the + compiler to find headers + +Remove these assumptions by passing down CC and CFLAGS as-is from the +Makefile, so that the same command line is used as when actually building +the tests. + +Link: https://lkml.kernel.org/r/20260122170224.4056513-4-kevin.brodsky@arm.com +Signed-off-by: Kevin Brodsky +Reviewed-by: Mark Brown +Acked-by: David Hildenbrand (Red Hat) +Cc: Jason Gunthorpe +Cc: John Hubbard +Cc: Dev Jain +Cc: Lorenzo Stoakes +Cc: Paolo Abeni +Cc: Ryan Roberts +Cc: SeongJae Park +Cc: Shuah Khan +Cc: Usama Anjum +Cc: wang lian +Cc: Yunsheng Lin +Signed-off-by: Andrew Morton + +Upstream-Status: Backport [from commit 7f532d19c8be7, in tag v7.0] + +--- + tools/testing/selftests/mm/Makefile | 2 +- + tools/testing/selftests/mm/check_config.sh | 3 +-- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/tools/testing/selftests/mm/Makefile b/tools/testing/selftests/mm/Makefile +index ae6f994d3add..fc9b9ec367c3 100644 +--- a/tools/testing/selftests/mm/Makefile ++++ b/tools/testing/selftests/mm/Makefile +@@ -228,7 +228,7 @@ $(OUTPUT)/ksm_tests: LDLIBS += -lnuma + $(OUTPUT)/migration: LDLIBS += -lnuma + + local_config.mk local_config.h: check_config.sh +- /bin/sh ./check_config.sh $(CC) ++ CC="$(CC)" CFLAGS="$(CFLAGS)" ./check_config.sh + + EXTRA_CLEAN += local_config.mk local_config.h + +diff --git a/tools/testing/selftests/mm/check_config.sh b/tools/testing/selftests/mm/check_config.sh +index 3954f4746161..b84c82bbf875 100755 +--- a/tools/testing/selftests/mm/check_config.sh ++++ b/tools/testing/selftests/mm/check_config.sh +@@ -16,8 +16,7 @@ echo "#include " > $tmpfile_c + echo "#include " >> $tmpfile_c + echo "int func(void) { return 0; }" >> $tmpfile_c + +-CC=${1:?"Usage: $0 # example compiler: gcc"} +-$CC -c $tmpfile_c -o $tmpfile_o >/dev/null 2>&1 ++$CC $CFLAGS -c $tmpfile_c -o $tmpfile_o + + if [ -f $tmpfile_o ]; then + echo "#define LOCAL_CONFIG_HAVE_LIBURING 1" > $OUTPUT_H_FILE +-- +2.47.0 + diff --git a/meta-oe/recipes-kernel/libbpf/libbpf_1.6.2.bb b/meta-oe/recipes-kernel/libbpf/libbpf_1.6.2.bb deleted file mode 100644 index 28732b1e669..00000000000 --- a/meta-oe/recipes-kernel/libbpf/libbpf_1.6.2.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Library for BPF handling" -DESCRIPTION = "Library for BPF handling" -HOMEPAGE = "https://github.com/libbpf/libbpf" -SECTION = "libs" -LICENSE = "LGPL-2.1-or-later" - -LIC_FILES_CHKSUM = "file://../LICENSE.LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" - -DEPENDS = "zlib elfutils" - -SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=${BPN}-${PV}" -SRCREV = "45e89348ec74617c11cd5241ccd0ffc91dfd03c4" - -PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux" - -S = "${UNPACKDIR}/${BP}/src" - -EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}" -EXTRA_OEMAKE:append:class-native = " UAPIDIR=${includedir}" - -inherit pkgconfig - -do_compile() { - oe_runmake -} - -do_install() { - oe_runmake install -} - -do_install:append:class-native() { - oe_runmake install_uapi_headers -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-kernel/libbpf/libbpf_1.7.0.bb b/meta-oe/recipes-kernel/libbpf/libbpf_1.7.0.bb new file mode 100644 index 00000000000..f6cb024706a --- /dev/null +++ b/meta-oe/recipes-kernel/libbpf/libbpf_1.7.0.bb @@ -0,0 +1,36 @@ +SUMMARY = "Library for BPF handling" +DESCRIPTION = "Library for BPF handling" +HOMEPAGE = "https://github.com/libbpf/libbpf" +SECTION = "libs" +LICENSE = "LGPL-2.1-or-later" + +LIC_FILES_CHKSUM = "file://../LICENSE.LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" + +DEPENDS = "zlib elfutils" + +SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=master;tag=v${PV}" +SRCREV = "f5dcbae736e5d7f83a35718e01be1a8e3010fa39" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux" + +S = "${UNPACKDIR}/${BP}/src" + +EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}" +EXTRA_OEMAKE:append:class-native = " UAPIDIR=${includedir}" + +inherit pkgconfig + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake install +} + +do_install:append:class-native() { + oe_runmake install_uapi_headers +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-kernel/minicoredumper/files/0001-coreinject-fix-assignment-of-const-qualified-type.patch b/meta-oe/recipes-kernel/minicoredumper/files/0001-coreinject-fix-assignment-of-const-qualified-type.patch new file mode 100644 index 00000000000..ace46202b76 --- /dev/null +++ b/meta-oe/recipes-kernel/minicoredumper/files/0001-coreinject-fix-assignment-of-const-qualified-type.patch @@ -0,0 +1,44 @@ +From 07023a2d2ef059a039fef83ee4b33a7e47ca8e3e Mon Sep 17 00:00:00 2001 +From: John Ogness +Date: Tue, 24 Feb 2026 11:33:40 +0106 +Subject: [PATCH] coreinject: fix assignment of const-qualified type + +coreinject fails to build with glibc 2.43. + +The issue is due to a new glibc feature: + +* For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr, + strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return + pointers into their input arrays now have definitions as macros that + return a pointer to a const-qualified type when the input argument is + a pointer to a const-qualified type. + +The fix is trivial since the returned strrchr() value is only used in +a way compatible with const pointers. The data type was simply defined +incorrectly. + +Reported-by: Aurelien Jarno +Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1128695 +Signed-off-by: John Ogness + +Upstream-Status: Backport [https://github.com/diamon/minicoredumper/commit/eb66f10ae26edf94bf41d513ce90a4eb1e0f11b3] +Signed-off-by: Gyorgy Sarvari +--- + src/coreinject/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/coreinject/main.c b/src/coreinject/main.c +index faf8edf..198485d 100644 +--- a/src/coreinject/main.c ++++ b/src/coreinject/main.c +@@ -240,9 +240,9 @@ static int inject_data(FILE *f_core, FILE *f_symmap, const char *b_fname, + struct ident_data indirect; + struct ident_data direct; + const char *ident; ++ const char *p; + FILE *f_dump; + int err = 0; +- char *p; + + /* extract ident name from file path */ + p = strrchr(b_fname, '/'); diff --git a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.7.bb b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.7.bb index 44d85550eea..ff4fdf358e6 100644 --- a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.7.bb +++ b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.7.bb @@ -18,6 +18,7 @@ SRC_URI = "git://github.com/diamon/minicoredumper;protocol=https;branch=master \ file://run-ptest \ file://0001-corestripper-Fix-uninitialized-warning.patch \ file://0002-Fix-2038-year-problem-in-timestamp-handling.patch \ + file://0001-coreinject-fix-assignment-of-const-qualified-type.patch \ " diff --git a/meta-oe/recipes-kernel/rtla/rtla.bb b/meta-oe/recipes-kernel/rtla/rtla.bb new file mode 100644 index 00000000000..829804c4ea0 --- /dev/null +++ b/meta-oe/recipes-kernel/rtla/rtla.bb @@ -0,0 +1,47 @@ +SUMMARY = "Real-Time Linux Analysis tool" +LICENSE = "GPL-2.0-only" + +DEPENDS = "libtraceevent libtracefs" +PROVIDES = "virtual/rtla" + +B = "${WORKDIR}/${BPN}-${PV}" + +inherit kernelsrc kernel-arch pkgconfig + +do_populate_lic[depends] += "virtual/kernel:do_shared_workdir" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[cpupower] = ",,cpupower" + +EXTRA_OEMAKE = "V=1 -C ${S}/tools/tracing/rtla O=${B} CROSS=${TARGET_PREFIX} \ + CC="${CC} ${DEBUG_PREFIX_MAP} -D_GNU_SOURCE" LD="${LD}" AR=${AR} ARCH=${ARCH} \ + BUILD_BPF_SKEL=0" + +do_compile() { + # Older kernels (before 6.9) use a standalone rtla Makefile that does not honor + # O= so outputs land in the kernel source tree (shared workdir). Remove + # build output to make sure it is rebuilt. For newer kernels this wil be a no-op. + rm -f ${S}/tools/tracing/rtla/rtla + rm -f ${S}/tools/tracing/rtla/src/*.o + + # Older kernels need additional variable EXTRA_LDFLAGS to pick up correct linker options. + export EXTRA_LDFLAGS="${LDFLAGS}" + oe_runmake +} + +do_install() { + install -d ${D}${bindir} + + # Older kernels (before 6.9) use a standalone rtla Makefile that does not honor + # O= for the final binary, so it ends up in the kernel source tree. + rtla_bin="${B}/rtla" + [ -f "${rtla_bin}" ] || rtla_bin="${S}/tools/tracing/rtla/rtla" + install -m 755 "${rtla_bin}" ${D}${bindir}/rtla + + # rtla, osnoise, hwnoise, and timerlat are all the same binary + ln -s rtla ${D}${bindir}/osnoise + ln -s rtla ${D}${bindir}/hwnoise + ln -s rtla ${D}${bindir}/timerlat +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb b/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb index 6ebb54e261d..c837dad87c7 100644 --- a/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb +++ b/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb @@ -30,7 +30,7 @@ SRC_URI[sha256sum] = "ea2449ad3f201ec590d811db9da6d02ffc5e87a677d06b92ab15363d8c inherit autotools lib_package pkgconfig ptest -CXXFLAGS += "-std=c++14" +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" DEPENDS = " \ asciidoc-native \ diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio_2.3.0.bb b/meta-oe/recipes-multimedia/libcdio/libcdio_2.3.0.bb index 11e84c6505d..20ffbffd980 100644 --- a/meta-oe/recipes-multimedia/libcdio/libcdio_2.3.0.bb +++ b/meta-oe/recipes-multimedia/libcdio/libcdio_2.3.0.bb @@ -29,3 +29,5 @@ python libcdio_split_packages() { } PACKAGESPLITFUNCS =+ "libcdio_split_packages" + +CVE_STATUS[CVE-2024-36600] = "fixed-version: fixed in v2.3.0" diff --git a/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb b/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb index 9090cabb124..463e9a3dd74 100644 --- a/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb +++ b/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb @@ -3,7 +3,7 @@ SECTION = "libs/multimedia" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" -SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" +SRC_URI = "https://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" SRC_URI[sha256sum] = "ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369" inherit autotools lib_package binconfig pkgconfig diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_0.11.1.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_0.11.1.bb deleted file mode 100644 index 8170c9055d3..00000000000 --- a/meta-oe/recipes-multimedia/libjxl/libjxl_0.11.1.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" -HOMEPAGE = "https://github.com/libjxl/libjxl/" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" - -inherit cmake pkgconfig mime - -DEPENDS = "highway brotli" - -SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1 \ - file://0001-cmake-Do-not-use-mrelax-all-with-clang-on-RISCV64.patch \ - " - -SRCREV = "794a5dcf0d54f9f0b20d288a12e87afb91d20dfc" - -EXTRA_OECMAKE = " \ - -DCMAKE_BUILD_TYPE=Release \ - -DJPEGXL_ENABLE_PLUGINS=ON \ - -DBUILD_TESTING=OFF \ - -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ - -DJPEGXL_ENABLE_SJPEG=OFF \ - -DJPEGXL_ENABLE_BENCHMARK=OFF \ - -DJPEGXL_ENABLE_EXAMPLES=OFF \ - -DJPEGXL_ENABLE_MANPAGES=OFF \ - -DJPEGXL_ENABLE_SKCMS=ON \ - -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ - -DJPEGXL_FORCE_SYSTEM_HWY=ON \ - -DJPEGXL_ENABLE_JNI=OFF \ - -DJPEGXL_ENABLE_TCMALLOC=OFF \ - -DJPEGXL_ENABLE_TOOLS=OFF \ -" - -PACKAGECONFIG ?= "mime gdk-pixbuf-loader sizeless-vectors" -# libjxl/0.10.2/recipe-sysroot/usr/include/hwy/ops/rvv-inl.h:591:17: error: use -# of undeclared identifier '__riscv_vsetvlmax_e8mf8' -# 591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL) -# | ^ -PACKAGECONFIG:remove:riscv64 = "sizeless-vectors" -PACKAGECONFIG:remove:riscv32 = "sizeless-vectors" -PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" -PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" -PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" -PACKAGECONFIG[sizeless-vectors] = "-DJPEGXL_ENABLE_SIZELESS_VECTORS=ON,-DJPEGXL_ENABLE_SIZELESS_VECTORS=OFF" - -# lcms/src/cmsps2.c -# error: out of range pc-relative fixup value -CFLAGS:append:toolchain-clang:arm = " -fno-integrated-as" -# lib/jxl/convolve_separable5.cc -# error: out of range pc-relative fixup value -CXXFLAGS:append:toolchain-clang:arm = " -fno-integrated-as" - -FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_0.11.2.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_0.11.2.bb new file mode 100644 index 00000000000..f73fd314c27 --- /dev/null +++ b/meta-oe/recipes-multimedia/libjxl/libjxl_0.11.2.bb @@ -0,0 +1,58 @@ +SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)" +HOMEPAGE = "https://github.com/libjxl/libjxl/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f" + +inherit cmake pkgconfig mime + +DEPENDS = "highway brotli" + +SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1;tag=v${PV} \ + file://0001-cmake-Do-not-use-mrelax-all-with-clang-on-RISCV64.patch \ + " + +SRCREV = "332feb17d17311c748445f7ee75c4fb55cc38530" + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DJPEGXL_ENABLE_PLUGINS=ON \ + -DBUILD_TESTING=OFF \ + -DJPEGXL_WARNINGS_AS_ERRORS=OFF \ + -DJPEGXL_ENABLE_SJPEG=OFF \ + -DJPEGXL_ENABLE_BENCHMARK=OFF \ + -DJPEGXL_ENABLE_EXAMPLES=OFF \ + -DJPEGXL_ENABLE_MANPAGES=OFF \ + -DJPEGXL_ENABLE_SKCMS=ON \ + -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \ + -DJPEGXL_FORCE_SYSTEM_HWY=ON \ + -DJPEGXL_ENABLE_JNI=OFF \ + -DJPEGXL_ENABLE_TCMALLOC=OFF \ + -DJPEGXL_ENABLE_TOOLS=OFF \ +" + +PACKAGECONFIG ?= "mime gdk-pixbuf-loader sizeless-vectors" +# libjxl/0.10.2/recipe-sysroot/usr/include/hwy/ops/rvv-inl.h:591:17: error: use +# of undeclared identifier '__riscv_vsetvlmax_e8mf8' +# 591 | HWY_RVV_FOREACH(HWY_RVV_LANES, Lanes, setvlmax_e, _ALL) +# | ^ +PACKAGECONFIG:remove:riscv64 = "sizeless-vectors" +PACKAGECONFIG:remove:riscv32 = "sizeless-vectors" +PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf" +PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp" +PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF" +PACKAGECONFIG[sizeless-vectors] = "-DJPEGXL_ENABLE_SIZELESS_VECTORS=ON,-DJPEGXL_ENABLE_SIZELESS_VECTORS=OFF" + +# lcms/src/cmsps2.c +# error: out of range pc-relative fixup value +CFLAGS:append:toolchain-clang:arm = " -fno-integrated-as" +# lib/jxl/convolve_separable5.cc +# error: out of range pc-relative fixup value +CXXFLAGS:append:toolchain-clang:arm = " -fno-integrated-as" + +FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" + +BBCLASSEXTEND = "native" + +CVE_STATUS[CVE-2025-12474] = "fixed-version: fixed in v0.11.2" +CVE_STATUS[CVE-2026-1837] = "fixed-version: fixed in v0.11.2" diff --git a/meta-oe/recipes-multimedia/libxmp/libxmp_4.6.3.bb b/meta-oe/recipes-multimedia/libxmp/libxmp_4.6.3.bb deleted file mode 100644 index c302f65ed5d..00000000000 --- a/meta-oe/recipes-multimedia/libxmp/libxmp_4.6.3.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Extended Module Player Library" -HOMEPAGE = "http://xmp.sourceforge.net/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://README;beginline=59;md5=ea030bd80f99071b0d3f9a9f752d1ca8" - -inherit cmake pkgconfig - -SRC_URI = "git://github.com/libxmp/libxmp.git;protocol=https;branch=master;tag=libxmp-${PV}" -SRCREV = "bed660f8e530d399c38f27a5a7732f4e79740585" - diff --git a/meta-oe/recipes-multimedia/libxmp/libxmp_4.7.0.bb b/meta-oe/recipes-multimedia/libxmp/libxmp_4.7.0.bb new file mode 100644 index 00000000000..22e41aa7cbf --- /dev/null +++ b/meta-oe/recipes-multimedia/libxmp/libxmp_4.7.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "Extended Module Player Library" +HOMEPAGE = "http://xmp.sourceforge.net/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://README;beginline=59;md5=b25470e2863502c9ac9886f09c21a8f9" + +inherit cmake pkgconfig + +SRC_URI = "git://github.com/libxmp/libxmp.git;protocol=https;branch=master;tag=libxmp-${PV}" +SRCREV = "8a4fdf7d09aedc921de537853b59e1d15b534f24" + diff --git a/meta-oe/recipes-multimedia/live555/live555/config.linux-cross b/meta-oe/recipes-multimedia/live555/live555/config.linux-cross index fe6a28604bb..19881e4a46f 100644 --- a/meta-oe/recipes-multimedia/live555/live555/config.linux-cross +++ b/meta-oe/recipes-multimedia/live555/live555/config.linux-cross @@ -4,7 +4,7 @@ C_COMPILER = $(CC) C_FLAGS = $(COMPILE_OPTS) CPP = cpp CPLUSPLUS_COMPILER = $(CXX) -CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 +CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 -std=c++20 OBJ = o LINK = $(CXX) -o LINK_OPTS = -L. diff --git a/meta-oe/recipes-multimedia/live555/live555_20210824.bb b/meta-oe/recipes-multimedia/live555/live555_20210824.bb deleted file mode 100644 index 1622a97fe19..00000000000 --- a/meta-oe/recipes-multimedia/live555/live555_20210824.bb +++ /dev/null @@ -1,63 +0,0 @@ -# live555 OE build file -# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved -# Released under the MIT license (see packages/COPYING) - -DESCRIPTION = "LIVE555 Streaming Media libraries" -HOMEPAGE = "http://live.com/" -LICENSE = "LGPL-3.0-only" -SECTION = "devel" - -DEPENDS = "openssl" - -URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}" -SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \ - file://config.linux-cross" - -# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older -MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n" - -SRC_URI[sha256sum] = "ce95a1c79f6d18e959f9dc129b8529b711c60e76754acc285e60946303b923ec" - -S = "${UNPACKDIR}/live" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - " - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_configure() { - cp ${UNPACKDIR}/config.linux-cross . - echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross - ./genMakefiles linux-cross -} - -do_install() { - install -d ${D}${includedir}/BasicUsageEnvironment - install -d ${D}${includedir}/groupsock - install -d ${D}${includedir}/liveMedia - install -d ${D}${includedir}/UsageEnvironment - install -d ${D}${libdir} - cp -R --no-dereference --preserve=mode,links -v ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/ - cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/ - cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/ - cp -R --no-dereference --preserve=mode,links -v ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/ - cp -R --no-dereference --preserve=mode,links -v ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/ - # Find all the headers - for i in $(find . -name "*.hh") $(find . -name "*.h") ; do - install ${i} ${D}${includedir} - done - cp ${S}/*/*.a ${D}${libdir} - install -d ${D}${bindir} - for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do - install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/ - done - install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/ -} - -RDEPENDS:${PN}-dev = "" -PACKAGES =+ "live555-openrtsp live555-playsip live555-mediaserver live555-examples" -FILES:live555-openrtsp = "${bindir}/openRTSP" -FILES:live555-playsip = "${bindir}/playSIP" -FILES:live555-mediaserver = "${bindir}/live555MediaServer" -FILES:live555-examples = "${bindir}/*" diff --git a/meta-oe/recipes-multimedia/live555/live555_20260112.bb b/meta-oe/recipes-multimedia/live555/live555_20260112.bb new file mode 100644 index 00000000000..ee92fd36c4d --- /dev/null +++ b/meta-oe/recipes-multimedia/live555/live555_20260112.bb @@ -0,0 +1,64 @@ +# live555 OE build file +# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved +# Released under the MIT license (see packages/COPYING) + +DESCRIPTION = "LIVE555 Streaming Media libraries" +HOMEPAGE = "http://live.com/" +LICENSE = "LGPL-3.0-only" +SECTION = "devel" + +DEPENDS = "openssl" + +URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}" +SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \ + file://config.linux-cross" + +# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older +MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n" + +SRC_URI[sha256sum] = "2c54c2e090065849d0ab8cc7b06942f4e66dde17f2a0c80ae20b907d562c937e" +CVE_PRODUCT = "live555 live555_media_server live555:streaming_media live555:liblivemedia" + +S = "${UNPACKDIR}/live" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + " + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_configure() { + cp ${UNPACKDIR}/config.linux-cross . + echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross + ./genMakefiles linux-cross +} + +do_install() { + install -d ${D}${includedir}/BasicUsageEnvironment + install -d ${D}${includedir}/groupsock + install -d ${D}${includedir}/liveMedia + install -d ${D}${includedir}/UsageEnvironment + install -d ${D}${libdir} + cp -R --no-dereference --preserve=mode,links -v ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/ + cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/ + cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/ + cp -R --no-dereference --preserve=mode,links -v ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/ + cp -R --no-dereference --preserve=mode,links -v ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/ + # Find all the headers + for i in $(find . -name "*.hh") $(find . -name "*.h") ; do + install ${i} ${D}${includedir} + done + cp ${S}/*/*.a ${D}${libdir} + install -d ${D}${bindir} + for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do + install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/ + done + install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/ +} + +RDEPENDS:${PN}-dev = "" +PACKAGES =+ "live555-openrtsp live555-playsip live555-mediaserver live555-examples" +FILES:live555-openrtsp = "${bindir}/openRTSP" +FILES:live555-playsip = "${bindir}/playSIP" +FILES:live555-mediaserver = "${bindir}/live555MediaServer" +FILES:live555-examples = "${bindir}/*" diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-meson.build-fix-arm-_TIME_BITS-64-error.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-meson.build-fix-arm-_TIME_BITS-64-error.patch deleted file mode 100644 index f41dde0e164..00000000000 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-meson.build-fix-arm-_TIME_BITS-64-error.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5aabd01e415374fc97eebe80d4635c3bae728f81 Mon Sep 17 00:00:00 2001 -From: Hans Verkuil -Date: Sat, 12 Apr 2025 12:30:13 +0200 -Subject: [PATCH] meson.build: fix arm _TIME_BITS=64 error - -Undefine _TIME_BITS to avoid this error on 32-bit arm: - -/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" - -Upstream-Status: Backport [https://github.com/gjasny/v4l-utils/commit/d517cfdcdc16533ab7e06e97c07ca089cf261aef] - -Signed-off-by: Hans Verkuil -Signed-off-by: Jiaying Song ---- - meson.build | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 269a9da7..31927cda 100644 ---- a/meson.build -+++ b/meson.build -@@ -53,8 +53,12 @@ v4l2_wrapper_args = [ - # As the library needs to provide both 32-bit and 64-bit versions - # of file operations, disable transparent large file support (fixes - # 'Error: symbol `open64/mmap64' is already defined' compile failure -- # otherwise) -+ # otherwise). -+ # -+ # Also disable _TIME_BITS=64 since this is allowed only with -+ # _FILE_OFFSET_BITS=64, which is now 32. - '-U_FILE_OFFSET_BITS', -+ '-U_TIME_BITS', - '-D_FILE_OFFSET_BITS=32', - '-D_LARGEFILE64_SOURCE', - ] --- -2.34.1 - diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb deleted file mode 100644 index 14b8d12c455..00000000000 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb +++ /dev/null @@ -1,83 +0,0 @@ -SUMMARY = "v4l2 and IR applications" -HOMEPAGE = "https://git.linuxtv.org/v4l-utils.git" -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ - file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" -PROVIDES = "libv4l media-ctl" - -DEPENDS = "jpeg \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ - ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}" - -DEPENDS:append:libc-musl = " argp-standalone" -DEPENDS:append:class-target = " udev" -LDFLAGS:append = " -pthread" - -inherit meson gettext pkgconfig - -PACKAGECONFIG ??= "" -PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled" -PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled" -PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c" - -SRC_URI = "\ - git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.28 \ - file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \ - file://0002-media-ctl-Install-media-ctl-pkg-config-files.patch \ - file://0003-meson.build-fix-arm-_TIME_BITS-64-error.patch \ -" - -SRCREV = "fc15e229d9d337e46d730f00647821adbbd58548" - - -UPSTREAM_CHECK_GITTAGREGEX = "v4l-utils-(?P\d+(\.\d+)+)" - -EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false" - -# Disable the erroneous installation of gconv-modules that would break glib -# like it is done in Debian and ArchLinux. -EXTRA_OEMESON += "-Dgconv=disabled" - -VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" - -PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap" - -RPROVIDES:${PN}-dbg += "libv4l-dbg" - -FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" -FILES:qv4l2 = "\ - ${bindir}/qv4l2 \ - ${datadir}/applications/qv4l2.desktop \ - ${datadir}/icons/hicolor/*/apps/qv4l2.* \ -" -FILES:qvidcap = "\ - ${bindir}/qvidcap \ - ${datadir}/applications/qvidcap.desktop \ - ${datadir}/icons/hicolor/*/apps/qvidcap.* \ -" - -FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" -RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" -RDEPENDS:qv4l2 += "\ - ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}" -RDEPENDS:qvidcap += "\ - ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}" - -FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" - -FILES:${PN} = "${bindir} ${sbindir}" - -FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ - ${libdir}/libdvbv5*${SOLIBS} \ - ${libdir}/libv4l/*-decomp \ - ${libdir}/libv4l2tracer.so \ -" - -FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \ - ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" - -PARALLEL_MAKE:class-native = "" -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.32.0.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.32.0.bb new file mode 100644 index 00000000000..d19d518b80a --- /dev/null +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.32.0.bb @@ -0,0 +1,81 @@ +SUMMARY = "v4l2 and IR applications" +HOMEPAGE = "https://git.linuxtv.org/v4l-utils.git" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=0ebceacbd7029b5e7051e9f529542b7c \ + file://COPYING.libv4l;md5=88b8889c2c4329d4cf18ce5895e64c16" +PROVIDES = "libv4l media-ctl" + +DEPENDS = "jpeg \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ + ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}" + +DEPENDS:append:libc-musl = " argp-standalone" +DEPENDS:append:class-target = " udev" +LDFLAGS:append = " -pthread" + +inherit meson gettext pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled" +PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled" +PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c" + +SRC_URI = "\ + git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=master;tag=v4l-utils-${PV} \ + file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \ + file://0002-media-ctl-Install-media-ctl-pkg-config-files.patch \ +" + +SRCREV = "5a666c7ce89c00d66aa8e53c8f098a0c6c401f91" + +UPSTREAM_CHECK_GITTAGREGEX = "v4l-utils-(?P\d+(\.\d+)+)" + +EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false" + +# Disable the erroneous installation of gconv-modules that would break glib +# like it is done in Debian and ArchLinux. +EXTRA_OEMESON += "-Dgconv=disabled" + +VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" + +PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap" + +RPROVIDES:${PN}-dbg += "libv4l-dbg" + +FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" +FILES:qv4l2 = "\ + ${bindir}/qv4l2 \ + ${datadir}/applications/qv4l2.desktop \ + ${datadir}/icons/hicolor/*/apps/qv4l2.* \ +" +FILES:qvidcap = "\ + ${bindir}/qvidcap \ + ${datadir}/applications/qvidcap.desktop \ + ${datadir}/icons/hicolor/*/apps/qvidcap.* \ +" + +FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" +RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" +RDEPENDS:qv4l2 += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}" +RDEPENDS:qvidcap += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}" + +FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" + +FILES:${PN} = "${bindir} ${sbindir}" + +FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ + ${libdir}/libdvbv5*${SOLIBS} \ + ${libdir}/libv4l/*-decomp \ + ${libdir}/libv4l2tracer.so \ +" + +FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \ + ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \ + ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" + +PARALLEL_MAKE:class-native = "" +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb index 87dc7a7be66..03d3303bc90 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" SRC_URI = "git://git.ideasonboard.org/yavta.git;branch=master;protocol=https \ " -SRCREV = "52c975e5542504ac10bed8b1d68df5c75951d202" +SRCREV = "3bf1c3bfc25a780dda8333653b80932cb1e422a8" PV = "0.0" diff --git a/meta-oe/recipes-navigation/geoclue/geoclue_2.8.0.bb b/meta-oe/recipes-navigation/geoclue/geoclue_2.8.0.bb deleted file mode 100644 index 54c938c908f..00000000000 --- a/meta-oe/recipes-navigation/geoclue/geoclue_2.8.0.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "The Geolocation Service" -DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \ -The primary goal of the Geoclue project is to make creating location-aware applications \ -as simple as possible, while the secondary goal is to ensure that no application \ -can access location information without explicit permission from user." -LICENSE = "GPL-2.0-or-later" -SECTION = "console/network" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bdfdd4986a0853eb84eeba85f9d0c4d6" - -DEPENDS = "glib-2.0 dbus json-glib libsoup-3.0 intltool-native" - -inherit meson pkgconfig gtk-doc gobject-introspection vala - -SRCREV = "f59a42a9fbbcfcb341708e5efd6edfe72a9da768" -SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;branch=master \ - file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \ -" - - -# Without this line, package is declared a library and named libgeoclue* -AUTO_LIBNAME_PKGS = "" - -PACKAGECONFIG ??= "3g modem-gps cdma nmea lib agent" -PACKAGECONFIG[3g] = "-D3g-source=true,-D3g-source=false,modemmanager" -PACKAGECONFIG[modem-gps] = "-Dmodem-gps-source=true,-Dmodem-gps-source=false,modemmanager" -PACKAGECONFIG[cdma] = "-Dcdma-source=true,-Dcdma-source=false,modemmanager" -PACKAGECONFIG[nmea] = "-Dnmea-source=true,-Dnmea-source=false,avahi,avahi-daemon" -PACKAGECONFIG[lib] = "-Dlibgeoclue=true,-Dlibgeoclue=false" -PACKAGECONFIG[agent] = "-Ddemo-agent=true,-Ddemo-agent=false,libnotify" - -GTKDOC_MESON_OPTION = "gtk-doc" - -EXTRA_OEMESON += " \ - -Ddbus-sys-dir=${sysconfdir}/dbus-1/system.d \ -" - -FILES:${PN} += " \ - ${datadir}/dbus-1/system-services \ - ${datadir}/polkit-1/rules.d \ - ${libdir} \ - ${systemd_unitdir} \ - ${prefix}/libexec \ -" - -FILES:${PN}-dev += " \ - ${datadir}/dbus-1/interfaces \ - ${datadir}/gir-1.0 \ -" diff --git a/meta-oe/recipes-navigation/geoclue/geoclue_2.8.1.bb b/meta-oe/recipes-navigation/geoclue/geoclue_2.8.1.bb new file mode 100644 index 00000000000..4769ed033a3 --- /dev/null +++ b/meta-oe/recipes-navigation/geoclue/geoclue_2.8.1.bb @@ -0,0 +1,49 @@ +SUMMARY = "The Geolocation Service" +DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \ +The primary goal of the Geoclue project is to make creating location-aware applications \ +as simple as possible, while the secondary goal is to ensure that no application \ +can access location information without explicit permission from user." +LICENSE = "GPL-2.0-or-later" +SECTION = "console/network" + +LIC_FILES_CHKSUM = "file://COPYING;md5=bdfdd4986a0853eb84eeba85f9d0c4d6" + +DEPENDS = "glib-2.0 dbus json-glib libsoup-3.0 intltool-native" + +inherit meson pkgconfig gtk-doc gobject-introspection vala + +SRCREV = "81ddcb11208a59328a04bf022542504ac80602f5" +SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;branch=master;tag=${PV} \ + file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \ +" + + +# Without this line, package is declared a library and named libgeoclue* +AUTO_LIBNAME_PKGS = "" + +PACKAGECONFIG ??= "3g modem-gps cdma nmea lib agent" +PACKAGECONFIG[3g] = "-D3g-source=true,-D3g-source=false,modemmanager" +PACKAGECONFIG[modem-gps] = "-Dmodem-gps-source=true,-Dmodem-gps-source=false,modemmanager" +PACKAGECONFIG[cdma] = "-Dcdma-source=true,-Dcdma-source=false,modemmanager" +PACKAGECONFIG[nmea] = "-Dnmea-source=true,-Dnmea-source=false,avahi,avahi-daemon" +PACKAGECONFIG[lib] = "-Dlibgeoclue=true,-Dlibgeoclue=false" +PACKAGECONFIG[agent] = "-Ddemo-agent=true,-Ddemo-agent=false,libnotify" + +GTKDOC_MESON_OPTION = "gtk-doc" + +EXTRA_OEMESON += " \ + -Ddbus-sys-dir=${sysconfdir}/dbus-1/system.d \ +" + +FILES:${PN} += " \ + ${datadir}/dbus-1/system-services \ + ${datadir}/polkit-1/rules.d \ + ${libdir} \ + ${systemd_unitdir} \ + ${prefix}/libexec \ +" + +FILES:${PN}-dev += " \ + ${datadir}/dbus-1/interfaces \ + ${datadir}/gir-1.0 \ +" diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch new file mode 100644 index 00000000000..d8efc9b5d70 --- /dev/null +++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch @@ -0,0 +1,301 @@ +From 80bc0c1bfff769728d18ac5d9e22755e60fc23d8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 10 Apr 2026 13:08:52 -0700 +Subject: [PATCH] style: convert K&R function definitions to ANSI C style in + md5.c + +Replace old-style K&R function parameter declarations with modern ANSI +C prototypes across all functions in lib/md5.c. Also strip trailing +whitespace throughout the file. No functional changes. + +Upstream-Status: Inappropriate [md5 does not exist in master branch] +Signed-off-by: Khem Raj +--- + lib/md5.c | 231 +++++++++++++++++++++++++----------------------- + saslauthd/md5.c | 77 +++++++++------- + 2 files changed, 163 insertions(+), 145 deletions(-) + +--- a/saslauthd/md5.c ++++ b/saslauthd/md5.c +@@ -98,8 +98,9 @@ Rotation is separate from addition to pr + /* MD5 initialization. Begins an MD5 operation, writing a new context. + */ + +-void _saslauthd_MD5Init (context) +-MD5_CTX *context; /* context */ ++void _saslauthd_MD5Init ( ++MD5_CTX *context /* context */ ++) + { + context->count[0] = context->count[1] = 0; + +@@ -114,10 +115,11 @@ MD5_CTX *context; /* context */ + operation, processing another message block, and updating the context. + */ + +-void _saslauthd_MD5Update (context, input, inputLen) +-MD5_CTX *context; /* context */ +-unsigned char *input; /* input block */ +-unsigned int inputLen; /* length of input block */ ++void _saslauthd_MD5Update ( ++MD5_CTX *context, /* context */ ++unsigned char *input, /* input block */ ++unsigned int inputLen /* length of input block */ ++) + { + unsigned int i, index, partLen; + +@@ -159,9 +161,10 @@ unsigned int inputLen; /* length of inpu + the message digest and zeroizing the context. + */ + +-void _saslauthd_MD5Final (digest, context) +-unsigned char digest[16]; /* message digest */ +-MD5_CTX *context; /* context */ ++void _saslauthd_MD5Final ( ++unsigned char digest[16], /* message digest */ ++MD5_CTX *context /* context */ ++) + { + unsigned char bits[8]; + unsigned int index, padLen; +@@ -186,9 +189,10 @@ MD5_CTX *context; /* context */ + + /* MD5 basic transformation. Transforms state based on block. */ + +-static void MD5Transform (state, block) +-UINT4 state[4]; +-unsigned char block[64]; ++static void MD5Transform ( ++UINT4 state[4], ++unsigned char block[64] ++) + { + UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; + +@@ -281,10 +285,11 @@ unsigned char block[64]; + + */ + +-static void Encode (output, input, len) +-unsigned char *output; +-UINT4 *input; +-unsigned int len; ++static void Encode ( ++unsigned char *output, ++UINT4 *input, ++unsigned int len ++) + { + unsigned int i, j; + +@@ -301,10 +306,11 @@ unsigned int len; + + */ + +-static void Decode (output, input, len) +-UINT4 *output; +-unsigned char *input; +-unsigned int len; ++static void Decode ( ++UINT4 *output, ++unsigned char *input, ++unsigned int len ++) + { + unsigned int i, j; + +@@ -317,10 +323,11 @@ unsigned int len; + + */ + +-static void MD5_memcpy (output, input, len) +-POINTER output; +-POINTER input; +-unsigned int len; ++static void MD5_memcpy ( ++POINTER output, ++POINTER input, ++unsigned int len ++) + { + unsigned int i; + +@@ -331,10 +338,11 @@ unsigned int len; + /* Note: Replace "for loop" with standard memset if possible. + */ + +-static void MD5_memset (output, value, len) +-POINTER output; +-int value; +-unsigned int len; ++static void MD5_memset ( ++POINTER output, ++int value, ++unsigned int len ++) + { + unsigned int i; + +@@ -452,12 +460,13 @@ void _saslauthd_hmac_md5_final(unsigned + } + + +-void _saslauthd_hmac_md5(text, text_len, key, key_len, digest) +-const unsigned char* text; /* pointer to data stream */ +-int text_len; /* length of data stream */ +-const unsigned char* key; /* pointer to authentication key */ +-int key_len; /* length of authentication key */ +-unsigned char *digest; /* caller digest to be filled in */ ++void _saslauthd_hmac_md5( ++const unsigned char* text, /* pointer to data stream */ ++int text_len, /* length of data stream */ ++const unsigned char* key, /* pointer to authentication key */ ++int key_len, /* length of authentication key */ ++unsigned char *digest /* caller digest to be filled in */ ++) + { + MD5_CTX context; + +--- a/lib/md5.c ++++ b/lib/md5.c +@@ -98,8 +98,9 @@ Rotation is separate from addition to pr + /* MD5 initialization. Begins an MD5 operation, writing a new context. + */ + +-void _sasl_MD5Init (context) +-MD5_CTX *context; /* context */ ++void _sasl_MD5Init ( ++MD5_CTX *context /* context */ ++) + { + context->count[0] = context->count[1] = 0; + +@@ -114,10 +115,11 @@ MD5_CTX *context; /* context */ + operation, processing another message block, and updating the context. + */ + +-void _sasl_MD5Update (context, input, inputLen) +-MD5_CTX *context; /* context */ +-const unsigned char *input; /* input block */ +-unsigned int inputLen; /* length of input block */ ++void _sasl_MD5Update ( ++MD5_CTX *context, /* context */ ++const unsigned char *input, /* input block */ ++unsigned int inputLen /* length of input block */ ++) + { + unsigned int i, index, partLen; + +@@ -159,9 +161,10 @@ unsigned int inputLen; /* length of inpu + the message digest and zeroizing the context. + */ + +-void _sasl_MD5Final (digest, context) +-unsigned char digest[16]; /* message digest */ +-MD5_CTX *context; /* context */ ++void _sasl_MD5Final ( ++unsigned char digest[16], /* message digest */ ++MD5_CTX *context /* context */ ++) + { + unsigned char bits[8]; + unsigned int index, padLen; +@@ -186,9 +189,10 @@ MD5_CTX *context; /* context */ + + /* MD5 basic transformation. Transforms state based on block. */ + +-static void MD5Transform (state, block) +-UINT4 state[4]; +-const unsigned char block[64]; ++static void MD5Transform ( ++UINT4 state[4], ++const unsigned char block[64] ++) + { + UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; + +@@ -281,10 +285,11 @@ const unsigned char block[64]; + + */ + +-static void Encode (output, input, len) +-unsigned char *output; +-UINT4 *input; +-unsigned int len; ++static void Encode ( ++unsigned char *output, ++UINT4 *input, ++unsigned int len ++) + { + unsigned int i, j; + +@@ -301,10 +306,11 @@ unsigned int len; + + */ + +-static void Decode (output, input, len) +-UINT4 *output; +-const unsigned char *input; +-unsigned int len; ++static void Decode ( ++UINT4 *output, ++const unsigned char *input, ++unsigned int len ++) + { + unsigned int i, j; + +@@ -317,10 +323,11 @@ unsigned int len; + + */ + +-static void MD5_memcpy (output, input, len) +-POINTER output; +-POINTER input; +-unsigned int len; ++static void MD5_memcpy ( ++POINTER output, ++POINTER input, ++unsigned int len ++) + { + unsigned int i; + +@@ -331,10 +338,11 @@ unsigned int len; + /* Note: Replace "for loop" with standard memset if possible. + */ + +-static void MD5_memset (output, value, len) +-POINTER output; +-int value; +-unsigned int len; ++static void MD5_memset ( ++POINTER output, ++int value, ++unsigned int len ++) + { + unsigned int i; + +@@ -452,12 +460,13 @@ void _sasl_hmac_md5_final(unsigned char + } + + +-void _sasl_hmac_md5(text, text_len, key, key_len, digest) +-const unsigned char* text; /* pointer to data stream */ +-int text_len; /* length of data stream */ +-const unsigned char* key; /* pointer to authentication key */ +-int key_len; /* length of authentication key */ +-unsigned char *digest; /* caller digest to be filled in */ ++void _sasl_hmac_md5( ++const unsigned char* text, /* pointer to data stream */ ++int text_len, /* length of data stream */ ++const unsigned char* key, /* pointer to authentication key */ ++int key_len, /* length of authentication key */ ++unsigned char *digest /* caller digest to be filled in */ ++) + { + MD5_CTX context; + diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb index bd15b0bda81..26ec8a71a1c 100644 --- a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb +++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb @@ -20,6 +20,7 @@ SRC_URI = " \ file://0001-configure-prototypes.patch \ file://0002-Fix-incompatible-pointer-types-error-with-gcc-15.patch \ file://0003-Add-compatibility-for-gcc-15-869.patch \ + file://0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch \ " UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives" diff --git a/meta-oe/recipes-printing/cups/cups-filters_2.0.1.bb b/meta-oe/recipes-printing/cups/cups-filters_2.0.1.bb index a6eedda5d70..24b916a9215 100644 --- a/meta-oe/recipes-printing/cups/cups-filters_2.0.1.bb +++ b/meta-oe/recipes-printing/cups/cups-filters_2.0.1.bb @@ -1,5 +1,5 @@ DESCRIPTION = "CUPS backends, filters, and other software" -HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters" +HOMEPAGE = "https://wiki.linuxfoundation.org/openprinting/cups-filters" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=6d5b952b53dbe7752199903d082e5f07" diff --git a/meta-oe/recipes-security/audit/audit/0001-Fixed-swig-host-contamination-issue.patch b/meta-oe/recipes-security/audit/audit/0001-Fixed-swig-host-contamination-issue.patch index f37fbf63a74..087b31cc21f 100644 --- a/meta-oe/recipes-security/audit/audit/0001-Fixed-swig-host-contamination-issue.patch +++ b/meta-oe/recipes-security/audit/audit/0001-Fixed-swig-host-contamination-issue.patch @@ -1,4 +1,4 @@ -From 4f78fcb8728cd4bf31175b3fa610a5c003e915d1 Mon Sep 17 00:00:00 2001 +From 14e49fe508a150d99ac18e35887b7d75e84c47d8 Mon Sep 17 00:00:00 2001 From: Li xin Date: Sun, 19 Jul 2015 02:42:58 +0900 Subject: [PATCH] Fixed swig host contamination issue @@ -19,7 +19,7 @@ Signed-off-by: Yi Zhao 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bindings/swig/python3/Makefile.am b/bindings/swig/python3/Makefile.am -index 428e40fa..f4dd45bc 100644 +index f8f6db18..171e96a6 100644 --- a/bindings/swig/python3/Makefile.am +++ b/bindings/swig/python3/Makefile.am @@ -23,6 +23,7 @@ @@ -30,8 +30,8 @@ index 428e40fa..f4dd45bc 100644 LIBS = $(top_builddir)/lib/libaudit.la SWIG_FLAGS = -python SWIG_INCLUDES = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES) -@@ -35,7 +36,7 @@ _audit_la_DEPENDENCIES =${top_srcdir}/lib/audit_logging.h ${top_builddir}/lib/li - _audit_la_LIBADD = ${top_builddir}/lib/libaudit.la +@@ -34,7 +35,7 @@ _audit_la_DEPENDENCIES =${top_srcdir}/lib/audit_logging.h ${top_builddir}/lib/li + _audit_la_LIBADD = ${top_builddir}/lib/libaudit.la $(PYTHON3_LIBS) nodist__audit_la_SOURCES = audit_wrap.c audit.py audit_wrap.c: ${srcdir}/../src/auditswig.i - swig -o audit_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/auditswig.i diff --git a/meta-oe/recipes-security/audit/audit/0001-auparse-test-disable-some-test-cases.patch b/meta-oe/recipes-security/audit/audit/0001-auparse-test-disable-some-test-cases.patch deleted file mode 100644 index fb9a901f3c8..00000000000 --- a/meta-oe/recipes-security/audit/audit/0001-auparse-test-disable-some-test-cases.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 003983a6e04a5e8d9373a96cb0a1c13caae9b193 Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Sat, 6 Sep 2025 14:04:40 +0800 -Subject: [PATCH] auparse/test: disable some test cases - -Disable test cases databuf_test lru_cache_test and uid_name_wrap_test as -they can not be built with --disable-static configuration. See [1]. - -[1]: https://github.com/linux-audit/audit-userspace/issues/494 - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Yi Zhao ---- - auparse/test/Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/auparse/test/Makefile.am b/auparse/test/Makefile.am -index 06928438..dad75e76 100644 ---- a/auparse/test/Makefile.am -+++ b/auparse/test/Makefile.am -@@ -21,10 +21,10 @@ - # - - CONFIG_CLEAN_FILES = *.loT *.rej *.orig *.cur --noinst_PROGRAMS = auparse_test auparselol_test lookup_test databuf_test \ -- auparse_extra_test lru_cache_test uid_name_wrap_test -+noinst_PROGRAMS = auparse_test auparselol_test lookup_test \ -+ auparse_extra_test - TESTS = run_auparse_tests.sh run_auparselol_test.sh lookup_test \ -- databuf_test auparse_extra_test lru_cache_test uid_name_wrap_test -+ auparse_extra_test - dist_check_SCRIPTS = run_auparse_tests.sh run_auparselol_test.sh - EXTRA_DIST = auparse_test.ref auparse_test.ref.py test.log test2.log test3.log test4.log auditd_raw.sed run_auparse_tests.sh auparse_test.py run_auparselol_test.sh - CLEANFILES = run_auparse_tests.sh run_auparselol_test.sh --- -2.34.1 - diff --git a/meta-oe/recipes-security/audit/audit/0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch b/meta-oe/recipes-security/audit/audit/0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch new file mode 100644 index 00000000000..cf322b8e1ae --- /dev/null +++ b/meta-oe/recipes-security/audit/audit/0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch @@ -0,0 +1,196 @@ +From 3da79b330527b5f9d6e6243c8ba12968810965a3 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 10 Apr 2026 14:53:41 +0200 +Subject: [PATCH] m4: update ax_prog_cc_for_build.m4 to latest +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +After the autoconf update to 2.73 this was using -std=gnu23 +even on hosts with gcc-13 which doesn't support it: + +ac_cv_prog_ac_ct_CC_FOR_BUILD='gcc ' +ac_cv_prog_cc_c23=-std=gnu23 +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc=-std=gnu23 + +Leading to: +gcc -std=gnu23 -DHAVE_CONFIG_H -I. -I../../sources/audit-4.1.4/lib -I.. -I. -I../../sources/audit-4.1.4 -I../../sources/audit-4.1.4/auparse -I../../sources/audit-4.1.4/common -isystem/audit/4.1.4/recipe-sysroot-native/usr/include '-DTABLE_H="fieldtab.h"' -isystem/audit/4.1.4/recipe-sysroot-native/usr/include -O2 -pipe -c -o gen_fieldtabs_h-gen_tables.o `test -f 'gen_tables.c' || echo '../../sources/audit-4.1.4/lib/'`gen_tables.c +gcc: error: unrecognized command-line option ‘-std=gnu23’; did you mean ‘-std=gnu2x’? + +Needs the updated ac_cv_prog_cc_c23 from: +https://github.com/autoconf-archive/autoconf-archive/commit/8a970ce96721f516fef4226e5eca8da341159765 + +Upstream-Status: Submitted [https://github.com/linux-audit/audit-userspace/pull/524] +Signed-off-by: Martin Jansa +--- + m4/ax_prog_cc_for_build.m4 | 100 +++++++++++++++++++++++++++---------- + 1 file changed, 75 insertions(+), 25 deletions(-) + +diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4 +index 77fd346a..4d1de993 100644 +--- a/m4/ax_prog_cc_for_build.m4 ++++ b/m4/ax_prog_cc_for_build.m4 +@@ -1,5 +1,5 @@ + # =========================================================================== +-# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html ++# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html + # =========================================================================== + # + # SYNOPSIS +@@ -32,28 +32,32 @@ + # and this notice are preserved. This file is offered as-is, without any + # warranty. + +-#serial 8 ++#serial 26 + + AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) + AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_PROG_CPP])dnl +-AC_REQUIRE([AC_EXEEXT])dnl +-AC_REQUIRE([AC_CANONICAL_HOST])dnl ++AC_REQUIRE([AC_CANONICAL_BUILD])dnl + + dnl Use the standard macros, but make them use other variable names + dnl + pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl + pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl ++pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl ++pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl ++pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl ++pushdef([ac_cv_prog_cc_c23], ac_cv_build_prog_cc_c23)dnl ++pushdef([ac_cv_prog_cc_stdc], ac_cv_build_prog_cc_stdc)dnl + pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl + pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl + pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl +-pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl +-pushdef([ac_cv_objext], ac_cv_build_objext)dnl ++pushdef([ac_prog_cc_stdc], ac_build_prog_cc_stdc)dnl + pushdef([ac_exeext], ac_build_exeext)dnl + pushdef([ac_objext], ac_build_objext)dnl + pushdef([CC], CC_FOR_BUILD)dnl + pushdef([CPP], CPP_FOR_BUILD)dnl ++pushdef([GCC], GCC_FOR_BUILD)dnl + pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl + pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl + pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl +@@ -67,27 +71,58 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl + pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl + pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl + pushdef([ac_cv_host_os], ac_cv_build_os)dnl +-pushdef([ac_cpp], ac_build_cpp)dnl +-pushdef([ac_compile], ac_build_compile)dnl +-pushdef([ac_link], ac_build_link)dnl ++pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl ++pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl ++pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl ++pushdef([cross_compiling], cross_compiling_build)dnl ++dnl ++dnl These variables are problematic to rename by M4 macros, so we save ++dnl their values in alternative names, and restore the values later. ++dnl ++dnl _AC_COMPILER_EXEEXT and _AC_COMPILER_OBJEXT internally call ++dnl AC_SUBST which prevents the renaming of EXEEXT and OBJEXT ++dnl variables. It's not a good idea to rename ac_cv_exeext and ++dnl ac_cv_objext either as they're related. ++dnl Renaming ac_exeext and ac_objext is safe though. ++dnl ++ac_cv_host_exeext=$ac_cv_exeext ++AS_VAR_SET_IF([ac_cv_build_exeext], ++ [ac_cv_exeext=$ac_cv_build_exeext], ++ [AS_UNSET([ac_cv_exeext])]) ++ac_cv_host_objext=$ac_cv_objext ++AS_VAR_SET_IF([ac_cv_build_objext], ++ [ac_cv_objext=$ac_cv_build_objext], ++ [AS_UNSET([ac_cv_objext])]) ++dnl ++dnl ac_cv_c_compiler_gnu is used in _AC_LANG_COMPILER_GNU (called by ++dnl AC_PROG_CC) indirectly. ++dnl ++ac_cv_host_c_compiler_gnu=$ac_cv_c_compiler_gnu ++AS_VAR_SET_IF([ac_cv_build_c_compiler_gnu], ++ [ac_cv_c_compiler_gnu=$ac_cv_build_c_compiler_gnu], ++ [AS_UNSET([ac_cv_c_compiler_gnu])]) ++ ++cross_compiling_build=no + +-save_cross_compiling=$cross_compiling +-save_ac_tool_prefix=$ac_tool_prefix +-cross_compiling=no +-ac_tool_prefix= ++ac_build_tool_prefix= ++AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"], ++ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) + ++AC_LANG_PUSH([C]) + AC_PROG_CC ++_AC_COMPILER_EXEEXT ++_AC_COMPILER_OBJEXT + AC_PROG_CPP +-AC_EXEEXT + +-ac_tool_prefix=$save_ac_tool_prefix +-cross_compiling=$save_cross_compiling ++BUILD_EXEEXT=$ac_cv_exeext ++BUILD_OBJEXT=$ac_cv_objext + + dnl Restore the old definitions + dnl +-popdef([ac_link])dnl +-popdef([ac_compile])dnl +-popdef([ac_cpp])dnl ++popdef([cross_compiling])dnl ++popdef([am_cv_prog_cc_c_o])dnl ++popdef([am_cv_CC_dependencies_compiler_type])dnl ++popdef([ac_tool_prefix])dnl + popdef([ac_cv_host_os])dnl + popdef([ac_cv_host_vendor])dnl + popdef([ac_cv_host_cpu])dnl +@@ -101,24 +136,39 @@ popdef([host])dnl + popdef([LDFLAGS])dnl + popdef([CPPFLAGS])dnl + popdef([CFLAGS])dnl ++popdef([GCC])dnl + popdef([CPP])dnl + popdef([CC])dnl + popdef([ac_objext])dnl + popdef([ac_exeext])dnl +-popdef([ac_cv_objext])dnl +-popdef([ac_cv_exeext])dnl ++popdef([ac_prog_cc_stdc])dnl + popdef([ac_cv_prog_cc_g])dnl + popdef([ac_cv_prog_cc_cross])dnl + popdef([ac_cv_prog_cc_works])dnl ++popdef([ac_cv_prog_cc_stdc])dnl ++popdef([ac_cv_prog_cc_c23])dnl ++popdef([ac_cv_prog_cc_c11])dnl ++popdef([ac_cv_prog_cc_c99])dnl ++popdef([ac_cv_prog_cc_c89])dnl + popdef([ac_cv_prog_gcc])dnl + popdef([ac_cv_prog_CPP])dnl ++dnl ++ac_cv_exeext=$ac_cv_host_exeext ++EXEEXT=$ac_cv_host_exeext ++ac_cv_objext=$ac_cv_host_objext ++OBJEXT=$ac_cv_host_objext ++ac_cv_c_compiler_gnu=$ac_cv_host_c_compiler_gnu ++ac_compiler_gnu=$ac_cv_host_c_compiler_gnu ++ ++dnl restore global variables ac_ext, ac_cpp, ac_compile, ++dnl ac_link, ac_compiler_gnu (dependent on the current ++dnl language after popping): ++AC_LANG_POP([C]) + + dnl Finally, set Makefile variables + dnl +-BUILD_EXEEXT=$ac_build_exeext +-BUILD_OBJEXT=$ac_build_objext +-AC_SUBST(BUILD_EXEEXT)dnl +-AC_SUBST(BUILD_OBJEXT)dnl ++AC_SUBST([BUILD_EXEEXT])dnl ++AC_SUBST([BUILD_OBJEXT])dnl + AC_SUBST([CFLAGS_FOR_BUILD])dnl + AC_SUBST([CPPFLAGS_FOR_BUILD])dnl + AC_SUBST([LDFLAGS_FOR_BUILD])dnl diff --git a/meta-oe/recipes-security/audit/audit_4.1.2.bb b/meta-oe/recipes-security/audit/audit_4.1.2.bb deleted file mode 100644 index ae06b6023e0..00000000000 --- a/meta-oe/recipes-security/audit/audit_4.1.2.bb +++ /dev/null @@ -1,107 +0,0 @@ -SUMMARY = "User space tools for kernel auditing" -DESCRIPTION = "The audit package contains the user space utilities for \ -storing and searching the audit records generated by the audit subsystem \ -in the Linux kernel." -HOMEPAGE = "http://people.redhat.com/sgrubb/audit/" -SECTION = "base" -LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https \ - file://0001-Fixed-swig-host-contamination-issue.patch \ - file://0001-auparse-test-disable-some-test-cases.patch \ - file://auditd \ - " - -SRCREV = "4db9c700b0c8b24a8113bc00d98101228e7d0212" - -inherit autotools python3targetconfig update-rc.d systemd - -UPDATERCPN = "auditd" -INITSCRIPT_NAME = "auditd" -INITSCRIPT_PARAMS = "defaults" - -SYSTEMD_PACKAGES = "auditd" -SYSTEMD_SERVICE:auditd = "auditd.service audit-rules.service" - -DEPENDS = "python3 libcap-ng linux-libc-headers swig-native python3-setuptools-native coreutils-native" - -EXTRA_OECONF = " \ - --with-libcap-ng \ - --with-python3 \ - --with-arm \ - --with-aarch64 \ - --with-riscv \ - --without-golang \ - --disable-gssapi-krb5 \ - --disable-zos-remote \ - --sbindir=${base_sbindir} \ - --runstatedir=/run \ - " - -EXTRA_OEMAKE = " \ - PYTHON=python3 \ - pythondir=${PYTHON_SITEPACKAGES_DIR} \ - pyexecdir=${PYTHON_SITEPACKAGES_DIR} \ - STDINC='${STAGING_INCDIR}' \ - " - -SUMMARY:audispd-plugins = "Plugins for the audit event dispatcher" -DESCRIPTION:audispd-plugins = "The audispd-plugins package provides plugins for the real-time \ -interface to the audit system, audispd. These plugins can do things \ -like relay events to remote machines or analyze events for suspicious \ -behavior." - -PACKAGES =+ "audispd-plugins" -PACKAGES += "auditd ${PN}-python" - -FILES:${PN} = "${sysconfdir}/libaudit.conf ${libdir}/libau*.so.*" -FILES:auditd = "${bindir}/* ${base_sbindir}/* ${sysconfdir}/* \ - ${datadir}/audit-rules/* ${libexecdir}/* \ - ${nonarch_libdir}/tmpfiles.d/*.conf" -FILES:audispd-plugins = "${sysconfdir}/audit/audisp-remote.conf \ - ${sysconfdir}/audit/plugins.d/au-remote.conf \ - ${sysconfdir}/audit/plugins.d/syslog.conf \ - ${base_sbindir}/audisp-remote \ - ${base_sbindir}/audisp-syslog \ - ${localstatedir}/spool/audit \ - " -FILES:${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug" -FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" - -CONFFILES:auditd = "${sysconfdir}/audit/audit.rules" - -do_configure:prepend() { - sed -e 's|buf\[];|buf[0];|g' ${STAGING_INCDIR}/linux/audit.h > ${S}/lib/audit.h - sed -i -e 's|#include |#include "audit.h"|g' ${S}/lib/libaudit.h -} - -do_install:append() { - sed -i -e 's|#include "audit.h"|#include |g' ${D}${includedir}/libaudit.h - - # Install default rules - install -d -m 750 ${D}/etc/audit - install -d -m 750 ${D}/etc/audit/rules.d - - install -m 0640 ${S}/rules/10-base-config.rules ${D}/etc/audit/rules.d/audit.rules - - # Based on the audit.spec "Copy default rules into place on new installation" - install -m 0640 ${D}/etc/audit/rules.d/audit.rules ${D}/etc/audit/audit.rules - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -D -m 0755 ${UNPACKDIR}/auditd ${D}/etc/init.d/auditd - fi - - if ! ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - rm -rf ${D}${nonarch_libdir}/systemd - rm -rf ${D}${nonarch_libdir}/tmpfiles.d - - # Remove empty directory when enable multilib - rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir} - fi - - # Create /var/spool/audit directory for audisp-remote - install -d -m 0700 ${D}${localstatedir}/spool/audit -} - -CVE_PRODUCT = "linux:audit" diff --git a/meta-oe/recipes-security/audit/audit_4.1.4.bb b/meta-oe/recipes-security/audit/audit_4.1.4.bb new file mode 100644 index 00000000000..e349ee76d03 --- /dev/null +++ b/meta-oe/recipes-security/audit/audit_4.1.4.bb @@ -0,0 +1,107 @@ +SUMMARY = "User space tools for kernel auditing" +DESCRIPTION = "The audit package contains the user space utilities for \ +storing and searching the audit records generated by the audit subsystem \ +in the Linux kernel." +HOMEPAGE = "http://people.redhat.com/sgrubb/audit/" +SECTION = "base" +LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https;tag=v${PV} \ + file://0001-Fixed-swig-host-contamination-issue.patch \ + file://0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch \ + file://auditd \ + " + +SRCREV = "07eea50408d28c953d4048dfef3da6556ce4b569" + +inherit autotools python3targetconfig update-rc.d systemd + +UPDATERCPN = "auditd" +INITSCRIPT_NAME = "auditd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_PACKAGES = "auditd" +SYSTEMD_SERVICE:auditd = "auditd.service audit-rules.service" + +DEPENDS = "python3 libcap-ng linux-libc-headers swig-native python3-setuptools-native coreutils-native" + +EXTRA_OECONF = " \ + --with-libcap-ng \ + --with-python3 \ + --with-arm \ + --with-aarch64 \ + --with-riscv \ + --without-golang \ + --disable-gssapi-krb5 \ + --disable-zos-remote \ + --sbindir=${base_sbindir} \ + --runstatedir=/run \ + " + +EXTRA_OEMAKE = " \ + PYTHON=python3 \ + pythondir=${PYTHON_SITEPACKAGES_DIR} \ + pyexecdir=${PYTHON_SITEPACKAGES_DIR} \ + STDINC='${STAGING_INCDIR}' \ + " + +SUMMARY:audispd-plugins = "Plugins for the audit event dispatcher" +DESCRIPTION:audispd-plugins = "The audispd-plugins package provides plugins for the real-time \ +interface to the audit system, audispd. These plugins can do things \ +like relay events to remote machines or analyze events for suspicious \ +behavior." + +PACKAGES =+ "audispd-plugins" +PACKAGES += "auditd ${PN}-python" + +FILES:${PN} = "${sysconfdir}/libaudit.conf ${libdir}/libau*.so.*" +FILES:auditd = "${bindir}/* ${base_sbindir}/* ${sysconfdir}/* \ + ${datadir}/audit-rules/* ${libexecdir}/* \ + ${nonarch_libdir}/tmpfiles.d/*.conf" +FILES:audispd-plugins = "${sysconfdir}/audit/audisp-remote.conf \ + ${sysconfdir}/audit/plugins.d/au-remote.conf \ + ${sysconfdir}/audit/plugins.d/syslog.conf \ + ${base_sbindir}/audisp-remote \ + ${base_sbindir}/audisp-syslog \ + ${localstatedir}/spool/audit \ + " +FILES:${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug" +FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" + +CONFFILES:auditd = "${sysconfdir}/audit/audit.rules" + +do_configure:prepend() { + sed -e 's|buf\[];|buf[0];|g' ${STAGING_INCDIR}/linux/audit.h > ${S}/lib/audit.h + sed -i -e 's|#include |#include "audit.h"|g' ${S}/lib/libaudit.h +} + +do_install:append() { + sed -i -e 's|#include "audit.h"|#include |g' ${D}${includedir}/libaudit.h + + # Install default rules + install -d -m 750 ${D}/etc/audit + install -d -m 750 ${D}/etc/audit/rules.d + + install -m 0640 ${S}/rules/10-base-config.rules ${D}/etc/audit/rules.d/audit.rules + + # Based on the audit.spec "Copy default rules into place on new installation" + install -m 0640 ${D}/etc/audit/rules.d/audit.rules ${D}/etc/audit/audit.rules + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -D -m 0755 ${UNPACKDIR}/auditd ${D}/etc/init.d/auditd + fi + + if ! ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + rm -rf ${D}${nonarch_libdir}/systemd + rm -rf ${D}${nonarch_libdir}/tmpfiles.d + + # Remove empty directory when enable multilib + rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir} + fi + + # Create /var/spool/audit directory for audisp-remote + install -d -m 0700 ${D}${localstatedir}/spool/audit +} + +CVE_PRODUCT = "linux:audit" diff --git a/meta-oe/recipes-security/bubblewrap/bubblewrap_0.11.0.bb b/meta-oe/recipes-security/bubblewrap/bubblewrap_0.11.0.bb deleted file mode 100644 index e059d1593bd..00000000000 --- a/meta-oe/recipes-security/bubblewrap/bubblewrap_0.11.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -DESCRIPTION = "Unprivileged sandboxing tool" -HOMEPAGE = "https://github.com/containers/bubblewrap" -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -DEPENDS = "libcap" - -SRC_URI = " \ - https://github.com/containers/${BPN}/releases/download/v${PV}/${BP}.tar.xz \ -" -SRC_URI[sha256sum] = "988fd6b232dafa04b8b8198723efeaccdb3c6aa9c1c7936219d5791a8b7a8646" - -inherit meson bash-completion github-releases manpages pkgconfig - -GITHUB_BASE_URI = "https://github.com/containers/${BPN}/releases/" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" -PACKAGECONFIG[manpages] = "-Dman=enabled,-Dman=disabled,libxslt-native docbook-xsl-stylesheets-native xmlto-native" -PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" - -PACKAGES += "${PN}-zsh-completion" - -FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-security/bubblewrap/bubblewrap_0.11.2.bb b/meta-oe/recipes-security/bubblewrap/bubblewrap_0.11.2.bb new file mode 100644 index 00000000000..7e63435e906 --- /dev/null +++ b/meta-oe/recipes-security/bubblewrap/bubblewrap_0.11.2.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Unprivileged sandboxing tool" +HOMEPAGE = "https://github.com/containers/bubblewrap" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = "libcap" + +SRC_URI = " \ + https://github.com/containers/${BPN}/releases/download/v${PV}/${BP}.tar.xz \ +" +SRC_URI[sha256sum] = "69abc30005d2186baf7737feacd8da35633b93cf5af38838ecff17c5f8e924f6" + +inherit meson bash-completion github-releases manpages pkgconfig + +GITHUB_BASE_URI = "https://github.com/containers/${BPN}/releases/" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" +PACKAGECONFIG[manpages] = "-Dman=enabled,-Dman=disabled,libxslt-native docbook-xsl-stylesheets-native xmlto-native" +PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" + +PACKAGES += "${PN}-zsh-completion" + +FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb b/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb index 86f45656f66..2e7503cd427 100644 --- a/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb +++ b/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb @@ -44,6 +44,8 @@ EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \ NO_GLIBC_KEYERR=1 \ " +LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}" + do_install () { oe_runmake DESTDIR=${D} install } diff --git a/meta-oe/recipes-security/nmap/nmap_7.92.bb b/meta-oe/recipes-security/nmap/nmap_7.92.bb index 98969fe0015..33767dfb96a 100644 --- a/meta-oe/recipes-security/nmap/nmap_7.92.bb +++ b/meta-oe/recipes-security/nmap/nmap_7.92.bb @@ -59,8 +59,4 @@ do_install:append() { FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat" -RDEPENDS:${PN} += " \ - python3-difflib \ - python3-asyncio \ - python3-xml \ -" +RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'ndiff', 'python3-difflib python3-asyncio python3-xml', '', d)}" diff --git a/meta-oe/recipes-security/nmap/nmap_7.95.bb b/meta-oe/recipes-security/nmap/nmap_7.95.bb index a892c1e9109..8841a8cd78d 100644 --- a/meta-oe/recipes-security/nmap/nmap_7.95.bb +++ b/meta-oe/recipes-security/nmap/nmap_7.95.bb @@ -59,8 +59,4 @@ do_install:append() { FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat" -RDEPENDS:${PN} += " \ - python3-difflib \ - python3-asyncio \ - python3-xml \ -" +RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'ndiff', 'python3-difflib python3-asyncio python3-xml', '', d)}" diff --git a/meta-oe/recipes-security/passwdqc/passwdqc_2.0.3.bb b/meta-oe/recipes-security/passwdqc/passwdqc_2.0.3.bb deleted file mode 100644 index 2b9356f60eb..00000000000 --- a/meta-oe/recipes-security/passwdqc/passwdqc_2.0.3.bb +++ /dev/null @@ -1,65 +0,0 @@ -SUMMARY = "A password/passphrase strength checking and enforcement toolset" -DESCRIPTION = "\ -passwdqc is a password/passphrase strength checking and policy enforcement \ -toolset, including an optional PAM module (pam_passwdqc), command-line \ -programs (pwqcheck and pwqgen), and a library (libpasswdqc). \ -pam_passwdqc is normally invoked on password changes by programs such as \ -passwd(1). It is capable of checking password or passphrase strength, \ -enforcing a policy, and offering randomly-generated passphrases, with \ -all of these features being optional and easily (re-)configurable. \ -\ -pwqcheck and pwqgen are standalone password/passphrase strength checking \ -and random passphrase generator programs, respectively, which are usable \ -from scripts. \ -\ -libpasswdqc is the underlying library, which may also be used from \ -third-party programs. \ -" - -HOMEPAGE = "http://www.openwall.com/passwdqc" -SECTION = "System Environment/Base" - -DEPENDS += "libpam" - -inherit features_check -REQUIRED_DISTRO_FEATURES = "pam" - -LICENSE = "BSD-1-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ac99c8678577a1c2f9f04cccee411d5d" - -SRC_URI = "https://download.openwall.net/pub/projects/${BPN}/${BP}.tar.gz \ - file://makefile-add-ldflags.patch \ - " -SRC_URI[sha256sum] = "53b0f4bc49369f06195e9e13abb6cff352d5acb79e861004ec95973896488cf4" - -# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam -# this package's pam_passwdqc.so needs pam -CFLAGS:append = " -Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM" - -# -e is no longer default setting in bitbake.conf -EXTRA_OEMAKE = "-e" - -do_compile() { - # make sure sub make use environment to override variables in Makefile - # Linux) $(MAKE), there is a tab between - sed -i -e 's/Linux) $(MAKE) CFLAGS_lib/Linux) $(MAKE) -e CFLAGS_lib/' ${S}/Makefile - - # LD_lib and LD must be CC because of Makefile - oe_runmake LD="${CC}" -} - -do_install() { - oe_runmake install DESTDIR=${D} SHARED_LIBDIR=${base_libdir} \ - DEVEL_LIBDIR=${libdir} SECUREDIR=${base_libdir}/security \ - INSTALL="install -p" -} - -PROVIDES += "pam-${BPN}" -PACKAGES =+ "lib${BPN} pam-${BPN}" - -FILES:lib${BPN} = "${base_libdir}/libpasswdqc.so.1" -FILES:pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so" -FILES:${PN}-dbg += "${base_libdir}/security/.debug" - -RDEPENDS:${PN} = "lib${BPN} pam-${BPN}" -RDEPENDS:pam-${BPN} = "lib${BPN}" diff --git a/meta-oe/recipes-security/passwdqc/passwdqc_2.1.0.bb b/meta-oe/recipes-security/passwdqc/passwdqc_2.1.0.bb new file mode 100644 index 00000000000..fc2ca6c4c67 --- /dev/null +++ b/meta-oe/recipes-security/passwdqc/passwdqc_2.1.0.bb @@ -0,0 +1,65 @@ +SUMMARY = "A password/passphrase strength checking and enforcement toolset" +DESCRIPTION = "\ +passwdqc is a password/passphrase strength checking and policy enforcement \ +toolset, including an optional PAM module (pam_passwdqc), command-line \ +programs (pwqcheck and pwqgen), and a library (libpasswdqc). \ +pam_passwdqc is normally invoked on password changes by programs such as \ +passwd(1). It is capable of checking password or passphrase strength, \ +enforcing a policy, and offering randomly-generated passphrases, with \ +all of these features being optional and easily (re-)configurable. \ +\ +pwqcheck and pwqgen are standalone password/passphrase strength checking \ +and random passphrase generator programs, respectively, which are usable \ +from scripts. \ +\ +libpasswdqc is the underlying library, which may also be used from \ +third-party programs. \ +" + +HOMEPAGE = "http://www.openwall.com/passwdqc" +SECTION = "System Environment/Base" + +DEPENDS += "libpam" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "pam" + +LICENSE = "BSD-1-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ac99c8678577a1c2f9f04cccee411d5d" + +SRC_URI = "https://download.openwall.net/pub/projects/${BPN}/${BP}.tar.gz \ + file://makefile-add-ldflags.patch \ + " +SRC_URI[sha256sum] = "52fa12271104e74126145c6224b22b4a8dd32cc47de04c1e9fb8f348340df4d2" + +# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam +# this package's pam_passwdqc.so needs pam +CFLAGS:append = " -Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM" + +# -e is no longer default setting in bitbake.conf +EXTRA_OEMAKE = "-e" + +do_compile() { + # make sure sub make use environment to override variables in Makefile + # Linux) $(MAKE), there is a tab between + sed -i -e 's/Linux) $(MAKE) CFLAGS_lib/Linux) $(MAKE) -e CFLAGS_lib/' ${S}/Makefile + + # LD_lib and LD must be CC because of Makefile + oe_runmake LD="${CC}" +} + +do_install() { + oe_runmake install DESTDIR=${D} SHARED_LIBDIR=${base_libdir} \ + DEVEL_LIBDIR=${libdir} SECUREDIR=${base_libdir}/security \ + INSTALL="install -p" +} + +PROVIDES += "pam-${BPN}" +PACKAGES =+ "lib${BPN} pam-${BPN}" + +FILES:lib${BPN} = "${base_libdir}/libpasswdqc.so.1" +FILES:pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so" +FILES:${PN}-dbg += "${base_libdir}/security/.debug" + +RDEPENDS:${PN} = "lib${BPN} pam-${BPN}" +RDEPENDS:pam-${BPN} = "lib${BPN}" diff --git a/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb b/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb new file mode 100644 index 00000000000..662519d5b2b --- /dev/null +++ b/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb @@ -0,0 +1,76 @@ +SUMMARY = "SPDM Emulator" +DESCRIPTION = "Sample SPDM emulator implementation using libspdm \ +for testing SPDM communication." +HOMEPAGE = "https://github.com/DMTF/spdm-emu" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ed4cfe4688e1ac2cc2e6748766571949" + +SRC_URI = "gitsm://github.com/DMTF/spdm-emu;protocol=https;branch=main" + +SRCREV = "5fca359b15e4edd4f070ca83c9da02799b6f78ae" +inherit cmake pkgconfig systemd + +DEPENDS = "openssl" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "-DENABLE_SYSTEMD=ON,-DENABLE_SYSTEMD=OFF,systemd" + +SYSTEMD_SERVICE:${PN} = "spdm-responder-emu.service" + +def get_spdm_multiarch(d): + target_arch = d.getVar('TARGET_ARCH') + multiarch_options = { + "x86_64": "x64", + "i586": "ia32", + "i686": "ia32", + "arm": "arm", + "aarch64": "aarch64", + "riscv32": "riscv32", + "riscv64": "riscv64", + "ppc64le": "ppc64le", + "powerpc64le": "ppc64le", + } + + if target_arch in multiarch_options: + return multiarch_options[target_arch] + + bb.parse.SkipRecipe("unsupported architecture '%s'" % target_arch) + +EXTRA_OECMAKE += "\ + -DARCH=${@get_spdm_multiarch(d)} \ + -DTOOLCHAIN=NONE \ + -DTARGET=Release \ + -DCRYPTO=openssl \ + -DENABLE_BINARY_BUILD=1 \ + -DCOMPILED_LIBCRYPTO_PATH=${libdir} \ + -DCOMPILED_LIBSSL_PATH=${libdir} \ +" + +OECMAKE_TARGET_COMPILE += " copy_sample_key" + +do_install:append() { + # Install binaries to /usr/bin + install -d ${D}${bindir} + install -m 0755 ${B}/bin/spdm_requester_emu ${D}${bindir}/ + install -m 0755 ${B}/bin/spdm_responder_emu ${D}${bindir}/ + install -m 0755 ${B}/bin/spdm_device_attester_sample ${D}${bindir}/ + install -m 0755 ${B}/bin/spdm_device_validator_sample ${D}${bindir}/ + + # Install certificates/keys to /usr/share/spdm-emu + install -d ${D}${datadir}/spdm-emu + for f in ${B}/bin/*; do + case "$(basename $f)" in + spdm_requester_emu|spdm_responder_emu|spdm_device_attester_sample|spdm_device_validator_sample) + ;; + *) + if [ -d "$f" ]; then + cp -r --no-preserve=ownership $f ${D}${datadir}/spdm-emu/ + else + install -m 0644 $f ${D}${datadir}/spdm-emu/ + fi + ;; + esac + done +} + +FILES:${PN} += "${datadir}/spdm-emu" diff --git a/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_0.46.bb b/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_0.46.bb deleted file mode 100644 index 48f9a738bba..00000000000 --- a/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_0.46.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Hardware vulnerability and mitigation checker" -DESCRIPTION = "\ - Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, \ - Meltdown vulnerability/mitigation checker for Linux & BSD \ -" -HOMEPAGE = "https://github.com/speed47/spectre-meltdown-checker" -BUGTRACKER = "https://github.com/speed47/spectre-meltdown-checker/issues" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://spectre-meltdown-checker.sh;beginline=2;endline=2;md5=3ae5399e70af7be9b93f72568069e2f4" - -SRC_URI = "git://github.com/speed47/spectre-meltdown-checker;protocol=https;branch=master" -SRCREV = "b8f8c81d519435c0871b13f02b5c4a72c5bffd5e" - - -# binutils: readelf,objdump might be used for deeper analysis -# coreutils: dd with iflag=skip_bytes oflag=seek_bytes in some cases -# kernel-dev: /boot/config is used -# perl: sometimes used when other tools (dd, rdmsr/wdmsr) are missing -RRECOMMENDS:${PN} = "\ - binutils \ - coreutils \ - kernel-dev \ - perl \ -" - -INHIBIT_DEFAULT_DEPS = "1" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -do_compile[noexec] = "1" - -do_install() { - install -m 755 -D ${S}/${BPN}.sh ${D}${bindir}/${BPN} -} diff --git a/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_26.26.0404682.bb b/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_26.26.0404682.bb new file mode 100644 index 00000000000..454e702e66e --- /dev/null +++ b/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_26.26.0404682.bb @@ -0,0 +1,33 @@ +SUMMARY = "Hardware vulnerability and mitigation checker" +DESCRIPTION = "\ + Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, \ + Meltdown vulnerability/mitigation checker for Linux & BSD \ +" +HOMEPAGE = "https://github.com/speed47/spectre-meltdown-checker" +BUGTRACKER = "https://github.com/speed47/spectre-meltdown-checker/issues" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://spectre-meltdown-checker.sh;beginline=2;endline=2;md5=3ae5399e70af7be9b93f72568069e2f4" + +SRC_URI = "git://github.com/speed47/spectre-meltdown-checker;protocol=https;branch=master;tag=v${PV}" +SRCREV = "8a6f9d5d638c601d2a875669015a6cb217e40f49" + +# binutils: readelf,objdump might be used for deeper analysis +# coreutils: dd with iflag=skip_bytes oflag=seek_bytes in some cases +# kernel-dev: /boot/config is used +# perl: sometimes used when other tools (dd, rdmsr/wdmsr) are missing +RRECOMMENDS:${PN} = "\ + binutils \ + coreutils \ + kernel-dev \ + perl \ +" + +INHIBIT_DEFAULT_DEPS = "1" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_compile[noexec] = "1" + +do_install() { + install -m 755 -D ${S}/${BPN}.sh ${D}${bindir}/${BPN} +} diff --git a/meta-oe/recipes-shells/dash/dash_0.5.13.1.bb b/meta-oe/recipes-shells/dash/dash_0.5.13.1.bb deleted file mode 100644 index 7b4962f6140..00000000000 --- a/meta-oe/recipes-shells/dash/dash_0.5.13.1.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Small and fast POSIX-compliant shell" -HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/" -SECTION = "System Environment/Shells" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e" - -inherit autotools update-alternatives - -SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz" -SRC_URI[sha256sum] = "d9271bce09c127d9866e25c011582ddc75ab988958a04bc4d8553a3b8f30e370" - -CVE_PRODUCT = "dash:dash" - -EXTRA_OECONF += "--bindir=${base_bindir}" - -ALTERNATIVE:${PN} = "sh" -ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" -ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash" -ALTERNATIVE_PRIORITY = "10" - -pkg_postinst:${PN} () { - grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells -} - -pkg_postrm:${PN} () { - printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells -} diff --git a/meta-oe/recipes-shells/dash/dash_0.5.13.2.bb b/meta-oe/recipes-shells/dash/dash_0.5.13.2.bb new file mode 100644 index 00000000000..94a5d87c5d9 --- /dev/null +++ b/meta-oe/recipes-shells/dash/dash_0.5.13.2.bb @@ -0,0 +1,28 @@ +SUMMARY = "Small and fast POSIX-compliant shell" +HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/" +SECTION = "System Environment/Shells" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e" + +inherit autotools update-alternatives + +SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz" +SRC_URI[sha256sum] = "e7136826b1eed6ce3193e8affa2f70b1b2b9168dd91ffa7ddb4f46e9e62054fe" + +CVE_PRODUCT = "dash:dash" + +EXTRA_OECONF += "--bindir=${base_bindir}" + +ALTERNATIVE:${PN} = "sh" +ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" +ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash" +ALTERNATIVE_PRIORITY = "10" + +pkg_postinst:${PN} () { + grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells +} + +pkg_postrm:${PN} () { + printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells +} diff --git a/meta-oe/recipes-support/asio/asio_1.30.2.bb b/meta-oe/recipes-support/asio/asio_1.30.2.bb deleted file mode 100644 index 1f492b71eba..00000000000 --- a/meta-oe/recipes-support/asio/asio_1.30.2.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Asio is C++ library for network and low-level I/O programming" -DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \ - I/O programming that provides developers with a consistent asynchronous \ - model using a modern C++ approach." -HOMEPAGE = "http://think-async.com/Asio" -SECTION = "libs" -LICENSE = "BSL-1.0" - -DEPENDS = "openssl" - -SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2 \ - file://0001-tests-Remove-blocking_adaptation.cpp.patch \ - file://run-ptest \ -" - -inherit autotools ptest - -ALLOW_EMPTY:${PN} = "1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=2bfc909e030aeafefa72f764165b8d07" - -SRC_URI[sha256sum] = "9f12cef05c0477eace9c68ccabd19f9e3a04b875d4768c323714cbd3a5fa3c2b" - -PACKAGECONFIG ??= "boost" - -PACKAGECONFIG[boost] = "--with-boost=${STAGING_LIBDIR},--without-boost,boost" - -TESTDIR = "src/tests" -do_compile_ptest() { - echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - # copy executables - find ${B}/${TESTDIR}/unit -type f -executable -exec cp {} ${D}${PTEST_PATH}/tests/ \; -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/asio/asio_1.36.0.bb b/meta-oe/recipes-support/asio/asio_1.36.0.bb new file mode 100644 index 00000000000..d196a35c697 --- /dev/null +++ b/meta-oe/recipes-support/asio/asio_1.36.0.bb @@ -0,0 +1,40 @@ +SUMMARY = "Asio is C++ library for network and low-level I/O programming" +DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \ + I/O programming that provides developers with a consistent asynchronous \ + model using a modern C++ approach." +HOMEPAGE = "http://think-async.com/Asio" +SECTION = "libs" +LICENSE = "BSL-1.0" + +DEPENDS = "openssl" + +SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2 \ + file://0001-tests-Remove-blocking_adaptation.cpp.patch \ + file://run-ptest \ +" + +inherit autotools ptest + +ALLOW_EMPTY:${PN} = "1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=92db288d8a7d89bb9c5821c447c3052c" + +SRC_URI[sha256sum] = "7bf4dbe3c1ccd9cc4c94e6e6be026dcc2110f9201d286bb9500dc85d69825524" + +PACKAGECONFIG ??= "boost" + +PACKAGECONFIG[boost] = "--with-boost=${STAGING_LIBDIR},--without-boost,boost" + +TESTDIR = "src/tests" +do_compile_ptest() { + echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + # copy executables + find ${B}/${TESTDIR}/unit -type f -executable -exec cp {} ${D}${PTEST_PATH}/tests/ \; +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/atop/atop_2.12.0.bb b/meta-oe/recipes-support/atop/atop_2.12.0.bb deleted file mode 100644 index 348493245bb..00000000000 --- a/meta-oe/recipes-support/atop/atop_2.12.0.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Monitor for system resources and process activity" -DESCRIPTION = "Atop is an ASCII full-screen performance monitor for Linux that \ -is capable of reporting the activity of all processes (even if processes have \ -finished during the interval), daily logging of system and process activity for \ -long-term analysis, highlighting overloaded system resources by using colors, \ -etc. At regular intervals, it shows system-level activity related to the CPU, \ -memory, swap, disks (including LVM) and network layers, and for every process \ -(and thread) it shows e.g. the CPU utilization, memory growth, disk \ -utilization, priority, username, state, and exit code." -HOMEPAGE = "http://www.atoptool.nl" -SECTION = "console/utils" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" - -inherit pkgconfig - -DEPENDS = "ncurses zlib glib-2.0" - -SRC_URI = "http://www.atoptool.nl/download/${BP}.tar.gz \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://volatiles.atop.conf', 'file://volatiles.99_atop', d)} \ - file://fix-permissions.patch \ - file://sysvinit-implement-status.patch \ - " -SRC_URI[sha256sum] = "0d09ecc90c14e6ef41c22e3c57c142c3e4fb9cf3c94379077a33c961d5343086" - -UPSTREAM_CHECK_URI = "https://atoptool.nl/downloadatop.php" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+).tar" - -CVE_STATUS[CVE-2011-3618] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." -TARGET_CC_ARCH += "${LDFLAGS}" - -do_compile() { - oe_runmake all -} - -do_install() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - make DESTDIR=${D} VERS=${PV} SYSDPATH=${systemd_system_unitdir} \ - PMPATHD=${systemd_unitdir}/system-sleep install - install -d ${D}${sysconfdir}/tmpfiles.d - install -m 644 ${UNPACKDIR}/volatiles.atop.conf ${D}${sysconfdir}/tmpfiles.d/atop.conf - rm -f ${D}${systemd_system_unitdir}/atopacct.service - else - make DESTDIR=${D} VERS=${PV} sysvinstall - install -d ${D}${sysconfdir}/default/volatiles - install -m 644 ${UNPACKDIR}/volatiles.99_atop ${D}${sysconfdir}/default/volatiles/99_atop - rm -f ${D}${sysconfdir}/init.d/atopacct - fi - - # /var/log/atop will be created in runtime - rm -rf ${D}${localstatedir}/log - rmdir --ignore-fail-on-non-empty ${D}${localstatedir} - - # remove atopacct related files - rm -rf ${D}${sbindir} ${D}${mandir}/man8 -} - -inherit systemd - -SYSTEMD_SERVICE:${PN} = "atop.service atopgpu.service atop-rotate.service" -SYSTEMD_AUTO_ENABLE = "disable" - -FILES:${PN} += "${systemd_unitdir}/system-sleep ${systemd_system_unitdir}/atop-rotate.timer" - -RDEPENDS:${PN} = "procps" diff --git a/meta-oe/recipes-support/atop/atop_2.12.1.bb b/meta-oe/recipes-support/atop/atop_2.12.1.bb new file mode 100644 index 00000000000..d40b95ce6c8 --- /dev/null +++ b/meta-oe/recipes-support/atop/atop_2.12.1.bb @@ -0,0 +1,69 @@ +SUMMARY = "Monitor for system resources and process activity" +DESCRIPTION = "Atop is an ASCII full-screen performance monitor for Linux that \ +is capable of reporting the activity of all processes (even if processes have \ +finished during the interval), daily logging of system and process activity for \ +long-term analysis, highlighting overloaded system resources by using colors, \ +etc. At regular intervals, it shows system-level activity related to the CPU, \ +memory, swap, disks (including LVM) and network layers, and for every process \ +(and thread) it shows e.g. the CPU utilization, memory growth, disk \ +utilization, priority, username, state, and exit code." +HOMEPAGE = "https://www.atoptool.nl" +SECTION = "console/utils" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" + +inherit pkgconfig + +DEPENDS = "ncurses zlib glib-2.0" + +SRC_URI = "http://www.atoptool.nl/download/${BP}.tar.gz \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://volatiles.atop.conf', 'file://volatiles.99_atop', d)} \ + file://fix-permissions.patch \ + file://sysvinit-implement-status.patch \ + " +SRC_URI[sha256sum] = "4fdbe67c5dfaf89405639e18599f4eae77978073ffa54f3c78c368ab54bd12f6" + +UPSTREAM_CHECK_URI = "https://atoptool.nl/downloadatop.php" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+).tar" + +CVE_STATUS[CVE-2011-3618] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." +TARGET_CC_ARCH += "${LDFLAGS}" + +do_compile() { + oe_runmake all +} + +do_install() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + make DESTDIR=${D} VERS=${PV} SYSDPATH=${systemd_system_unitdir} \ + PMPATHD=${systemd_unitdir}/system-sleep SBINPATH=${sbindir} install + install -d ${D}${sysconfdir}/tmpfiles.d + install -m 644 ${UNPACKDIR}/volatiles.atop.conf ${D}${sysconfdir}/tmpfiles.d/atop.conf + rm -f ${D}${systemd_system_unitdir}/atopacct.service + else + make DESTDIR=${D} VERS=${PV} sysvinstall + install -d ${D}${sysconfdir}/default/volatiles + install -m 644 ${UNPACKDIR}/volatiles.99_atop ${D}${sysconfdir}/default/volatiles/99_atop + rm -f ${D}${sysconfdir}/init.d/atopacct + fi + + # /var/log/atop will be created in runtime + rm -rf ${D}${localstatedir}/log + rmdir --ignore-fail-on-non-empty ${D}${localstatedir} +} + +inherit systemd + +PACKAGES =+ "${PN}-acctd ${PN}-gpud" + +SYSTEMD_SERVICE:${PN} = "atop.service atopgpu.service atop-rotate.service" +SYSTEMD_AUTO_ENABLE = "disable" + +FILES:${PN} += "${systemd_unitdir}/system-sleep ${systemd_system_unitdir}/atop-rotate.timer" +FILES:${PN}-acctd += "${sbindir}/atopacctd ${mandir}/man8/atopacctd.8" +FILES:${PN}-gpud += "${sbindir}/atopgpud ${mandir}/man8/atopgpud.8" + +RDEPENDS:${PN} = "procps" +RDEPENDS:${PN}-gpud = "python3-core" +RRECOMMENDS:${PN} = "${PN}-acctd ${PN}-gpud" diff --git a/meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch b/meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch index bab1d1f3014..ac72be44dca 100644 --- a/meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch +++ b/meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch @@ -1,45 +1,37 @@ -From 678c32f867931fd9f410b6e46ea8d101714c7ed5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= -Date: Tue, 6 May 2025 07:45:36 +0200 Subject: [PATCH] CMakeLists: do not use vendored libcurl -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit Upstream-Status: Inappropriate [upstream ticket https://github.com/nxp-imx/bcu/issues/17] Signed-off-by: Leonard Göhrs + +Update for 1.1.128 +Signed-off-by: Liu Yiding --- - CMakeLists.txt | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + CMakeLists.txt | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 42158a2..ac840fc 100644 +index 0d6b915..f8c76ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -17,17 +17,17 @@ pkg_check_modules(LIBFTDI REQUIRED libftdi1) +@@ -16,14 +16,15 @@ find_package(PkgConfig REQUIRED) + pkg_check_modules(LIBFTDI REQUIRED libftdi1) pkg_check_modules(LIBYAML REQUIRED yaml-0.1) - pkg_check_modules(LIBOPENSSL REQUIRED openssl) pkg_check_modules(LIBUSB REQUIRED libusb-1.0) +pkg_check_modules(LIBCURL REQUIRED libcurl) project(bcu) --include_directories(${LIBUSB_INCLUDE_DIRS} ${LIBFTDI_INCLUDE_DIRS}include ${PROJECT_SOURCE_DIR}/libftdi/src ${LIBYAML_INCLUDEDIR} ${PROJECT_SOURCE_DIR}/libcurl/include) +-include_directories(${LIBUSB_INCLUDE_DIRS} ${LIBFTDI_INCLUDE_DIRS}include ${PROJECT_SOURCE_DIR}/libftdi/src ${LIBYAML_INCLUDEDIR}) +include_directories(${LIBUSB_INCLUDE_DIRS} ${LIBFTDI_INCLUDE_DIRS}include ${LIBYAML_INCLUDEDIR}) include_directories(${PROJECT_SOURCE_DIR}) message("operation system is ${CMAKE_SYSTEM}") if (LINUX) - add_executable(bcu bcu.c port.c chip.c board.c bcu_parser.c bcu_yaml.c bcu_https.c bcu_ftdi_eeprom.c) + add_executable(bcu bcu.c port.c chip.c board.c bcu_parser.c bcu_yaml.c bcu_ftdi_eeprom.c) - link_directories(${LIBUSB_LIBRARY_DIRS} ${LIBFTDI_LIBRARY_DIRS} ${LIBYAML_LIBRARY_DIRS}) -- target_link_libraries (bcu ${LIBUSB_LIBRARIES} ${LIBFTDI_LIBRARIES} ${LIBYAML_LIBRARIES} ${PROJECT_SOURCE_DIR}/libcurl/build.bcu/lib/libcurl.a -lpthread -lssl -lcrypto -lm -ldl) -- execute_process( COMMAND ${PROJECT_SOURCE_DIR}/create_version_h.sh ${PROJECT_SOURCE_DIR} -- COMMAND ${PROJECT_SOURCE_DIR}/build_libs.sh ${PROJECT_SOURCE_DIR}) + link_directories(${LIBUSB_LIBRARY_DIRS} ${LIBFTDI_LIBRARY_DIRS} ${LIBYAML_LIBRARY_DIRS} ${LIBCURL_LIBRARY_DIRS}) -+ target_link_libraries (bcu ${LIBUSB_LIBRARIES} ${LIBFTDI_LIBRARIES} ${LIBYAML_LIBRARIES} ${LIBCURL_LIBRARIES} -lpthread -lssl -lcrypto -lm -ldl) -+ execute_process( COMMAND ${PROJECT_SOURCE_DIR}/create_version_h.sh ${PROJECT_SOURCE_DIR}) + target_link_libraries (bcu ${LIBUSB_LIBRARIES} ${LIBFTDI_LIBRARIES} ${LIBYAML_LIBRARIES} -lpthread -lm -ldl) + execute_process( COMMAND ${PROJECT_SOURCE_DIR}/create_version_h.sh ${PROJECT_SOURCE_DIR} ) install(TARGETS bcu DESTINATION bin) - elseif (MACOS) - add_executable(bcu_mac bcu.c port.c chip.c board.c bcu_parser.c bcu_yaml.c bcu_https.c bcu_ftdi_eeprom.c) -- -2.39.5 +2.43.0 diff --git a/meta-oe/recipes-support/bcu/bcu_1.1.115.bb b/meta-oe/recipes-support/bcu/bcu_1.1.115.bb deleted file mode 100644 index 260fba02a96..00000000000 --- a/meta-oe/recipes-support/bcu/bcu_1.1.115.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "NXP Board Control Utilities" -DESCRIPTION = "The NXP Board Control Utilities are able to control various \ - features of NXP i.MX evaluation boards (EVK) from a host \ - computer. \ - Features like resetting the board, selecting the boot mode, \ - monitoring power consumption, programming the EEPROM and others" -HOMEPAGE = "https://github.com/nxp-imx/bcu" -SECTION = "devel" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=884d48c2aa7b82e1ad4a33909fab24b6" - -SRC_URI = "git://github.com/nxp-imx/bcu;protocol=https;branch=master \ - file://0001-CMakeLists-do-not-use-vendored-libcurl.patch \ - " -SRCREV = "f081c69c26e330cf03ec790051c415c4716509d9" - - -DEPENDS = "curl libyaml libusb1 openssl libftdi" - -inherit cmake pkgconfig - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/bcu/bcu_1.1.128.bb b/meta-oe/recipes-support/bcu/bcu_1.1.128.bb new file mode 100644 index 00000000000..2b2e5e7fa0d --- /dev/null +++ b/meta-oe/recipes-support/bcu/bcu_1.1.128.bb @@ -0,0 +1,22 @@ +SUMMARY = "NXP Board Control Utilities" +DESCRIPTION = "The NXP Board Control Utilities are able to control various \ + features of NXP i.MX evaluation boards (EVK) from a host \ + computer. \ + Features like resetting the board, selecting the boot mode, \ + monitoring power consumption, programming the EEPROM and others" +HOMEPAGE = "https://github.com/nxp-imx/bcu" +SECTION = "devel" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=884d48c2aa7b82e1ad4a33909fab24b6" + +SRC_URI = "git://github.com/nxp-imx/bcu;protocol=https;branch=master;tag=${BPN}_${PV} \ + file://0001-CMakeLists-do-not-use-vendored-libcurl.patch \ + " +SRCREV = "e7027dcb867dae7aebc8fd0a78ab13f05a4557f2" + + +DEPENDS = "curl libyaml libusb1 openssl libftdi" + +inherit cmake pkgconfig + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/bdwgc/bdwgc_8.2.10.bb b/meta-oe/recipes-support/bdwgc/bdwgc_8.2.10.bb deleted file mode 100644 index e611ffb006e..00000000000 --- a/meta-oe/recipes-support/bdwgc/bdwgc_8.2.10.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "A garbage collector for C and C++" - -DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\ - used as a garbage collecting replacement for C malloc or C++ new. It allows\ - you to allocate memory basically as you normally would, without explicitly\ - deallocating memory that is no longer useful. The collector automatically\ - recycles memory when it determines that it can no longer be otherwise\ - accessed.\ - The collector is also used by a number of programming language\ - implementations that either use C as intermediate code, want to facilitate\ - easier interoperation with C libraries, or just prefer the simple collector\ - interface.\ - Alternatively, the garbage collector may be used as a leak detector for C\ - or C++ programs, though that is not its primary goal.\ - Empirically, this collector works with most unmodified C programs, simply\ - by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\ - calls, and removing free calls." - -HOMEPAGE = "https://www.hboehm.info/gc/" -SECTION = "devel" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://README.QUICK;md5=dd27361ad00943bb27bc3e0589037075" - -DEPENDS = "libatomic-ops" - -SRCREV = "2955e33aba7467d4777aa985637620f909cc2a14" -SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-8_2;protocol=https;tag=v${PV}" - - -inherit autotools pkgconfig - -EXTRA_OECONF += "--enable-cplusplus" - -FILES:${PN}-doc = "${datadir}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/bdwgc/bdwgc_8.2.12.bb b/meta-oe/recipes-support/bdwgc/bdwgc_8.2.12.bb new file mode 100644 index 00000000000..2175c8c56d9 --- /dev/null +++ b/meta-oe/recipes-support/bdwgc/bdwgc_8.2.12.bb @@ -0,0 +1,36 @@ +SUMMARY = "A garbage collector for C and C++" + +DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\ + used as a garbage collecting replacement for C malloc or C++ new. It allows\ + you to allocate memory basically as you normally would, without explicitly\ + deallocating memory that is no longer useful. The collector automatically\ + recycles memory when it determines that it can no longer be otherwise\ + accessed.\ + The collector is also used by a number of programming language\ + implementations that either use C as intermediate code, want to facilitate\ + easier interoperation with C libraries, or just prefer the simple collector\ + interface.\ + Alternatively, the garbage collector may be used as a leak detector for C\ + or C++ programs, though that is not its primary goal.\ + Empirically, this collector works with most unmodified C programs, simply\ + by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\ + calls, and removing free calls." + +HOMEPAGE = "https://www.hboehm.info/gc/" +SECTION = "devel" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://README.QUICK;md5=6cff3e88a9b200e8fc98595dc7419dcf" + +DEPENDS = "libatomic-ops" + +SRCREV = "4fab5386df64466b2b61fc7209bef033cad1e6cc" +SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-8_2;protocol=https;tag=v${PV}" + + +inherit autotools pkgconfig + +EXTRA_OECONF += "--enable-cplusplus" + +FILES:${PN}-doc = "${datadir}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.2.bb b/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.2.bb deleted file mode 100644 index f49aa480da7..00000000000 --- a/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "bmaptool alternative written in C++" -DESCRIPTION = "bmap-writer is a command-line utility designed to efficiently write disk images \ -to storage devices using block mapping (BMAP). It serves as \ -a lightweight alternative to the Yocto BMAP tool, \ -bmap-writer is C++ based does not require Python and focuses solely on writing an image." -HOMEPAGE = "https://github.com/embetrix/bmap-writer" -SECTION = "console/utils" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e49f4652534af377a713df3d9dec60cb" - -SRC_URI = "git://github.com/embetrix/${BPN};branch=master;protocol=https" -SRCREV = "7489280a7a1247f23543343aba4e95bf2f2e8fa6" - -DEPENDS = "libtinyxml2 libarchive" -inherit cmake pkgconfig - -FILES:${PN} = "${bindir}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.4.bb b/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.4.bb new file mode 100644 index 00000000000..657ba60e1d2 --- /dev/null +++ b/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.4.bb @@ -0,0 +1,22 @@ +SUMMARY = "bmaptool alternative written in C++" +DESCRIPTION = "bmap-writer is a command-line utility designed to efficiently write disk images \ +to storage devices using block mapping (BMAP). It serves as \ +a lightweight alternative to the Yocto BMAP tool, \ +bmap-writer is C++ based does not require Python and focuses solely on writing an image." +HOMEPAGE = "https://github.com/embetrix/bmap-writer" +SECTION = "console/utils" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e49f4652534af377a713df3d9dec60cb" + +SRC_URI = "git://github.com/embetrix/${BPN};branch=master;protocol=https;tag=${PV}" +SRCREV = "52919b145d04953a91cf846f3db3d8cee8d989ac" + +DEPENDS = "libtinyxml2 libarchive" +inherit cmake pkgconfig + +PACKAGECONFIG ?= "" +PACKAGECONFIG[libkcapi] = "-DUSE_KERNEL_CRYPTO_API=ON, -DUSE_KERNEL_CRYPTO_API=OFF, libkcapi" + +FILES:${PN} = "${bindir}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb b/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb index 63500def057..5368bdeeb46 100644 --- a/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb +++ b/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb @@ -3,12 +3,11 @@ HOMEPAGE = "http://ceres-solver.org/" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=3585a26c9cd9ec0cb36a7d65542878ca" -DEPENDS = "libeigen glog" +DEPENDS = "libeigen" SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https" SRCREV = "85331393dc0dff09f6fb9903ab0c4bfa3e134b01" - inherit cmake do_configure:prepend() { @@ -16,9 +15,17 @@ do_configure:prepend() { # will try to fetch https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg durind do_configure # which sometimes gets stuck (as there is no TIMEOUT set in DOWNLOAD) # and we really don't need Gerrit's Change-Id tags when just building this - touch ${S}/.git/hooks/commit-msg + touch ${S}/.git/hooks/commit-msg 2>/dev/null || : } +EXTRA_OECMAKE += " \ + -DBUILD_BENCHMARKS=OFF \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_TESTING=OFF \ + -DGFLAGS=OFF \ + -DUSE_CUDA=OFF \ +" + # We don't want path to eigen3 in ceres-solver RSS to be # used by components which use CeresConfig.cmake from their # own RSS @@ -27,11 +34,12 @@ do_configure:prepend() { # ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog) SSTATE_SCAN_FILES += "*.cmake" -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "glog" # suitesparse* recipes will be in meta-ros layer PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr" PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse" +PACKAGECONFIG[glog] = "-DMINIGLOG=OFF,-DMINIGLOG=ON,glog" PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack" # Only a static library and headers are created diff --git a/meta-oe/recipes-support/cjose/cjose_0.6.2.4.bb b/meta-oe/recipes-support/cjose/cjose_0.6.2.4.bb index f6a5d15a9b7..eb1db407057 100644 --- a/meta-oe/recipes-support/cjose/cjose_0.6.2.4.bb +++ b/meta-oe/recipes-support/cjose/cjose_0.6.2.4.bb @@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=7249e2f9437adfb8c88d870438042f0e" SRC_URI = "git://github.com/OpenIDC/cjose;protocol=https;branch=version-0.6.2.x;tag=v${PV}" -PV = "0.6.2.4" SRCREV = "8d94c3ad3237ab6a83d2e92fa541542b1b92c023" DEPENDS = "openssl libcheck jansson" diff --git a/meta-oe/recipes-support/cmark/cmark_0.31.1.bb b/meta-oe/recipes-support/cmark/cmark_0.31.1.bb deleted file mode 100644 index bbbb36dace2..00000000000 --- a/meta-oe/recipes-support/cmark/cmark_0.31.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "CommonMark parsing and rendering library and program in C" -HOMEPAGE = "https://github.com/commonmark/cmark" -LICENSE = "BSD-2-Clause & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=81f9cae6293cc0345a9144b78152ab62" - -SRC_URI = "git://github.com/commonmark/cmark.git;branch=master;protocol=https" -SRCREV = "bb3678d7a73cb02d35c8876ecd097072636200a8" - -inherit cmake lib_package - -EXTRA_OECMAKE += " \ - -DCMARK_TESTS=OFF \ - -DCMARK_STATIC=OFF \ -" diff --git a/meta-oe/recipes-support/cmark/cmark_0.31.2.bb b/meta-oe/recipes-support/cmark/cmark_0.31.2.bb new file mode 100644 index 00000000000..b820d9fd657 --- /dev/null +++ b/meta-oe/recipes-support/cmark/cmark_0.31.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "CommonMark parsing and rendering library and program in C" +HOMEPAGE = "https://github.com/commonmark/cmark" +LICENSE = "BSD-2-Clause & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=81f9cae6293cc0345a9144b78152ab62" + +SRC_URI = "git://github.com/commonmark/cmark.git;branch=master;protocol=https;tag=${PV}" +SRCREV = "eec0eeba6d31189fd828314576494566d539b1e3" + +inherit cmake lib_package + +EXTRA_OECMAKE += " \ + -DCMARK_TESTS=OFF \ + -DCMARK_STATIC=OFF \ +" diff --git a/meta-oe/recipes-support/composefs/composefs/0001-mkcomposefs-use-const-char-for-memchr-return-values.patch b/meta-oe/recipes-support/composefs/composefs/0001-mkcomposefs-use-const-char-for-memchr-return-values.patch new file mode 100644 index 00000000000..9c45d4fcc08 --- /dev/null +++ b/meta-oe/recipes-support/composefs/composefs/0001-mkcomposefs-use-const-char-for-memchr-return-values.patch @@ -0,0 +1,45 @@ +From 9d82303c7a3a780d481469cd8eafa016dcbff86f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 16 Apr 2026 08:25:28 -0700 +Subject: [PATCH] mkcomposefs: use const char* for memchr return values + +memchr returns void*, which when assigned to char* discards the +const qualifier of the input pointer. Cast to const char* to +preserve const'ness. + +Fixes build with clang-22/glibc-2.43 + +tools/mkcomposefs.c +../sources/composefs-1.0.8/tools/mkcomposefs.c:413:8: error: initializing 'char *' with an expression of type 'const void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + 413 | char *embedded_nul_offset = memchr(line, 0, line_len); + | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ +1 error generated. + +Upstream-Status: Submitted [https://github.com/composefs/composefs/pull/435] +Signed-off-by: Khem Raj +--- + tools/mkcomposefs.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/mkcomposefs.c b/tools/mkcomposefs.c +index 13b505d..e14d8d0 100644 +--- a/tools/mkcomposefs.c ++++ b/tools/mkcomposefs.c +@@ -63,7 +63,7 @@ static __attribute__((format(printf, 1, 2))) char *make_error(const char *fmt, . + static size_t split_at(const char **start, size_t *length, char split_char, + bool *partial) + { +- char *end = memchr(*start, split_char, *length); ++ const char *end = (const char*)memchr(*start, split_char, *length); + if (end == NULL) { + size_t part_len = *length; + *start = *start + *length; +@@ -410,7 +410,7 @@ static char *tree_from_dump_line(dump_info *info, const char *line, + * We didn't document support for embedded NULs, and it only introduces + * ambiguity in parsing, so let's just reject this early on. + */ +- char *embedded_nul_offset = memchr(line, 0, line_len); ++ const char *embedded_nul_offset = (const char*)memchr(line, 0, line_len); + if (embedded_nul_offset != NULL) { + size_t off = embedded_nul_offset - line; + return make_error("Invalid embedded NUL character at position %lld", diff --git a/meta-oe/recipes-support/composefs/composefs_1.0.8.bb b/meta-oe/recipes-support/composefs/composefs_1.0.8.bb index f2bae91f44b..3450f9a3398 100644 --- a/meta-oe/recipes-support/composefs/composefs_1.0.8.bb +++ b/meta-oe/recipes-support/composefs/composefs_1.0.8.bb @@ -14,8 +14,9 @@ LIC_FILES_CHKSUM = "\ " SRCREV = "858ce1b38e1534c2602eb431124b5dca706bc746" -SRC_URI = "git://github.com/containers/composefs.git;protocol=https;branch=main" - +SRC_URI = "git://github.com/containers/composefs.git;protocol=https;branch=main;tag=v${PV} \ + file://0001-mkcomposefs-use-const-char-for-memchr-return-values.patch \ + " inherit meson diff --git a/meta-oe/recipes-support/crow/crow_1.3.2.bb b/meta-oe/recipes-support/crow/crow_1.3.2.bb new file mode 100644 index 00000000000..09970fcfc2f --- /dev/null +++ b/meta-oe/recipes-support/crow/crow_1.3.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "A Fast and Easy to use microframework for the web" +HOMEPAGE = "https://crowcpp.org/" +DESCRIPTION = "Crow is a C++ framework for creating HTTP or Websocket web services. \ +It uses routing similar to Python's Flask which makes it easy to use. \ +It is also extremely fast, beating multiple existing C++ frameworks as well as non-C++ frameworks." +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e08502e395a6f7c037ddfe7d2915f58e" + +SRC_URI = "git://github.com/CrowCpp/Crow.git;protocol=https;branch=v1.3;tag=v${PV}" +SRCREV = "f8c060c51feeca2c65828fb6f538603db4392d55" + +inherit cmake + +DEPENDS = "asio" + +EXTRA_OECMAKE = "\ + -DCROW_BUILD_EXAMPLES=OFF \ + -DCROW_BUILD_TESTS=OFF \ +" diff --git a/meta-oe/recipes-support/driverctl/driverctl_0.115.bb b/meta-oe/recipes-support/driverctl/driverctl_0.115.bb deleted file mode 100644 index 578a2b8d3b7..00000000000 --- a/meta-oe/recipes-support/driverctl/driverctl_0.115.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "driverctl is a device driver control utility for Linux" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -REQUIRED_DISTRO_FEATURES = "systemd" - -DEPENDS = "systemd" -RDEPENDS:${PN} += "bash bash-completion" - -SRC_URI = "git://gitlab.com/driverctl/driverctl.git;branch=master;protocol=https" -SRCREV = "2ba60536eb20ca0a6a751bd8b6501dba84ec45d3" - - -inherit pkgconfig systemd features_check - -do_install () { - oe_runmake install DESTDIR=${D} -} - -FILES:${PN} += " \ - ${libdir} \ - ${datadir} \ - ${systemd_system_unitdir} \ -" - diff --git a/meta-oe/recipes-support/driverctl/driverctl_0.121.bb b/meta-oe/recipes-support/driverctl/driverctl_0.121.bb new file mode 100644 index 00000000000..026e9f28979 --- /dev/null +++ b/meta-oe/recipes-support/driverctl/driverctl_0.121.bb @@ -0,0 +1,25 @@ +SUMMARY = "driverctl is a device driver control utility for Linux" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +REQUIRED_DISTRO_FEATURES = "systemd" + +DEPENDS = "systemd" +RDEPENDS:${PN} += "bash bash-completion" + +SRC_URI = "git://gitlab.com/driverctl/driverctl.git;branch=master;protocol=https;tag=${PV}" +SRCREV = "0a72c5b1091d87e839ff083f686477f9eff5fb97" + + +inherit pkgconfig systemd features_check + +do_install () { + oe_runmake install DESTDIR=${D} +} + +FILES:${PN} += " \ + ${libdir} \ + ${datadir} \ + ${systemd_system_unitdir} \ +" + diff --git a/meta-oe/recipes-support/enca/enca_1.19.bb b/meta-oe/recipes-support/enca/enca_1.19.bb index 61da50ba529..395d7abe707 100644 --- a/meta-oe/recipes-support/enca/enca_1.19.bb +++ b/meta-oe/recipes-support/enca/enca_1.19.bb @@ -17,4 +17,6 @@ SRC_URI[sha256sum] = "4c305cc59f3e57f2cfc150a6ac511690f43633595760e1cb266bf23362 inherit autotools +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + EXTRA_OECONF += "MKTEMP_PROG=mktemp" diff --git a/meta-oe/recipes-support/exiv2/exiv2_0.28.7.bb b/meta-oe/recipes-support/exiv2/exiv2_0.28.7.bb deleted file mode 100644 index 82ee232fdcf..00000000000 --- a/meta-oe/recipes-support/exiv2/exiv2_0.28.7.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Exif, Iptc and XMP metadata manipulation library and tools" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2" - -DEPENDS = "zlib expat brotli libinih" - -SRC_URI = "git://github.com/Exiv2/exiv2.git;protocol=https;branch=0.28.x;tag=v${PV} \ - file://run-ptest \ - file://0001-Use-automake-output-for-tests.patch \ - file://0001-Allow-test-data-path-configuration.patch \ - " -SRCREV = "afcb7a8ba84a7de36d2f1ee7689394e078697956" - -inherit cmake gettext ptest - -PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'test unittest', '', d)}" -PACKAGECONFIG[test] = "-DEXIV2_BUILD_SAMPLES=ON -DEXIV2_ENABLE_WEBREADY=ON" -PACKAGECONFIG[unittest] = "-DEXIV2_BUILD_UNIT_TESTS=ON -DTEST_FOLDER=${PTEST_PATH},,googletest" - -RDEPENDS:${PN}-ptest += " \ - python3-html \ - python3-lxml \ - python3-multiprocessing \ - python3-shell \ - python3-unittest \ - python3-unittest-automake-output" - -do_install_ptest(){ - cp -r ${S}/tests ${D}${PTEST_PATH}/ - cp -r ${S}/test ${D}${PTEST_PATH}/ - - install -d ${D}${PTEST_PATH}/build/bin - install ${B}/bin/* ${D}${PTEST_PATH}/build/bin - - install -d ${D}${PTEST_PATH}/src - install ${S}/src/canonmn_int.cpp ${D}${PTEST_PATH}/src -} diff --git a/meta-oe/recipes-support/exiv2/exiv2_0.28.8.bb b/meta-oe/recipes-support/exiv2/exiv2_0.28.8.bb new file mode 100644 index 00000000000..9369daa8051 --- /dev/null +++ b/meta-oe/recipes-support/exiv2/exiv2_0.28.8.bb @@ -0,0 +1,40 @@ +SUMMARY = "Exif, Iptc and XMP metadata manipulation library and tools" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2" + +DEPENDS = "zlib expat brotli libinih" + +SRC_URI = "git://github.com/Exiv2/exiv2.git;protocol=https;branch=0.28.x;tag=v${PV} \ + file://run-ptest \ + file://0001-Use-automake-output-for-tests.patch \ + file://0001-Allow-test-data-path-configuration.patch \ + " +SRCREV = "2cd987a731236037b6b78cbff897d08685a8ef49" + +inherit cmake gettext ptest + +PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'test unittest', '', d)}" +PACKAGECONFIG[test] = "-DEXIV2_BUILD_SAMPLES=ON -DEXIV2_ENABLE_WEBREADY=ON" +PACKAGECONFIG[unittest] = "-DEXIV2_BUILD_UNIT_TESTS=ON -DTEST_FOLDER=${PTEST_PATH},,googletest" + +RDEPENDS:${PN}-ptest += " \ + python3-html \ + python3-json \ + python3-lxml \ + python3-multiprocessing \ + python3-shell \ + python3-unittest \ + python3-unittest-automake-output" + +do_install_ptest(){ + cp -r ${S}/tests ${D}${PTEST_PATH}/ + cp -r ${S}/test ${D}${PTEST_PATH}/ + + install -d ${D}${PTEST_PATH}/build/bin + install ${B}/bin/* ${D}${PTEST_PATH}/build/bin + + install -d ${D}${PTEST_PATH}/src + install ${S}/src/canonmn_int.cpp ${D}${PTEST_PATH}/src +} + +CVE_STATUS[CVE-2026-27631] = "fixed-version: fixed in 0.28.8" diff --git a/meta-oe/recipes-support/fastfetch/fastfetch_2.62.1.bb b/meta-oe/recipes-support/fastfetch/fastfetch_2.62.1.bb new file mode 100644 index 00000000000..160ac87bcb1 --- /dev/null +++ b/meta-oe/recipes-support/fastfetch/fastfetch_2.62.1.bb @@ -0,0 +1,65 @@ +SUMMARY = "A maintained, feature-rich and performance oriented, neofetch like system information tool." +DESCRIPTION = "Fastfetch is a neofetch-like tool for fetching system \ +information and displaying it in a visually appealing way. It is written \ +mainly in C, with a focus on performance and customizability." +HOMEPAGE = "https://github.com/fastfetch-cli/fastfetch" +BUGTRACKER = "https://github.com/fastfetch-cli/fastfetch/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2090e7d93df7ad5a3d41f6fb4226ac76" + +DEPENDS = "yyjson" + +SRC_URI = "git://github.com/fastfetch-cli/fastfetch.git;protocol=https;branch=master;tag=${PV}" +SRCREV = "4a61cdb1c9e4044ee959751e00bac1266dc6ebf9" + +inherit cmake pkgconfig + +EXTRA_OECMAKE += "\ + -DENABLE_SYSTEM_YYJSON=ON \ +" + +PACKAGECONFIG ??= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcb xrandr', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'opencl pulseaudio vulkan wayland', d)} \ + dbus \ + drm \ + sqlite3 \ +" + +PACKAGECONFIG[chafa] = "-DENABLE_CHAFA=ON,-DENABLE_CHAFA=OFF,chafa" +PACKAGECONFIG[dbus] = "-DENABLE_DBUS=ON,-DENABLE_DBUS=OFF,dbus" +PACKAGECONFIG[dconf] = "-DENABLE_DCONF=ON,-DENABLE_DCONF=OFF,dconf" +PACKAGECONFIG[ddcutil] = "-DENABLE_DDCUTIL=ON,-DENABLE_DDCUTIL=OFF,ddcutil" +PACKAGECONFIG[drm-amdgpu] = "-DENABLE_DRM_AMDGPU=ON,-DENABLE_DRM_AMDGPU=OFF," +PACKAGECONFIG[drm] = "-DENABLE_DRM=ON,-DENABLE_DRM=OFF,libdrm" +PACKAGECONFIG[egl] = "-DENABLE_EGL=ON,-DENABLE_EGL=OFF,virtual/egl" +PACKAGECONFIG[elf] = "-DENABLE_ELF=ON,-DENABLE_ELF=OFF,elfutils" +PACKAGECONFIG[flashfetch] = "-DBUILD_FLASHFETCH=ON,-DBUILD_FLASHFETCH=OFF," +PACKAGECONFIG[freetype] = "-DENABLE_FREETYPE=ON,-DENABLE_FREETYPE=OFF,freetype" +PACKAGECONFIG[gio] = "-DENABLE_GIO=ON,-DENABLE_GIO=OFF,glib-2.0" +PACKAGECONFIG[glx] = "-DENABLE_GLX=ON,-DENABLE_GLX=OFF,virtual/libgles2" +PACKAGECONFIG[imagemagick] = "-DENABLE_IMAGEMAGICK7=ON -DENABLE_IMAGEMAGICK6=OFF,-DENABLE_IMAGEMAGICK7=OFF -DENABLE_IMAGEMAGICK6=OFF,imagemagick" +PACKAGECONFIG[opencl] = "-DENABLE_OPENCL=ON,-DENABLE_OPENCL=OFF,opencl-headers virtual/libopencl1" +PACKAGECONFIG[pulseaudio] = "-DENABLE_PULSE=ON,-DENABLE_PULSE=OFF,pulseaudio" +PACKAGECONFIG[rpm] = "-DENABLE_RPM=ON,-DENABLE_RPM=OFF,rpm" +PACKAGECONFIG[sqlite3] = "-DENABLE_SQLITE3=ON,-DENABLE_SQLITE3=OFF,sqlite3" +PACKAGECONFIG[vulkan] = "-DENABLE_VULKAN=ON,-DENABLE_VULKAN=OFF,vulkan-loader" +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND=ON,-DENABLE_WAYLAND=OFF,wayland" +PACKAGECONFIG[xcb] = "-DENABLE_XCB_RANDR=ON,-DENABLE_XCB_RANDR=OFF,libxcb" +PACKAGECONFIG[xrandr] = "-DENABLE_XRANDR=ON,-DENABLE_XRANDR=OFF,libxrandr" +PACKAGECONFIG[zfs] = "-DENABLE_LIBZFS=ON,-DENABLE_LIBZFS=OFF,zfs" +PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF,zlib" + +PACKAGES =+ "${PN}-completions" + +FILES:${PN} += "${datadir}/licenses" + +FILES:${PN}-completions = "\ + ${datadir}/bash-completion \ + ${datadir}/fish \ + ${datadir}/zsh \ +" +RDEPENDS:${PN}-completions += "python3-json" diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.10.bb b/meta-oe/recipes-support/fftw/fftw_3.3.10.bb deleted file mode 100644 index 52122b9c0ce..00000000000 --- a/meta-oe/recipes-support/fftw/fftw_3.3.10.bb +++ /dev/null @@ -1,105 +0,0 @@ -DESCRIPTION = "FFTW" -SECTION = "libs" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -SRC_URI = " \ - http://www.fftw.org/fftw-${PV}.tar.gz \ - file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \ - file://install-bench.patch \ - file://run-ptest \ -" -SRC_URI[sha256sum] = "56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467" - -UPSTREAM_CHECK_URI = "http://www.fftw.org/download.html" - -inherit autotools pkgconfig ptest - -# we had multiple recipes in the past -PROVIDES = "fftwl fftwf" - -EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads" - -CFLAGS += "-D_GNU_SOURCE" - -# neon is optional for arm version < 8 -> check tune features -FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}" -# neon is suppored for arm version = 8 -> enable -FFTW_NEON:aarch64 = "--enable-neon" -FFTW_NEON:class-native = "" - -do_configure() { - # configure fftw - rm -rf ${WORKDIR}/build-fftw - mkdir -p ${B} - cd ${B} - # full (re)configure - autotools_do_configure - mv ${B} ${WORKDIR}/build-fftw - - # configure fftwl - rm -rf ${WORKDIR}/build-fftwl - mkdir -p ${B} - cd ${B} - # configure only - oe_runconf --enable-long-double - mv ${B} ${WORKDIR}/build-fftwl - - # configure fftwf - rm -rf ${WORKDIR}/build-fftwf - mkdir -p ${B} - cd ${B} - # configure only - oe_runconf --enable-single ${FFTW_NEON} - mv ${B} ${WORKDIR}/build-fftwf -} - -do_compile() { - for lib in fftw fftwl fftwf; do - cd ${WORKDIR}/build-$lib - test -n "${TOOLCHAIN_OPTIONS}" && sed -i -e 's|${TOOLCHAIN_OPTIONS}||g' config.h - autotools_do_compile - done -} - -do_install() { - for lib in fftw fftwl fftwf; do - cd ${WORKDIR}/build-$lib - autotools_do_install - done -} - -do_install_ptest() { - for lib in fftw fftwl fftwf; do - install -d ${D}${PTEST_PATH}/$lib - install -m 0755 ${S}/tests/check.pl ${D}${PTEST_PATH}/$lib - cd ${WORKDIR}/build-$lib - if [ $lib = "fftw" ]; then - mv ${D}${bindir}/bench ${D}${PTEST_PATH}/$lib - fi - if [ $lib = "fftwl" ]; then - mv ${D}${bindir}/benchl ${D}${PTEST_PATH}/$lib - fi - if [ $lib = "fftwf" ]; then - mv ${D}${bindir}/benchf ${D}${PTEST_PATH}/$lib - fi - done -} - -PACKAGES =+ "libfftw libfftwl libfftwf" -FILES:libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*" -FILES:libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*" -FILES:libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*" - -PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf" -FILES:fftw-wisdom = "${bindir}/fftw-wisdom" -FILES:fftwl-wisdom = "${bindir}/fftwl-wisdom" -FILES:fftwf-wisdom = "${bindir}/fftwf-wisdom" -FILES:fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf" - -FILES:${PN}-dev += "${libdir}/cmake" -RDEPENDS:${PN}-dev = "libfftw libfftwl libfftwf" -RDEPENDS:${PN}-ptest += "perl" -RDEPENDS:${PN}-ptest:remove = "fftw" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.11.bb b/meta-oe/recipes-support/fftw/fftw_3.3.11.bb new file mode 100644 index 00000000000..83010d3e7dc --- /dev/null +++ b/meta-oe/recipes-support/fftw/fftw_3.3.11.bb @@ -0,0 +1,105 @@ +DESCRIPTION = "FFTW" +SECTION = "libs" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +SRC_URI = " \ + http://www.fftw.org/fftw-${PV}.tar.gz \ + file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \ + file://install-bench.patch \ + file://run-ptest \ +" +SRC_URI[sha256sum] = "5630c24cdeb33b131612f7eb4b1a9934234754f9f388ff8617458d0be6f239a1" + +UPSTREAM_CHECK_URI = "http://www.fftw.org/download.html" + +inherit autotools pkgconfig ptest + +# we had multiple recipes in the past +PROVIDES = "fftwl fftwf" + +EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads" + +CFLAGS += "-D_GNU_SOURCE" + +# neon is optional for arm version < 8 -> check tune features +FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}" +# neon is suppored for arm version = 8 -> enable +FFTW_NEON:aarch64 = "--enable-neon" +FFTW_NEON:class-native = "" + +do_configure() { + # configure fftw + rm -rf ${WORKDIR}/build-fftw + mkdir -p ${B} + cd ${B} + # full (re)configure + autotools_do_configure + mv ${B} ${WORKDIR}/build-fftw + + # configure fftwl + rm -rf ${WORKDIR}/build-fftwl + mkdir -p ${B} + cd ${B} + # configure only + oe_runconf --enable-long-double + mv ${B} ${WORKDIR}/build-fftwl + + # configure fftwf + rm -rf ${WORKDIR}/build-fftwf + mkdir -p ${B} + cd ${B} + # configure only + oe_runconf --enable-single ${FFTW_NEON} + mv ${B} ${WORKDIR}/build-fftwf +} + +do_compile() { + for lib in fftw fftwl fftwf; do + cd ${WORKDIR}/build-$lib + sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' config.h + autotools_do_compile + done +} + +do_install() { + for lib in fftw fftwl fftwf; do + cd ${WORKDIR}/build-$lib + autotools_do_install + done +} + +do_install_ptest() { + for lib in fftw fftwl fftwf; do + install -d ${D}${PTEST_PATH}/$lib + install -m 0755 ${S}/tests/check.pl ${D}${PTEST_PATH}/$lib + cd ${WORKDIR}/build-$lib + if [ $lib = "fftw" ]; then + mv ${D}${bindir}/bench ${D}${PTEST_PATH}/$lib + fi + if [ $lib = "fftwl" ]; then + mv ${D}${bindir}/benchl ${D}${PTEST_PATH}/$lib + fi + if [ $lib = "fftwf" ]; then + mv ${D}${bindir}/benchf ${D}${PTEST_PATH}/$lib + fi + done +} + +PACKAGES =+ "libfftw libfftwl libfftwf" +FILES:libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*" +FILES:libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*" +FILES:libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*" + +PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf" +FILES:fftw-wisdom = "${bindir}/fftw-wisdom" +FILES:fftwl-wisdom = "${bindir}/fftwl-wisdom" +FILES:fftwf-wisdom = "${bindir}/fftwf-wisdom" +FILES:fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf" + +FILES:${PN}-dev += "${libdir}/cmake" +RDEPENDS:${PN}-dev = "libfftw libfftwl libfftwf" +RDEPENDS:${PN}-ptest += "perl" +RDEPENDS:${PN}-ptest:remove = "fftw" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/fltk/fltk.inc b/meta-oe/recipes-support/fltk/fltk.inc index 0b2921095c8..9d0eb549bd0 100644 --- a/meta-oe/recipes-support/fltk/fltk.inc +++ b/meta-oe/recipes-support/fltk/fltk.inc @@ -1,18 +1,18 @@ SUMMARY = "FLTK is a cross-platform C++ GUI toolkit" -HOMEPAGE = "http://www.fltk.org" +HOMEPAGE = "https://www.fltk.org" SECTION = "libs" LICENSE = "LGPL-2.0-only & FLTK" LIC_FILES_CHKSUM = "file://COPYING;md5=f6b26344a24a941a01a5b0826e80b5ca" SRC_URI = " \ - http://fltk.org/pub/fltk/${PV}/${BP}-source.tar.bz2 \ + https://github.com/fltk/fltk/releases/download/release-${PV}/${BP}-source.tar.bz2 \ file://disable_test.patch \ file://0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch \ file://0002-always-build-fluid-and-export-pointers.patch \ " -PV = "1.3.9" -SRC_URI[sha256sum] = "103441134915402808fd45424d4061778609437e804334434e946cfd26b196c2" +PV = "1.3.11" +SRC_URI[sha256sum] = "ca2e144e5f89173cd094cc273940d56230b1bf613083a0792e6406dc191cd99f" inherit cmake pkgconfig diff --git a/meta-oe/recipes-support/freeipmi/freeipmi_1.6.16.bb b/meta-oe/recipes-support/freeipmi/freeipmi_1.6.16.bb deleted file mode 100644 index f5be870b1d6..00000000000 --- a/meta-oe/recipes-support/freeipmi/freeipmi_1.6.16.bb +++ /dev/null @@ -1,25 +0,0 @@ -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ZRESEARCH;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.bmc-watchdog;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ipmi-dcmi;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ipmi-fru;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ipmiconsole;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ipmidetect;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ipmimonitoring;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ipmiping;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ipmipower;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.ipmiseld;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.pstdout;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.sunbmc;md5=c03f21cd76ff5caba6b890d1213cbfbb" - -SRC_URI = "${GNU_MIRROR}/freeipmi/freeipmi-${PV}.tar.gz" -SRC_URI[sha256sum] = "5bcef6bb9eb680e49b4a3623579930ace7899f53925b2045fe9f91ad6904111d" - -DEPENDS = "libgcrypt" -DEPENDS:append:libc-musl = " argp-standalone" - -inherit pkgconfig autotools - -EXTRA_OECONF = "--without-random-device" - diff --git a/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb b/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb new file mode 100644 index 00000000000..7970e0f5634 --- /dev/null +++ b/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb @@ -0,0 +1,26 @@ +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ZRESEARCH;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.bmc-watchdog;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ipmi-dcmi;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ipmi-fru;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ipmiconsole;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ipmidetect;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ipmimonitoring;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ipmiping;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ipmipower;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.ipmiseld;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.pstdout;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.sunbmc;md5=c03f21cd76ff5caba6b890d1213cbfbb" + +SRC_URI = "${GNU_MIRROR}/freeipmi/freeipmi-${PV}.tar.gz" +SRC_URI[sha256sum] = "16783d10faa28847a795cce0bf86deeaa72b8fbe71d1f0dc1101d13a6b501ec1" + +DEPENDS = "libgcrypt" +DEPENDS:append:libc-musl = " argp-standalone" + +inherit pkgconfig autotools + +EXTRA_OECONF = "--without-random-device" + +CVE_STATUS[CVE-2026-33554] = "fixed-version: fixed since 1.6.17" diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch new file mode 100644 index 00000000000..c2c093bc47c --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch @@ -0,0 +1,101 @@ +From 0d48a9cb6e25afa10e76de75232ad32a82806aae Mon Sep 17 00:00:00 2001 +From: Ankur Tyagi +Date: Wed, 25 Mar 2026 00:04:42 +1300 +Subject: [PATCH] Fix compilation error + +Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/b78cb455cbe847da934c777189b6e7f25267502e] + +Signed-off-by: Ankur Tyagi +--- + winpr/include/winpr/collections.h | 2 +- + winpr/libwinpr/utils/collections/Queue.c | 28 ++++++++++++++++++------ + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/winpr/include/winpr/collections.h b/winpr/include/winpr/collections.h +index b8c8d9d66..64705751e 100644 +--- a/winpr/include/winpr/collections.h ++++ b/winpr/include/winpr/collections.h +@@ -63,7 +63,7 @@ extern "C" + int head; + int tail; + int size; +- void** array; ++ uintptr_t* array; + CRITICAL_SECTION lock; + HANDLE event; + +diff --git a/winpr/libwinpr/utils/collections/Queue.c b/winpr/libwinpr/utils/collections/Queue.c +index bb789b658..6b86f7ab7 100644 +--- a/winpr/libwinpr/utils/collections/Queue.c ++++ b/winpr/libwinpr/utils/collections/Queue.c +@@ -34,6 +34,16 @@ + * Properties + */ + ++static inline void* uptr2void(uintptr_t ptr) ++{ ++ return (void*)ptr; ++} ++ ++static inline uintptr_t void2uptr(const void* ptr) ++{ ++ return (uintptr_t)ptr; ++} ++ + /** + * Gets the number of elements contained in the Queue. + */ +@@ -98,9 +108,12 @@ void Queue_Clear(wQueue* queue) + for (index = queue->head; index != queue->tail; index = (index + 1) % queue->capacity) + { + if (queue->object.fnObjectFree) +- queue->object.fnObjectFree(queue->array[index]); ++ { ++ void* obj = uptr2void(queue->array[index]); ++ queue->object.fnObjectFree(obj); ++ } + +- queue->array[index] = NULL; ++ queue->array[index] = 0; + } + + queue->size = 0; +@@ -124,7 +137,8 @@ BOOL Queue_Contains(wQueue* queue, void* obj) + + for (index = 0; index < queue->tail; index++) + { +- if (queue->object.fnObjectEquals(queue->array[index], obj)) ++ void* ptr = uptr2void(queue->array[index]); ++ if (queue->object.fnObjectEquals(ptr, obj)) + { + found = TRUE; + break; +@@ -217,7 +231,7 @@ BOOL Queue_Enqueue(wQueue* queue, void* obj) + if (!Queue_EnsureCapacity(queue, 1)) + goto out; + +- queue->array[queue->tail] = obj; ++ queue->array[queue->tail] = void2uptr(obj); + queue->tail = (queue->tail + 1) % queue->capacity; + queue->size++; + SetEvent(queue->event); +@@ -242,8 +256,8 @@ void* Queue_Dequeue(wQueue* queue) + + if (queue->size > 0) + { +- obj = queue->array[queue->head]; +- queue->array[queue->head] = NULL; ++ obj = uptr2void(queue->array[queue->head]); ++ queue->array[queue->head] = 0; + queue->head = (queue->head + 1) % queue->capacity; + queue->size--; + } +@@ -269,7 +283,7 @@ void* Queue_Peek(wQueue* queue) + EnterCriticalSection(&queue->lock); + + if (queue->size > 0) +- obj = queue->array[queue->head]; ++ obj = uptr2void(queue->array[queue->head]); + + if (queue->synchronized) + LeaveCriticalSection(&queue->lock); diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch deleted file mode 100644 index 87a456d16d3..00000000000 --- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 761b4df04a141cc8c9507c741e4046c6c6b00491 Mon Sep 17 00:00:00 2001 -From: Wang Mingyu -Date: Mon, 11 Sep 2023 09:00:39 +0000 -Subject: [PATCH] Fix const qualifier error - -Fixes clang error -error: incompatible function pointer types assigning to 'OBJECT_NEW_FN' (aka 'void *(*)(void *)') from 'void *(const void *)' [-Wincompatible-function-pointer-types] -| obj->fnObjectNew = uwac_event_clone; -| ^ ~~~~~~~~~~~~~~~~ - -https://github.com/FreeRDP/FreeRDP/commit/6e3c00725aae99d03a0baa65430eceddebd9dee8 -Upstream-Status: Backport - -Signed-off-by: Wang Mingyu ---- - libfreerdp/codec/rfx.c | 4 ++-- - winpr/include/winpr/collections.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libfreerdp/codec/rfx.c b/libfreerdp/codec/rfx.c -index ccbc5af..eec7365 100644 ---- a/libfreerdp/codec/rfx.c -+++ b/libfreerdp/codec/rfx.c -@@ -153,7 +153,7 @@ static void rfx_tile_init(void* obj) - } - } - --static void* rfx_decoder_tile_new(void* val) -+static void* rfx_decoder_tile_new(const void* val) - { - RFX_TILE* tile = NULL; - WINPR_UNUSED(val); -@@ -184,7 +184,7 @@ static void rfx_decoder_tile_free(void* obj) - } - } - --static void* rfx_encoder_tile_new(void* val) -+static void* rfx_encoder_tile_new(const void* val) - { - WINPR_UNUSED(val); - return calloc(1, sizeof(RFX_TILE)); -diff --git a/winpr/include/winpr/collections.h b/winpr/include/winpr/collections.h -index 807f011..b8c8d9d 100644 ---- a/winpr/include/winpr/collections.h -+++ b/winpr/include/winpr/collections.h -@@ -36,7 +36,7 @@ extern "C" - { - #endif - -- typedef void* (*OBJECT_NEW_FN)(void* val); -+ typedef void* (*OBJECT_NEW_FN)(const void* val); - typedef void (*OBJECT_INIT_FN)(void* obj); - typedef void (*OBJECT_UNINIT_FN)(void* obj); - typedef void (*OBJECT_FREE_FN)(void* obj); --- -2.34.1 - diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch deleted file mode 100644 index 62600cddab8..00000000000 --- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 130094de3244d5039e463e1142e1ec487c1104ef Mon Sep 17 00:00:00 2001 -From: Armin Novak -Date: Tue, 22 Feb 2022 12:05:08 +0100 -Subject: [PATCH] Fixed compilation warnings in ainput channel - -Upstream-Status: Backport [130094de3 Fixed compilation warnings in ainput channel] -Signed-off-by: Martin Jansa ---- - channels/ainput/server/ainput_main.c | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git a/channels/ainput/server/ainput_main.c b/channels/ainput/server/ainput_main.c -index bc1737ee1..17d2ec681 100644 ---- a/channels/ainput/server/ainput_main.c -+++ b/channels/ainput/server/ainput_main.c -@@ -192,7 +192,7 @@ static UINT ainput_server_recv_mouse_event(ainput_server* ainput, wStream* s) - - static HANDLE ainput_server_get_channel_handle(ainput_server* ainput) - { -- BYTE* buffer = NULL; -+ void* buffer = NULL; - DWORD BytesReturned = 0; - HANDLE ChannelEvent = NULL; - -@@ -389,7 +389,7 @@ ainput_server_context* ainput_server_context_new(HANDLE vcm) - goto fail; - return &ainput->context; - fail: -- ainput_server_context_free(ainput); -+ ainput_server_context_free(&ainput->context); - return NULL; - } - -@@ -496,17 +496,23 @@ UINT ainput_server_context_poll_int(ainput_server_context* context) - break; - case AINPUT_OPENED: - { -- BYTE* buffer = NULL; -+ union -+ { -+ BYTE* pb; -+ void* pv; -+ } buffer; - DWORD BytesReturned = 0; - -- if (WTSVirtualChannelQuery(ainput->ainput_channel, WTSVirtualChannelReady, &buffer, -+ buffer.pv = NULL; -+ -+ if (WTSVirtualChannelQuery(ainput->ainput_channel, WTSVirtualChannelReady, &buffer.pv, - &BytesReturned) != TRUE) - { - WLog_ERR(TAG, "WTSVirtualChannelReady failed,"); - } - else - { -- if (*buffer != 0) -+ if (*buffer.pb != 0) - { - error = ainput_server_send_version(ainput); - if (error) -@@ -518,7 +524,7 @@ UINT ainput_server_context_poll_int(ainput_server_context* context) - else - error = CHANNEL_RC_OK; - } -- WTSFreeMemory(buffer); -+ WTSFreeMemory(buffer.pv); - } - break; - case AINPUT_VERSION_SENT: --- -2.43.0 - diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch deleted file mode 100644 index 7fae2703f83..00000000000 --- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 75fa1fa5bd5ef2350390564245fd0984209ac092 Mon Sep 17 00:00:00 2001 -From: akallabeth -Date: Mon, 4 Jul 2022 14:34:46 +0200 -Subject: [PATCH] Fixed compilation warnings - -Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/2da280b8a1748052b70b3f5a1ef0d8e932c33adc] -Signed-off-by: Khem Raj ---- - client/X11/xf_graphics.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/client/X11/xf_graphics.c b/client/X11/xf_graphics.c -index 5aa1fd48b..fe81e0ed9 100644 ---- a/client/X11/xf_graphics.c -+++ b/client/X11/xf_graphics.c -@@ -438,7 +438,7 @@ static BOOL xf_Pointer_New(rdpContext* context, rdpPointer* pointer) - - #endif - fail: -- WLog_DBG(TAG, "%s: %ld", __func__, rc ? pointer : -1); -+ WLog_DBG(TAG, "%s: %p", __func__, rc ? pointer : NULL); - return rc; - } - --- -2.45.0 - diff --git a/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-22852.patch b/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-22852.patch new file mode 100644 index 00000000000..aa6952fb7dc --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-22852.patch @@ -0,0 +1,27 @@ +From e3391e8d160f4b1b43d53b4a7d462a3601c45408 Mon Sep 17 00:00:00 2001 +From: akallabeth +Date: Sat, 10 Jan 2026 08:36:38 +0100 +Subject: [PATCH] free up old audio formats + +CVE: CVE-2026-22852 +Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/cd1ffa112cfbe1b40a9fd57e299a8ea12e23df0d] +Signed-off-by: Gyorgy Sarvari +--- + channels/audin/client/audin_main.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/channels/audin/client/audin_main.c b/channels/audin/client/audin_main.c +index 23561b153..5ffe09127 100644 +--- a/channels/audin/client/audin_main.c ++++ b/channels/audin/client/audin_main.c +@@ -219,6 +219,10 @@ static UINT audin_process_formats(AUDIN_PLUGIN* audin, AUDIN_CHANNEL_CALLBACK* c + } + + Stream_Seek_UINT32(s); /* cbSizeFormatsPacket */ ++ ++ audio_formats_free(callback->formats, callback->formats_count); ++ callback->formats_count = 0; ++ + callback->formats = audio_formats_new(NumFormats); + + if (!callback->formats) diff --git a/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-23530.patch b/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-23530.patch new file mode 100644 index 00000000000..4aac13de93b --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-23530.patch @@ -0,0 +1,28 @@ +From 6f61d18e9707cebe9d7d64346c66da780c7094c4 Mon Sep 17 00:00:00 2001 +From: akallabeth +Date: Thu, 15 Jan 2026 12:02:02 +0100 +Subject: [PATCH] fix decoder length checks + +CVE: CVE-2026-23530 +Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/1bab198a2edd0d0e6e1627d21a433151ea190500] +Signed-off-by: Gyorgy Sarvari +--- + libfreerdp/codec/planar.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libfreerdp/codec/planar.c b/libfreerdp/codec/planar.c +index fe27011e1..1cb2e22bc 100644 +--- a/libfreerdp/codec/planar.c ++++ b/libfreerdp/codec/planar.c +@@ -616,6 +616,11 @@ BOOL planar_decompress(BITMAP_PLANAR_CONTEXT* planar, const BYTE* pSrcData, UINT + WINPR_ASSERT(planar); + WINPR_ASSERT(prims); + ++ if (planar->maxWidth < nSrcWidth) ++ return FALSE; ++ if (planar->maxHeight < nSrcHeight) ++ return FALSE; ++ + if (nDstStep <= 0) + nDstStep = nDstWidth * GetBytesPerPixel(DstFormat); + diff --git a/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-23532.patch b/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-23532.patch new file mode 100644 index 00000000000..80d4af30b95 --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp/CVE-2026-23532.patch @@ -0,0 +1,49 @@ +From 51929613e6897489736a35eaaf14a3accf143963 Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Thu, 15 Jan 2026 12:04:36 +0100 +Subject: [PATCH] properly clamp SurfaceToSurface + +From: akallabeth + +CVE: CVE-2026-23532 +Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/c4a7c371342edf0d307cea728f56d3302f0ab38c] +Signed-off-by: Gyorgy Sarvari +--- + libfreerdp/gdi/gfx.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/libfreerdp/gdi/gfx.c b/libfreerdp/gdi/gfx.c +index 3970715e0..812568bbb 100644 +--- a/libfreerdp/gdi/gfx.c ++++ b/libfreerdp/gdi/gfx.c +@@ -1175,7 +1175,6 @@ static UINT gdi_SurfaceToSurface(RdpgfxClientContext* context, + UINT status = ERROR_INTERNAL_ERROR; + UINT16 index; + BOOL sameSurface; +- UINT32 nWidth, nHeight; + const RECTANGLE_16* rectSrc; + RECTANGLE_16 invalidRect; + gdiGfxSurface* surfaceSrc; +@@ -1199,8 +1198,8 @@ static UINT gdi_SurfaceToSurface(RdpgfxClientContext* context, + if (!is_rect_valid(rectSrc, surfaceSrc->width, surfaceSrc->height)) + goto fail; + +- nWidth = rectSrc->right - rectSrc->left; +- nHeight = rectSrc->bottom - rectSrc->top; ++ const UINT32 nWidth = rectSrc->right - rectSrc->left; ++ const UINT32 nHeight = rectSrc->bottom - rectSrc->top; + + for (index = 0; index < surfaceToSurface->destPtsCount; index++) + { +@@ -1209,8 +1208,10 @@ static UINT gdi_SurfaceToSurface(RdpgfxClientContext* context, + if (!is_rect_valid(&rect, surfaceDst->width, surfaceDst->height)) + goto fail; + ++ const UINT32 rwidth = rect.right - rect.left; ++ const UINT32 rheight = rect.bottom - rect.top; + if (!freerdp_image_copy(surfaceDst->data, surfaceDst->format, surfaceDst->scanline, +- destPt->x, destPt->y, nWidth, nHeight, surfaceSrc->data, ++ destPt->x, destPt->y, rwidth, rheight, surfaceSrc->data, + surfaceSrc->format, surfaceSrc->scanline, rectSrc->left, + rectSrc->top, NULL, FREERDP_FLIP_NONE)) + goto fail; diff --git a/meta-oe/recipes-support/freerdp/freerdp3_3.22.0.bb b/meta-oe/recipes-support/freerdp/freerdp3_3.22.0.bb deleted file mode 100644 index c182ee13390..00000000000 --- a/meta-oe/recipes-support/freerdp/freerdp3_3.22.0.bb +++ /dev/null @@ -1,126 +0,0 @@ -DESCRIPTION = "FreeRDP RDP client & server library" -HOMEPAGE = "http://www.freerdp.com" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS = "openssl libusb1 uriparser cairo icu pkcs11-helper zlib jpeg json-c" -RDEPENDS:${PN}-ptest += "cmake coreutils" - -inherit pkgconfig cmake ptest - -SRCREV = "e3ef4c71138f76516299cb3637d2d0c59b2a3737" -SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https;tag=${PV} \ - file://run-ptest" - - -CVE_PRODUCT = "freerdp" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pam pulseaudio wayland x11', d)} \ - ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)} \ - gstreamer cups pcsc \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'test', '', d)} \ -" - -EXTRA_OECMAKE = " \ - -DRDTK_FORCE_STATIC_BUILD=ON \ - -DUWAC_FORCE_STATIC_BUILD=ON \ - -DWITH_AAD=ON \ - -DWITH_BINARY_VERSIONING=ON \ - -DWITH_CHANNELS=ON \ - -DWITH_CLIENT_CHANNELS=ON \ - -DWITH_JPEG=ON \ - -DWITH_PKCS11=ON \ - -DWITH_SERVER_CHANNELS=ON \ - -DWITH_SERVER=ON \ - -DPKG_CONFIG_RELOCATABLE=OFF \ - -DWITH_ALSA=OFF \ - -DWITH_CLIENT_SDL=OFF \ - -DWITH_SAMPLE=OFF \ - -DWITH_CAIRO=ON \ - -DWITH_MANPAGES=OFF \ - " - -X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile" -PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF -DWITH_SHADOW=OFF,${X11_DEPS}" -PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon" -PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam" -PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio" -PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups" -PACKAGECONFIG[fuse] = "-DWITH_FUSE=ON,-DWITH_FUSE=OFF,fuse3,fuse3" -PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite" -PACKAGECONFIG[ffmpeg] = "-DWITH_DSP_FFMPEG=ON -DWITH_FFMPEG=ON -DWITH_SWSCALE=ON, -DWITH_DSP_FFMPEG=OFF -DWITH_FFMPEG=OFF -DWITH_SWSCALE=OFF,ffmpeg" -PACKAGECONFIG[krb5] = "-DWITH_KRB5=ON -DWITH_KRB5_NO_NTLM_FALLBACK=OFF,-DWITH_KRB5=OFF,krb5" -PACKAGECONFIG[openh264] = "-DWITH_OPENH264=ON,-DWITH_OPENH264=OFF,openh264" -PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,virtual/libopencl1" -PACKAGECONFIG[lame] = "-DWITH_LAME=ON,-DWITH_LAME=OFF,lame" -PACKAGECONFIG[faad] = "-DWITH_FAAD=ON,-DWITH_FAAD=OFF,faad2" -PACKAGECONFIG[faac] = "-DWITH_FAAC=ON,-DWITH_FAAC=OFF,faac" -PACKAGECONFIG[test] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF" - -do_configure:prepend() { - sed -i 's|TEST_SOURCE_DIR="\${CMAKE_CURRENT_SOURCE_DIR}"|TEST_SOURCE_DIR="${PTEST_PATH}/test"|' ${S}/client/common/test/CMakeLists.txt - sed -i 's|\${CMAKE_SOURCE_DIR}|${PTEST_PATH}|' ${S}/winpr/libwinpr/clipboard/test/CMakeLists.txt - sed -i 's|="\${CMAKE_CURRENT_SOURCE_DIR}|="${PTEST_PATH}/test|' ${S}/winpr/libwinpr/utils/test/CMakeLists.txt - sed -i 's|="\${CMAKE_CURRENT_BINARY_DIR}|="${PTEST_PATH}/test|' ${S}/winpr/libwinpr/utils/test/CMakeLists.txt - sed -i 's|="\${CMAKE_CURRENT_SOURCE_DIR}|="${PTEST_PATH}/test|' ${S}/libfreerdp/codec/test/CMakeLists.txt - sed -i 's|="\${CMAKE_CURRENT_BINARY_DIR}|="${PTEST_PATH}/test|' ${S}/libfreerdp/codec/test/CMakeLists.txt - -} - -do_configure:append() { - sed -i -e 's|${WORKDIR}||g' ${B}/include/freerdp/buildflags.h - sed -i -e 's|${WORKDIR}||g' ${B}/winpr/include/winpr/buildflags.h -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test - # main CTestTestfile.cmake file - cp ${B}/CTestTestfile.cmake ${D}${PTEST_PATH} - # the actual test executables - cp -r ${B}/Testing ${D}${PTEST_PATH} - # test data - cp ${S}/winpr/libwinpr/utils/test/*bmp ${D}${PTEST_PATH}/test/ - cp ${S}/libfreerdp/codec/test/*bmp ${D}${PTEST_PATH}/test/ - cp -r ${S}/client/common/test/* ${D}${PTEST_PATH}/test/ - cp -r ${S}/resources ${D}${PTEST_PATH} - cp -r ${S}/libfreerdp/codec/test/planar ${D}${PTEST_PATH}/test/ - cp -r ${S}/libfreerdp/codec/test/interleaved ${D}${PTEST_PATH}/test/ - - cd ${B} - # the test definitions, how to execute the tests - find . -name CTestTestfile.cmake -exec install -Dm 0644 {} ${D}${PTEST_PATH}/{} \; - - for testfile in $(find ${D}${PTEST_PATH} -name CTestTestfile.cmake); do - # these are comments only, containing ${S} and ${B}, at the top of each file - sed -i "s,Source directory: ${S},," $testfile - sed -i "s,Build directory: ${B},," $testfile - - # change the ${B} to ${PTEST_PATH}, so the files will be searches at the correct place - sed -i "s,${B}/Testing,${PTEST_PATH}/Testing,g" $testfile - - # These add some extra traceability info to the tests, to pair them with CMakeLists.txt files, - # containing ${B}. - # They are not needed for test execution, just remove the whole line. - sed -i "s,set_tests_properties.*_BACKTRACE_TRIPLES.*,," $testfile - done - - # This is not part of the tests it is just in the same folder, and requires Python to be installed. - # Just remove it. - rm ${D}${PTEST_PATH}/resources/conv_to_ewm_prop.py - - # This particular test requires openh264, which is part of meta-multimedia layer. - # Since it is not a dependency of meta-oe, comment this test out. - sed -i 's/add_test(TestFreeRDPCodecH264/#add_test(TestFreeRDPCodecH264/' ${D}${PTEST_PATH}/libfreerdp/codec/test/CTestTestfile.cmake -} - -PACKAGES =+ "${PN}-proxy-plugins" - -FILES:${PN}-proxy-plugins += "${libdir}/${BPN}/proxy/*.so*" - -FILES:${PN} += "${datadir}" - -SYSROOT_DIRS += "${bindir}" - -INSANE_SKIP:${PN}-proxy-plugins += "dev-so" diff --git a/meta-oe/recipes-support/freerdp/freerdp3_3.24.2.bb b/meta-oe/recipes-support/freerdp/freerdp3_3.24.2.bb new file mode 100644 index 00000000000..a4561495cf6 --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp3_3.24.2.bb @@ -0,0 +1,128 @@ +DESCRIPTION = "FreeRDP RDP client & server library" +HOMEPAGE = "http://www.freerdp.com" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS = "openssl libusb1 uriparser cairo icu pkcs11-helper zlib jpeg json-c" +RDEPENDS:${PN}-ptest += "cmake coreutils" + +inherit pkgconfig cmake ptest + +SRCREV = "3028b706908f81767d9b9c744a90778c28f57d61" +SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;nobranch=1;protocol=https;tag=${PV} \ + file://run-ptest" + + +CVE_PRODUCT = "freerdp" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pam pulseaudio wayland x11', d)} \ + ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)} \ + gstreamer cups pcsc \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'test', '', d)} \ +" + +EXTRA_OECMAKE = " \ + -DRDTK_FORCE_STATIC_BUILD=ON \ + -DUWAC_FORCE_STATIC_BUILD=ON \ + -DWITH_AAD=ON \ + -DWITH_BINARY_VERSIONING=ON \ + -DWITH_CHANNELS=ON \ + -DWITH_CLIENT_CHANNELS=ON \ + -DWITH_JPEG=ON \ + -DWITH_PKCS11=ON \ + -DWITH_SERVER_CHANNELS=ON \ + -DWITH_SERVER=ON \ + -DPKG_CONFIG_RELOCATABLE=OFF \ + -DWITH_ALSA=OFF \ + -DWITH_CLIENT_SDL=OFF \ + -DWITH_SAMPLE=OFF \ + -DWITH_CAIRO=ON \ + -DWITH_MANPAGES=OFF \ + -DWITH_INTERNAL_RC4=ON \ + -DWITH_INTERNAL_MD4=ON \ + " + +X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile" +PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF -DWITH_SHADOW=OFF,${X11_DEPS}" +PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon" +PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam" +PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio" +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups" +PACKAGECONFIG[fuse] = "-DWITH_FUSE=ON,-DWITH_FUSE=OFF,fuse3,fuse3" +PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite" +PACKAGECONFIG[ffmpeg] = "-DWITH_DSP_FFMPEG=ON -DWITH_FFMPEG=ON -DWITH_SWSCALE=ON, -DWITH_DSP_FFMPEG=OFF -DWITH_FFMPEG=OFF -DWITH_SWSCALE=OFF,ffmpeg" +PACKAGECONFIG[krb5] = "-DWITH_KRB5=ON -DWITH_KRB5_NO_NTLM_FALLBACK=OFF,-DWITH_KRB5=OFF,krb5" +PACKAGECONFIG[openh264] = "-DWITH_OPENH264=ON,-DWITH_OPENH264=OFF,openh264" +PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,virtual/libopencl1" +PACKAGECONFIG[lame] = "-DWITH_LAME=ON,-DWITH_LAME=OFF,lame" +PACKAGECONFIG[faad] = "-DWITH_FAAD=ON,-DWITH_FAAD=OFF,faad2" +PACKAGECONFIG[faac] = "-DWITH_FAAC=ON,-DWITH_FAAC=OFF,faac" +PACKAGECONFIG[test] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF" + +do_configure:prepend() { + sed -i 's|TEST_SOURCE_DIR="\${CMAKE_CURRENT_SOURCE_DIR}"|TEST_SOURCE_DIR="${PTEST_PATH}/test"|' ${S}/client/common/test/CMakeLists.txt + sed -i 's|\${CMAKE_SOURCE_DIR}|${PTEST_PATH}|' ${S}/winpr/libwinpr/clipboard/test/CMakeLists.txt + sed -i 's|="\${CMAKE_CURRENT_SOURCE_DIR}|="${PTEST_PATH}/test|' ${S}/winpr/libwinpr/utils/test/CMakeLists.txt + sed -i 's|="\${CMAKE_CURRENT_BINARY_DIR}|="${PTEST_PATH}/test|' ${S}/winpr/libwinpr/utils/test/CMakeLists.txt + sed -i 's|="\${CMAKE_CURRENT_SOURCE_DIR}|="${PTEST_PATH}/test|' ${S}/libfreerdp/codec/test/CMakeLists.txt + sed -i 's|="\${CMAKE_CURRENT_BINARY_DIR}|="${PTEST_PATH}/test|' ${S}/libfreerdp/codec/test/CMakeLists.txt + +} + +do_configure:append() { + sed -i -e 's|${WORKDIR}||g' ${B}/include/freerdp/buildflags.h + sed -i -e 's|${WORKDIR}||g' ${B}/winpr/include/winpr/buildflags.h +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + # main CTestTestfile.cmake file + cp ${B}/CTestTestfile.cmake ${D}${PTEST_PATH} + # the actual test executables + cp -r ${B}/Testing ${D}${PTEST_PATH} + # test data + cp ${S}/winpr/libwinpr/utils/test/*bmp ${D}${PTEST_PATH}/test/ + cp ${S}/libfreerdp/codec/test/*bmp ${D}${PTEST_PATH}/test/ + cp -r ${S}/client/common/test/* ${D}${PTEST_PATH}/test/ + cp -r ${S}/resources ${D}${PTEST_PATH} + cp -r ${S}/libfreerdp/codec/test/planar ${D}${PTEST_PATH}/test/ + cp -r ${S}/libfreerdp/codec/test/interleaved ${D}${PTEST_PATH}/test/ + + cd ${B} + # the test definitions, how to execute the tests + find . -name CTestTestfile.cmake -exec install -Dm 0644 {} ${D}${PTEST_PATH}/{} \; + + for testfile in $(find ${D}${PTEST_PATH} -name CTestTestfile.cmake); do + # these are comments only, containing ${S} and ${B}, at the top of each file + sed -i "s,Source directory: ${S},," $testfile + sed -i "s,Build directory: ${B},," $testfile + + # change the ${B} to ${PTEST_PATH}, so the files will be searches at the correct place + sed -i "s,${B}/Testing,${PTEST_PATH}/Testing,g" $testfile + + # These add some extra traceability info to the tests, to pair them with CMakeLists.txt files, + # containing ${B}. + # They are not needed for test execution, just remove the whole line. + sed -i "s,set_tests_properties.*_BACKTRACE_TRIPLES.*,," $testfile + done + + # This is not part of the tests it is just in the same folder, and requires Python to be installed. + # Just remove it. + rm ${D}${PTEST_PATH}/resources/conv_to_ewm_prop.py + + # This particular test requires openh264, which is part of meta-multimedia layer. + # Since it is not a dependency of meta-oe, comment this test out. + sed -i 's/add_test(TestFreeRDPCodecH264/#add_test(TestFreeRDPCodecH264/' ${D}${PTEST_PATH}/libfreerdp/codec/test/CTestTestfile.cmake +} + +PACKAGES =+ "${PN}-proxy-plugins" + +FILES:${PN}-proxy-plugins += "${libdir}/${BPN}/proxy/*.so*" + +FILES:${PN} += "${datadir}" + +SYSROOT_DIRS += "${bindir}" + +INSANE_SKIP:${PN}-proxy-plugins += "dev-so" diff --git a/meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb b/meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb deleted file mode 100644 index 3ee4f99c1a4..00000000000 --- a/meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved -# Released under the MIT license - -DESCRIPTION = "FreeRDP RDP client & server library" -HOMEPAGE = "http://www.freerdp.com" -DEPENDS = "openssl libusb1" -SECTION = "net" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -inherit pkgconfig cmake gitpkgv ptest - -RDEPENDS:${PN}-ptest += "coreutils pcsc-lite-lib" - -PE = "1" -PKGV = "${GITPKGVTAG}" - -SRCREV = "efa899d3deb8595a29fabb2a2251722f9d7e0d7f" -SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \ - file://run-ptest \ - file://winpr-makecert-Build-with-install-RPATH.patch \ - file://0001-Fixed-compilation-warnings.patch \ - file://0001-Fix-const-qualifier-error.patch \ - file://0002-Do-not-install-tools-a-CMake-targets.patch \ - file://0001-Fixed-compilation-warnings-in-ainput-channel.patch \ - file://CVE-2024-32661.patch \ - file://CVE-2026-22854.patch \ - file://CVE-2026-22855.patch \ - " - - -EXTRA_OECMAKE += " \ - -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ - -DWITH_FFMPEG=OFF \ - -DWITH_CUNIT=OFF \ - -DWITH_NEON=OFF \ - -DBUILD_STATIC_LIBS=OFF \ - -DCMAKE_POSITION_INDEPENDANT_CODE=ON \ - -DWITH_MANPAGES=OFF \ - -DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'test', '', d)} \ - alsa gstreamer cups pcsc server \ -" - -X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile" -PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}" -PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon" -PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb" -PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam" -PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite" -PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio" -PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups" -PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF" -PACKAGECONFIG[alsa] = "-DWITH_ALSA=ON,-DWITH_ALSA=OFF,alsa-lib" -PACKAGECONFIG[test] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF" - -PACKAGES =+ "libfreerdp" - -LEAD_SONAME = "libfreerdp.so" -FILES:libfreerdp = "${libdir}/lib*${SOLIBS}" - -PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*" - -do_configure:prepend() { - sed -i 's,CMAKE_CURRENT_SOURCE_DIR,"${PTEST_PATH}/test_data",' ${S}/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c - sed -i 's,\${CMAKE_CURRENT_SOURCE_DIR},"${PTEST_PATH}/test_data",' ${S}/libfreerdp/crypto/test/CMakeLists.txt - sed -i 's,\${CMAKE_CURRENT_SOURCE_DIR},${PTEST_PATH}/test_data,' ${S}/winpr/libwinpr/utils/test/CMakeLists.txt -} - -do_configure:append() { - sed -i -e 's|${WORKDIR}||g' ${B}/buildflags.h -} - -# we will need winpr-makecert to generate TLS certificates -do_install:append () { - install -d ${D}${bindir} - install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir} - rm -rf ${D}${libdir}/freerdp -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test_data - cp -r ${B}/Testing ${D}${PTEST_PATH} - install -m 0644 ${S}/libfreerdp/codec/test/progressive.bmp ${D}${PTEST_PATH}/test_data/ - install -m 0644 ${S}/libfreerdp/crypto/test/Test_x509_cert_info.pem ${D}${PTEST_PATH}/test_data/ - install -m 0644 ${S}/winpr/libwinpr/utils/test/lodepng_32bit.png ${D}${PTEST_PATH}/test_data/ - install -m 0644 ${S}/winpr/libwinpr/utils/test/lodepng_32bit.bmp ${D}${PTEST_PATH}/test_data/ -} - -python populate_packages:prepend () { - freerdp_root = d.expand('${libdir}/freerdp') - - do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$', - output_pattern='libfreerdp-plugin-%s', - description='FreeRDP plugin %s', - prepend=True, extra_depends='libfreerdp-plugin-audin') - - do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$', - output_pattern='libfreerdp-plugin-%s', - description='FreeRDP plugin %s', - prepend=True, extra_depends='libfreerdp-plugin-rdpsnd') - - do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$', - output_pattern='libfreerdp-plugin-%s', - description='FreeRDP plugin %s', - prepend=True, extra_depends='libfreerdp-plugin-tsmf') - - do_split_packages(d, freerdp_root, r'^([^-]*)\.so$', - output_pattern='libfreerdp-plugin-%s', - description='FreeRDP plugin %s', - prepend=True, extra_depends='') -} - -CVE_STATUS[CVE-2024-32662] = "fixed-version: 2.x is not affected, bug was introduced in 3.0.0" -CVE_STATUS[CVE-2025-68118] = "not-applicable-platform: Windows-only vulnerability" - -# avoid http://errors.yoctoproject.org/Errors/Details/852862/ -# fixed in freerdp3 with https://github.com/FreeRDP/FreeRDP/pull/10553 -CFLAGS += "-std=gnu17" diff --git a/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb b/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb new file mode 100644 index 00000000000..2cc8dc6cf2c --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb @@ -0,0 +1,126 @@ +# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license + +DESCRIPTION = "FreeRDP RDP client & server library" +HOMEPAGE = "http://www.freerdp.com" +DEPENDS = "openssl libusb1" +SECTION = "net" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pkgconfig cmake gitpkgv ptest + +RDEPENDS:${PN}-ptest += "coreutils pcsc-lite-lib" + +PE = "1" +PKGV = "${GITPKGVTAG}" + +SRCREV = "9b678b6d5a40ce01607d8c3b1b1416437c8416c4" +SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \ + file://run-ptest \ + file://winpr-makecert-Build-with-install-RPATH.patch \ + file://0002-Do-not-install-tools-a-CMake-targets.patch \ + file://0001-Fix-compilation-error.patch \ + file://CVE-2024-32661.patch \ + file://CVE-2026-22854.patch \ + file://CVE-2026-22855.patch \ + file://CVE-2026-22852.patch \ + file://CVE-2026-23530.patch \ + file://CVE-2026-23532.patch \ + " + + +EXTRA_OECMAKE += " \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DWITH_FFMPEG=OFF \ + -DWITH_CUNIT=OFF \ + -DWITH_NEON=OFF \ + -DBUILD_STATIC_LIBS=OFF \ + -DCMAKE_POSITION_INDEPENDANT_CODE=ON \ + -DWITH_MANPAGES=OFF \ + -DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'test', '', d)} \ + alsa gstreamer cups pcsc server \ +" + +X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile" +PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}" +PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon" +PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb" +PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam" +PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite" +PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio" +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups" +PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF" +PACKAGECONFIG[alsa] = "-DWITH_ALSA=ON,-DWITH_ALSA=OFF,alsa-lib" +PACKAGECONFIG[test] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF" + +PACKAGES =+ "libfreerdp" + +LEAD_SONAME = "libfreerdp.so" +FILES:libfreerdp = "${libdir}/lib*${SOLIBS}" + +PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*" + +do_configure:prepend() { + sed -i 's,CMAKE_CURRENT_SOURCE_DIR,"${PTEST_PATH}/test_data",' ${S}/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c + sed -i 's,\${CMAKE_CURRENT_SOURCE_DIR},"${PTEST_PATH}/test_data",' ${S}/libfreerdp/crypto/test/CMakeLists.txt + sed -i 's,\${CMAKE_CURRENT_SOURCE_DIR},${PTEST_PATH}/test_data,' ${S}/winpr/libwinpr/utils/test/CMakeLists.txt +} + +do_configure:append() { + sed -i -e 's|${WORKDIR}||g' ${B}/buildflags.h +} + +# we will need winpr-makecert to generate TLS certificates +do_install:append () { + install -d ${D}${bindir} + install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir} + rm -rf ${D}${libdir}/freerdp +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test_data + cp -r ${B}/Testing ${D}${PTEST_PATH} + install -m 0644 ${S}/libfreerdp/codec/test/progressive.bmp ${D}${PTEST_PATH}/test_data/ + install -m 0644 ${S}/libfreerdp/crypto/test/Test_x509_cert_info.pem ${D}${PTEST_PATH}/test_data/ + install -m 0644 ${S}/winpr/libwinpr/utils/test/lodepng_32bit.png ${D}${PTEST_PATH}/test_data/ + install -m 0644 ${S}/winpr/libwinpr/utils/test/lodepng_32bit.bmp ${D}${PTEST_PATH}/test_data/ +} + +python populate_packages:prepend () { + freerdp_root = d.expand('${libdir}/freerdp') + + do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$', + output_pattern='libfreerdp-plugin-%s', + description='FreeRDP plugin %s', + prepend=True, extra_depends='libfreerdp-plugin-audin') + + do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$', + output_pattern='libfreerdp-plugin-%s', + description='FreeRDP plugin %s', + prepend=True, extra_depends='libfreerdp-plugin-rdpsnd') + + do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$', + output_pattern='libfreerdp-plugin-%s', + description='FreeRDP plugin %s', + prepend=True, extra_depends='libfreerdp-plugin-tsmf') + + do_split_packages(d, freerdp_root, r'^([^-]*)\.so$', + output_pattern='libfreerdp-plugin-%s', + description='FreeRDP plugin %s', + prepend=True, extra_depends='') +} + +CVE_STATUS[CVE-2024-32662] = "fixed-version: 2.x is not affected, bug was introduced in 3.0.0" +CVE_STATUS[CVE-2025-68118] = "not-applicable-platform: Windows-only vulnerability" +CVE_STATUS[CVE-2026-22853] = "cpe-incorrect: the vulnerability was introduced in 3.9.0" + +# avoid http://errors.yoctoproject.org/Errors/Details/852862/ +# fixed in freerdp3 with https://github.com/FreeRDP/FreeRDP/pull/10553 +CFLAGS += "-std=gnu17" diff --git a/meta-oe/recipes-support/fuse/fuse3_3.18.1.bb b/meta-oe/recipes-support/fuse/fuse3_3.18.1.bb deleted file mode 100644 index a29e1820d73..00000000000 --- a/meta-oe/recipes-support/fuse/fuse3_3.18.1.bb +++ /dev/null @@ -1,103 +0,0 @@ -SUMMARY = "Implementation of a fully functional filesystem in a userspace program" -DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ - programs to export a virtual filesystem to the Linux kernel. FUSE \ - also aims to provide a secure method for non privileged users to \ - create and mount their own filesystem implementations. \ - " -HOMEPAGE = "https://github.com/libfuse/libfuse" -SECTION = "libs" -LICENSE = "GPL-2.0-only & LGPL-2.0-only" -LIC_FILES_CHKSUM = " \ - file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ - file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66 \ -" - -SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz" -SRC_URI[sha256sum] = "dd395c88f29c7540bbdd0b830260ab8092ccb241bb6e66f603643f715fb9322c" - -S = "${UNPACKDIR}/fuse-${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/fuse-(?P\d+(\.\d+)+)" - -CVE_PRODUCT = "fuse_project:fuse" - -inherit meson pkgconfig ptest - -# fix riscv32-yoe-linux-musl-ld.lld: error: undefined symbol: __atomic_fetch_add_8 -LDFLAGS:append:toolchain-clang:riscv32 = " -latomic" - -SRC_URI += " \ - file://run-ptest \ - file://fuse3.conf \ -" -#python3-compile for filecmp module -RDEPENDS:${PN}-ptest += " \ - python3-compile \ - python3-pytest \ - python3-looseversion \ - bash \ - file \ -" -RRECOMMENDS:${PN}-ptest += " kernel-module-cuse" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test - install -d ${D}${PTEST_PATH}/example - install -d ${D}${PTEST_PATH}/util - cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ - - example_excutables=`find ${B}/example -type f -executable` - util_excutables=`find ${B}/util -type f -executable` - test_excutables=`find ${B}/test -type f -executable` - - for e in $example_excutables - do - cp -rf $e ${D}${PTEST_PATH}/example/ - done - - for e in $util_excutables - do - cp -rf $e ${D}${PTEST_PATH}/util/ - done - - for e in $test_excutables - do - cp -rf $e ${D}${PTEST_PATH}/test - done -} - -DEPENDS = "udev" - -PACKAGES =+ "fuse3-utils" - -RPROVIDES:${PN}-dbg += "fuse3-utils-dbg" - -RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils" - -FILES:${PN} += "${libdir}/libfuse3.so.*" -FILES:${PN}-dev += "${libdir}/libfuse3*.la" - -# Forbid auto-renaming to libfuse3-utils -FILES:fuse3-utils = "${bindir} ${base_sbindir}" -DEBIAN_NOAUTONAME:fuse3-utils = "1" -DEBIAN_NOAUTONAME:${PN}-dbg = "1" - -SYSTEMD_SERVICE:${PN} = "" - -do_install:append() { - rm -rf ${D}${base_prefix}/dev - - # systemd class remove the sysv_initddir only if systemd_system_unitdir - # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then - rm -rf ${D}${sysconfdir}/init.d/ - fi - - # Install systemd related configuration file - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/modules-load.d - install -m 0644 ${UNPACKDIR}/fuse3.conf ${D}${sysconfdir}/modules-load.d - fi -} diff --git a/meta-oe/recipes-support/fuse/fuse3_3.18.2.bb b/meta-oe/recipes-support/fuse/fuse3_3.18.2.bb new file mode 100644 index 00000000000..5a0c894e86c --- /dev/null +++ b/meta-oe/recipes-support/fuse/fuse3_3.18.2.bb @@ -0,0 +1,103 @@ +SUMMARY = "Implementation of a fully functional filesystem in a userspace program" +DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ + programs to export a virtual filesystem to the Linux kernel. FUSE \ + also aims to provide a secure method for non privileged users to \ + create and mount their own filesystem implementations. \ + " +HOMEPAGE = "https://github.com/libfuse/libfuse" +SECTION = "libs" +LICENSE = "GPL-2.0-only & LGPL-2.0-only" +LIC_FILES_CHKSUM = " \ + file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66 \ +" + +SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz" +SRC_URI[sha256sum] = "f01de85717e20adf5f98aff324acd85dd73d61a5ca3834d573dcf0bd6e54a298" + +S = "${UNPACKDIR}/fuse-${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/fuse-(?P\d+(\.\d+)+)" + +CVE_PRODUCT = "fuse_project:fuse" + +inherit meson pkgconfig ptest + +# fix riscv32-yoe-linux-musl-ld.lld: error: undefined symbol: __atomic_fetch_add_8 +LDFLAGS:append:toolchain-clang:riscv32 = " -latomic" + +SRC_URI += " \ + file://run-ptest \ + file://fuse3.conf \ +" +#python3-compile for filecmp module +RDEPENDS:${PN}-ptest += " \ + python3-compile \ + python3-pytest \ + python3-looseversion \ + bash \ + file \ +" +RRECOMMENDS:${PN}-ptest += " kernel-module-cuse" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + install -d ${D}${PTEST_PATH}/example + install -d ${D}${PTEST_PATH}/util + cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ + + example_excutables=`find ${B}/example -type f -executable` + util_excutables=`find ${B}/util -type f -executable` + test_excutables=`find ${B}/test -type f -executable` + + for e in $example_excutables + do + cp -rf $e ${D}${PTEST_PATH}/example/ + done + + for e in $util_excutables + do + cp -rf $e ${D}${PTEST_PATH}/util/ + done + + for e in $test_excutables + do + cp -rf $e ${D}${PTEST_PATH}/test + done +} + +DEPENDS = "udev" + +PACKAGES =+ "fuse3-utils" + +RPROVIDES:${PN}-dbg += "fuse3-utils-dbg" + +RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils" + +FILES:${PN} += "${libdir}/libfuse3.so.*" +FILES:${PN}-dev += "${libdir}/libfuse3*.la" + +# Forbid auto-renaming to libfuse3-utils +FILES:fuse3-utils = "${bindir} ${base_sbindir}" +DEBIAN_NOAUTONAME:fuse3-utils = "1" +DEBIAN_NOAUTONAME:${PN}-dbg = "1" + +SYSTEMD_SERVICE:${PN} = "" + +do_install:append() { + rm -rf ${D}${base_prefix}/dev + + # systemd class remove the sysv_initddir only if systemd_system_unitdir + # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then + rm -rf ${D}${sysconfdir}/init.d/ + fi + + # Install systemd related configuration file + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/modules-load.d + install -m 0644 ${UNPACKDIR}/fuse3.conf ${D}${sysconfdir}/modules-load.d + fi +} diff --git a/meta-oe/recipes-support/gd/gd/Fix-ftype-missing-const.patch b/meta-oe/recipes-support/gd/gd/Fix-ftype-missing-const.patch new file mode 100644 index 00000000000..294979ffd90 --- /dev/null +++ b/meta-oe/recipes-support/gd/gd/Fix-ftype-missing-const.patch @@ -0,0 +1,23 @@ +gcc complains about + +| ../../sources/gd-2.3.3/src/gd_filename.c: In function 'ftype': +| ../../sources/gd-2.3.3/src/gd_filename.c:99:9: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] +| 99 | ext = strrchr(filename, '.'); +| | ^ +| cc1: all warnings being treated as errors + +Upstream-Status: Submitted [https://github.com/libgd/libgd/issues/985] + +diff --git i/src/gd_filename.c w/src/gd_filename.c +index 7ce4817f..89b25204 100644 +--- i/src/gd_filename.c ++++ w/src/gd_filename.c +@@ -93,7 +93,7 @@ static const struct FileType { + static const struct FileType * + ftype(const char *filename) { + int n; +- char *ext; ++ const char *ext; + + /* Find the file extension (i.e. the last period in the string. */ + ext = strrchr(filename, '.'); diff --git a/meta-oe/recipes-support/gd/gd_2.3.3.bb b/meta-oe/recipes-support/gd/gd_2.3.3.bb index ea5c487c520..062c4b4a8f5 100644 --- a/meta-oe/recipes-support/gd/gd_2.3.3.bb +++ b/meta-oe/recipes-support/gd/gd_2.3.3.bb @@ -15,6 +15,7 @@ DEPENDS = "freetype libpng jpeg zlib tiff" SRC_URI = "git://github.com/libgd/libgd.git;nobranch=1;protocol=https \ file://0001-Fix-deprecared-function-prototypes.patch \ + file://Fix-ftype-missing-const.patch \ " SRCREV = "b5319a41286107b53daa0e08e402aa1819764bdc" @@ -22,14 +23,23 @@ SRCREV = "b5319a41286107b53daa0e08e402aa1819764bdc" inherit autotools binconfig gettext pkgconfig -EXTRA_OECONF += " --disable-rpath \ - --with-jpeg=${STAGING_LIBDIR}/.. \ - --with-freetype=yes \ - --without-fontconfig \ - --without-webp \ - --without-xpm \ - --without-x \ - " +PACKAGECONFIG ?= "jpeg freetype" + +PACKAGECONFIG[avif] = "--with-avif,--without-avif" +PACKAGECONFIG[fontconfig] = "--with-fontconfig,--without-fontconfig" +PACKAGECONFIG[freetype] = "--with-freetype,--without-freetype" +PACKAGECONFIG[heif] = "--with-heif,--without-heif" +PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg" +PACKAGECONFIG[liq] = "--with-liq,--without-liq" +PACKAGECONFIG[png] = "--with-png,--without-png" +PACKAGECONFIG[raqm] = "--with-raqm,--without-raqm,libraqm" +PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff" +PACKAGECONFIG[webp] = "--with-webp,--without-webp" +PACKAGECONFIG[x] = "--with-x,--without-x" +PACKAGECONFIG[xpm] = "--with-xpm,--without-xpm" +PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib" + +EXTRA_OECONF += "--disable-rpath" EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"' diff --git a/meta-oe/recipes-support/glaze/glaze_7.0.2.bb b/meta-oe/recipes-support/glaze/glaze_7.0.2.bb deleted file mode 100644 index 9a8fc34a9cf..00000000000 --- a/meta-oe/recipes-support/glaze/glaze_7.0.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Extremely fast, in memory, JSON and reflection library for modern C++. BEVE, CBOR, CSV, MessagePack, TOML, EETF " -HOMEPAGE = "https://stephenberry.github.io/glaze/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4d29875d83fbbf50485c846dbbbed8" - -SRC_URI = "git://github.com/stephenberry/glaze;protocol=https;branch=main;tag=v${PV}" - -SRCREV = "459946d325c497c274fa59d666bd7cb6e2dd7ad0" - -inherit cmake - -EXTRA_OECMAKE = "-Dglaze_BUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -Dglaze_ENABLE_FUZZING=OFF -Dglaze_DEVELOPER_MODE=OFF" - -FILES:${PN}-dev += "${datadir}/${BPN}/*.cmake" - -# Glaze is a header-only C++ library, so the main package will be empty. -ALLOW_EMPTY:${PN} = "1" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/glaze/glaze_7.3.3.bb b/meta-oe/recipes-support/glaze/glaze_7.3.3.bb new file mode 100644 index 00000000000..e733d166b28 --- /dev/null +++ b/meta-oe/recipes-support/glaze/glaze_7.3.3.bb @@ -0,0 +1,19 @@ +SUMMARY = "Extremely fast, in memory, JSON and reflection library for modern C++. BEVE, CBOR, CSV, MessagePack, TOML, EETF " +HOMEPAGE = "https://stephenberry.github.io/glaze/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4d29875d83fbbf50485c846dbbbed8" + +SRC_URI = "git://github.com/stephenberry/glaze;protocol=https;branch=main;tag=v${PV}" + +SRCREV = "dbf6caec935b768546587a413e45d033480c4483" + +inherit cmake + +EXTRA_OECMAKE = "-Dglaze_BUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -Dglaze_ENABLE_FUZZING=OFF -Dglaze_DEVELOPER_MODE=OFF" + +FILES:${PN}-dev += "${datadir}/${BPN}/*.cmake" + +# Glaze is a header-only C++ library, so the main package will be empty. +ALLOW_EMPTY:${PN} = "1" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/gnulib/gnulib_202401.bb b/meta-oe/recipes-support/gnulib/gnulib_202401.bb deleted file mode 100644 index f3fbb94ae81..00000000000 --- a/meta-oe/recipes-support/gnulib/gnulib_202401.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "The GNU portability library" -DESCRIPTION = "A collection of software subroutines which are designed to \ -be usable on many operating systems. The goal of the project \ -is to make it easy for free software authors to make their \ -software run on many operating systems. Since source is designed \ -to be copied from gnulib, it is not a library per-se, as much \ -as a collection of portable idioms to be used in other projects." - -HOMEPAGE = "http://www.gnu.org/software/gnulib/" -SECTION = "devel" -LICENSE = "LGPL-2.0-or-later" - -LIC_FILES_CHKSUM = "file://COPYING;md5=56a22a6e5bcce45e2c8ac184f81412b5" -SRCREV = "c99c8d491850dc3a6e0b8604a2729d8bc5c0eff1" - -SRC_URI = "git://git.savannah.gnu.org/git/gnulib.git;branch=stable-${PV};protocol=https \ -" - - -do_install () { - install -d ${D}/${datadir}/gnulib - cp --no-preserve=ownership --recursive ${S}/* ${D}/${datadir}/gnulib/ - cp --no-preserve=ownership --recursive ${S}/.git ${D}/${datadir}/gnulib/ -} - -do_patch[noexec] = "1" -do_configure[noexec] = "1" -do_compile[noexec] = "1" -do_package[noexec] = "1" -do_packagedata[noexec] = "1" -deltask package_write_ipk -deltask package_write_deb -deltask package_write_rpm - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/gnulib/gnulib_202601.bb b/meta-oe/recipes-support/gnulib/gnulib_202601.bb new file mode 100644 index 00000000000..763be6c11ab --- /dev/null +++ b/meta-oe/recipes-support/gnulib/gnulib_202601.bb @@ -0,0 +1,36 @@ +SUMMARY = "The GNU portability library" +DESCRIPTION = "A collection of software subroutines which are designed to \ +be usable on many operating systems. The goal of the project \ +is to make it easy for free software authors to make their \ +software run on many operating systems. Since source is designed \ +to be copied from gnulib, it is not a library per-se, as much \ +as a collection of portable idioms to be used in other projects." + +HOMEPAGE = "http://www.gnu.org/software/gnulib/" +SECTION = "devel" +LICENSE = "LGPL-2.0-or-later" + +LIC_FILES_CHKSUM = "file://COPYING;md5=ef5bccbf6e492f82800e68bdeab302eb" +SRCREV = "4a3650d88725e8fda6387fbdbaa0ed98cdca76ce" + +SRC_URI = "git://git.savannah.gnu.org/git/gnulib.git;branch=stable-${PV};protocol=https \ +" + + +do_install () { + install -d ${D}/${datadir}/gnulib + cp --no-preserve=ownership --recursive ${S}/* ${D}/${datadir}/gnulib/ + cp --no-preserve=ownership --recursive ${S}/.gnulib-tool.py ${D}/${datadir}/gnulib/ + cp --no-preserve=ownership --recursive ${S}/.git ${D}/${datadir}/gnulib/ +} + +do_patch[noexec] = "1" +do_configure[noexec] = "1" +do_compile[noexec] = "1" +do_package[noexec] = "1" +do_packagedata[noexec] = "1" +deltask package_write_ipk +deltask package_write_deb +deltask package_write_rpm + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/gosu/gosu_1.17.bb b/meta-oe/recipes-support/gosu/gosu_1.17.bb deleted file mode 100644 index 6a4441fc246..00000000000 --- a/meta-oe/recipes-support/gosu/gosu_1.17.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Simple Go-based setuid+setgid+setgroups+exec" -HOMEPAGE = "https://github.com/tianon/gosu" -DESCRIPTION = "This is a simple tool grown out of the simple fact that su and sudo have very strange and often annoying TTY and signal-forwarding behavior." -LICENSE = "Apache-2.0 " -LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -GO_IMPORT = "github.com/tianon/gosu" -SRC_URI = "git://${GO_IMPORT}.git;destsuffix=src/${GO_IMPORT};branch=master;protocol=https \ - git://github.com/moby/sys;name=user;destsuffix=src/github.com/moby/sys;branch=main;protocol=https \ - git://github.com/golang/sys;name=sys;destsuffix=src/golang.org/x/sys;branch=master;protocol=https \ -" -SRCREV = "0d1847490b448a17eb347e5e357f2c0478df87ad" -#v0.1.0 -SRCREV_user = "c0711cde08c8fa33857a2c28721659267f49b5e2" -#v0.1.0 -SRCREV_sys = "95e765b1cc43ac521bd4fd501e00774e34401449" - -SRCREV_FORMAT .= "_user_sys" - -S = "${UNPACKDIR}" -inherit go - -CGO_ENABLED = "1" - -do_compile:prepend() { - # New Go versions has Go modules support enabled by default - export GO111MODULE=off -} - -RDEPENDS:${PN}-dev += "bash" diff --git a/meta-oe/recipes-support/gosu/gosu_1.19.bb b/meta-oe/recipes-support/gosu/gosu_1.19.bb new file mode 100644 index 00000000000..937c45b96e2 --- /dev/null +++ b/meta-oe/recipes-support/gosu/gosu_1.19.bb @@ -0,0 +1,30 @@ +SUMMARY = "Simple Go-based setuid+setgid+setgroups+exec" +HOMEPAGE = "https://github.com/tianon/gosu" +DESCRIPTION = "This is a simple tool grown out of the simple fact that su and sudo have very strange and often annoying TTY and signal-forwarding behavior." +LICENSE = "Apache-2.0 " +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +GO_IMPORT = "github.com/tianon/gosu" +SRC_URI = "git://${GO_IMPORT}.git;destsuffix=src/${GO_IMPORT};branch=master;protocol=https;tag=${PV} \ + git://github.com/moby/sys;name=user;destsuffix=src/github.com/moby/sys;branch=main;protocol=https \ + git://github.com/golang/sys;name=sys;destsuffix=src/golang.org/x/sys;branch=master;protocol=https \ +" +SRCREV = "6456aaa0f3c854d199d0f037f068eb97515b7513" +#v0.1.0 +SRCREV_user = "c0711cde08c8fa33857a2c28721659267f49b5e2" +#v0.1.0 +SRCREV_sys = "95e765b1cc43ac521bd4fd501e00774e34401449" + +SRCREV_FORMAT .= "_user_sys" + +S = "${UNPACKDIR}" +inherit go + +CGO_ENABLED = "1" + +do_compile:prepend() { + # New Go versions has Go modules support enabled by default + export GO111MODULE=off +} + +RDEPENDS:${PN}-dev += "bash" diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.18.1.bb b/meta-oe/recipes-support/gperftools/gperftools_2.18.1.bb new file mode 100644 index 00000000000..f2244c43fa5 --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools_2.18.1.bb @@ -0,0 +1,64 @@ +SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" +HOMEPAGE = "https://github.com/gperftools/gperftools" +DESCRIPTION = "The gperftools, previously called google-perftools, package contains some \ +utilities to improve and analyze the performance of C++ programs. \ +Included are an optimized thread-caching malloc() and cpu and heap profiling utilities. \ +" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" + +DEPENDS:append:libc-musl = " libucontext" + +SRCREV = "d837a42788ba591d5d791c3b686f2738e7a93562" +SRC_URI = "git://github.com/gperftools/gperftools;branch=master;protocol=https;tag=gperftools-${PV}" + +SRC_URI:append:libc-musl = " \ + file://ppc-musl.patch \ + file://0002-src-base-elf_mem_image.cc-fix-build-for-musl.patch \ + file://0003-Makefile.am-disable-building-noinst-tests-for-musl.patch \ + " + +inherit autotools + + +# On mips, we have the following error. +# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 +# Segmentation fault (core dumped) +COMPATIBLE_HOST:mipsarch = "null" +COMPATIBLE_HOST:riscv64 = "null" +COMPATIBLE_HOST:riscv32 = "null" + +# Disable thumb1 +# {standard input}: Assembler messages: +# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' +# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:toolchain-clang:arm = "arm" + +EXTRA_OECONF:append:libc-musl:powerpc64le = " --disable-cpu-profiler" +EXTRA_OECONF:append:libc-musl:powerpc = " --disable-cpu-profiler" +PACKAGECONFIG ?= "libunwind static" +PACKAGECONFIG:remove:arm:libc-musl = "libunwind" +PACKAGECONFIG:remove:riscv64 = "libunwind" +PACKAGECONFIG:remove:riscv32 = "libunwind" + +PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" +PACKAGECONFIG[static] = "--enable-static,--disable-static," + +PACKAGE_BEFORE_PN += "libtcmalloc-minimal" +FILES:libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" + +# pprof tool requires Getopt::long and POSIX perl5 modules. +# Also runs `objdump` on each cpuprofile data file +RDEPENDS:${PN} += " \ + binutils \ + curl \ + perl-module-carp \ + perl-module-cwd \ + perl-module-getopt-long \ + perl-module-overloading \ + perl-module-posix \ +" + +RDEPENDS:${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.18.bb b/meta-oe/recipes-support/gperftools/gperftools_2.18.bb deleted file mode 100644 index bc84ba54c6f..00000000000 --- a/meta-oe/recipes-support/gperftools/gperftools_2.18.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" -HOMEPAGE = "https://github.com/gperftools/gperftools" -DESCRIPTION = "The gperftools, previously called google-perftools, package contains some \ -utilities to improve and analyze the performance of C++ programs. \ -Included are an optimized thread-caching malloc() and cpu and heap profiling utilities. \ -" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" - -DEPENDS:append:libc-musl = " libucontext" - -SRCREV = "6ed73507dd3970a123e267a50b3ee73392e3b053" -SRC_URI = "git://github.com/gperftools/gperftools;branch=master;protocol=https;tag=gperftools-${PV}" - -SRC_URI:append:libc-musl = " \ - file://ppc-musl.patch \ - file://0002-src-base-elf_mem_image.cc-fix-build-for-musl.patch \ - file://0003-Makefile.am-disable-building-noinst-tests-for-musl.patch \ - " - -inherit autotools - - -# On mips, we have the following error. -# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 -# Segmentation fault (core dumped) -COMPATIBLE_HOST:mipsarch = "null" -COMPATIBLE_HOST:riscv64 = "null" -COMPATIBLE_HOST:riscv32 = "null" - -# Disable thumb1 -# {standard input}: Assembler messages: -# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' -# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed -ARM_INSTRUCTION_SET:armv5 = "arm" -ARM_INSTRUCTION_SET:toolchain-clang:arm = "arm" - -EXTRA_OECONF:append:libc-musl:powerpc64le = " --disable-cpu-profiler" -EXTRA_OECONF:append:libc-musl:powerpc = " --disable-cpu-profiler" -PACKAGECONFIG ?= "libunwind static" -PACKAGECONFIG:remove:arm:libc-musl = "libunwind" -PACKAGECONFIG:remove:riscv64 = "libunwind" -PACKAGECONFIG:remove:riscv32 = "libunwind" - -PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" -PACKAGECONFIG[static] = "--enable-static,--disable-static," - -PACKAGE_BEFORE_PN += "libtcmalloc-minimal" -FILES:libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" - -# pprof tool requires Getopt::long and POSIX perl5 modules. -# Also runs `objdump` on each cpuprofile data file -RDEPENDS:${PN} += " \ - binutils \ - curl \ - perl-module-carp \ - perl-module-cwd \ - perl-module-getopt-long \ - perl-module-overloading \ - perl-module-posix \ -" - -RDEPENDS:${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" diff --git a/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.0.bb b/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.0.bb deleted file mode 100644 index 2bfe9b0e77a..00000000000 --- a/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "A library to write GTK applications that use Layer Shell" -HOMEPAGE = "https://github.com/wmww/gtk-layer-shell" -BUGTRACKER = "https://github.com/www/gtk-layer-shell/issues" -SECTION = "graphics" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://LICENSE_MIT.txt;md5=ffeb3391e5dace600b84c757688b9f1b" - -REQUIRED_DISTRO_FEATURES = "wayland gobject-introspection-data" - -DEPENDS += " \ - gtk+3 \ - wayland \ - wayland-native \ - wayland-protocols \ -" - -SRC_URI = " \ - git://github.com/wmww/gtk-layer-shell.git;protocol=https;branch=master;tag=v${PV} \ -" -SRCREV = "3964966d72ea3359f4ff748081493e979c080b7e" - -inherit meson pkgconfig features_check gobject-introspection vala - -EXTRA_OEMESON += "--buildtype release" diff --git a/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.1.bb b/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.1.bb new file mode 100644 index 00000000000..46a0562d2ce --- /dev/null +++ b/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "A library to write GTK applications that use Layer Shell" +HOMEPAGE = "https://github.com/wmww/gtk-layer-shell" +BUGTRACKER = "https://github.com/www/gtk-layer-shell/issues" +SECTION = "graphics" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE_MIT.txt;md5=ffeb3391e5dace600b84c757688b9f1b" + +REQUIRED_DISTRO_FEATURES = "wayland gobject-introspection-data" + +DEPENDS += " \ + gtk+3 \ + wayland \ + wayland-native \ + wayland-protocols \ +" + +SRC_URI = " \ + git://github.com/wmww/gtk-layer-shell.git;protocol=https;branch=master;tag=v${PV} \ +" +SRCREV = "fd88ba666c18ff65ea786bf7b2e270d840030817" + +inherit meson pkgconfig features_check gobject-introspection vala + +EXTRA_OEMESON += "--buildtype release" diff --git a/meta-oe/recipes-support/hstr/hstr_3.1.0.bb b/meta-oe/recipes-support/hstr/hstr_3.1.0.bb deleted file mode 100644 index 96be8bd09f7..00000000000 --- a/meta-oe/recipes-support/hstr/hstr_3.1.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "bash and zsh shell history suggest box - easily view, navigate, search and manage your command history." -HOMEPAGE = "http://dvorka.github.io/hstr/" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" - -DEPENDS = "ncurses readline" - -SRC_URI = "https://github.com/dvorka/hstr/releases/download/3.1/hstr-${PV}-tarball.tgz \ - file://0001-configure.ac-Don-t-use-AC_CHECK_FILE.patch \ - file://0001-Use-OE-specific-checks-for-ncurses.patch" - -S = "${UNPACKDIR}/${BPN}" - -SRC_URI[sha256sum] = "4dabf61f045f022bac8bc909e5fd96041af6c53df56d97dfa3cfbf49af4453a5" - -UPSTREAM_CHECK_URI = "https://github.com/dvorka/hstr/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/(?P\d+(\.\d+)+)" - -inherit autotools pkgconfig bash-completion diff --git a/meta-oe/recipes-support/hstr/hstr_3.2.0.bb b/meta-oe/recipes-support/hstr/hstr_3.2.0.bb new file mode 100644 index 00000000000..418eeafdbc0 --- /dev/null +++ b/meta-oe/recipes-support/hstr/hstr_3.2.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "bash and zsh shell history suggest box - easily view, navigate, search and manage your command history." +HOMEPAGE = "http://dvorka.github.io/hstr/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" + +DEPENDS = "ncurses readline" + +SRC_URI = "https://github.com/dvorka/hstr/releases/download/v3.2/hstr-${PV}-tarball.tgz \ + file://0001-configure.ac-Don-t-use-AC_CHECK_FILE.patch \ + file://0001-Use-OE-specific-checks-for-ncurses.patch" + +S = "${UNPACKDIR}/${BPN}" + +SRC_URI[sha256sum] = "abf0a8625545b2022d62bf0d1c576e3cc783c4ea7cc2ae2843c518743f77f4c9" + +UPSTREAM_CHECK_URI = "https://github.com/dvorka/hstr/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/(?P\d+(\.\d+)+)" + +inherit autotools pkgconfig bash-completion diff --git a/meta-oe/recipes-support/htop/files/0001-configure.ac-Remove-usr-include-libnl3.patch b/meta-oe/recipes-support/htop/files/0001-configure.ac-Remove-usr-include-libnl3.patch index f00f3ac4db7..c1f763ce17d 100644 --- a/meta-oe/recipes-support/htop/files/0001-configure.ac-Remove-usr-include-libnl3.patch +++ b/meta-oe/recipes-support/htop/files/0001-configure.ac-Remove-usr-include-libnl3.patch @@ -1,6 +1,6 @@ -From 87d66b3b60176197e785670214b0bbc5bedd6552 Mon Sep 17 00:00:00 2001 -From: Leon Anavi -Date: Mon, 8 Dec 2025 11:06:01 +0000 +From 652b208b8c3038934fb55169f44068bbdf399b69 Mon Sep 17 00:00:00 2001 +From: Liu Yiding +Date: Wed, 15 Apr 2026 01:34:56 +0000 Subject: [PATCH] configure.ac: Remove /usr/include/libnl3 Fixes: @@ -11,40 +11,35 @@ netlink/attr.h, netlink/handlers.h, netlink/msg.h Upstream-Status: Inappropriate [OE-specific] Signed-off-by: Leon Anavi + +Update for 3.5.0. +Signed-off-by: Liu Yiding --- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 9f2f46b3..f3906692 100644 +index 2d174d73..ee8b29ca 100644 --- a/configure.ac +++ b/configure.ac -@@ -980,14 +980,14 @@ case "$enable_delayacct" in - enable_delayacct=no - else - old_CFLAGS="$CFLAGS" -- CFLAGS="$CFLAGS -I/usr/include/libnl3" -+ CFLAGS="$CFLAGS" - AC_CHECK_HEADERS([netlink/attr.h netlink/handlers.h netlink/msg.h], [enable_delayacct=yes], [enable_delayacct=no]) - CFLAGS="$old_CFLAGS" - fi - ;; - yes) - old_CFLAGS="$CFLAGS" -- CFLAGS="$CFLAGS -I/usr/include/libnl3" +@@ -1638,7 +1638,7 @@ case "$enable_delayacct" in + + htop_save_CFLAGS=$CFLAGS + # New include path searched after what user has specified +- CFLAGS="$CFLAGS $LIBNL3_CFLAGS" + CFLAGS="$CFLAGS" - AC_CHECK_HEADERS([netlink/attr.h netlink/handlers.h netlink/msg.h], [], [AC_MSG_ERROR([can not find required header files netlink/attr.h, netlink/handlers.h, netlink/msg.h])]) - CFLAGS="$old_CFLAGS" - ;; -@@ -997,7 +997,7 @@ case "$enable_delayacct" in + AC_CHECK_HEADERS( + [netlink/attr.h netlink/handlers.h netlink/msg.h], + [], +@@ -1681,7 +1681,7 @@ case "$enable_delayacct" in esac if test "$enable_delayacct" = yes; then - AC_DEFINE([HAVE_DELAYACCT], [1], [Define if delay accounting support should be enabled.]) -- AM_CFLAGS="$AM_CFLAGS -I/usr/include/libnl3" -+ AM_CFLAGS="$AM_CFLAGS" + AC_DEFINE([HAVE_DELAYACCT], [1], [Define if delay accounting support should be enabled.]) +- AM_CFLAGS="$AM_CFLAGS $LIBNL3_CFLAGS" ++ AM_CFLAGS="$AM_CFLAGS" fi AM_CONDITIONAL([HAVE_DELAYACCT], [test "$enable_delayacct" = yes]) -- -2.47.3 +2.43.0 diff --git a/meta-oe/recipes-support/htop/htop_3.4.1.bb b/meta-oe/recipes-support/htop/htop_3.4.1.bb deleted file mode 100644 index e3f8a7fdb46..00000000000 --- a/meta-oe/recipes-support/htop/htop_3.4.1.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Interactive process viewer" -HOMEPAGE = "https://htop.dev" -SECTION = "console/utils" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "ncurses libnl" - -SRC_URI = "git://github.com/htop-dev/htop.git;branch=main;protocol=https \ - file://0001-configure.ac-Remove-usr-include-libnl3.patch \ -" -SRCREV = "348c0a6bf4f33571835a0b6a1a0f5deb15132128" - - -inherit autotools pkgconfig - -CFLAGS += " -I${STAGING_INCDIR}/libnl3" - -PACKAGECONFIG ??= " \ - unicode \ - affinity \ - delayacct \ -" -PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode" -PACKAGECONFIG[affinity] = "--enable-affinity,--disable-affinity,,,,hwloc" -PACKAGECONFIG[unwind] = "--enable-unwind,--disable-unwind,libunwind" -PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc,,,affinity" -PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz" -PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver" -PACKAGECONFIG[ancient-vserver] = "--enable-ancient-vserver,--disable-ancient-vserver" -PACKAGECONFIG[capabilities] = "--enable-capabilities,--disable-capabilities,libcap" -PACKAGECONFIG[delayacct] = "--enable-delayacct,--disable-delayacct,libnl" -PACKAGECONFIG[sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors" - -FILES:${PN} += "${datadir}/icons/hicolor/scalable/apps/htop.svg" - -RDEPENDS:${PN} += "ncurses-terminfo-base" diff --git a/meta-oe/recipes-support/htop/htop_3.5.0.bb b/meta-oe/recipes-support/htop/htop_3.5.0.bb new file mode 100644 index 00000000000..961a87097bb --- /dev/null +++ b/meta-oe/recipes-support/htop/htop_3.5.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Interactive process viewer" +HOMEPAGE = "https://htop.dev" +SECTION = "console/utils" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "ncurses libnl" + +SRC_URI = "git://github.com/htop-dev/htop.git;branch=main;protocol=https;tag=${PV} \ + file://0001-configure.ac-Remove-usr-include-libnl3.patch \ +" +SRCREV = "a21f043b253a6dfa89df1ff4130fe7d2e505000f" + + +inherit autotools pkgconfig + +CFLAGS += " -I${STAGING_INCDIR}/libnl3" + +PACKAGECONFIG ??= " \ + unicode \ + affinity \ + delayacct \ +" +PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode" +PACKAGECONFIG[affinity] = "--enable-affinity,--disable-affinity,,,,hwloc" +PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind" +PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc,,,affinity" +PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz" +PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver" +PACKAGECONFIG[ancient-vserver] = "--enable-ancient-vserver,--disable-ancient-vserver" +PACKAGECONFIG[capabilities] = "--enable-capabilities,--disable-capabilities,libcap" +PACKAGECONFIG[delayacct] = "--enable-delayacct,--disable-delayacct,libnl" +PACKAGECONFIG[sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors" + +FILES:${PN} += "${datadir}/icons/hicolor/scalable/apps/htop.svg" + +RDEPENDS:${PN} += "ncurses-terminfo-base" diff --git a/meta-oe/recipes-support/hunspell/hunspell_1.7.2.bb b/meta-oe/recipes-support/hunspell/hunspell_1.7.2.bb deleted file mode 100644 index 67a51f5c9fc..00000000000 --- a/meta-oe/recipes-support/hunspell/hunspell_1.7.2.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A spell checker and morphological analyzer library" -HOMEPAGE = "http://hunspell.github.io/" -LICENSE = "GPL-2.0-only | LGPL-2.1-only" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=75859989545e37968a99b631ef42722e \ - file://COPYING.LESSER;md5=c96ca6c1de8adc025adfada81d06fba5 \ -" - -SRCREV = "2969be996acad84b91ab3875b1816636fe61a40e" -SRC_URI = "git://github.com/${BPN}/${BPN}.git;branch=master;protocol=https" - - -inherit autotools pkgconfig gettext - -# ispellaff2myspell: A program to convert ispell affix tables to myspell format -PACKAGES =+ "${PN}-ispell" -FILES:${PN}-ispell = "${bindir}/ispellaff2myspell" -RDEPENDS:${PN}-ispell = "perl" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/hunspell/hunspell_1.7.3.bb b/meta-oe/recipes-support/hunspell/hunspell_1.7.3.bb new file mode 100644 index 00000000000..94ed985c425 --- /dev/null +++ b/meta-oe/recipes-support/hunspell/hunspell_1.7.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "A spell checker and morphological analyzer library" +HOMEPAGE = "http://hunspell.github.io/" +LICENSE = "GPL-2.0-only | LGPL-2.1-only" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=75859989545e37968a99b631ef42722e \ + file://COPYING.LESSER;md5=c96ca6c1de8adc025adfada81d06fba5 \ +" + +SRCREV = "c5f98152a274e25b5107101104bef632b83a0cc9" +SRC_URI = "git://github.com/${BPN}/${BPN}.git;branch=master;protocol=https;tag=v${PV}" + + +inherit autotools pkgconfig gettext + +# ispellaff2myspell: A program to convert ispell affix tables to myspell format +PACKAGES =+ "${PN}-ispell" +FILES:${PN}-ispell = "${bindir}/ispellaff2myspell" +RDEPENDS:${PN}-ispell = "perl" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-13.bb b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-13.bb deleted file mode 100644 index 0eb072f84c0..00000000000 --- a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-13.bb +++ /dev/null @@ -1,197 +0,0 @@ -SUMMARY = "ImageMagick is an image conversion toolkit" -SECTION = "console/utils" -HOMEPAGE = "https://www.imagemagick.org/" -DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \ -editing raster and vector image files. It can read and write over 200 image file formats." -LICENSE = "ImageMagick" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1f56ade64cf079aff7232f7dbeaea992 \ - file://NOTICE;md5=3974428a57d34b981abb7acc416dde8f" -# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results. -DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool" - -BASE_PV = "${@d.getVar('PV').split('-')[0]}" -UPSTREAM_CHECK_GITTAGREGEX = "(?P([0-9][\.|_|-]?)+)" - -SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https;tag=${PV} \ - file://run-ptest \ - file://imagemagick-ptest.sh \ -" - -SRCREV = "dd991e286b96918917a3392d6dc3ffc0e6907a4e" - -inherit autotools pkgconfig update-alternatives ptest -export ac_cv_sys_file_offset_bits = "64" - -EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --enable-largefile" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} cxx webp xml" -PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus" -PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz" -PACKAGECONFIG[heic] = "--with-heic,--without-heic,libheif" -PACKAGECONFIG[jxl] = "--with-jxl,--without-jxl,libjxl" -PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" -PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg" -PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo" -PACKAGECONFIG[raw] = "--with-raw,--without-raw,libraw" -PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg" -PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools" -PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" -PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" -PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt" -PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxml2" - -do_install:append:class-target() { - for file in MagickCore-config.im7 MagickWand-config.im7; do - sed -i 's,${STAGING_DIR_TARGET},,g' "${D}${bindir}/$file" - done - - if ${@bb.utils.contains('PACKAGECONFIG', 'cxx', 'true', 'false', d)}; then - sed -i 's,${STAGING_DIR_TARGET},,g' "${D}${bindir}/Magick++-config.im7" - fi - - if ${@bb.utils.contains('PACKAGECONFIG', 'xml', 'true', 'false', d)}; then - xml_config="${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml" - sed -i 's,${S},,g' "$xml_config" - sed -i 's,${B},,g' "$xml_config" - sed -i 's,${RECIPE_SYSROOT},,g' "$xml_config" - fi - - if ${@bb.utils.contains_any('PACKAGECONFIG', 'webp openjpeg', 'true', 'false', d)}; then - sed -i 's,${HOSTTOOLS_DIR},${bindir},g' "${D}${sysconfdir}/ImageMagick-7/delegates.xml" - fi -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH} - install -m 0755 ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/ - install -m 0755 ${UNPACKDIR}/imagemagick-ptest.sh ${D}${PTEST_PATH}/ -} - - -FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \ - ${datadir}/ImageMagick-7" - -FILES:${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a" - -FILES:${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*" - -BBCLASSEXTEND = "native nativesdk" - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE:${PN} = "animate compare composite conjure convert display \ - identify import magick-script mogrify montage stream magick" - -ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7" -ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7" -ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7" -ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7" -ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7" -ALTERNATIVE_TARGET[display] = "${bindir}/display.im7" -ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7" -ALTERNATIVE_TARGET[import] = "${bindir}/import.im7" -ALTERNATIVE_TARGET[magick-script] = "${bindir}/magick-script.im7" -ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7" -ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7" -ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7" -ALTERNATIVE_TARGET[magick] = "${bindir}/magick.im7" - -ALTERNATIVE:${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \ - convert.1 display.1 identify.1 import.1 magick-script.1 mogrify.1 montage.1 stream.1" - -ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1" -ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1" -ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1" -ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1" -ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1" -ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1" -ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1" -ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1" -ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1" -ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1" -ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1" -ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1" -ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1" -ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1" -ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1" -ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1" -ALTERNATIVE_LINK_NAME[magick-script.1] = "${mandir}/man1/magick-script.1" -ALTERNATIVE_TARGET[magick-script.1] = "${mandir}/man1/magick-script.im7.1" -ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1" -ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1" -ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1" -ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1" -ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1" -ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1" -ALTERNATIVE_LINK_NAME[magick] = "${bindir}/magick" - -CVE_STATUS[CVE-2007-1667] = "cpe-incorrect: CVE should not include a CPE for imagemagick" -CVE_STATUS[CVE-2014-9804] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9805] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9806] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9807] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9808] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9809] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9810] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9811] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9812] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9813] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9814] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9815] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9816] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9817] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9818] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9819] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9820] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9821] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9822] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9823] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9824] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9825] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9826] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9827] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9828] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9829] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9830] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9831] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9848] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9852] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9853] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9854] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2014-9907] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-10062] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.1-10" -CVE_STATUS[CVE-2016-10144] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.7-1" -CVE_STATUS[CVE-2016-10145] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.7-1" -CVE_STATUS[CVE-2016-10146] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.6-8" -CVE_STATUS[CVE-2016-5118] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.1-7" -CVE_STATUS[CVE-2016-7513] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7514] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.1-0" -CVE_STATUS[CVE-2016-7515] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7516] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7517] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7518] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7519] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7520] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7521] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7522] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7523] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7524] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7525] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7526] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7527] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7528] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7529] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7530] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7531] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.1-0" -CVE_STATUS[CVE-2016-7532] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7533] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7534] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7535] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7536] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7537] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2016-7538] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" -CVE_STATUS[CVE-2017-5506] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.4-4" -CVE_STATUS[CVE-2017-5509] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.4-4" -CVE_STATUS[CVE-2017-5510] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.4-4" -CVE_STATUS[CVE-2017-5511] = "cpe-incorrect: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.4-3" -CVE_STATUS[CVE-2023-5341] = "fixed-version: this is fixed in 7.1.1-19" diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-21.bb b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-21.bb new file mode 100644 index 00000000000..bfcdb2495d0 --- /dev/null +++ b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-21.bb @@ -0,0 +1,130 @@ +SUMMARY = "ImageMagick is an image conversion toolkit" +SECTION = "console/utils" +HOMEPAGE = "https://www.imagemagick.org/" +DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \ +editing raster and vector image files. It can read and write over 200 image file formats." +LICENSE = "ImageMagick" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1f56ade64cf079aff7232f7dbeaea992 \ + file://NOTICE;md5=3974428a57d34b981abb7acc416dde8f" +# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results. +DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool" + +BASE_PV = "${@d.getVar('PV').split('-')[0]}" +UPSTREAM_CHECK_GITTAGREGEX = "(?P([0-9][\.|_|-]?)+)" + +SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https;tag=${PV} \ + file://run-ptest \ + file://imagemagick-ptest.sh \ +" + +SRCREV = "c86de049cefb8dd739e16f0e2fdc1ef8d2006d59" + +inherit autotools pkgconfig update-alternatives ptest +export ac_cv_sys_file_offset_bits = "64" + +EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --enable-largefile" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} cxx webp xml" +PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus" +PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz" +PACKAGECONFIG[heic] = "--with-heic,--without-heic,libheif" +PACKAGECONFIG[jxl] = "--with-jxl,--without-jxl,libjxl" +PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" +PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg" +PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo" +PACKAGECONFIG[raw] = "--with-raw,--without-raw,libraw" +PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg" +PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools" +PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" +PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" +PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt" +PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxml2" + +do_install:append:class-target() { + for file in MagickCore-config.im7 MagickWand-config.im7; do + sed -i 's,${STAGING_DIR_TARGET},,g' "${D}${bindir}/$file" + done + + if ${@bb.utils.contains('PACKAGECONFIG', 'cxx', 'true', 'false', d)}; then + sed -i 's,${STAGING_DIR_TARGET},,g' "${D}${bindir}/Magick++-config.im7" + fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'xml', 'true', 'false', d)}; then + xml_config="${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml" + sed -i 's,${S},,g' "$xml_config" + sed -i 's,${B},,g' "$xml_config" + sed -i 's,${RECIPE_SYSROOT},,g' "$xml_config" + fi + + if ${@bb.utils.contains_any('PACKAGECONFIG', 'webp openjpeg', 'true', 'false', d)}; then + sed -i 's,${HOSTTOOLS_DIR},${bindir},g' "${D}${sysconfdir}/ImageMagick-7/delegates.xml" + fi +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH} + install -m 0755 ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/ + install -m 0755 ${UNPACKDIR}/imagemagick-ptest.sh ${D}${PTEST_PATH}/ +} + + +FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \ + ${datadir}/ImageMagick-7" + +FILES:${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a" + +FILES:${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*" + +BBCLASSEXTEND = "native nativesdk" + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE:${PN} = "animate compare composite conjure convert display \ + identify import magick-script mogrify montage stream magick" + +ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7" +ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7" +ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7" +ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7" +ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7" +ALTERNATIVE_TARGET[display] = "${bindir}/display.im7" +ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7" +ALTERNATIVE_TARGET[import] = "${bindir}/import.im7" +ALTERNATIVE_TARGET[magick-script] = "${bindir}/magick-script.im7" +ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7" +ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7" +ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7" +ALTERNATIVE_TARGET[magick] = "${bindir}/magick.im7" + +ALTERNATIVE:${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \ + convert.1 display.1 identify.1 import.1 magick-script.1 mogrify.1 montage.1 stream.1" + +ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1" +ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1" +ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1" +ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1" +ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1" +ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1" +ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1" +ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1" +ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1" +ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1" +ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1" +ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1" +ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1" +ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1" +ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1" +ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1" +ALTERNATIVE_LINK_NAME[magick-script.1] = "${mandir}/man1/magick-script.1" +ALTERNATIVE_TARGET[magick-script.1] = "${mandir}/man1/magick-script.im7.1" +ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1" +ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1" +ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1" +ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1" +ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1" +ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1" +ALTERNATIVE_LINK_NAME[magick] = "${bindir}/magick" + +CVE_STATUS[CVE-2014-9826] = "fixed-version: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" +CVE_STATUS[CVE-2016-7538] = "fixed-version: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 6.9.4-0" +CVE_STATUS[CVE-2017-5506] = "fixed-version: The current version (7.1.1) is not affected by the CVE which affects versions at least earlier than 7.0.4-4" diff --git a/meta-oe/recipes-support/imapfilter/imapfilter_2.8.3.bb b/meta-oe/recipes-support/imapfilter/imapfilter_2.8.3.bb deleted file mode 100644 index f4905e3c0bb..00000000000 --- a/meta-oe/recipes-support/imapfilter/imapfilter_2.8.3.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "IMAPFilter is a mail filtering utility that processes mailboxes based on IMAP queries" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f8d2fc4954306888fd0e4b27bef83525" - -# v2.7.6 -SRCREV = "72f7fa621357299bb6c8f5d29b4efbafcbd34bf7" -SRC_URI = "git://github.com/lefcha/imapfilter;protocol=https;branch=master;tag=v${PV} \ - file://ldflags.patch \ -" - -DEPENDS = "openssl lua libpcre2" - -EXTRA_OEMAKE:append = " PREFIX=${prefix}" - -do_install(){ - oe_runmake DESTDIR=${D} install - - # No need for manuals at this point, MANDIR is hardcoded to depend on prefix - rm -rf ${D}${prefix}/man -} - -ASNEEDED = "" diff --git a/meta-oe/recipes-support/imapfilter/imapfilter_2.8.5.bb b/meta-oe/recipes-support/imapfilter/imapfilter_2.8.5.bb new file mode 100644 index 00000000000..754e793faab --- /dev/null +++ b/meta-oe/recipes-support/imapfilter/imapfilter_2.8.5.bb @@ -0,0 +1,22 @@ +SUMMARY = "IMAPFilter is a mail filtering utility that processes mailboxes based on IMAP queries" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c9e8d74e78283c6319317d3cb15eded4" + +# v2.7.6 +SRCREV = "23b693f7f7cad8b459beb5cf748078f9cc0e5dc8" +SRC_URI = "git://github.com/lefcha/imapfilter;protocol=https;branch=master;tag=v${PV} \ + file://ldflags.patch \ +" + +DEPENDS = "openssl lua libpcre2" + +EXTRA_OEMAKE:append = " PREFIX=${prefix}" + +do_install(){ + oe_runmake DESTDIR=${D} install + + # No need for manuals at this point, MANDIR is hardcoded to depend on prefix + rm -rf ${D}${prefix}/man +} + +ASNEEDED = "" diff --git a/meta-oe/recipes-support/inih/libinih_58.bb b/meta-oe/recipes-support/inih/libinih_58.bb deleted file mode 100644 index 0ebeec68510..00000000000 --- a/meta-oe/recipes-support/inih/libinih_58.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "inih (INI Not Invented Here)" -DESCRIPTION = "A .INI file parser written in C that was designed to be small and simple." -HOMEPAGE = "https://github.com/benhoyt/inih" -SECTION = "libs" -LICENSE = "BSD-3-Clause" - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7a95d2af90376e85a05318794e6f202" - -SRC_URI = "git://github.com/benhoyt/inih.git;protocol=https;branch=master" - -SRCREV = "5cc5e2c24642513aaa5b19126aad42d0e4e0923e" - -inherit meson pkgconfig diff --git a/meta-oe/recipes-support/inih/libinih_62.bb b/meta-oe/recipes-support/inih/libinih_62.bb new file mode 100644 index 00000000000..2ec64c7e695 --- /dev/null +++ b/meta-oe/recipes-support/inih/libinih_62.bb @@ -0,0 +1,13 @@ +SUMMARY = "inih (INI Not Invented Here)" +DESCRIPTION = "A .INI file parser written in C that was designed to be small and simple." +HOMEPAGE = "https://github.com/benhoyt/inih" +SECTION = "libs" +LICENSE = "BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7a95d2af90376e85a05318794e6f202" + +SRC_URI = "git://github.com/benhoyt/inih.git;protocol=https;branch=master" + +SRCREV = "26254ee9de7681f8825433415443e7116ff24b98" + +inherit meson pkgconfig diff --git a/meta-oe/recipes-support/jsoncons/jsoncons_1.5.0.bb b/meta-oe/recipes-support/jsoncons/jsoncons_1.5.0.bb deleted file mode 100644 index 1321f824eee..00000000000 --- a/meta-oe/recipes-support/jsoncons/jsoncons_1.5.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "A C++, header-only library for constructing JSON and JSON-like data formats." -HOMEPAGE = "https://github.com/danielaparker/jsoncons" - -LICENSE = "BSL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6ee7f7ed2001e4cde4679fdb8926f820" - -SRC_URI = "git://github.com/danielaparker/jsoncons.git;protocol=https;branch=master;tag=v${PV}" -SRCREV = "95a220dff2d927f15e1fe0c7dac2821b7134e4c9" - - -inherit cmake - -PACKAGECONFIG ??= "" -PACKAGECONFIG[tests] = "-DJSONCONS_BUILD_TESTS=ON,-DJSONCONS_BUILD_TESTS=OFF" diff --git a/meta-oe/recipes-support/jsoncons/jsoncons_1.6.0.bb b/meta-oe/recipes-support/jsoncons/jsoncons_1.6.0.bb new file mode 100644 index 00000000000..64860c06dd6 --- /dev/null +++ b/meta-oe/recipes-support/jsoncons/jsoncons_1.6.0.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "A C++, header-only library for constructing JSON and JSON-like data formats." +HOMEPAGE = "https://github.com/danielaparker/jsoncons" + +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6ee7f7ed2001e4cde4679fdb8926f820" + +SRC_URI = "git://github.com/danielaparker/jsoncons.git;protocol=https;branch=master;tag=v${PV}" +SRCREV = "128553c8d1b222c30819656d123590accb60689d" + + +inherit cmake + +PACKAGECONFIG ??= "" +PACKAGECONFIG[tests] = "-DJSONCONS_BUILD_TESTS=ON,-DJSONCONS_BUILD_TESTS=OFF" diff --git a/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_1.patch b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_1.patch new file mode 100644 index 00000000000..2ed8e9f5877 --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_1.patch @@ -0,0 +1,28 @@ +From c83cfcd249d06950a307cee8d1e22b7f6a78a8a7 Mon Sep 17 00:00:00 2001 +From: Marti Maria +Date: Thu, 19 Feb 2026 09:07:20 +0100 +Subject: [PATCH] Fix integer overflow in CubeSize() + +Thanks to @zerojackyi for reporting + +CVE: CVE-2026-41254 +Upstream-Status: Backport [https://github.com/mm2/Little-CMS/commit/da6110b1d14abc394633a388209abd5ebedd7ab0] +Signed-off-by: Gyorgy Sarvari +--- + src/cmslut.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/cmslut.c b/src/cmslut.c +index 1089148..b245209 100644 +--- a/src/cmslut.c ++++ b/src/cmslut.c +@@ -460,7 +460,8 @@ void EvaluateCLUTfloatIn16(const cmsFloat32Number In[], cmsFloat32Number Out[], + static + cmsUInt32Number CubeSize(const cmsUInt32Number Dims[], cmsUInt32Number b) + { +- cmsUInt32Number rv, dim; ++ cmsUInt32Number dim; ++ cmsUInt64Number rv; + + _cmsAssert(Dims != NULL); + diff --git a/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_2.patch b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_2.patch new file mode 100644 index 00000000000..be8c759a6f7 --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_2.patch @@ -0,0 +1,34 @@ +From f5994aea02d5620f3182cafdcf116ffe9d6c9fd2 Mon Sep 17 00:00:00 2001 +From: Marti Maria +Date: Thu, 12 Mar 2026 22:57:35 +0100 +Subject: [PATCH] check for overflow + +Thanks to Guanni Qu for detecting & reporting the issue + +CVE: CVE-2026-41254 +Upstream-Status: Backport [https://github.com/mm2/Little-CMS/commit/e0641b1828d0a1af5ecb1b11fe22f24fceefd4bc] +Signed-off-by: Gyorgy Sarvari +--- + src/cmslut.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/cmslut.c b/src/cmslut.c +index b245209..c1dbb32 100644 +--- a/src/cmslut.c ++++ b/src/cmslut.c +@@ -468,12 +468,12 @@ cmsUInt32Number CubeSize(const cmsUInt32Number Dims[], cmsUInt32Number b) + for (rv = 1; b > 0; b--) { + + dim = Dims[b-1]; +- if (dim <= 1) return 0; // Error +- +- rv *= dim; ++ if (dim <= 1) return 0; + + // Check for overflow + if (rv > UINT_MAX / dim) return 0; ++ ++ rv *= dim; + } + + // Again, prevent overflow diff --git a/meta-oe/recipes-support/lcms/lcms_2.18.bb b/meta-oe/recipes-support/lcms/lcms_2.18.bb index 79e4a6f6949..1ff3b3908f1 100644 --- a/meta-oe/recipes-support/lcms/lcms_2.18.bb +++ b/meta-oe/recipes-support/lcms/lcms_2.18.bb @@ -3,7 +3,10 @@ SECTION = "libs" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=e9ce323c4b71c943a785db90142b228a" -SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz \ + file://CVE-2026-41254_1.patch \ + file://CVE-2026-41254_2.patch \ + " SRC_URI[sha256sum] = "ee67be3566f459362c1ee094fde2c159d33fa0390aa4ed5f5af676f9e5004347" DEPENDS = "tiff" diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb deleted file mode 100644 index 2c063fd9956..00000000000 --- a/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Implementation of XDG Sound Theme and Name Specifications" -DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops." -LICENSE = "LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03" - -DEPENDS = "libtool libvorbis" - -inherit autotools gtk-doc - -SRC_URI = " \ - git://salsa.debian.org/gnome-team/libcanberra;protocol=https;branch=debian/latest;tag=debian/${PV} \ - file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \ -" -SRCREV = "d1ed1ac0c9950ed3908c04abb7c4a6de5c51ed94" - -EXTRA_OECONF = "\ - --enable-null \ - --disable-oss \ - --disable-tdb \ - --disable-lynx \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \ - ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gstreamer', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk3', '', d)} \ -" -PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib" -PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio" -PACKAGECONFIG[gstreamer] = "--enable-gstreamer, --disable-gstreamer, gstreamer1.0" -PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+" -PACKAGECONFIG[gtk3] = "--enable-gtk3, --disable-gtk3, gtk+3" - -FILES:${PN} += " \ - ${systemd_system_unitdir} \ - ${libdir}/gtk-2.0 \ - ${libdir}/gtk-3.0 \ - ${libdir}/gnome-settings-daemon-3.0 \ - ${libdir}/libcanberra-0.30 \ - ${datadir}/gdm \ - ${datadir}/gnome \ -" -FILES:${PN}-dev += "${datadir}/vala" - -# libcanberra-gtk3-module.so ships a symlink to libcanberra-gtk-module.so -INSANE_SKIP:${PN} = "dev-so" - -RRECOMMENDS:${PN} = "sound-theme-freedesktop" diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.30-20.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-20.bb new file mode 100644 index 00000000000..2f10a10931a --- /dev/null +++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-20.bb @@ -0,0 +1,50 @@ +SUMMARY = "Implementation of XDG Sound Theme and Name Specifications" +DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops." +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03" + +DEPENDS = "libtool libvorbis" + +inherit autotools gtk-doc + +SRC_URI = " \ + git://salsa.debian.org/gnome-team/libcanberra;protocol=https;branch=debian/latest;tag=debian/${PV} \ + file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \ +" +SRCREV = "47d67f43c58af36143060888fc8e69a9cb0eddea" + +EXTRA_OECONF = "\ + --enable-null \ + --disable-oss \ + --disable-tdb \ + --disable-lynx \ + --disable-gtk-doc \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gstreamer', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk3', '', d)} \ +" +PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib" +PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio" +PACKAGECONFIG[gstreamer] = "--enable-gstreamer, --disable-gstreamer, gstreamer1.0" +PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+" +PACKAGECONFIG[gtk3] = "--enable-gtk3, --disable-gtk3, gtk+3" + +FILES:${PN} += " \ + ${systemd_system_unitdir} \ + ${libdir}/gtk-2.0 \ + ${libdir}/gtk-3.0 \ + ${libdir}/gnome-settings-daemon-3.0 \ + ${libdir}/libcanberra-0.30 \ + ${datadir}/gdm \ + ${datadir}/gnome \ +" +FILES:${PN}-dev += "${datadir}/vala" + +# libcanberra-gtk3-module.so ships a symlink to libcanberra-gtk-module.so +INSANE_SKIP:${PN} = "dev-so" + +RRECOMMENDS:${PN} = "sound-theme-freedesktop" diff --git a/meta-oe/recipes-support/libfido2/libfido2-initial_1.16.0.bb b/meta-oe/recipes-support/libfido2/libfido2-initial_1.16.0.bb new file mode 100644 index 00000000000..7d9838b003b --- /dev/null +++ b/meta-oe/recipes-support/libfido2/libfido2-initial_1.16.0.bb @@ -0,0 +1,40 @@ +SUMMARY = "FIDO 2.0 support library" +DESCRIPTION = "libfido2 provides library functionality and command-line tools to \ +communicate with a FIDO device over USB, and to verify attestation and \ +assertion signatures." +HOMEPAGE = "https://developers.yubico.com/libfido2" +LICENSE = "BSD-2-Clause" +SECTION = "libs/network" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=20be19aaa222f71738712b26f7f8717b" + +SRC_URI = "https://developers.yubico.com/${BPN}/Releases/${BPN}-${PV}.tar.gz" +SRC_URI[sha256sum] = "8c2b6fb279b5b42e9ac92ade71832e485852647b53607c43baaafbbcecea04e4" + +inherit nopackages + +PACKAGES = "" + +# The purpose of this recipe is to break a circular dependency between libfido2 and +# systemd. libfido2 depends on udev (provided by systemd) to build, while systemd +# depends on libfido2 if the fido feature is enabled. However, systemd doesn't +# actually link against libfido2. It only needs the headers in place and a dummy +# shared library. It opportunistically dlopens libfido2 if it's present, but +# for that to work it needs the headers in place. +# Just fake enough to make systemd happy, and have it RRECOMMEND the real libfido2. +do_install() { + mkdir -p ${D}${includedir}/libfido2-initial/fido + mkdir -p ${D}${datadir}/pkgconfig + + install -m 644 ${S}/src/fido.h ${D}${includedir}/libfido2-initial + install -m 644 ${S}/src/fido/* ${D}${includedir}/libfido2-initial/fido/ + + # Real libfido2 installs its pkg conf file in ${libdir}. + sed -e 's,@CMAKE_INSTALL_PREFIX@,${exec_prefix},' \ + -e 's,@CMAKE_INSTALL_LIBDIR@,${baselib}/libfido2-initial,' \ + -e 's,@FIDO_VERSION@,${PV},' \ + -e 's,@PROJECT_NAME@,${BPN},' \ + -e '/^Cflags/s,$,/libfido2-initial,' \ + ${S}/src/libfido2.pc.in > ${D}${datadir}/pkgconfig/libfido2.pc + +} diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_1.6.5.bb b/meta-oe/recipes-support/libgpiod/libgpiod_1.6.5.bb index 009cf9897a3..583648a6a37 100644 --- a/meta-oe/recipes-support/libgpiod/libgpiod_1.6.5.bb +++ b/meta-oe/recipes-support/libgpiod/libgpiod_1.6.5.bb @@ -10,6 +10,7 @@ SRC_URI[sha256sum] = "ae280f697bf035a1fb780c9972e5c81d0d2712b7ab6124fb3fba24619d FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-1.x:" inherit python3native +inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3targetconfig', '', d)} PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2" PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3" diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.2.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.2.bb deleted file mode 100644 index 09b0928dfa9..00000000000 --- a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.2.bb +++ /dev/null @@ -1,104 +0,0 @@ -require libgpiod.inc - -inherit systemd update-rc.d useradd gobject-introspection - -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0" -LIC_FILES_CHKSUM = " \ - file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \ - file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \ -" - -FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:" - -SRC_URI += "file://gpio-manager.init" - -SRC_URI[sha256sum] = "7e3bff0209d75fbca2e9fcff1fd5f07cc58b543e129e08b6d4bb1e4a56cfec0d" - -# Enable all project features for ptest -PACKAGECONFIG[tests] = " \ - --enable-tests --enable-tools --enable-bindings-cxx --enable-bindings-glib --enable-gpioset-interactive --enable-dbus, \ - --disable-tests, \ - kmod util-linux glib-2.0 catch2 libedit glib-2.0-native libgudev, \ - bash ${VIRTUAL-RUNTIME_dbus} glib-2.0-utils libgpiod-manager-cfg shunit2 \ -" -PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit" -PACKAGECONFIG[glib] = "--enable-bindings-glib,--disable-bindings-glib,glib-2.0 glib-2.0-native" -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,glib-2.0 glib-2.0-native libgudev,${VIRTUAL-RUNTIME_dbus}" - -PACKAGES =+ "${PN}-gpiosim ${PN}-glib ${PN}-manager ${PN}-manager-cfg ${PN}-cli" -FILES:${PN}-tools += "${bindir}/gpionotify" -FILES:${PN}-gpiosim += "${libdir}/libgpiosim.so.*" -FILES:${PN}-gpiosim-dev += "${includedir}/gpiosim.h" -FILES:${PN}-glib += "${libdir}/libgpiod-glib.so.*" -FILES:${PN}-manager += " \ - ${bindir}/gpio-manager \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_system_unitdir}/gpio-manager.service', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${sysconfdir}/init.d/gpio-manager', '', d)} \ -" -FILES:${PN}-manager-cfg += " \ - ${sysconfdir}/dbus-1/system.d/io.gpiod1.conf \ - ${datadir}/dbus-1/interfaces/io.gpiod1.xml \ - ${nonarch_base_libdir}/udev/rules.d/90-gpio.rules \ -" -FILES:${PN}-cli += "${bindir}/gpiocli" - -RDEPENDS:${PN}-manager += "${VIRTUAL-RUNTIME_dbus} ${PN}-manager-cfg" -RDEPENDS:${PN}-cli += "${PN}-manager" - -SYSTEMD_PACKAGES = "${PN}-manager" - -python __anonymous() { - distro_features = d.getVar("DISTRO_FEATURES").split() - packageconfig = d.getVar("PACKAGECONFIG").split() - pn = d.getVar("PN") - - if "systemd" in distro_features and "dbus" in packageconfig: - d.appendVar("EXTRA_OECONF", " --enable-systemd") - # We need to set it conditionally or else the systemd class will look - # for the file that we don't install with systemd support disabled. - d.setVar("SYSTEMD_SERVICE:{}-manager".format(pn), "gpio-manager.service") - else: - d.appendVar("EXTRA_OECONF", " --disable-systemd") - - # Disable gobject introspection set by the bbclass if we don't want it. - if not any(cfg in ["glib", "dbus", "ptest"] for cfg in packageconfig): - d.setVar("GI_DATA_ENABLED", "False") -} - -UPDATERCPN = "${PN}-manager" -INITSCRIPT_NAME = "gpio-manager" -INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 0 1 6 ." - -USERADD_PACKAGES = "${PN}-manager" -GROUPADD_PARAM:${PN}-manager = "--system gpio" -USERADD_PARAM:${PN}-manager = "--system -M -s /bin/nologin -g gpio gpio-manager" - -RDEPENDS:${PN}-ptest += " \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'shunit2 bash', '', d)} \ -" -RRECOMMENDS:${PN}-gpiosim += "kernel-module-gpio-sim kernel-module-configfs" -INSANE_SKIP:${PN}-ptest += "buildpaths" - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/lib/.libs" -} - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/gpio-manager.init ${D}${sysconfdir}/init.d/gpio-manager - fi -} - -do_install_ptest:append() { - install -m 0755 ${B}/bindings/cxx/tests/.libs/gpiod-cxx-test ${D}${PTEST_PATH}/tests/ - install -m 0755 ${S}/tools/gpio-tools-test.bash ${D}${PTEST_PATH}/tests/ - install -m 0644 ${S}/tests/scripts/gpiod-bash-test-helper.inc ${D}${PTEST_PATH}/tests/ - install -m 0644 ${S}/tests/gpiosim/gpiosim.h ${D}${includedir}/gpiosim.h - install -m 0755 ${B}/bindings/glib/tests/.libs/gpiod-glib-test ${D}${PTEST_PATH}/tests/ - install -m 0755 ${B}/dbus/tests/.libs/gpiodbus-test ${D}${PTEST_PATH}/tests/ - install -m 0755 ${S}/dbus/client/gpiocli-test.bash ${D}${PTEST_PATH}/tests/ - install -m 0755 ${B}/dbus/manager/.libs/gpio-manager ${D}${PTEST_PATH}/tests/ - install -m 0755 ${B}/dbus/client/.libs/gpiocli ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb new file mode 100644 index 00000000000..2c8d9f1873f --- /dev/null +++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb @@ -0,0 +1,106 @@ +require libgpiod.inc + +inherit systemd update-rc.d useradd gobject-introspection + +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0" +LIC_FILES_CHKSUM = " \ + file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \ + file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \ +" + +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:" + +SRC_URI += " \ + file://gpio-manager.init \ +" + +SRC_URI[sha256sum] = "13207176b0eb9b3e0f02552d5f49f5a6a449343ce47416158bb484d9d3019592" + +# Enable all project features for ptest +PACKAGECONFIG[tests] = " \ + --enable-tests --enable-tools --enable-bindings-cxx --enable-bindings-glib --enable-gpioset-interactive --enable-dbus, \ + --disable-tests, \ + kmod util-linux glib-2.0 catch2 libedit glib-2.0-native libgudev, \ + bash ${VIRTUAL-RUNTIME_dbus} glib-2.0-utils libgpiod-manager-cfg shunit2 \ +" +PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit" +PACKAGECONFIG[glib] = "--enable-bindings-glib,--disable-bindings-glib,glib-2.0 glib-2.0-native" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,glib-2.0 glib-2.0-native libgudev,${VIRTUAL-RUNTIME_dbus}" + +PACKAGES =+ "${PN}-gpiosim ${PN}-glib ${PN}-manager ${PN}-manager-cfg ${PN}-cli" +FILES:${PN}-tools += "${bindir}/gpionotify" +FILES:${PN}-gpiosim += "${libdir}/libgpiosim.so.*" +FILES:${PN}-gpiosim-dev += "${includedir}/gpiosim.h" +FILES:${PN}-glib += "${libdir}/libgpiod-glib.so.*" +FILES:${PN}-manager += " \ + ${bindir}/gpio-manager \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_system_unitdir}/gpio-manager.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${sysconfdir}/init.d/gpio-manager', '', d)} \ +" +FILES:${PN}-manager-cfg += " \ + ${sysconfdir}/dbus-1/system.d/io.gpiod1.conf \ + ${datadir}/dbus-1/interfaces/io.gpiod1.xml \ + ${nonarch_base_libdir}/udev/rules.d/90-gpio.rules \ +" +FILES:${PN}-cli += "${bindir}/gpiocli" + +RDEPENDS:${PN}-manager += "${VIRTUAL-RUNTIME_dbus} ${PN}-manager-cfg" +RDEPENDS:${PN}-cli += "${PN}-manager" + +SYSTEMD_PACKAGES = "${PN}-manager" + +python __anonymous() { + distro_features = d.getVar("DISTRO_FEATURES").split() + packageconfig = d.getVar("PACKAGECONFIG").split() + pn = d.getVar("PN") + + if "systemd" in distro_features and "dbus" in packageconfig: + d.appendVar("EXTRA_OECONF", " --enable-systemd") + # We need to set it conditionally or else the systemd class will look + # for the file that we don't install with systemd support disabled. + d.setVar("SYSTEMD_SERVICE:{}-manager".format(pn), "gpio-manager.service") + else: + d.appendVar("EXTRA_OECONF", " --disable-systemd") + + # Disable gobject introspection set by the bbclass if we don't want it. + if not any(cfg in ["glib", "dbus", "ptest"] for cfg in packageconfig): + d.setVar("GI_DATA_ENABLED", "False") +} + +UPDATERCPN = "${PN}-manager" +INITSCRIPT_NAME = "gpio-manager" +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 0 1 6 ." + +USERADD_PACKAGES = "${PN}-manager" +GROUPADD_PARAM:${PN}-manager = "--system gpio" +USERADD_PARAM:${PN}-manager = "--system -M -s /bin/nologin -g gpio gpio-manager" + +RDEPENDS:${PN}-ptest += " \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'shunit2 bash', '', d)} \ +" +RRECOMMENDS:${PN}-gpiosim += "kernel-module-gpio-sim kernel-module-configfs" +INSANE_SKIP:${PN}-ptest += "buildpaths" + +do_compile:prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/lib/.libs" +} + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/gpio-manager.init ${D}${sysconfdir}/init.d/gpio-manager + fi +} + +do_install_ptest:append() { + install -m 0755 ${B}/bindings/cxx/tests/.libs/gpiod-cxx-test ${D}${PTEST_PATH}/tests/ + install -m 0755 ${S}/tools/gpio-tools-test.bash ${D}${PTEST_PATH}/tests/ + install -m 0644 ${S}/tests/scripts/gpiod-bash-test-helper.inc ${D}${PTEST_PATH}/tests/ + install -m 0644 ${S}/tests/gpiosim/gpiosim.h ${D}${includedir}/gpiosim.h + install -m 0755 ${B}/bindings/glib/tests/.libs/gpiod-glib-test ${D}${PTEST_PATH}/tests/ + install -m 0755 ${B}/dbus/tests/.libs/gpiodbus-test ${D}${PTEST_PATH}/tests/ + install -m 0755 ${S}/dbus/client/gpiocli-test.bash ${D}${PTEST_PATH}/tests/ + install -m 0755 ${B}/dbus/manager/.libs/gpio-manager ${D}${PTEST_PATH}/tests/ + install -m 0755 ${B}/dbus/client/.libs/gpiocli ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-oe/recipes-support/libgusb/libgusb_0.4.9.bb b/meta-oe/recipes-support/libgusb/libgusb_0.4.9.bb index 9007574fc6a..25750247f88 100644 --- a/meta-oe/recipes-support/libgusb/libgusb_0.4.9.bb +++ b/meta-oe/recipes-support/libgusb/libgusb_0.4.9.bb @@ -10,7 +10,7 @@ inherit meson gobject-introspection gi-docgen gettext vala pkgconfig PACKAGECONFIG:class-target ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)}" PACKAGECONFIG[vapi] = "-Dvapi=true,-Dvapi=false" -EXTRA_OEMESON:class-native += "-Dtests=false -Dintrospection=false" +EXTRA_OEMESON:class-native = "-Dtests=false -Dintrospection=false" GIDOCGEN_MESON_OPTION = 'docs' diff --git a/meta-oe/recipes-support/libharu/libharu_2.4.5.bb b/meta-oe/recipes-support/libharu/libharu_2.4.5.bb deleted file mode 100644 index 0ad4bd92c03..00000000000 --- a/meta-oe/recipes-support/libharu/libharu_2.4.5.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "free PDF library" -HOMEPAGE = "http://libharu.org" -DESCRIPTION = "libHaru is a library for generating PDF files. \ - It is free, open source, written in ANSI C and cross platform. " - -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://LICENSE;md5=924546dab2bef90e370d7c0c090ddcf0" - -DEPENDS += "libpng zlib" - -SRC_URI = "git://github.com/libharu/libharu.git;branch=master;protocol=https" -SRCREV = "8fe5a738541a04642885fb7a75b2b5b9c5b416fa" - - -inherit cmake diff --git a/meta-oe/recipes-support/libharu/libharu_2.4.6.bb b/meta-oe/recipes-support/libharu/libharu_2.4.6.bb new file mode 100644 index 00000000000..714cccbc3c0 --- /dev/null +++ b/meta-oe/recipes-support/libharu/libharu_2.4.6.bb @@ -0,0 +1,15 @@ +SUMMARY = "free PDF library" +HOMEPAGE = "http://libharu.org" +DESCRIPTION = "libHaru is a library for generating PDF files. \ + It is free, open source, written in ANSI C and cross platform. " + +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE;md5=924546dab2bef90e370d7c0c090ddcf0" + +DEPENDS += "libpng zlib" + +SRC_URI = "git://github.com/libharu/libharu.git;branch=master;protocol=https;tag=v${PV}" +SRCREV = "3467749fd1c0ab6ca6ed424d053b1ea53c1bf67c" + + +inherit cmake diff --git a/meta-oe/recipes-support/libnice/libnice_0.1.23.bb b/meta-oe/recipes-support/libnice/libnice_0.1.23.bb index bcdcf0ad7f6..4411de955cc 100644 --- a/meta-oe/recipes-support/libnice/libnice_0.1.23.bb +++ b/meta-oe/recipes-support/libnice/libnice_0.1.23.bb @@ -14,8 +14,11 @@ SRC_URI[sha256sum] = "618fc4e8de393b719b1641c1d8eec01826d4d39d15ade92679d221c7f5 UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/libnice/libnice/-/tags" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" -DEPENDS = "glib-2.0 gnutls ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'graphviz-native', '', d)}" +DEPENDS = "glib-2.0 ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'graphviz-native', '', d)}" +PACKAGECONFIG ??= "gnutls" +PACKAGECONFIG[gnutls] = "-Dcrypto-library=gnutls,,gnutls" +PACKAGECONFIG[openssl] = "-Dcrypto-library=openssl,,openssl" PACKAGECONFIG[gupnp] = "-Dgupnp=enabled,-Dgupnp=disabled,gupnp" PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0" PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled," diff --git a/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch b/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch new file mode 100644 index 00000000000..f234cbd50b1 --- /dev/null +++ b/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch @@ -0,0 +1,33 @@ +From 7c70315f7f6b4305d761804fb03f8f90ad7572eb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 17 Apr 2026 14:01:46 -0700 +Subject: [PATCH] build: guard --coverage linker flag behind + CODE_COVERAGE_ENABLED + +AM_LDFLAGS passes --coverage to the linker unconditionally, +it causes coverage instrumentation to be enabled even when +configured with --disable-code-coverage. Wrap it in the +automake conditional provided by AX_CODE_COVERAGE. + +Upstream-Status: Submitted [https://github.com/OpenIDC/liboauth2/pull/74] +Signed-off-by: Khem Raj +--- + Makefile.am | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index a079dcc..a3f991d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -8,7 +8,10 @@ EXTRA_DIST = autogen.sh ChangeLog README.md LICENSE + + AM_CPPFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -I${srcdir}/include -I${srcdir}/src @JANSSON_CFLAGS@ @OPENSSL_CFLAGS@ + AM_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) $(CODE_COVERAGE_CFLAGS) +-AM_LDFLAGS = --coverage ++AM_LDFLAGS = ++if CODE_COVERAGE_ENABLED ++AM_LDFLAGS += --coverage ++endif + + LDADD = @JANSSON_LIBS@ @OPENSSL_LIBS@ + LDADD += $(CODE_COVERAGE_LIBS) diff --git a/meta-oe/recipes-support/liboauth2/liboauth2/0002-Fix-use-of-strchr-with-new-GCC.patch b/meta-oe/recipes-support/liboauth2/liboauth2/0002-Fix-use-of-strchr-with-new-GCC.patch new file mode 100644 index 00000000000..65340e806a0 --- /dev/null +++ b/meta-oe/recipes-support/liboauth2/liboauth2/0002-Fix-use-of-strchr-with-new-GCC.patch @@ -0,0 +1,33 @@ +From 0dcba079907d559550ee8d9a201d26203bb8aebd Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy +Date: Wed, 7 Jan 2026 11:41:37 +0200 +Subject: [PATCH] Fix use of strchr with new GCC + +According to C specification, 7.28.5.1, strchr() is a generic function +and its string argument's type is promoted to the result. So if it is +const char*, the result will be const char* as well. + +gcc in Fedora Rawhide (15.2.1 20251111 or later) implements this +conformance, resulting in a compilation fail with +-Werror=discarded-qualifiers. + +Signed-off-by: Alexander Bokovoy +Upstream-Status: Backport [https://github.com/OpenIDC/liboauth2/commit/0dcba079907d559550ee8d9a201d26203bb8aebd] +Signed-off-by: Peter Kjellerstedt +--- + src/jose.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/jose.c b/src/jose.c +index fbaf661..a3441c8 100644 +--- a/src/jose.c ++++ b/src/jose.c +@@ -993,7 +993,7 @@ char *oauth2_jose_jwt_header_peek(oauth2_log_t *log, + { + char *input = NULL, *result = NULL; + json_t *json = NULL; +- char *p = NULL; ++ const char *p = NULL; + size_t result_len; + char *rv = NULL; + diff --git a/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb b/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb index 31d7aec69d3..83825c69a50 100644 --- a/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb +++ b/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb @@ -6,9 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" SRC_URI = " \ git://github.com/OpenIDC/liboauth2;protocol=https;branch=master;tag=v${PV} \ file://0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch \ + file://0002-Fix-use-of-strchr-with-new-GCC.patch \ + file://0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch \ " -PV = "2.2.0" SRCREV = "12571b6d6568c2db7d5f080f60ecb55795c0db19" DEPENDS = "libpcre2 jansson curl openssl cjose" @@ -20,4 +21,4 @@ PACKAGECONFIG[memcache] = "--with-memcache,--without-memcache,libmemcached" PACKAGECONFIG[redis] = "--with-redis,--without-redis,hiredis" PACKAGECONFIG[jq] = "--with-jq,--without-jq,jq" PACKAGECONFIG[apache] = "--with-apache,--without-apache,apache2" - +PACKAGECONFIG[ccov] = "--enable-code-coverage,--disable-code-coverage," diff --git a/meta-oe/recipes-support/libp11/libp11_0.4.17.bb b/meta-oe/recipes-support/libp11/libp11_0.4.17.bb deleted file mode 100644 index 9bd44a2d23b..00000000000 --- a/meta-oe/recipes-support/libp11/libp11_0.4.17.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Library for using PKCS" -DESCRIPTION = "\ -Libp11 is a library implementing a small layer on top of PKCS \ -make using PKCS" -HOMEPAGE = "https://github.com/OpenSC/libp11" -BUGTRACKER = "https://github.com/OpenSC/libp11/issues" -SECTION = "Development/Libraries" -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" -DEPENDS = "libtool openssl" - -SRC_URI = "git://github.com/OpenSC/libp11.git;branch=master;protocol=https;tag=${BPN}-${PV}" - -SRCREV = "1ad1efdffc90df5dcd69822f3f593898acc1aa78" - -UPSTREAM_CHECK_GITTAGREGEX = "libp11-(?P\d+(\.\d+)+)" - - -inherit autotools pkgconfig - -EXTRA_OECONF = "--disable-static" -EXTRA_OECONF:append:class-native = "\ - --with-enginesdir=${RECIPE_SYSROOT_NATIVE}/usr/lib/engines-3 \ - --with-modulesdir=${RECIPE_SYSROOT_NATIVE}/usr/lib/ossl-modules \ -" - -do_install:append () { - rm -rf ${D}${docdir}/${BPN} -} - -FILES:${PN} += "\ - ${libdir}/engines*/pkcs11.so \ - ${libdir}/ossl-modules/pkcs11prov.so \ -" -FILES:${PN}-dev += "\ - ${libdir}/engines*/libpkcs11${SOLIBSDEV} \ - ${libdir}/ossl-modules/libpkcs11${SOLIBSDEV} \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/libp11/libp11_0.4.18.bb b/meta-oe/recipes-support/libp11/libp11_0.4.18.bb new file mode 100644 index 00000000000..950880c1f22 --- /dev/null +++ b/meta-oe/recipes-support/libp11/libp11_0.4.18.bb @@ -0,0 +1,40 @@ +SUMMARY = "Library for using PKCS" +DESCRIPTION = "\ +Libp11 is a library implementing a small layer on top of PKCS \ +make using PKCS" +HOMEPAGE = "https://github.com/OpenSC/libp11" +BUGTRACKER = "https://github.com/OpenSC/libp11/issues" +SECTION = "Development/Libraries" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" +DEPENDS = "libtool openssl" + +SRC_URI = "git://github.com/OpenSC/libp11.git;branch=master;protocol=https;tag=${BPN}-${PV}" + +SRCREV = "52a437cd51fcfbaaa8b27d2c6f562e88fd015c0d" + +UPSTREAM_CHECK_GITTAGREGEX = "libp11-(?P\d+(\.\d+)+)" + + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-static" +EXTRA_OECONF:append:class-native = "\ + --with-enginesdir=${RECIPE_SYSROOT_NATIVE}/usr/lib/engines-3 \ + --with-modulesdir=${RECIPE_SYSROOT_NATIVE}/usr/lib/ossl-modules \ +" + +do_install:append () { + rm -rf ${D}${docdir}/${BPN} +} + +FILES:${PN} += "\ + ${libdir}/engines*/pkcs11.so \ + ${libdir}/ossl-modules/pkcs11prov.so \ +" +FILES:${PN}-dev += "\ + ${libdir}/engines*/libpkcs11${SOLIBSDEV} \ + ${libdir}/ossl-modules/libpkcs11${SOLIBSDEV} \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/libraw/libraw_0.21.4.bb b/meta-oe/recipes-support/libraw/libraw_0.21.4.bb deleted file mode 100644 index ef0a0255d98..00000000000 --- a/meta-oe/recipes-support/libraw/libraw_0.21.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "raw image decoder" -LICENSE = "LGPL-2.1-only | CDDL-1.0" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1501ae0aa3c8544e63f08d6f7bf88a6f" - -SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=0.21-stable;protocol=https;tag=${PV}" -SRCREV = "9646d776c7c61976080a8f2be67928df0750493e" - -inherit autotools pkgconfig - -DEPENDS = "jpeg jasper lcms" diff --git a/meta-oe/recipes-support/libraw/libraw_0.22.1.bb b/meta-oe/recipes-support/libraw/libraw_0.22.1.bb new file mode 100644 index 00000000000..e99f0e46b6f --- /dev/null +++ b/meta-oe/recipes-support/libraw/libraw_0.22.1.bb @@ -0,0 +1,17 @@ +SUMMARY = "raw image decoder" +LICENSE = "LGPL-2.1-only | CDDL-1.0" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1d66195044cfbe4327c055d1c9c1a229" + +SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=0.22-stable;protocol=https;tag=${PV}" +SRCREV = "b860248a89d9082b8e0a1e202e516f46af9adb29" + +inherit autotools pkgconfig + +DEPENDS = "jpeg jasper lcms" + +CVE_STATUS[CVE-2026-5318] = "fixed-version: fixed since 0.22.1" +CVE_STATUS[CVE-2026-5342] = "fixed-version: fixed since 0.22.1" +CVE_STATUS[CVE-2026-20884] = "fixed-version: fixed since 0.22.1" +CVE_STATUS[CVE-2026-24450] = "fixed-version: fixed since 0.22.1" +CVE_STATUS[CVE-2026-20911] = "fixed-version: fixed since 0.22.1" +CVE_STATUS[CVE-2026-21413] = "fixed-version: fixed since 0.22.1" diff --git a/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb index 85eac333696..99d0939b34a 100644 --- a/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb +++ b/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb @@ -20,6 +20,9 @@ UPSTREAM_CHECK_REGEX = "${BPN}-(?P\d+(\.\d+)+)" DEPENDS += "bison-native flex-native wget-native gawk-native" inherit autotools-brokensep update-alternatives + +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + ALTERNATIVE_PRIORITY = "50" ALTERNATIVE:${PN}-yang = " ietf-interfaces ietf-netconf-acm ietf-netconf-with-defaults ietf-netconf" ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang" diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-14523.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-14523.patch new file mode 100644 index 00000000000..7815dba55aa --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-14523.patch @@ -0,0 +1,52 @@ +From d6028a6e6a8417b7fb6c89f6c10fb94781435ee6 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Wed, 4 Feb 2026 15:08:50 +0800 +Subject: [PATCH] Reject duplicate Host headers (for libsoup 2) + +This is a simplified version of my patch for libsoup 3: + +!491 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/d3db5a6f8f03e1f0133754872877c92c0284c472] +CVE: CVE-2025-14523 + +This patch is a MR for branch 2-74, but not merged yet, maybe it will +not be merged. + +Signed-off-by: Changqing Li +--- + libsoup/soup-headers.c | 3 +++ + libsoup/soup-message-headers.c | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/libsoup/soup-headers.c b/libsoup/soup-headers.c +index ea2f986..6cd3dad 100644 +--- a/libsoup/soup-headers.c ++++ b/libsoup/soup-headers.c +@@ -138,6 +138,9 @@ soup_headers_parse (const char *str, int len, SoupMessageHeaders *dest) + for (p = strchr (value, '\r'); p; p = strchr (p, '\r')) + *p = ' '; + ++ if (g_ascii_strcasecmp (name, "Host") == 0 && soup_message_headers_get_one (dest, "Host")) ++ goto done; ++ + soup_message_headers_append (dest, name, value); + } + success = TRUE; +diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c +index f612bff..bb20bbb 100644 +--- a/libsoup/soup-message-headers.c ++++ b/libsoup/soup-message-headers.c +@@ -220,6 +220,9 @@ soup_message_headers_append (SoupMessageHeaders *hdrs, + } + #endif + ++ if (g_ascii_strcasecmp (name, "Host") == 0 && soup_message_headers_get_one (hdrs, "Host")) ++ return; ++ + header.name = intern_header_name (name, &setter); + header.value = g_strdup (value); + g_array_append_val (hdrs->array, header); +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-1.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-1.patch new file mode 100644 index 00000000000..64e87cb1ec9 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-1.patch @@ -0,0 +1,229 @@ +From c574e659c41c18fad3973bbaa3b3ec75664b3137 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 5 Feb 2026 16:20:02 +0800 +Subject: [PATCH 1/2] websocket: add a way to restrict the total message size + +Otherwise a client could send small packages smaller than +total-incoming-payload-size but still to break the server +with a big allocation + +Fixes: #390 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/db87805ab565d67533dfed2cb409dbfd63c7fdce] +CVE: CVE-2025-32049 + +libsoup2 is not maintained, the patch is backported from libsoup3, and +change accordingly + +Signed-off-by: Changqing Li +--- + libsoup/soup-websocket-connection.c | 104 ++++++++++++++++++++++++++-- + libsoup/soup-websocket-connection.h | 7 ++ + 2 files changed, 107 insertions(+), 4 deletions(-) + +diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c +index 9d5f4f8..3dad477 100644 +--- a/libsoup/soup-websocket-connection.c ++++ b/libsoup/soup-websocket-connection.c +@@ -85,7 +85,8 @@ enum { + PROP_STATE, + PROP_MAX_INCOMING_PAYLOAD_SIZE, + PROP_KEEPALIVE_INTERVAL, +- PROP_EXTENSIONS ++ PROP_EXTENSIONS, ++ PROP_MAX_TOTAL_MESSAGE_SIZE, + }; + + enum { +@@ -120,6 +121,7 @@ struct _SoupWebsocketConnectionPrivate { + char *origin; + char *protocol; + guint64 max_incoming_payload_size; ++ guint64 max_total_message_size; + guint keepalive_interval; + + gushort peer_close_code; +@@ -152,6 +154,7 @@ struct _SoupWebsocketConnectionPrivate { + }; + + #define MAX_INCOMING_PAYLOAD_SIZE_DEFAULT 128 * 1024 ++#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 + #define READ_BUFFER_SIZE 1024 + #define MASK_LENGTH 4 + +@@ -664,7 +667,7 @@ bad_data_error_and_close (SoupWebsocketConnection *self) + } + + static void +-too_big_error_and_close (SoupWebsocketConnection *self, ++too_big_incoming_payload_error_and_close (SoupWebsocketConnection *self, + guint64 payload_len) + { + GError *error; +@@ -680,6 +683,23 @@ too_big_error_and_close (SoupWebsocketConnection *self, + emit_error_and_close (self, error, TRUE); + } + ++static void ++too_big_message_error_and_close (SoupWebsocketConnection *self, ++ guint64 len) ++{ ++ GError *error; ++ ++ error = g_error_new_literal (SOUP_WEBSOCKET_ERROR, ++ SOUP_WEBSOCKET_CLOSE_TOO_BIG, ++ self->pv->connection_type == SOUP_WEBSOCKET_CONNECTION_SERVER ? ++ "Received WebSocket payload from the client larger than configured max-total-message-size" : ++ "Received WebSocket payload from the server larger than configured max-total-message-size"); ++ g_debug ("%s received message of size %" G_GUINT64_FORMAT " or greater, but max supported size is %" G_GUINT64_FORMAT, ++ self->pv->connection_type == SOUP_WEBSOCKET_CONNECTION_SERVER ? "server" : "client", ++ len, self->pv->max_total_message_size); ++ emit_error_and_close (self, error, TRUE); ++} ++ + static void + close_connection (SoupWebsocketConnection *self, + gushort code, +@@ -913,6 +933,12 @@ process_contents (SoupWebsocketConnection *self, + switch (pv->message_opcode) { + case 0x01: + case 0x02: ++ /* Safety valve */ ++ if (pv->max_total_message_size > 0 && ++ (pv->message_data->len + payload_len) > pv->max_total_message_size) { ++ too_big_message_error_and_close (self, (pv->message_data->len + payload_len)); ++ return; ++ } + g_byte_array_append (pv->message_data, payload, payload_len); + break; + default: +@@ -1050,7 +1076,7 @@ process_frame (SoupWebsocketConnection *self) + /* Safety valve */ + if (self->pv->max_incoming_payload_size > 0 && + payload_len >= self->pv->max_incoming_payload_size) { +- too_big_error_and_close (self, payload_len); ++ too_big_incoming_payload_error_and_close (self, payload_len); + return FALSE; + } + +@@ -1357,6 +1383,10 @@ soup_websocket_connection_get_property (GObject *object, + g_value_set_pointer (value, pv->extensions); + break; + ++ case PROP_MAX_TOTAL_MESSAGE_SIZE: ++ g_value_set_uint64 (value, pv->max_total_message_size); ++ break; ++ + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +@@ -1410,6 +1440,10 @@ soup_websocket_connection_set_property (GObject *object, + pv->extensions = g_value_get_pointer (value); + break; + ++ case PROP_MAX_TOTAL_MESSAGE_SIZE: ++ pv->max_total_message_size = g_value_get_uint64 (value); ++ break; ++ + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +@@ -1631,7 +1665,24 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS)); +- ++ /** ++ * SoupWebsocketConnection:max-total-message-size: ++ * ++ * The total message size for incoming packets. ++ * ++ * The protocol expects or 0 to not limit it. ++ * ++ */ ++ g_object_class_install_property (gobject_class, PROP_MAX_TOTAL_MESSAGE_SIZE, ++ g_param_spec_uint64 ("max-total-message-size", ++ "Max total message size", ++ "Max total message size ", ++ 0, ++ G_MAXUINT64, ++ MAX_TOTAL_MESSAGE_SIZE_DEFAULT, ++ G_PARAM_READWRITE | ++ G_PARAM_CONSTRUCT | ++ G_PARAM_STATIC_STRINGS)); + /** + * SoupWebsocketConnection::message: + * @self: the WebSocket +@@ -2145,6 +2196,51 @@ soup_websocket_connection_set_max_incoming_payload_size (SoupWebsocketConnection + } + } + ++/** ++ * soup_websocket_connection_get_max_total_message_size: ++ * @self: the WebSocket ++ * ++ * Gets the maximum total message size allowed for packets. ++ * ++ * Returns: the maximum total message size. ++ * ++ */ ++guint64 ++soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *self) ++{ ++ SoupWebsocketConnectionPrivate *pv; ++ ++ g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), MAX_TOTAL_MESSAGE_SIZE_DEFAULT); ++ pv = self->pv; ++ ++ return pv->max_total_message_size; ++} ++ ++/** ++ * soup_websocket_connection_set_max_total_message_size: ++ * @self: the WebSocket ++ * @max_total_message_size: the maximum total message size ++ * ++ * Sets the maximum total message size allowed for packets. ++ * ++ * It does not limit the outgoing packet size. ++ * ++ */ ++void ++soup_websocket_connection_set_max_total_message_size (SoupWebsocketConnection *self, ++ guint64 max_total_message_size) ++{ ++ SoupWebsocketConnectionPrivate *pv; ++ ++ g_return_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self)); ++ pv = self->pv; ++ ++ if (pv->max_total_message_size != max_total_message_size) { ++ pv->max_total_message_size = max_total_message_size; ++ g_object_notify (G_OBJECT (self), "max-total-message-size"); ++ } ++} ++ + /** + * soup_websocket_connection_get_keepalive_interval: + * @self: the WebSocket +diff --git a/libsoup/soup-websocket-connection.h b/libsoup/soup-websocket-connection.h +index f82d723..d2a60e9 100644 +--- a/libsoup/soup-websocket-connection.h ++++ b/libsoup/soup-websocket-connection.h +@@ -136,6 +136,13 @@ SOUP_AVAILABLE_IN_2_58 + void soup_websocket_connection_set_keepalive_interval (SoupWebsocketConnection *self, + guint interval); + ++SOUP_AVAILABLE_IN_2_72 ++guint64 soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *self); ++ ++SOUP_AVAILABLE_IN_2_72 ++void soup_websocket_connection_set_max_total_message_size (SoupWebsocketConnection *self, ++ guint64 max_total_message_size); ++ + G_END_DECLS + + #endif /* __SOUP_WEBSOCKET_CONNECTION_H__ */ +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-2.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-2.patch new file mode 100644 index 00000000000..f9c894aaec0 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-2.patch @@ -0,0 +1,131 @@ +From 0bfc66f1082f5d47df99b6fc03f742ef7fa1051e Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 5 Feb 2026 17:19:51 +0800 +Subject: [PATCH] Set message size limit in SoupServer rather than + SoupWebsocketConnection + +We're not sure about the compatibility implications of having a default +size limit for clients. + +Also not sure whether the server limit is actually set appropriately, +but there is probably very little server usage of +SoupWebsocketConnection in the wild, so it's not so likely to break +things. + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/2df34d9544cabdbfdedd3b36f098cf69233b1df7] +CVE: CVE-2025-32049 + +Signed-off-by: Changqing Li +--- + libsoup/soup-server.c | 24 +++++++++++++++++++----- + libsoup/soup-websocket-connection.c | 23 ++++++++++++++++------- + 2 files changed, 35 insertions(+), 12 deletions(-) + +diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c +index 63875f3..a3f8597 100644 +--- a/libsoup/soup-server.c ++++ b/libsoup/soup-server.c +@@ -216,6 +216,16 @@ enum { + + G_DEFINE_TYPE_WITH_PRIVATE (SoupServer, soup_server, G_TYPE_OBJECT) + ++/* SoupWebsocketConnection by default limits only maximum packet size. But a ++ * message may consist of multiple packets, so SoupServer additionally restricts ++ * total message size to mitigate denial of service attacks on the server. ++ * SoupWebsocketConnection does not do this by default because I don't know ++ * whether that would or would not cause compatibility problems for websites. ++ * ++ * This size is in bytes and it is arbitrary. ++ */ ++#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 ++ + static SoupClientContext *soup_client_context_ref (SoupClientContext *client); + static void soup_client_context_unref (SoupClientContext *client); + +@@ -1445,11 +1455,15 @@ complete_websocket_upgrade (SoupMessage *msg, gpointer user_data) + + soup_client_context_ref (client); + stream = soup_client_context_steal_connection (client); +- conn = soup_websocket_connection_new_with_extensions (stream, uri, +- SOUP_WEBSOCKET_CONNECTION_SERVER, +- soup_message_headers_get_one (msg->request_headers, "Origin"), +- soup_message_headers_get_one (msg->response_headers, "Sec-WebSocket-Protocol"), +- handler->websocket_extensions); ++ conn = SOUP_WEBSOCKET_CONNECTION (g_object_new (SOUP_TYPE_WEBSOCKET_CONNECTION, ++ "io-stream", stream, ++ "uri", uri, ++ "connection-type", SOUP_WEBSOCKET_CONNECTION_SERVER, ++ "origin", soup_message_headers_get_one (msg->request_headers, "Origin"), ++ "protocol", soup_message_headers_get_one (msg->response_headers, "Sec-WebSocket-Protocol"), ++ "extensions", handler->websocket_extensions, ++ "max-total-message-size", (guint64)MAX_TOTAL_MESSAGE_SIZE_DEFAULT, ++ NULL)); + handler->websocket_extensions = NULL; + g_object_unref (stream); + soup_client_context_unref (client); +diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c +index 3dad477..e7fa9b7 100644 +--- a/libsoup/soup-websocket-connection.c ++++ b/libsoup/soup-websocket-connection.c +@@ -154,7 +154,6 @@ struct _SoupWebsocketConnectionPrivate { + }; + + #define MAX_INCOMING_PAYLOAD_SIZE_DEFAULT 128 * 1024 +-#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 + #define READ_BUFFER_SIZE 1024 + #define MASK_LENGTH 4 + +@@ -1615,8 +1614,9 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) + /** + * SoupWebsocketConnection:max-incoming-payload-size: + * +- * The maximum payload size for incoming packets the protocol expects +- * or 0 to not limit it. ++ * The maximum payload size for incoming packets, or 0 to not limit it. ++ * Each message may consist of multiple packets, so also refer to ++ * [property@WebSocketConnection:max-total-message-size]. + * + * Since: 2.56 + */ +@@ -1668,9 +1668,18 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) + /** + * SoupWebsocketConnection:max-total-message-size: + * +- * The total message size for incoming packets. ++ * The maximum size for incoming messages. ++ * Set to a value to limit the total message size, or 0 to not ++ * limit it. + * +- * The protocol expects or 0 to not limit it. ++ * [method@Server.add_websocket_handler] will set this to a nonzero ++ * default value to mitigate denial of service attacks. Clients must ++ * choose their own default if they need to mitigate denial of service ++ * attacks. You also need to set your own default if creating your own ++ * server SoupWebsocketConnection without using SoupServer. ++ * ++ * Each message may consist of multiple packets, so also refer to ++ *[property@WebSocketConnection:max-incoming-payload-size]. + * + */ + g_object_class_install_property (gobject_class, PROP_MAX_TOTAL_MESSAGE_SIZE, +@@ -1679,7 +1688,7 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) + "Max total message size ", + 0, + G_MAXUINT64, +- MAX_TOTAL_MESSAGE_SIZE_DEFAULT, ++ 0, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT | + G_PARAM_STATIC_STRINGS)); +@@ -2210,7 +2219,7 @@ soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *s + { + SoupWebsocketConnectionPrivate *pv; + +- g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), MAX_TOTAL_MESSAGE_SIZE_DEFAULT); ++ g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), 0); + pv = self->pv; + + return pv->max_total_message_size; +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1467.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1467.patch new file mode 100644 index 00000000000..a1a130ee3ae --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1467.patch @@ -0,0 +1,151 @@ +From b4f1dcb89a552fc03bfd0e65830b4f76fdc4a232 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Tue, 21 Apr 2026 17:10:37 +0800 +Subject: [PATCH] Fix CVE-2026-1467 + +CVE: CVE-2026-1467 +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/6dfe506618d2d5856618e5c0f85bd93386dc8012] + +The original backport patch targets libsoup3. This patch has been +adapted accordingly for libsoup2, refer the openSUSE patch, see [1] + +[1] https://www.suse.com/security/cve/CVE-2026-1467.html + +Signed-off-by: Changqing Li +--- + libsoup/soup-auth.c | 2 +- + libsoup/soup-message.c | 5 +++- + libsoup/soup-uri.c | 60 ++++++++++++++++++++++++++++++++++++++++++ + libsoup/soup-uri.h | 2 ++ + 4 files changed, 67 insertions(+), 2 deletions(-) + +diff --git a/libsoup/soup-auth.c b/libsoup/soup-auth.c +index 1896aab..e205fe3 100644 +--- a/libsoup/soup-auth.c ++++ b/libsoup/soup-auth.c +@@ -535,7 +535,7 @@ GSList * + soup_auth_get_protection_space (SoupAuth *auth, SoupURI *source_uri) + { + g_return_val_if_fail (SOUP_IS_AUTH (auth), NULL); +- g_return_val_if_fail (source_uri != NULL, NULL); ++ g_return_val_if_fail (soup_uri_is_valid (source_uri), NULL); + + return SOUP_AUTH_GET_CLASS (auth)->get_protection_space (auth, source_uri); + } +diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c +index da32b42..cc4f22b 100644 +--- a/libsoup/soup-message.c ++++ b/libsoup/soup-message.c +@@ -1044,7 +1044,7 @@ soup_message_new (const char *method, const char *uri_string) + uri = soup_uri_new (uri_string); + if (!uri) + return NULL; +- if (!uri->host) { ++ if (!soup_uri_is_valid (uri)) { + soup_uri_free (uri); + return NULL; + } +@@ -1066,6 +1066,8 @@ soup_message_new (const char *method, const char *uri_string) + SoupMessage * + soup_message_new_from_uri (const char *method, SoupURI *uri) + { ++ g_return_val_if_fail (soup_uri_is_valid (uri), NULL); ++ + return g_object_new (SOUP_TYPE_MESSAGE, + SOUP_MESSAGE_METHOD, method, + SOUP_MESSAGE_URI, uri, +@@ -1676,6 +1678,7 @@ soup_message_set_uri (SoupMessage *msg, SoupURI *uri) + SoupMessagePrivate *priv; + + g_return_if_fail (SOUP_IS_MESSAGE (msg)); ++ g_return_if_fail (soup_uri_is_valid (uri)); + priv = soup_message_get_instance_private (msg); + + if (priv->uri) +diff --git a/libsoup/soup-uri.c b/libsoup/soup-uri.c +index bdb7a17..d781ff1 100644 +--- a/libsoup/soup-uri.c ++++ b/libsoup/soup-uri.c +@@ -1342,6 +1342,66 @@ soup_uri_host_equal (gconstpointer v1, gconstpointer v2) + return g_ascii_strcasecmp (one->host, two->host) == 0; + } + ++static gboolean ++is_valid_character_for_host (char c) ++{ ++ static const char forbidden_chars[] = { '\t', '\n', '\r', ' ', '#', '/', ':', '<', '>', '?', '@', '[', '\\', ']', '^', '|' }; ++ int i; ++ ++ for (i = 0; i < G_N_ELEMENTS (forbidden_chars); ++i) { ++ if (c == forbidden_chars[i]) ++ return FALSE; ++ } ++ ++ return TRUE; ++} ++ ++static gboolean ++is_host_valid (const char* host) ++{ ++ int i; ++ gboolean is_valid; ++ char *ascii_host = NULL; ++ ++ if (!host || !host[0]) ++ return FALSE; ++ ++ if (g_hostname_is_non_ascii (host)) { ++ ascii_host = g_hostname_to_ascii (host); ++ if (!ascii_host) ++ return FALSE; ++ ++ host = ascii_host; ++ } ++ ++ if ((g_ascii_isdigit (host[0]) || strchr (host, ':')) && g_hostname_is_ip_address (host)) { ++ g_free (ascii_host); ++ return TRUE; ++ } ++ is_valid = TRUE; ++ for (i = 0; host[i] && is_valid; i++) ++ is_valid = is_valid_character_for_host (host[i]); ++ ++ g_free (ascii_host); ++ ++ return is_valid; ++} ++ ++gboolean ++soup_uri_is_valid (SoupURI *uri) ++{ ++ if (!uri) ++ return FALSE; ++ ++ if (!is_host_valid (soup_uri_get_host (uri))) ++ return FALSE; ++ ++ /* FIXME: validate other URI components? */ ++ ++ return TRUE; ++} ++ ++ + gboolean + soup_uri_is_http (SoupURI *uri, char **aliases) + { +diff --git a/libsoup/soup-uri.h b/libsoup/soup-uri.h +index 8015e4f..64099c3 100644 +--- a/libsoup/soup-uri.h ++++ b/libsoup/soup-uri.h +@@ -133,6 +133,8 @@ guint soup_uri_host_hash (gconstpointer key); + SOUP_AVAILABLE_IN_2_28 + gboolean soup_uri_host_equal (gconstpointer v1, + gconstpointer v2); ++SOUP_AVAILABLE_IN_2_68 ++gboolean soup_uri_is_valid (SoupURI *uri); + + #define SOUP_URI_IS_VALID(uri) ((uri) && (uri)->scheme && (uri)->path) + #define SOUP_URI_VALID_FOR_HTTP(uri) ((uri) && ((uri)->scheme == SOUP_URI_SCHEME_HTTP || (uri)->scheme == SOUP_URI_SCHEME_HTTPS) && (uri)->host && (uri)->path) +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1539.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1539.patch new file mode 100644 index 00000000000..c6b813a98f7 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1539.patch @@ -0,0 +1,31 @@ +From 285faea567e1e2a95226201175dbf745a64a2439 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Fri, 20 Mar 2026 15:04:22 +0800 +Subject: [PATCH 4/4] Also remove Proxy-Authorization header on cross origin + redirect + +Closes #489 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/98c1285d9d78662c38bf14b4a128af01ccfdb446] +CVE: CVE-2026-1539 + +Signed-off-by: Changqing Li +--- + libsoup/soup-session.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c +index cc0d04c..0361856 100644 +--- a/libsoup/soup-session.c ++++ b/libsoup/soup-session.c +@@ -1190,6 +1190,7 @@ soup_session_redirect_message (SoupSession *session, SoupMessage *msg) + /* Strip all credentials on cross-origin redirect. */ + if (!soup_uri_host_equal (soup_message_get_uri (msg), new_uri)) { + soup_message_headers_remove (msg->request_headers, "Authorization"); ++ soup_message_headers_remove (msg->request_headers, "Proxy-Authorization"); + soup_message_set_auth (msg, NULL); + } + +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1760.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1760.patch new file mode 100644 index 00000000000..a5547132a2c --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1760.patch @@ -0,0 +1,153 @@ +From 0fca37e0fce479284e62091ffb9b7d6caff1c7e4 Mon Sep 17 00:00:00 2001 +From: Carlos Garcia Campos +Date: Thu, 29 Jan 2026 16:43:28 +0100 +Subject: [PATCH] server: close the connection after responsing a request + containing Content-Length and Transfer-Encoding + +Closes #475 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/6224df5a471e9040a99dd3dc2e91817a701b1bf6] +CVE: CVE-2026-1760 + +Signed-off-by: Changqing Li +--- + libsoup/soup-message-headers.c | 86 +++++++++++++++----------------- + libsoup/soup-message-server-io.c | 8 +++ + 2 files changed, 49 insertions(+), 45 deletions(-) + +diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c +index 535cf14..06d9600 100644 +--- a/libsoup/soup-message-headers.c ++++ b/libsoup/soup-message-headers.c +@@ -666,38 +666,13 @@ clear_special_headers (SoupMessageHeaders *hdrs) + static void + transfer_encoding_setter (SoupMessageHeaders *hdrs, const char *value) + { +- if (value) { +- /* "identity" is a wrong value according to RFC errata 408, +- * and RFC 7230 does not list it as valid transfer-coding. +- * Nevertheless, the obsolete RFC 2616 stated "identity" +- * as valid, so we can't handle it as unrecognized here +- * for compatibility reasons. +- */ +- if (g_ascii_strcasecmp (value, "chunked") == 0) +- hdrs->encoding = SOUP_ENCODING_CHUNKED; +- else if (g_ascii_strcasecmp (value, "identity") != 0) +- hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; +- } else +- hdrs->encoding = -1; ++ hdrs->encoding = -1; + } + + static void + content_length_setter (SoupMessageHeaders *hdrs, const char *value) + { +- /* Transfer-Encoding trumps Content-Length */ +- if (hdrs->encoding == SOUP_ENCODING_CHUNKED) +- return; +- +- if (value) { +- char *end; +- +- hdrs->content_length = g_ascii_strtoull (value, &end, 10); +- if (*end) +- hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; +- else +- hdrs->encoding = SOUP_ENCODING_CONTENT_LENGTH; +- } else +- hdrs->encoding = -1; ++ hdrs->encoding = -1; + } + + /** +@@ -730,29 +705,50 @@ SoupEncoding + soup_message_headers_get_encoding (SoupMessageHeaders *hdrs) + { + const char *header; ++ const char *content_length; ++ const char *transfer_encoding; + + if (hdrs->encoding != -1) + return hdrs->encoding; + +- /* If Transfer-Encoding was set, hdrs->encoding would already +- * be set. So we don't need to check that possibility. +- */ +- header = soup_message_headers_get_one (hdrs, "Content-Length"); +- if (header) { +- content_length_setter (hdrs, header); +- if (hdrs->encoding != -1) +- return hdrs->encoding; +- } ++ /* Transfer-Encoding is checked first because it overrides the Content-Length */ ++ transfer_encoding = soup_message_headers_get_one (hdrs, "Transfer-Encoding"); ++ if (transfer_encoding) { ++ /* "identity" is a wrong value according to RFC errata 408, ++ * and RFC 7230 does not list it as valid transfer-coding. ++ * Nevertheless, the obsolete RFC 2616 stated "identity" ++ * as valid, so we can't handle it as unrecognized here ++ * for compatibility reasons. ++ */ ++ if (g_ascii_strcasecmp (transfer_encoding, "chunked") == 0) ++ hdrs->encoding = SOUP_ENCODING_CHUNKED; ++ else if (g_ascii_strcasecmp (transfer_encoding, "identity") != 0) ++ hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; ++ } else { ++ content_length = soup_message_headers_get_one (hdrs, "Content-Length"); ++ if (content_length) { ++ char *end; ++ ++ hdrs->content_length = g_ascii_strtoull (content_length, &end, 10); ++ if (*end) ++ hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; ++ else ++ hdrs->encoding = SOUP_ENCODING_CONTENT_LENGTH; ++ } ++ } ++ ++ if (hdrs->encoding == -1) { ++ /* Per RFC 2616 4.4, a response body that doesn't indicate its ++ * encoding otherwise is terminated by connection close, and a ++ * request that doesn't indicate otherwise has no body. Note ++ * that SoupMessage calls soup_message_headers_set_encoding() ++ * to override the response body default for our own ++ * server-side messages. ++ */ ++ hdrs->encoding = (hdrs->type == SOUP_MESSAGE_HEADERS_RESPONSE) ? ++ SOUP_ENCODING_EOF : SOUP_ENCODING_NONE; ++ } + +- /* Per RFC 2616 4.4, a response body that doesn't indicate its +- * encoding otherwise is terminated by connection close, and a +- * request that doesn't indicate otherwise has no body. Note +- * that SoupMessage calls soup_message_headers_set_encoding() +- * to override the response body default for our own +- * server-side messages. +- */ +- hdrs->encoding = (hdrs->type == SOUP_MESSAGE_HEADERS_RESPONSE) ? +- SOUP_ENCODING_EOF : SOUP_ENCODING_NONE; + return hdrs->encoding; + } + +diff --git a/libsoup/soup-message-server-io.c b/libsoup/soup-message-server-io.c +index 71e943b..df5eafc 100644 +--- a/libsoup/soup-message-server-io.c ++++ b/libsoup/soup-message-server-io.c +@@ -80,6 +80,14 @@ parse_request_headers (SoupMessage *msg, char *headers, guint headers_len, + return SOUP_STATUS_BAD_REQUEST; + } + ++ /* A server MAY reject a request that contains both Content-Length and ++ * Transfer-Encoding or process such a request in accordance with the ++ * Transfer-Encoding alone. Regardless, the server MUST close the connection ++ * after responding to such a request to avoid the potential attacks ++ */ ++ if (*encoding == SOUP_ENCODING_CHUNKED && soup_message_headers_get_one (msg->request_headers, "Content-Length")) ++ soup_message_headers_replace (msg->request_headers, "Connection", "close"); ++ + /* Generate correct context for request */ + req_host = soup_message_headers_get_one (msg->request_headers, "Host"); + if (req_host && strchr (req_host, '/')) { +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1761.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1761.patch new file mode 100644 index 00000000000..573e3e1dd01 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1761.patch @@ -0,0 +1,36 @@ +From 07757b7feacfc660c6c463ff2b773c13bc42d2c9 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 19 Mar 2026 17:21:32 +0800 +Subject: [PATCH 3/4] multipart: check length of bytes read + soup_filter_input_stream_read_until() + +We do make sure the read length is smaller than the buffer length when +the boundary is not found, but we should do the same when the boundary +is found. + +Spotted in #YWH-PGM9867-149 +Closes #493 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/cfa9d90d1a5c274233554a264c56551c13d6a6f0] +CVE: CVE-2026-1761 + +Signed-off-by: Changqing Li +--- + libsoup/soup-filter-input-stream.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libsoup/soup-filter-input-stream.c b/libsoup/soup-filter-input-stream.c +index 2c30bf9..c34510b 100644 +--- a/libsoup/soup-filter-input-stream.c ++++ b/libsoup/soup-filter-input-stream.c +@@ -272,6 +272,6 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, + if (eof && !*got_boundary) + read_length = MIN (fstream->priv->buf->len, length); + else +- read_length = p - buf; ++ read_length = MIN ((gsize)(p - buf), length); + return read_from_buf (fstream, buffer, read_length); + } +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1801.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1801.patch new file mode 100644 index 00000000000..5f445f73548 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1801.patch @@ -0,0 +1,126 @@ +From f9c933e258e9ef2f221cca6395f8092a1c4b93dd Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 19 Mar 2026 17:10:36 +0800 +Subject: [PATCH 2/4] Fix CVE-2026-1801 + +This patch merges 3 upstream patches + +Chery-pick the first two patches to make the context is the same as the +third patch that fix CVE-2026-1801 + +Upstream-Status: Backport +[https://gitlab.gnome.org/GNOME/libsoup/-/commit/1e32b5e123aa1689505472bdbfcbd897eac41977, +https://gitlab.gnome.org/GNOME/libsoup/-/commit/8a2e15c88512ae4517d2c2c887d39299725b22da, +https://gitlab.gnome.org/GNOME/libsoup/-/commit/b9a1c0663ff8ab6e79715db4b35b54f560416ddd] +CVE: CVE-2026-1801 + +Signed-off-by: Changqing Li +--- + libsoup/soup-body-input-stream.c | 66 ++++++++++++++++++++------------ + 1 file changed, 41 insertions(+), 25 deletions(-) + +diff --git a/libsoup/soup-body-input-stream.c b/libsoup/soup-body-input-stream.c +index 6b95884..25d9312 100644 +--- a/libsoup/soup-body-input-stream.c ++++ b/libsoup/soup-body-input-stream.c +@@ -159,15 +159,18 @@ soup_body_input_stream_read_chunked (SoupBodyInputStream *bistream, + again: + switch (bistream->priv->chunked_state) { + case SOUP_BODY_INPUT_STREAM_STATE_CHUNK_SIZE: +- nread = soup_filter_input_stream_read_line ( +- fstream, metabuf, sizeof (metabuf), blocking, +- &got_line, cancellable, error); +- if (nread <= 0) ++ nread = soup_filter_input_stream_read_until ( ++ fstream, metabuf, sizeof (metabuf), ++ "\r\n", 2, blocking, TRUE, ++ &got_line, cancellable, error); ++ if (nread < 0) + return nread; +- if (!got_line) { +- g_set_error_literal (error, G_IO_ERROR, +- G_IO_ERROR_PARTIAL_INPUT, +- _("Connection terminated unexpectedly")); ++ if (nread == 0 || !got_line) { ++ if (error && *error == NULL) { ++ g_set_error_literal (error, G_IO_ERROR, ++ G_IO_ERROR_PARTIAL_INPUT, ++ ("Connection terminated unexpectedly")); ++ } + return -1; + } + +@@ -180,9 +183,9 @@ again: + + case SOUP_BODY_INPUT_STREAM_STATE_CHUNK: + nread = soup_body_input_stream_read_raw ( +- bistream, buffer, +- MIN (count, bistream->priv->read_length), +- blocking, cancellable, error); ++ bistream, buffer, ++ MIN (count, bistream->priv->read_length), ++ blocking, cancellable, error); + if (nread > 0) { + bistream->priv->read_length -= nread; + if (bistream->priv->read_length == 0) +@@ -191,16 +194,19 @@ again: + return nread; + + case SOUP_BODY_INPUT_STREAM_STATE_CHUNK_END: +- nread = soup_filter_input_stream_read_line ( +- SOUP_FILTER_INPUT_STREAM (bistream->priv->base_stream), +- metabuf, sizeof (metabuf), blocking, +- &got_line, cancellable, error); +- if (nread <= 0) ++ nread = soup_filter_input_stream_read_until ( ++ SOUP_FILTER_INPUT_STREAM (bistream->priv->base_stream), ++ metabuf, sizeof (metabuf), ++ "\r\n", 2, blocking, TRUE, ++ &got_line, cancellable, error); ++ if (nread < 0) + return nread; +- if (!got_line) { +- g_set_error_literal (error, G_IO_ERROR, +- G_IO_ERROR_PARTIAL_INPUT, +- _("Connection terminated unexpectedly")); ++ if (nread == 0 || !got_line) { ++ if (error && *error == NULL) { ++ g_set_error_literal (error, G_IO_ERROR, ++ G_IO_ERROR_PARTIAL_INPUT, ++ _("Connection terminated unexpectedly")); ++ } + return -1; + } + +@@ -208,13 +214,23 @@ again: + break; + + case SOUP_BODY_INPUT_STREAM_STATE_TRAILERS: +- nread = soup_filter_input_stream_read_line ( +- fstream, buffer, count, blocking, +- &got_line, cancellable, error); +- if (nread <= 0) ++ nread = soup_filter_input_stream_read_until ( ++ fstream, metabuf, sizeof (metabuf), ++ "\r\n", 2, blocking, TRUE, ++ &got_line, cancellable, error); ++ if (nread < 0) + return nread; + +- if (strncmp (buffer, "\r\n", nread) || strncmp (buffer, "\n", nread)) { ++ if (nread == 0) { ++ if (error && *error == NULL) { ++ g_set_error_literal (error, G_IO_ERROR, ++ G_IO_ERROR_PARTIAL_INPUT, ++ _("Connection terminated unexpectedly")); ++ } ++ return -1; ++ } ++ ++ if (nread == 2 && strncmp (metabuf, "\r\n", nread) == 0) { + bistream->priv->chunked_state = SOUP_BODY_INPUT_STREAM_STATE_DONE; + bistream->priv->eof = TRUE; + } +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2369.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2369.patch new file mode 100644 index 00000000000..814672cacaa --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2369.patch @@ -0,0 +1,33 @@ +From 5c4e65fd99ff4e3ae76c7985c5e160bb07ea0f92 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Wed, 25 Mar 2026 11:24:36 +0800 +Subject: [PATCH] sniffer: Handle potential underflow + +Closes #498 + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/b91bbd7d7888c85b17a8b33173caa806dff51681] +CVE: CVE-2026-2369 + +Signed-off-by: Changqing Li +--- + libsoup/soup-content-sniffer.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/libsoup/soup-content-sniffer.c b/libsoup/soup-content-sniffer.c +index 3edc568..b091bca 100644 +--- a/libsoup/soup-content-sniffer.c ++++ b/libsoup/soup-content-sniffer.c +@@ -504,6 +504,10 @@ sniff_unknown (SoupContentSniffer *sniffer, SoupBuffer *buffer, + if (!sniff_scriptable && type_row->scriptable) + continue; + ++ /* Ensure we have data to sniff - prevents underflow in resource_length - 1 */ ++ if (resource_length == 0) ++ continue; ++ + if (type_row->has_ws) { + guint index_stream = 0; + guint index_pattern = 0; +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2443.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2443.patch new file mode 100644 index 00000000000..99d42acb1ee --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2443.patch @@ -0,0 +1,135 @@ +From 7bb3115a296154e3f465900ea5c984a493385a7f Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Fri, 19 Dec 2025 23:49:05 +0000 +Subject: [PATCH] Fix CVE-2026-2443 + +Upstream-Status: Backport [ +c1796442 soup-message-headers: Rework Range response statuses to match Apache +191ef313 soup-message-headers: Fix rejection of Range headers with trailing garbage +be677bea soup-message-headers: Fix parsing of invalid Range suffix lengths +2bbfdfe8 soup-message-headers: Reject ranges where end is before start +739bf7cb soup-message-headers: Reject invalid Range ends longer than the content +] +CVE: CVE-2026-2443 + +Signed-off-by: Changqing Li +--- + libsoup/soup-message-headers.c | 62 ++++++++++++++++++++++++---------- + 1 file changed, 44 insertions(+), 18 deletions(-) + +diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c +index bb20bbb..535cf14 100644 +--- a/libsoup/soup-message-headers.c ++++ b/libsoup/soup-message-headers.c +@@ -943,10 +943,16 @@ sort_ranges (gconstpointer a, gconstpointer b) + } + + /* like soup_message_headers_get_ranges(), except it returns: +- * SOUP_STATUS_OK if there is no Range or it should be ignored. +- * SOUP_STATUS_PARTIAL_CONTENT if there is at least one satisfiable range. +- * SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE if @check_satisfiable +- * is %TRUE and the request is not satisfiable given @total_length. ++ * - SOUP_STATUS_OK if there is no Range or it should be ignored due to being ++ * entirely invalid. ++ * - SOUP_STATUS_PARTIAL_CONTENT if there is at least one satisfiable range. ++ * - SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE if @check_satisfiable ++ * is %TRUE, the Range is valid, but no part of the request is satisfiable ++ * given @total_length. ++ * ++ * @ranges and @length are only set if SOUP_STATUS_PARTIAL_CONTENT is returned. ++ * ++ * See https://httpwg.org/specs/rfc9110.html#field.range + */ + guint + soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, +@@ -960,22 +966,28 @@ soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, + GArray *array; + char *spec, *end; + guint status = SOUP_STATUS_OK; ++ gboolean is_all_valid = TRUE; + + if (!range || strncmp (range, "bytes", 5) != 0) +- return status; ++ return SOUP_STATUS_OK; /* invalid header or unknown range unit */ + + range += 5; + while (g_ascii_isspace (*range)) + range++; + if (*range++ != '=') +- return status; ++ return SOUP_STATUS_OK; /* invalid header */ + while (g_ascii_isspace (*range)) + range++; + + range_list = soup_header_parse_list (range); + if (!range_list) +- return status; ++ return SOUP_STATUS_OK; /* invalid list */ + ++ /* Loop through the ranges and modify the status accordingly. Default to ++ * status 200 (OK, ignoring the ranges). Switch to status 206 (Partial ++ * Content) if there is at least one partially valid range. Switch to ++ * status 416 (Range Not Satisfiable) if there are no partially valid ++ * ranges at all. */ + array = g_array_new (FALSE, FALSE, sizeof (SoupRange)); + for (r = range_list; r; r = r->next) { + SoupRange cur; +@@ -988,30 +1000,44 @@ soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, + cur.start = g_ascii_strtoull (spec, &end, 10); + if (*end == '-') + end++; +- if (*end) { ++ if (*end) + cur.end = g_ascii_strtoull (end, &end, 10); +- if (cur.end < cur.start) { +- status = SOUP_STATUS_OK; +- break; +- } +- } else ++ else + cur.end = total_length - 1; + } ++ + if (*end) { +- status = SOUP_STATUS_OK; +- break; +- } else if (check_satisfiable && cur.start >= total_length) { +- if (status == SOUP_STATUS_OK) +- status = SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE; ++ /* Junk after the range */ ++ is_all_valid = FALSE; ++ continue; ++ } ++ ++ if (cur.end < cur.start) { ++ is_all_valid = FALSE; ++ continue; ++ } ++ ++ g_assert (cur.start >= 0); ++ if (cur.end >= total_length) ++ cur.end = total_length - 1; ++ ++ if (cur.start >= total_length) { ++ /* Range is valid, but unsatisfiable */ + continue; + } + ++ /* We have at least one (at least partially) satisfiable range */ + g_array_append_val (array, cur); + status = SOUP_STATUS_PARTIAL_CONTENT; + } + soup_header_free_list (range_list); + + if (status != SOUP_STATUS_PARTIAL_CONTENT) { ++ g_assert (status == SOUP_STATUS_OK); ++ ++ if (is_all_valid && check_satisfiable) ++ status = SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE; ++ + g_array_free (array, TRUE); + return status; + } +-- +2.34.1 + diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb b/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb index 68ec576d9b0..e588e60cd59 100644 --- a/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb @@ -40,6 +40,16 @@ SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ file://CVE-2025-4948.patch \ file://CVE-2025-4969.patch \ file://CVE-2025-4945.patch \ + file://CVE-2025-14523.patch \ + file://CVE-2025-32049-1.patch \ + file://CVE-2025-32049-2.patch \ + file://CVE-2026-2443.patch \ + file://CVE-2026-1801.patch \ + file://CVE-2026-1761.patch \ + file://CVE-2026-1539.patch \ + file://CVE-2026-2369.patch \ + file://CVE-2026-1760.patch \ + file://CVE-2026-1467.patch \ " SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" diff --git a/meta-oe/recipes-support/libspdm/libspdm_3.8.1.bb b/meta-oe/recipes-support/libspdm/libspdm_3.8.1.bb deleted file mode 100644 index 431eb8fd409..00000000000 --- a/meta-oe/recipes-support/libspdm/libspdm_3.8.1.bb +++ /dev/null @@ -1,81 +0,0 @@ -SUMMARY = "DMTF's Reference Implementation of SPDM" -DESCRIPTION = "libspdm is a reference implementation of the DMTF’s Security Protocols and \ -Data Models (SPDM). This is used to enable authentication, attestation and key exchange to \ -assist in providing infrastructure security enablement" -HOMEPAGE = "https://github.com/DMTF/libspdm" -BUGTRACKER = "https://github.com/DMTF/libspdm/issues" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8f9b59a81a88da8e812af43728b72dd7" - -DEPENDS = "openssl" - -SRC_URI = "git://github.com/DMTF/libspdm.git;branch=release-3.8;protocol=https" -SRCREV = "d7c8c8247b4d0bd8ed75d9f35a558a4df173a4c7" - -inherit cmake - -LIBSPDM_CFLAGS = "\ - ${OECMAKE_C_FLAGS} \ - -DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ - -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0 \ - -DLIBSPDM_ENABLE_CAPABILITY_GET_KEY_PAIR_INFO_CAP=0 \ - -DLIBSPDM_ENABLE_CAPABILITY_SET_KEY_PAIR_INFO_CAP=0 \ - -DLIBSPDM_HAL_PASS_SPDM_CONTEXT=1 \ - -DLIBSPDM_ENABLE_CAPABILITY_ENDPOINT_INFO_CAP=0 \ - " - -LIBSPDM_CFLAGS:append:toolchain-gcc = " -fPIE" - -def get_spdm_multiarch(bb, d): - target_arch = d.getVar('TARGET_ARCH') - multiarch_options = { - "x86_64": "x64", - "i586": "ia32", - "i686": "ia32", - "arm": "arm", - "aarch64": "aarch64", - "riscv32": "riscv32", - "riscv64": "riscv64", - "ppc64le": "ppc64le", - } - - if target_arch in multiarch_options : - return multiarch_options[target_arch] - - bb.error("unsupported architecture '%s'" % target_arch) - -EXTRA_OECMAKE += "\ - -DARCH=${@get_spdm_multiarch(bb, d)} \ - -DTOOLCHAIN=NONE \ - -DTARGET=Release \ - -DCRYPTO=openssl \ - -DENABLE_BINARY_BUILD=1 \ - -DCOMPILED_LIBCRYPTO_PATH=${libdir} \ - -DCOMPILED_LIBSSL_PATH=${libdir} \ - -DDISABLE_TESTS=1 \ - -DDISABLE_EDDSA=1 \ - -DCMAKE_C_FLAGS='${LIBSPDM_CFLAGS}' \ - " - -do_install () { - install -d ${D}/${libdir} - install -m 0644 lib/* ${D}/${libdir}/ - - install -d ${D}/${includedir}/${BPN}/ - cp -rf ${S}/include/* ${D}/${includedir}/${BPN}/ - - install -d ${D}/${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib - cp -rf ${S}/os_stub/spdm_crypt_ext_lib/*.h ${D}/${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib/ -} - -FILES:${PN} += "${libdir}/*.a" -FILES:${PN} += "${includedir}/${BPN}/*.h" -FILES:${PN} += "${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib/*.h" - -COMPATIBLE_HOST:powerpc = "null" -COMPATIBLE_HOST:powerpc64 = "null" -COMPATIBLE_HOST:mipsarchn32 = "null" -COMPATIBLE_HOST:mipsarcho32 = "null" -COMPATIBLE_HOST:mipsarchn64 = "null" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb b/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb new file mode 100644 index 00000000000..7d227d41483 --- /dev/null +++ b/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb @@ -0,0 +1,82 @@ +SUMMARY = "DMTF's Reference Implementation of SPDM" +DESCRIPTION = "libspdm is a reference implementation of the DMTF’s Security Protocols and \ +Data Models (SPDM). This is used to enable authentication, attestation and key exchange to \ +assist in providing infrastructure security enablement" +HOMEPAGE = "https://github.com/DMTF/libspdm" +BUGTRACKER = "https://github.com/DMTF/libspdm/issues" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8f9b59a81a88da8e812af43728b72dd7" + +DEPENDS = "openssl" + +SRC_URI = "git://github.com/DMTF/libspdm.git;branch=release-3.8;protocol=https;tag=${PV}" +SRCREV = "f55cf6d48ec69b4ac60a63903e9c6a2cb0fd155d" + +inherit cmake + +LIBSPDM_CFLAGS = "\ + ${OECMAKE_C_FLAGS} \ + -DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ + -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0 \ + -DLIBSPDM_ENABLE_CAPABILITY_GET_KEY_PAIR_INFO_CAP=0 \ + -DLIBSPDM_ENABLE_CAPABILITY_SET_KEY_PAIR_INFO_CAP=0 \ + -DLIBSPDM_HAL_PASS_SPDM_CONTEXT=1 \ + -DLIBSPDM_ENABLE_CAPABILITY_ENDPOINT_INFO_CAP=0 \ + " + +LIBSPDM_CFLAGS:append:toolchain-gcc = " -fPIE" + +def get_spdm_multiarch(bb, d): + target_arch = d.getVar('TARGET_ARCH') + multiarch_options = { + "x86_64": "x64", + "i586": "ia32", + "i686": "ia32", + "arm": "arm", + "aarch64": "aarch64", + "riscv32": "riscv32", + "riscv64": "riscv64", + "ppc64le": "ppc64le", + "powerpc64le": "ppc64le", + } + + if target_arch in multiarch_options : + return multiarch_options[target_arch] + + bb.error("unsupported architecture '%s'" % target_arch) + +EXTRA_OECMAKE += "\ + -DARCH=${@get_spdm_multiarch(bb, d)} \ + -DTOOLCHAIN=NONE \ + -DTARGET=Release \ + -DCRYPTO=openssl \ + -DENABLE_BINARY_BUILD=1 \ + -DCOMPILED_LIBCRYPTO_PATH=${libdir} \ + -DCOMPILED_LIBSSL_PATH=${libdir} \ + -DDISABLE_TESTS=1 \ + -DDISABLE_EDDSA=1 \ + -DCMAKE_C_FLAGS='${LIBSPDM_CFLAGS}' \ + " + +do_install () { + install -d ${D}/${libdir} + install -m 0644 lib/* ${D}/${libdir}/ + + install -d ${D}/${includedir}/${BPN}/ + cp -rf ${S}/include/* ${D}/${includedir}/${BPN}/ + + install -d ${D}/${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib + cp -rf ${S}/os_stub/spdm_crypt_ext_lib/*.h ${D}/${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib/ +} + +FILES:${PN} += "${libdir}/*.a" +FILES:${PN} += "${includedir}/${BPN}/*.h" +FILES:${PN} += "${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib/*.h" + +COMPATIBLE_HOST:powerpc = "null" +COMPATIBLE_HOST:powerpc64 = "null" +COMPATIBLE_HOST:mipsarchn32 = "null" +COMPATIBLE_HOST:mipsarcho32 = "null" +COMPATIBLE_HOST:mipsarchn64 = "null" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/libssh/libssh_0.11.3.bb b/meta-oe/recipes-support/libssh/libssh_0.11.3.bb deleted file mode 100644 index 5928581312c..00000000000 --- a/meta-oe/recipes-support/libssh/libssh_0.11.3.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol" -HOMEPAGE = "http://www.libssh.org" -SECTION = "libs" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=dabb4958b830e5df11d2b0ed8ea255a0" - -DEPENDS = "zlib openssl" - -SRC_URI = "git://git.libssh.org/projects/libssh.git;protocol=https;branch=stable-0.11;tag=${BPN}-${PV} \ - file://0001-tests-CMakeLists.txt-do-not-search-ssh-sshd-commands.patch \ - file://run-ptest \ - " - -SRC_URI:append:toolchain-clang = " file://0001-CompilerChecks.cmake-drop-Wunused-variable-flag.patch" - -SRCREV = "301d0e16dfa8a5cac1cff956b6880ca90eb82864" - - -inherit cmake ptest - -PACKAGECONFIG ??= "gcrypt ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" -PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, " -PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=1, -DWITH_GCRYPT=0, libgcrypt, " -PACKAGECONFIG[tests] = "-DUNIT_TESTING=1, -DUNIT_TESTING=0, cmocka" - -ARM_INSTRUCTION_SET:armv5 = "arm" - -EXTRA_OECMAKE = " \ - -DWITH_PCAP=1 \ - -DWITH_SFTP=1 \ - -DWITH_ZLIB=1 \ - -DWITH_EXAMPLES=0 \ - " - -do_compile:prepend () { - if [ ${PTEST_ENABLED} = "1" ]; then - sed -i -e 's|${B}|${PTEST_PATH}|g' ${B}/config.h - sed -i -e 's|${S}|${PTEST_PATH}|g' ${B}/config.h - fi -} - -do_install_ptest () { - install -d ${D}${PTEST_PATH}/tests - cp -f ${B}/tests/unittests/torture_* ${D}${PTEST_PATH}/tests/ - install -d ${D}${PTEST_PATH}/tests/unittests - cp -f ${S}/tests/unittests/hello*.sh ${D}${PTEST_PATH}/tests/unittests/ -} - -BBCLASSEXTEND = "native nativesdk" - -CVE_STATUS[CVE-2025-5987] = "fixed-version: The vulnerability was fixed in 0.11.2" -CVE_STATUS[CVE-2025-5318] = "fixed-version: The vulnerability was fixed in 0.11.2" diff --git a/meta-oe/recipes-support/libssh/libssh_0.11.4.bb b/meta-oe/recipes-support/libssh/libssh_0.11.4.bb new file mode 100644 index 00000000000..292b8f797ea --- /dev/null +++ b/meta-oe/recipes-support/libssh/libssh_0.11.4.bb @@ -0,0 +1,49 @@ +SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol" +HOMEPAGE = "http://www.libssh.org" +SECTION = "libs" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=dabb4958b830e5df11d2b0ed8ea255a0" + +DEPENDS = "zlib openssl" + +SRC_URI = "git://git.libssh.org/projects/libssh.git;protocol=https;branch=stable-0.11;tag=${BPN}-${PV} \ + file://0001-tests-CMakeLists.txt-do-not-search-ssh-sshd-commands.patch \ + file://run-ptest \ + " + +SRC_URI:append:toolchain-clang = " file://0001-CompilerChecks.cmake-drop-Wunused-variable-flag.patch" + +SRCREV = "ca9c055d7c78ce357346ac7c2b14047568d47aa1" + + +inherit cmake ptest + +PACKAGECONFIG ??= "gcrypt ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, " +PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=1, -DWITH_GCRYPT=0, libgcrypt, " +PACKAGECONFIG[tests] = "-DUNIT_TESTING=1, -DUNIT_TESTING=0, cmocka" + +ARM_INSTRUCTION_SET:armv5 = "arm" + +EXTRA_OECMAKE = " \ + -DWITH_PCAP=1 \ + -DWITH_SFTP=1 \ + -DWITH_ZLIB=1 \ + -DWITH_EXAMPLES=0 \ + " + +do_compile:prepend () { + if [ ${PTEST_ENABLED} = "1" ]; then + sed -i -e 's|${B}|${PTEST_PATH}|g' ${B}/config.h + sed -i -e 's|${S}|${PTEST_PATH}|g' ${B}/config.h + fi +} + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + cp -f ${B}/tests/unittests/torture_* ${D}${PTEST_PATH}/tests/ + install -d ${D}${PTEST_PATH}/tests/unittests + cp -f ${S}/tests/unittests/hello*.sh ${D}${PTEST_PATH}/tests/unittests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/libtar/files/0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch b/meta-oe/recipes-support/libtar/files/0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch new file mode 100644 index 00000000000..4585c586b45 --- /dev/null +++ b/meta-oe/recipes-support/libtar/files/0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch @@ -0,0 +1,62 @@ +From 5ea04d70221a18cbd711a9d570c81ef0b9be6765 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 10 Apr 2026 18:41:04 -0700 +Subject: [PATCH] compat: convert K&R function definitions to ANSI C prototypes + +Replace old-style K&R parameter declarations with modern ANSI C +function prototypes in basename.c, dirname.c, and strmode.c. + +Required for compatibility with clang 22 under -std=gnu23, which +no longer supports K&R-style function definitions. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + compat/basename.c | 3 +-- + compat/dirname.c | 3 +-- + compat/strmode.c | 4 +--- + 3 files changed, 3 insertions(+), 7 deletions(-) + +diff --git a/compat/basename.c b/compat/basename.c +index 2ac1e13..7b0384a 100644 +--- a/compat/basename.c ++++ b/compat/basename.c +@@ -36,8 +36,7 @@ static char rcsid[] = "$OpenBSD: basename.c,v 1.4 1999/05/30 17:10:30 espie Exp + #include + + char * +-openbsd_basename(path) +- const char *path; ++openbsd_basename(const char *path) + { + static char bname[MAXPATHLEN]; + register const char *endp, *startp; +diff --git a/compat/dirname.c b/compat/dirname.c +index 986db4a..6c1231d 100644 +--- a/compat/dirname.c ++++ b/compat/dirname.c +@@ -36,8 +36,7 @@ static char rcsid[] = "$OpenBSD: dirname.c,v 1.4 1999/05/30 17:10:30 espie Exp $ + #include + + char * +-openbsd_dirname(path) +- const char *path; ++openbsd_dirname (const char *path) + { + static char bname[MAXPATHLEN]; + register const char *endp; +diff --git a/compat/strmode.c b/compat/strmode.c +index 5e7f15e..2ffab61 100644 +--- a/compat/strmode.c ++++ b/compat/strmode.c +@@ -40,9 +40,7 @@ static char *rcsid = "$OpenBSD: strmode.c,v 1.3 1997/06/13 13:57:20 deraadt Exp + #include + + void +-strmode(mode, p) +- register mode_t mode; +- register char *p; ++strmode (register mode_t mode, register char *p) + { + /* print type */ + switch (mode & S_IFMT) { diff --git a/meta-oe/recipes-support/libtar/libtar_1.2.20.bb b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb index a17509d2e58..39d410064ee 100644 --- a/meta-oe/recipes-support/libtar/libtar_1.2.20.bb +++ b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb @@ -20,6 +20,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz \ file://CVE-2021-33643-CVE-2021-33644.patch \ file://CVE-2021-33640-CVE-2021-33645-CVE-2021-33646.patch \ file://CVE-2013-4420.patch \ + file://0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch \ " S = "${UNPACKDIR}/${BPN}" diff --git a/meta-oe/recipes-support/libvarlink/libvarlink/0001-transport-tool-use-const-for-strchr-return-pointers.patch b/meta-oe/recipes-support/libvarlink/libvarlink/0001-transport-tool-use-const-for-strchr-return-pointers.patch new file mode 100644 index 00000000000..348dc888389 --- /dev/null +++ b/meta-oe/recipes-support/libvarlink/libvarlink/0001-transport-tool-use-const-for-strchr-return-pointers.patch @@ -0,0 +1,96 @@ +From 27e4f4504b3c60356b9507e926aae2b82ba47275 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 15 Apr 2026 11:10:01 -0700 +Subject: [PATCH] transport,tool: use const for strchr return pointers + +Fixes errors seen after c23 implemented in glibc + +lib/transport-device.c:13:14: error: assigning to 'char *' from 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + 13 | parm = strchr(address, ';'); + | ^ ~~~~~~~~~~~~~~~~~~~~ +1 error generated. + +Upstream-Status: Submitted [https://github.com/varlink/libvarlink/pull/85] +Signed-off-by: Khem Raj +--- + lib/transport-device.c | 2 +- + lib/transport-tcp.c | 4 ++-- + lib/transport-unix.c | 2 +- + tool/command-format.c | 2 +- + tool/command-info.c | 2 +- + 5 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/lib/transport-device.c b/lib/transport-device.c +index 0b8cec5..205eac4 100644 +--- a/lib/transport-device.c ++++ b/lib/transport-device.c +@@ -7,7 +7,7 @@ + #include + + static int strip_parameters(const char *address, char **devicep) { +- char *parm; ++ const char *parm; + _cleanup_(freep) char *device = NULL; + + parm = strchr(address, ';'); +diff --git a/lib/transport-tcp.c b/lib/transport-tcp.c +index 92a0e7b..fff2379 100644 +--- a/lib/transport-tcp.c ++++ b/lib/transport-tcp.c +@@ -10,7 +10,7 @@ + #include + + static int strip_parameters(const char *address, char **hostp) { +- char *parm; ++ const char *parm; + _cleanup_(freep) char *host = NULL; + + parm = strchr(address, ';'); +@@ -34,7 +34,7 @@ static void freeaddrinfop(struct addrinfo **ai) { + static int resolve_addrinfo(const char *address, struct addrinfo **resultp) { + _cleanup_(freep) char *host = NULL; + char *endptr; +- char *port; ++ const char *port; + struct addrinfo hints = { + .ai_family = AF_UNSPEC, + .ai_socktype = SOCK_STREAM, +diff --git a/lib/transport-unix.c b/lib/transport-unix.c +index 5dc3853..2414b29 100644 +--- a/lib/transport-unix.c ++++ b/lib/transport-unix.c +@@ -10,7 +10,7 @@ + #include + + static int strip_parameters(const char *address, char **pathp) { +- char *parm; ++ const char *parm; + _cleanup_(freep) char *path = NULL; + + parm = strchr(address, ';'); +diff --git a/tool/command-format.c b/tool/command-format.c +index 6932bc4..0f5ef8c 100644 +--- a/tool/command-format.c ++++ b/tool/command-format.c +@@ -155,7 +155,7 @@ static long format_run(Cli *UNUSED(cli), int argc, char **argv) { + static long format_complete(Cli *cli, int argc, char **UNUSED(argv), const char *current) { + _cleanup_(freep) char *prefix = NULL; + DIR *dir; +- char *p; ++ const char *p; + + if (argc != 1) + return 0; +diff --git a/tool/command-info.c b/tool/command-info.c +index 571b6fd..9d252f7 100644 +--- a/tool/command-info.c ++++ b/tool/command-info.c +@@ -137,7 +137,7 @@ static long info_run(Cli *cli, int argc, char **argv) { + static long info_complete(Cli *UNUSED(cli), int argc, char **UNUSED(argv), const char *current) { + _cleanup_(freep) char *prefix = NULL; + DIR *dir; +- char *p; ++ const char *p; + + if (argc != 1) + return 0; diff --git a/meta-oe/recipes-support/libvarlink/libvarlink_24.0.1.bb b/meta-oe/recipes-support/libvarlink/libvarlink_24.0.1.bb new file mode 100644 index 00000000000..1d1419a8780 --- /dev/null +++ b/meta-oe/recipes-support/libvarlink/libvarlink_24.0.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Varlink C library and command line tool" +HOMEPAGE = "https://varlink.org/" +DESCRIPTION = "Varlink is an interface description format and protocol that aims \ +to make services accessible to both humans and machines in the simplest feasible way." +SECION = "devel" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SRC_URI = "git://github.com/varlink/libvarlink.git;protocol=https;branch=master;tag=v${PV} \ + file://0001-transport-tool-use-const-for-strchr-return-pointers.patch \ + " +SRCREV = "2ad4ec7ca62e148dbf0ad98646ec68c2e7e8a88e" + +inherit meson bash-completion lib_package + +do_install:append() { + # vim integration is not needed + rm -rf ${D}${datadir}/vim +} diff --git a/meta-oe/recipes-support/links/files/0001-Adjust-for-c23-prototype-for-strchr.patch b/meta-oe/recipes-support/links/files/0001-Adjust-for-c23-prototype-for-strchr.patch new file mode 100644 index 00000000000..856bdccdbe5 --- /dev/null +++ b/meta-oe/recipes-support/links/files/0001-Adjust-for-c23-prototype-for-strchr.patch @@ -0,0 +1,32 @@ +From 75003957e8f526738b479dff7d5d9a5419111f33 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 18 Mar 2026 15:30:37 -0700 +Subject: [PATCH] Adjust for c23 prototype for strchr + +in glibc 2.43+ functions like strchr, memchr, strstr +and friends are now const-preserving macros + +That means if you pass a const char *, strchr now returns const char *, +which breaks older code patterns that assumed char * or wrapped the +result in compatibility helpers + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + ftp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ftp.c b/ftp.c +index 7a8d05d..41c0a25 100644 +--- a/ftp.c ++++ b/ftp.c +@@ -768,7 +768,7 @@ do { \ + } while (0) + A(ftp_head); + ud = stracpy(get_url_data(c->url)); +- if (strchr(cast_const_char ud, POST_CHAR)) *strchr(cast_const_char ud, POST_CHAR) = 0; ++ if (strchr(ud, POST_CHAR)) *strchr(ud, POST_CHAR) = 0; + s0 = init_str(); + s0l = 0; + add_conv_str(&s0, &s0l, ud, (int)strlen(cast_const_char ud), -1); diff --git a/meta-oe/recipes-support/links/links-x11_2.26.bb b/meta-oe/recipes-support/links/links-x11_2.26.bb deleted file mode 100644 index cbee1f10f13..00000000000 --- a/meta-oe/recipes-support/links/links-x11_2.26.bb +++ /dev/null @@ -1,28 +0,0 @@ -require links.inc - -DEPENDS += "virtual/libx11" -RCONFLICTS:${PN} = "links" - -inherit features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI += " file://links2.desktop \ - file://links2.png" - -SRC_URI[sha256sum] = "f05b3577f25dbe63e491c424f0ecb31f7bfadce9b2bc2f111dfed049c004c9cb" - -S = "${UNPACKDIR}/links-${PV}" - -EXTRA_OECONF = "--enable-graphics \ - --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ - --without-libtiff --without-svgalib --without-fb \ - --without-directfb --without-pmshell --without-atheos \ - --with-x --without-gpm" - -do_install:append() { - install -d ${D}/${datadir}/applications - install -m 0644 ${UNPACKDIR}/links2.desktop ${D}/${datadir}/applications - install -d ${D}/${datadir}/pixmaps - install -m 0644 ${UNPACKDIR}/links2.png ${D}/${datadir}/pixmaps -} diff --git a/meta-oe/recipes-support/links/links-x11_2.30.bb b/meta-oe/recipes-support/links/links-x11_2.30.bb new file mode 100644 index 00000000000..29ea339d023 --- /dev/null +++ b/meta-oe/recipes-support/links/links-x11_2.30.bb @@ -0,0 +1,28 @@ +require links.inc + +DEPENDS += "virtual/libx11" +RCONFLICTS:${PN} = "links" + +inherit features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI += " file://links2.desktop \ + file://links2.png" + +SRC_URI[sha256sum] = "c4631c6b5a11527cdc3cb7872fc23b7f2b25c2b021d596be410dadb40315f166" + +S = "${UNPACKDIR}/links-${PV}" + +EXTRA_OECONF = "--enable-graphics \ + --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ + --without-libtiff --without-svgalib --without-fb \ + --without-directfb --without-pmshell --without-atheos \ + --with-x --without-gpm" + +do_install:append() { + install -d ${D}/${datadir}/applications + install -m 0644 ${UNPACKDIR}/links2.desktop ${D}/${datadir}/applications + install -d ${D}/${datadir}/pixmaps + install -m 0644 ${UNPACKDIR}/links2.png ${D}/${datadir}/pixmaps +} diff --git a/meta-oe/recipes-support/links/links.inc b/meta-oe/recipes-support/links/links.inc index a255f0ba6b9..5946d8be919 100644 --- a/meta-oe/recipes-support/links/links.inc +++ b/meta-oe/recipes-support/links/links.inc @@ -8,6 +8,7 @@ DEPENDS = "jpeg libpng flex openssl zlib" SRC_URI = "http://links.twibright.com/download/links-${PV}.tar.bz2 \ file://ac-prog-cxx.patch \ + file://0001-Adjust-for-c23-prototype-for-strchr.patch \ " PACKAGECONFIG ??= "" diff --git a/meta-oe/recipes-support/links/links_2.29.bb b/meta-oe/recipes-support/links/links_2.29.bb deleted file mode 100644 index e3a15d18191..00000000000 --- a/meta-oe/recipes-support/links/links_2.29.bb +++ /dev/null @@ -1,11 +0,0 @@ -require links.inc - -DEPENDS += "gpm" -RCONFLICTS:${PN} = "links-x11" - -EXTRA_OECONF = "--enable-graphics \ - --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ - --without-libtiff --without-svgalib --with-fb \ - --without-directfb --without-pmshell --without-atheos \ - --without-x" -SRC_URI[sha256sum] = "22aa96c0b38e1a6f8f7ed9d7a4167a47fc37246097759ef6059ecf8f9ead7998" diff --git a/meta-oe/recipes-support/links/links_2.30.bb b/meta-oe/recipes-support/links/links_2.30.bb new file mode 100644 index 00000000000..2a344d11e5b --- /dev/null +++ b/meta-oe/recipes-support/links/links_2.30.bb @@ -0,0 +1,11 @@ +require links.inc + +DEPENDS += "gpm" +RCONFLICTS:${PN} = "links-x11" + +EXTRA_OECONF = "--enable-graphics \ + --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ + --without-libtiff --without-svgalib --with-fb \ + --without-directfb --without-pmshell --without-atheos \ + --without-x" +SRC_URI[sha256sum] = "c4631c6b5a11527cdc3cb7872fc23b7f2b25c2b021d596be410dadb40315f166" diff --git a/meta-oe/recipes-support/log4c/log4c/0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch b/meta-oe/recipes-support/log4c/log4c/0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch new file mode 100644 index 00000000000..fae1a2d0c26 --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c/0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch @@ -0,0 +1,92 @@ +From b0ecadec662a8e35b017e16e92c5b1a04ed72598 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 11 Apr 2026 00:24:17 -0700 +Subject: [PATCH] sd/malloc: convert K&R function declarations to ANSI C + prototypes + +Replace old-style K&R parameter declarations with modern ANSI C +(C89/C90) function prototypes across all functions in malloc.c. +Also remove trailing whitespace in fixup_null_alloc(). + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/sd/malloc.c | 23 ++++++++--------------- + 1 file changed, 8 insertions(+), 15 deletions(-) + +diff --git a/src/sd/malloc.c b/src/sd/malloc.c +index 7d241ad..43dd460 100644 +--- a/src/sd/malloc.c ++++ b/src/sd/malloc.c +@@ -41,8 +41,7 @@ typedef void (*sd_malloc_handler_t)(); + static sd_malloc_handler_t handler = NULL; + + static void * +-fixup_null_alloc (n) +- size_t n; ++fixup_null_alloc (size_t n) + { + void* p = 0; + +@@ -62,8 +61,8 @@ fixup_null_alloc (n) + allocated = (char *) sbrk (0) - (char *) &environ; + sd_error("\nCannot allocate %lu bytes after allocating %lu bytes\n", + (unsigned long) n, (unsigned long) allocated); +- +- if (handler) ++ ++ if (handler) + handler(); + else { + sd_error("\n\tMemory exhausted !! Aborting.\n"); +@@ -75,8 +74,7 @@ fixup_null_alloc (n) + } + + sd_malloc_handler_t +-sd_malloc_set_handler(a_handler) +- sd_malloc_handler_t a_handler; ++sd_malloc_set_handler(sd_malloc_handler_t a_handler) + { + sd_malloc_handler_t previous = handler; + +@@ -87,8 +85,7 @@ sd_malloc_set_handler(a_handler) + /* Allocate N bytes of memory dynamically, with error checking. */ + + void * +-sd_malloc (n) +- size_t n; ++sd_malloc (size_t n) + { + void *p; + +@@ -101,8 +98,7 @@ sd_malloc (n) + /* Allocate memory for N elements of S bytes, with error checking. */ + + void * +-sd_calloc (n, s) +- size_t n, s; ++sd_calloc (size_t n, size_t s) + { + void *p; + +@@ -117,9 +113,7 @@ sd_calloc (n, s) + If P is NULL, run sd_malloc. */ + + void * +-sd_realloc (p, n) +- void *p; +- size_t n; ++sd_realloc (void *p, size_t n) + { + if (p == 0) + return sd_malloc (n); +@@ -132,8 +126,7 @@ sd_realloc (p, n) + /* Return a newly allocated copy of STRING. */ + + char * +-sd_strdup (string) +- const char *string; ++sd_strdup (const char *string) + { + return strcpy (sd_malloc (strlen (string) + 1), string); + } diff --git a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb index a0bd40b03ad..eca800dc5e2 100644 --- a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb +++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ file://fix_configure_with-expat.patch \ file://0001-Use-the-API-properly-in-the-example-format-security-.patch \ + file://0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch \ " SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" diff --git a/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch b/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch index 1f6b89f2b6b..e157c5518e8 100644 --- a/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch +++ b/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch @@ -48,7 +48,7 @@ diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c index 22ae1e3bb..b0928bc04 100644 --- a/tools/lvmcmdline.c +++ b/tools/lvmcmdline.c -@@ -3407,7 +3407,7 @@ static int _check_standard_fds(void) +@@ -3427,7 +3427,7 @@ static int _check_standard_fds(void) int err = is_valid_fd(STDERR_FILENO); if (!is_valid_fd(STDIN_FILENO) && @@ -57,7 +57,7 @@ index 22ae1e3bb..b0928bc04 100644 if (err) perror("stdin stream open"); else -@@ -3417,7 +3417,7 @@ static int _check_standard_fds(void) +@@ -3437,7 +3437,7 @@ static int _check_standard_fds(void) } if (!is_valid_fd(STDOUT_FILENO) && @@ -66,7 +66,7 @@ index 22ae1e3bb..b0928bc04 100644 if (err) perror("stdout stream open"); /* else no stdout */ -@@ -3425,7 +3425,7 @@ static int _check_standard_fds(void) +@@ -3445,7 +3445,7 @@ static int _check_standard_fds(void) } if (!is_valid_fd(STDERR_FILENO) && diff --git a/meta-oe/recipes-support/lvm2/files/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-support/lvm2/files/0001-include-libgen.h-for-basename.patch index 2fcbc12b225..c2c83dbb7ee 100644 --- a/meta-oe/recipes-support/lvm2/files/0001-include-libgen.h-for-basename.patch +++ b/meta-oe/recipes-support/lvm2/files/0001-include-libgen.h-for-basename.patch @@ -21,7 +21,7 @@ index a3f341bfc..0c05eb151 100644 +++ b/lib/device/device_id.c @@ -27,6 +27,7 @@ #include "lib/display/display.h" - #include "device_mapper/misc/dm-ioctl.h" + #include "libdm/misc/dm-ioctl.h" +#include #include diff --git a/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch b/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch index ac5c440e4eb..49f8d27c00d 100644 --- a/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch +++ b/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch @@ -24,7 +24,7 @@ diff --git a/configure.ac b/configure.ac index e5e5e71ce..3af73c781 100644 --- a/configure.ac +++ b/configure.ac -@@ -1742,8 +1742,6 @@ AS_IF([test "$BUILD_DMFILEMAPD" = "yes"], [ +@@ -1746,8 +1746,6 @@ AS_IF([test "$BUILD_DMFILEMAPD" = "yes"], [ ]) ################################################################################ diff --git a/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch b/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch index f7a85b4b3fe..c2d4da5c416 100644 --- a/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch +++ b/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch @@ -47,7 +47,7 @@ index 06c4b1823..90df7b09c 100644 libdaemon lib tools daemons libdm \ udev po tools.distclean: test.distclean -@@ -59,7 +59,7 @@ unit-test run-unit-test: test libdm +@@ -57,7 +57,7 @@ unit-test run-unit-test: test libdm daemons.device-mapper: libdm.device-mapper tools.device-mapper: libdm.device-mapper @@ -60,7 +60,7 @@ diff --git a/configure.ac b/configure.ac index 3af73c781..f32d1f376 100644 --- a/configure.ac +++ b/configure.ac -@@ -2076,7 +2076,6 @@ libdaemon/server/Makefile +@@ -2083,7 +2083,6 @@ libdaemon/server/Makefile libdm/Makefile libdm/dm-tools/Makefile libdm/libdevmapper.pc diff --git a/meta-oe/recipes-support/lvm2/files/reproducible-build.patch b/meta-oe/recipes-support/lvm2/files/reproducible-build.patch index ca632d213f1..f6c561aeb10 100644 --- a/meta-oe/recipes-support/lvm2/files/reproducible-build.patch +++ b/meta-oe/recipes-support/lvm2/files/reproducible-build.patch @@ -16,7 +16,7 @@ diff --git a/configure.ac b/configure.ac index 5364dd68e..c2dbf3c9f 100644 --- a/configure.ac +++ b/configure.ac -@@ -15,7 +15,15 @@ AC_PREREQ(2.69) +@@ -14,7 +14,15 @@ AC_PREREQ(2.69) ################################################################################ dnl -- Process this file with autoconf to produce a configure script. AC_INIT diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc index 9e6bd807a23..c2a88a29170 100644 --- a/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-oe/recipes-support/lvm2/lvm2.inc @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \ DEPENDS += "libaio" -SRC_URI = "git://sourceware.org/git/lvm2.git;branch=main \ +SRC_URI = "git://sourceware.org/git/lvm2.git;branch=main;tag=${PV_TAG} \ file://lvm.conf \ file://0001-implement-libc-specific-reopen_stream.patch \ file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \ @@ -18,8 +18,9 @@ SRC_URI = "git://sourceware.org/git/lvm2.git;branch=main \ file://0001-include-libgen.h-for-basename.patch \ " -SRCREV = "657e10bd75fcb3dffbd40bb1ffc6f1bfd768a10e" -PV = "2.03.38" +SRCREV = "6c5b6cee9f21908bdaff830c210222cc7e08f1ab" +PV = "2.03.39" +PV_TAG = "v${@d.getVar('PV').replace('.', '_')}" UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\_\d+)+)" diff --git a/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch b/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch index 200f2f044a1..fd8faaf1fe6 100644 --- a/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch +++ b/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch @@ -21,7 +21,7 @@ diff --git a/configure.ac b/configure.ac index 9dfdcfe01..fcf5c8b78 100644 --- a/configure.ac +++ b/configure.ac -@@ -1282,8 +1282,8 @@ AS_IF([test "$BUILD_LVMDBUSD" = "yes"], [ +@@ -1338,8 +1338,8 @@ AS_IF([test "$BUILD_LVMDBUSD" = "yes"], [ AS_IF([test "$PYTHON3_BINDINGS" = "yes"], [PYTHON_BINDINGS="yes"]) # To get this macro, install autoconf-archive package then run autoreconf diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.12.2.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.12.2.bb index bfb75718f26..0c572d1bd3f 100644 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.12.2.bb +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.12.2.bb @@ -110,6 +110,7 @@ PACKAGES =+ "${PN}-libs" FILES:${PN}-libs = "${base_libdir}/lib*.so.* \ ${base_libdir}/multipath/lib*.so*" RDEPENDS:${PN} += "${PN}-libs bash libgcc" +RRECOMMENDS:${PN} = "kernel-module-dm-multipath" PROVIDES += "device-mapper-multipath" RPROVIDES:${PN} += "device-mapper-multipath" diff --git a/meta-oe/recipes-support/nano/nano_8.7.bb b/meta-oe/recipes-support/nano/nano_8.7.bb deleted file mode 100644 index b6c65a6f31d..00000000000 --- a/meta-oe/recipes-support/nano/nano_8.7.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Small and friendly console text editor" -DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ -Not ANOther editor) is an enhanced clone of the \ -Pico text editor." -HOMEPAGE = "http://www.nano-editor.org/" -SECTION = "console/utils" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" - -DEPENDS = "ncurses" -RDEPENDS:${PN} = "ncurses-terminfo-base" - -PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" - -SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" -SRC_URI[sha256sum] = "afd287aa672c48b8e1a93fdb6c6588453d527510d966822b687f2835f0d986e9" - -UPSTREAM_CHECK_URI = "${GNU_MIRROR}/nano" - -inherit autotools gettext pkgconfig - -PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/meta-oe/recipes-support/nano/nano_9.0.bb b/meta-oe/recipes-support/nano/nano_9.0.bb new file mode 100644 index 00000000000..06bb7a63ce1 --- /dev/null +++ b/meta-oe/recipes-support/nano/nano_9.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Small and friendly console text editor" +DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ +Not ANOther editor) is an enhanced clone of the \ +Pico text editor." +HOMEPAGE = "http://www.nano-editor.org/" +SECTION = "console/utils" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +DEPENDS = "ncurses" +RDEPENDS:${PN} = "ncurses-terminfo-base" + +PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" + +SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" +SRC_URI[sha256sum] = "9f384374b496110a25b73ad5a5febb384783c6e3188b37063f677ac908013fde" + +UPSTREAM_CHECK_URI = "${GNU_MIRROR}/nano" + +inherit autotools gettext pkgconfig + +PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/meta-oe/recipes-support/ncdu/ncdu_1.22.bb b/meta-oe/recipes-support/ncdu/ncdu_1.22.bb new file mode 100644 index 00000000000..578ae4a5eda --- /dev/null +++ b/meta-oe/recipes-support/ncdu/ncdu_1.22.bb @@ -0,0 +1,25 @@ +SUMMARY = "NCurses Disk Usage" +DESCRIPTION = "\ + ncdu is a curses-based version of the well-known 'du', and provides a \ + fast way to see what directories are using your disk space. \ +" +HOMEPAGE = "https://dev.yorhel.nl/ncdu" +BUGTRACKER = "https://code.blicky.net/yorhel/ncdu/issues" +SECTION = "console/utils" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=fd36a36514d73885d04105f000da9813" + +DEPENDS += "ncurses" + +SRC_URI += "git://code.blicky.net/yorhel/ncdu.git;protocol=https;branch=master;tag=v${PV}" +SRCREV = "7a1437389691c4adf1999afce63850c808602f08" + +inherit autotools pkgconfig + +PACKAGECONFIG ?= "largefile ncursesw year2038" + +PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile" +PACKAGECONFIG[ncurses] = "--with-ncurses,--without-ncurses" +PACKAGECONFIG[ncursesw] = "--with-ncursesw,--without-ncursesw" +PACKAGECONFIG[year2038] = "--enable-year2038,--disable-year2038" diff --git a/meta-oe/recipes-support/nss/nss/0007-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch b/meta-oe/recipes-support/nss/nss/0007-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch index 63f822be25e..2a14dffbea7 100644 --- a/meta-oe/recipes-support/nss/nss/0007-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch +++ b/meta-oe/recipes-support/nss/nss/0007-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch @@ -11,14 +11,13 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin --- nss/lib/freebl/Makefile | 3 +++ - nss/lib/freebl/gcm.c | 2 ++ - 2 files changed, 5 insertions(+) + 1 file changed, 3 insertions(+) diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile index 0ebfc92..3ee7623 100644 --- a/nss/lib/freebl/Makefile +++ b/nss/lib/freebl/Makefile -@@ -142,6 +142,8 @@ endif +@@ -136,6 +136,8 @@ endif endif endif endif @@ -26,8 +25,8 @@ index 0ebfc92..3ee7623 100644 + DEFINES += -DNSS_USE_ARM_HW_CRYPTO ifeq ($(CPU_ARCH),aarch64) ifdef CC_IS_CLANG - DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 -@@ -183,6 +185,7 @@ endif + DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2 -DHAVE_PLATFORM_GHASH +@@ -178,6 +180,7 @@ endif endif endif endif @@ -35,23 +34,3 @@ index 0ebfc92..3ee7623 100644 ifeq (,$(filter-out WINNT,$(OS_TARGET))) ifndef USE_64 -diff --git a/nss/lib/freebl/gcm.c b/nss/lib/freebl/gcm.c -index a2f63a6..743158e 100644 ---- a/nss/lib/freebl/gcm.c -+++ b/nss/lib/freebl/gcm.c -@@ -18,6 +18,7 @@ - - #include - -+#ifdef NSS_USE_ARM_HW_CRYPTO - /* old gcc doesn't support some poly64x2_t intrinsic */ - #if defined(__aarch64__) && defined(IS_LITTLE_ENDIAN) && \ - (defined(__clang__) || defined(__GNUC__) && __GNUC__ > 6) -@@ -27,6 +28,7 @@ - /* We don't test on big endian platform, so disable this on big endian. */ - #define USE_ARM_GCM - #endif -+#endif - - #if defined(__ARM_NEON) || defined(__ARM_NEON__) - #include diff --git a/meta-oe/recipes-support/nss/nss_3.119.bb b/meta-oe/recipes-support/nss/nss_3.119.bb deleted file mode 100644 index a0345eb8aa7..00000000000 --- a/meta-oe/recipes-support/nss/nss_3.119.bb +++ /dev/null @@ -1,291 +0,0 @@ -SUMMARY = "Mozilla's SSL and TLS implementation" -DESCRIPTION = "Network Security Services (NSS) is a set of libraries \ -designed to support cross-platform development of \ -security-enabled client and server applications. \ -Applications built with NSS can support SSL v2 and v3, \ -TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \ -v3 certificates, and other security standards." -HOMEPAGE = "https://firefox-source-docs.mozilla.org/security/nss/index.html" -SECTION = "libs" - -DEPENDS = "sqlite3 nspr zlib nss-native" -DEPENDS:class-native = "sqlite3-native nspr-native zlib-native" - -LICENSE = "(MPL-2.0 & MIT) | (MPL-2.0 & GPL-2.0-or-later & MIT) | (MPL-2.0 & LGPL-2.1-or-later & MIT)" - -LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ - file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \ - file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132 \ - file://nss/lib/freebl/verified/Hacl_Poly1305_256.c;beginline=1;endline=22;md5=cc22f07b95d28d56baeb757df46ee7c8" - -VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}" - -SRC_URI = "https://ftp.mozilla.org/pub/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \ - file://nss.pc.in \ - file://blank-cert9.db \ - file://blank-key4.db \ - file://system-pkcs11.txt \ - file://0001-nss-fix-support-cross-compiling.patch \ - file://0002-nss-no-rpath-for-cross-compiling.patch \ - file://0003-nss-fix-incorrect-shebang-of-perl.patch \ - file://0004-nss-disable-Wvarargs-with-clang.patch \ - file://0005-nss-does-not-build-on-mips-with-clang-because-wrong-.patch \ - file://0006-Fix-nss-multilib-build-on-openSUSE-11.x-32bit.patch \ - file://0007-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ - " -SRC_URI[sha256sum] = "e8412db6c9d6f531e8adfe8a122ec33a8fae920681ff47231a1349bdd399f0e9" - -UPSTREAM_CHECK_URI = "https://ftp.mozilla.org/pub/security/nss/releases/" -UPSTREAM_CHECK_REGEX = "NSS_(?P\d+(\_\d+)+)" - -inherit siteinfo - -TD = "${S}/tentative-dist" -TDS = "${S}/tentative-dist-staging" - -TARGET_CC_ARCH += "${LDFLAGS}" - -CFLAGS:append:class-native = " -D_XOPEN_SOURCE " - -do_configure:prepend:libc-musl () { - sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk -} - -do_configure:prepend:powerpc64le:toolchain-clang () { - sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk -} - -do_configure:prepend:powerpc64:toolchain-clang () { - sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk -} - -do_compile:prepend:class-native() { - export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr - export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE} -} - -do_compile:prepend:class-nativesdk() { - export LDFLAGS="" -} - -do_compile:prepend:class-native() { - # Need to set RPATH so that chrpath will do its job correctly - RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" -} - -NATIVE_CC:class-target:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc" -NATIVE_CC:class-nativesdk:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc" -NATIVE_CC ?= "${BUILD_CC}" - -do_compile() { - export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr - - export CROSS_COMPILE=1 - export NATIVE_CC="${NATIVE_CC}" - # Additional defines needed on Centos 7 - export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" - export BUILD_OPT=1 - - # POSIX.1-2001 states that the behaviour of getcwd() when passing a null - # pointer as the buf argument, is unspecified. - export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC" - - export FREEBL_NO_DEPEND=1 - export FREEBL_LOWHASH=1 - - export LIBDIR=${libdir} - export MOZILLA_CLIENT=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - export NSS_ENABLE_WERROR=0 - - ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} - - export OS_RELEASE=3.4 - export OS_TARGET=Linux - export OS_ARCH=Linux - - if [ "${TARGET_ARCH}" = "powerpc" ]; then - OS_TEST=ppc - elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then - OS_TEST=ppc64 - elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then - OS_TEST=mips - elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then - OS_TEST="aarch64" - else - OS_TEST="${TARGET_ARCH}" - fi - - if [ "${SITEINFO_BITS}" = "64" ]; then - export USE_64=1 - elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then - export USE_X32=1 - fi - - export NSS_DISABLE_GTESTS=1 - # We can modify CC in the environment, but if we set it via an - # argument to make, nsinstall, a host program, will also build with it! - # - # nss pretty much does its own thing with CFLAGS, so we put them into CC. - # Optimization will get clobbered, but most of the stuff will survive. - # The motivation for this is to point to the correct place for debug - # source files and CFLAGS does that. Nothing uses CCC. - # - export CC="${CC} ${CFLAGS}" - make -C ./nss CCC="${CXX} -g" \ - OS_TEST=${OS_TEST} \ - RPATH="${RPATH}" \ - autobuild -} - -do_compile[vardepsexclude] += "SITEINFO_BITS" - -do_install:prepend:class-nativesdk() { - export LDFLAGS="" -} - -do_install() { - export CROSS_COMPILE=1 - export NATIVE_CC="${NATIVE_CC}" - export BUILD_OPT=1 - - export FREEBL_NO_DEPEND=1 - - export LIBDIR=${libdir} - export MOZILLA_CLIENT=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - - export OS_RELEASE=3.4 - export OS_TARGET=Linux - export OS_ARCH=Linux - - if [ "${TARGET_ARCH}" = "powerpc" ]; then - OS_TEST=ppc - elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then - OS_TEST=ppc64 - elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then - OS_TEST=mips - elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then - CPU_ARCH=aarch64 - OS_TEST="aarch64" - else - OS_TEST="${TARGET_ARCH}" - fi - if [ "${SITEINFO_BITS}" = "64" ]; then - export USE_64=1 - elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then - export USE_X32=1 - fi - - export NSS_DISABLE_GTESTS=1 - - make -C ./nss \ - CCC="${CXX}" \ - OS_TEST=${OS_TEST} \ - SOURCE_LIB_DIR="${TD}/${libdir}" \ - SOURCE_BIN_DIR="${TD}/${bindir}" \ - install - - install -d ${D}/${libdir}/ - for file in ${S}/dist/*.OBJ/lib/*.so; do - echo "Installing `basename $file`..." - cp $file ${D}/${libdir}/ - done - - for shared_lib in ${TD}/${libdir}/*.so.*; do - if [ -f $shared_lib ]; then - cp $shared_lib ${D}/${libdir} - ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe) - fi - done - for shared_lib in ${TD}/${libdir}/*.so; do - if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then - cp $shared_lib ${D}/${libdir} - fi - done - - install -d ${D}/${includedir}/nss3 - install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/* - - install -d ${D}/${bindir} - for binary in ${TD}/${bindir}/*; do - install -m 755 -t ${D}/${bindir} $binary - done -} - -do_install[vardepsexclude] += "SITEINFO_BITS" - -do_install:append() { - # Create empty .chk files for the NSS libraries at build time. They could - # be regenerated at target's boot time. - for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do - touch ${D}/${libdir}/$file - chmod 755 ${D}/${libdir}/$file - done - - install -d ${D}${libdir}/pkgconfig/ - sed 's/%NSS_VERSION%/${PV}/' ${UNPACKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc -} - -do_install:append:class-target() { - # It used to call certutil to create a blank certificate with empty password at - # build time, but the checksum of key4.db changes every time when certutil is called. - # It causes non-determinism issue, so provide databases with a blank certificate - # which are originally from output of nss in qemux86-64 build. You can get these - # databases by: - # certutil -N -d sql:/database/path/ --empty-password - install -d ${D}${sysconfdir}/pki/nssdb/ - install -m 0644 ${UNPACKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db - install -m 0644 ${UNPACKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db - install -m 0644 ${UNPACKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt -} - -PACKAGE_WRITE_DEPS += "nss-native" - -pkg_postinst:${PN} () { - for I in $D${libdir}/lib*.chk; do - DN=`dirname $I` - BN=`basename $I .chk` - FN=$DN/$BN.so - shlibsign -i $FN - if [ $? -ne 0 ]; then - echo "shlibsign -i $FN failed" - fi - done -} - -PACKAGES =+ "${PN}-smime" -FILES:${PN}-smime = "\ - ${bindir}/smime \ -" - -FILES:${PN} = "\ - ${sysconfdir} \ - ${bindir} \ - ${libdir}/lib*.chk \ - ${libdir}/lib*.so \ - " - -FILES:${PN}-dev = "\ - ${libdir}/nss \ - ${libdir}/pkgconfig/* \ - ${includedir}/* \ - " - -RDEPENDS:${PN}-smime = "perl" - -BBCLASSEXTEND = "native nativesdk" - -CVE_PRODUCT += "network_security_services" - -CVE_STATUS_GROUPS += "CVE_STATUS_NSS" -CVE_STATUS_NSS[status] = "not-applicable-config: This only affect the legacy db (libnssdbm), only compiled with --enable-legacy-db" -CVE_STATUS_NSS = "CVE-2017-11695 CVE-2017-11696 CVE-2017-11697 CVE-2017-11698" - -CVE_STATUS[CVE-2022-3479] = "not-applicable-config: vulnerability was introduced in 3.77 and fixed in 3.87" diff --git a/meta-oe/recipes-support/nss/nss_3.122.bb b/meta-oe/recipes-support/nss/nss_3.122.bb new file mode 100644 index 00000000000..70aee3d9db7 --- /dev/null +++ b/meta-oe/recipes-support/nss/nss_3.122.bb @@ -0,0 +1,291 @@ +SUMMARY = "Mozilla's SSL and TLS implementation" +DESCRIPTION = "Network Security Services (NSS) is a set of libraries \ +designed to support cross-platform development of \ +security-enabled client and server applications. \ +Applications built with NSS can support SSL v2 and v3, \ +TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \ +v3 certificates, and other security standards." +HOMEPAGE = "https://firefox-source-docs.mozilla.org/security/nss/index.html" +SECTION = "libs" + +DEPENDS = "sqlite3 nspr zlib nss-native" +DEPENDS:class-native = "sqlite3-native nspr-native zlib-native" + +LICENSE = "(MPL-2.0 & MIT) | (MPL-2.0 & GPL-2.0-or-later & MIT) | (MPL-2.0 & LGPL-2.1-or-later & MIT)" + +LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ + file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \ + file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132 \ + file://nss/lib/freebl/verified/Hacl_Poly1305_256.c;beginline=1;endline=22;md5=cc22f07b95d28d56baeb757df46ee7c8" + +VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}" + +SRC_URI = "https://ftp.mozilla.org/pub/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \ + file://nss.pc.in \ + file://blank-cert9.db \ + file://blank-key4.db \ + file://system-pkcs11.txt \ + file://0001-nss-fix-support-cross-compiling.patch \ + file://0002-nss-no-rpath-for-cross-compiling.patch \ + file://0003-nss-fix-incorrect-shebang-of-perl.patch \ + file://0004-nss-disable-Wvarargs-with-clang.patch \ + file://0005-nss-does-not-build-on-mips-with-clang-because-wrong-.patch \ + file://0006-Fix-nss-multilib-build-on-openSUSE-11.x-32bit.patch \ + file://0007-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ + " +SRC_URI[sha256sum] = "2699478b843b9f09c61f85341578df514463a0069447c816bef0d59bd800d777" + +UPSTREAM_CHECK_URI = "https://ftp.mozilla.org/pub/security/nss/releases/" +UPSTREAM_CHECK_REGEX = "NSS_(?P\d+(\_\d+)+)" + +inherit siteinfo + +TD = "${S}/tentative-dist" +TDS = "${S}/tentative-dist-staging" + +TARGET_CC_ARCH += "${LDFLAGS}" + +CFLAGS:append:class-native = " -D_XOPEN_SOURCE " + +do_configure:prepend:libc-musl () { + sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk +} + +do_configure:prepend:powerpc64le:toolchain-clang () { + sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk +} + +do_configure:prepend:powerpc64:toolchain-clang () { + sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk +} + +do_compile:prepend:class-native() { + export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr + export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE} +} + +do_compile:prepend:class-nativesdk() { + export LDFLAGS="" +} + +do_compile:prepend:class-native() { + # Need to set RPATH so that chrpath will do its job correctly + RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" +} + +NATIVE_CC:class-target:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc" +NATIVE_CC:class-nativesdk:toolchain-clang = "clang --rtlib=libgcc --unwindlib=libgcc" +NATIVE_CC ?= "${BUILD_CC}" + +do_compile() { + export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr + + export CROSS_COMPILE=1 + export NATIVE_CC="${NATIVE_CC}" + # Additional defines needed on Centos 7 + export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" + export BUILD_OPT=1 + + # POSIX.1-2001 states that the behaviour of getcwd() when passing a null + # pointer as the buf argument, is unspecified. + export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC" + + export FREEBL_NO_DEPEND=1 + export FREEBL_LOWHASH=1 + + export LIBDIR=${libdir} + export MOZILLA_CLIENT=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSS_ENABLE_ECC=1 + export NSS_ENABLE_WERROR=0 + + ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} + + export OS_RELEASE=3.4 + export OS_TARGET=Linux + export OS_ARCH=Linux + + if [ "${TARGET_ARCH}" = "powerpc" ]; then + OS_TEST=ppc + elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then + OS_TEST=ppc64 + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then + OS_TEST=mips + elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then + OS_TEST="aarch64" + else + OS_TEST="${TARGET_ARCH}" + fi + + if [ "${SITEINFO_BITS}" = "64" ]; then + export USE_64=1 + elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then + export USE_X32=1 + fi + + export NSS_DISABLE_GTESTS=1 + # We can modify CC in the environment, but if we set it via an + # argument to make, nsinstall, a host program, will also build with it! + # + # nss pretty much does its own thing with CFLAGS, so we put them into CC. + # Optimization will get clobbered, but most of the stuff will survive. + # The motivation for this is to point to the correct place for debug + # source files and CFLAGS does that. Nothing uses CCC. + # + export CC="${CC} ${CFLAGS}" + make -C ./nss CCC="${CXX} -g" \ + OS_TEST=${OS_TEST} \ + RPATH="${RPATH}" \ + autobuild +} + +do_compile[vardepsexclude] += "SITEINFO_BITS" + +do_install:prepend:class-nativesdk() { + export LDFLAGS="" +} + +do_install() { + export CROSS_COMPILE=1 + export NATIVE_CC="${NATIVE_CC}" + export BUILD_OPT=1 + + export FREEBL_NO_DEPEND=1 + + export LIBDIR=${libdir} + export MOZILLA_CLIENT=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSS_ENABLE_ECC=1 + + export OS_RELEASE=3.4 + export OS_TARGET=Linux + export OS_ARCH=Linux + + if [ "${TARGET_ARCH}" = "powerpc" ]; then + OS_TEST=ppc + elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then + OS_TEST=ppc64 + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then + OS_TEST=mips + elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then + CPU_ARCH=aarch64 + OS_TEST="aarch64" + else + OS_TEST="${TARGET_ARCH}" + fi + if [ "${SITEINFO_BITS}" = "64" ]; then + export USE_64=1 + elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then + export USE_X32=1 + fi + + export NSS_DISABLE_GTESTS=1 + + make -C ./nss \ + CCC="${CXX}" \ + OS_TEST=${OS_TEST} \ + SOURCE_LIB_DIR="${TD}/${libdir}" \ + SOURCE_BIN_DIR="${TD}/${bindir}" \ + install + + install -d ${D}/${libdir}/ + for file in ${S}/dist/*.OBJ/lib/*.so; do + echo "Installing `basename $file`..." + cp $file ${D}/${libdir}/ + done + + for shared_lib in ${TD}/${libdir}/*.so.*; do + if [ -f $shared_lib ]; then + cp $shared_lib ${D}/${libdir} + ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe) + fi + done + for shared_lib in ${TD}/${libdir}/*.so; do + if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then + cp $shared_lib ${D}/${libdir} + fi + done + + install -d ${D}/${includedir}/nss3 + install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/* + + install -d ${D}/${bindir} + for binary in ${TD}/${bindir}/*; do + install -m 755 -t ${D}/${bindir} $binary + done +} + +do_install[vardepsexclude] += "SITEINFO_BITS" + +do_install:append() { + # Create empty .chk files for the NSS libraries at build time. They could + # be regenerated at target's boot time. + for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do + touch ${D}/${libdir}/$file + chmod 755 ${D}/${libdir}/$file + done + + install -d ${D}${libdir}/pkgconfig/ + sed 's/%NSS_VERSION%/${PV}/' ${UNPACKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc +} + +do_install:append:class-target() { + # It used to call certutil to create a blank certificate with empty password at + # build time, but the checksum of key4.db changes every time when certutil is called. + # It causes non-determinism issue, so provide databases with a blank certificate + # which are originally from output of nss in qemux86-64 build. You can get these + # databases by: + # certutil -N -d sql:/database/path/ --empty-password + install -d ${D}${sysconfdir}/pki/nssdb/ + install -m 0644 ${UNPACKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db + install -m 0644 ${UNPACKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db + install -m 0644 ${UNPACKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt +} + +PACKAGE_WRITE_DEPS += "nss-native" + +pkg_postinst:${PN} () { + for I in $D${libdir}/lib*.chk; do + DN=`dirname $I` + BN=`basename $I .chk` + FN=$DN/$BN.so + shlibsign -i $FN + if [ $? -ne 0 ]; then + echo "shlibsign -i $FN failed" + fi + done +} + +PACKAGES =+ "${PN}-smime" +FILES:${PN}-smime = "\ + ${bindir}/smime \ +" + +FILES:${PN} = "\ + ${sysconfdir} \ + ${bindir} \ + ${libdir}/lib*.chk \ + ${libdir}/lib*.so \ + " + +FILES:${PN}-dev = "\ + ${libdir}/nss \ + ${libdir}/pkgconfig/* \ + ${includedir}/* \ + " + +RDEPENDS:${PN}-smime = "perl" + +BBCLASSEXTEND = "native nativesdk" + +CVE_PRODUCT += "network_security_services" + +CVE_STATUS_GROUPS += "CVE_STATUS_NSS" +CVE_STATUS_NSS[status] = "not-applicable-config: This only affect the legacy db (libnssdbm), only compiled with --enable-legacy-db" +CVE_STATUS_NSS = "CVE-2017-11695 CVE-2017-11696 CVE-2017-11697 CVE-2017-11698" + +CVE_STATUS[CVE-2022-3479] = "not-applicable-config: vulnerability was introduced in 3.77 and fixed in 3.87" diff --git a/meta-oe/recipes-support/onig/onig_6.9.10.bb b/meta-oe/recipes-support/onig/onig_6.9.10.bb index f285c2ed738..d7419b4ace4 100644 --- a/meta-oe/recipes-support/onig/onig_6.9.10.bb +++ b/meta-oe/recipes-support/onig/onig_6.9.10.bb @@ -35,3 +35,6 @@ do_install_ptest() { } PROVIDES += "oniguruma" + +# Add CVE_PRODUCT to match the NVD CPE product name +CVE_PRODUCT = "oniguruma_project:oniguruma" diff --git a/meta-oe/recipes-support/openct/openct/0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch b/meta-oe/recipes-support/openct/openct/0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch deleted file mode 100644 index 73c9d066674..00000000000 --- a/meta-oe/recipes-support/openct/openct/0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch +++ /dev/null @@ -1,65 +0,0 @@ -From c4351058da555e1e6a2b4b15d913baee80f55865 Mon Sep 17 00:00:00 2001 -From: Wang Mingyu -Date: Thu, 27 Jun 2024 06:27:18 +0000 -Subject: Fix incompatible pointer type error with gcc option - -Wincompatible-pointer-types - -| ../../../openct-0.6.20/src/ifd/ifdhandler.c: In function 'ifdhandler_run': -| ../../../openct-0.6.20/src/ifd/ifdhandler.c:239:52: error: passing argument 2 of 'ifd_get_eventfd' from incompatible pointer type [-Wincompatible-pointer-types] -| 239 | sock->fd = ifd_get_eventfd(reader, &sock->events); -| | ^~~~~~~~~~~~~ -| | | -| | int * -| In file included from ../../../openct-0.6.20/src/ifd/internal.h:17, -| from ../../../openct-0.6.20/src/ifd/ifdhandler.c:7: -| ../../../openct-0.6.20/src/include/openct/ifd.h:182:65: note: expected 'short int *' but argument is of type 'int *' -| 182 | extern int ifd_get_eventfd(ifd_reader_t *, short *); -| | ^~~~~~~ - -| ../../../openct-0.6.20/src/ifd/process.c: In function 'do_memory_write': -| ../../../openct-0.6.20/src/ifd/process.c:461:61: error: passing argument 4 of 'ct_tlv_get_opaque' from incompatible pointer type [-Wincompatible-pointer-types] -| 461 | || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, &data_len)) -| | ^~~~~~~~~ -| | | -| | unsigned int * -| In file included from ../../../openct-0.6.20/src/ifd/process.c:20: -| ../../../openct-0.6.20/src/include/openct/tlv.h:40:62: note: expected 'size_t *' {aka 'long unsigned int *'} but argument is of type 'unsigned int *' -| 40 | ifd_tag_t, unsigned char **, size_t *); - -Upstream-Status: Submitted - -Signed-off-by: Wang Mingyu ---- - src/ifd/ifdhandler.c | 2 +- - src/ifd/process.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/ifd/ifdhandler.c b/src/ifd/ifdhandler.c -index 12686c9..ebd1b53 100644 ---- a/src/ifd/ifdhandler.c -+++ b/src/ifd/ifdhandler.c -@@ -236,7 +236,7 @@ static void ifdhandler_run(ifd_reader_t * reader) - sock->fd = -1; - } - else { -- sock->fd = ifd_get_eventfd(reader, &sock->events); -+ sock->fd = ifd_get_eventfd(reader, (short int *)&sock->events); - } - if (sock->fd == -1) { - ifd_debug(1, "events inactive for reader %s", reader->name); -diff --git a/src/ifd/process.c b/src/ifd/process.c -index 4563bdf..7088a76 100644 ---- a/src/ifd/process.c -+++ b/src/ifd/process.c -@@ -458,7 +458,7 @@ static int do_memory_write(ifd_reader_t * reader, int unit, - return IFD_ERROR_INVALID_SLOT; - - if (ct_tlv_get_int(args, CT_TAG_ADDRESS, &address) == 0 -- || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, &data_len)) -+ || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, (size_t *)&data_len)) - return IFD_ERROR_MISSING_ARG; - - rc = ifd_card_write_memory(reader, unit, address, data, data_len); --- -2.34.1 - diff --git a/meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch b/meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch deleted file mode 100644 index 9bd3d18d6ec..00000000000 --- a/meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 146b5116140d719e4e9ae19748c0b6dee7d82f96 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 22 May 2023 22:01:28 -0700 -Subject: [PATCH] m4: Just emit the first line of compiler version - -Avoids emitting buildpaths into comments -Fixes -WARNING: openct-0.6.20-r0 do_package_qa: QA Issue: File /usr/include/openct/types.h in package openct-dev contains reference to TMPDIR [buildpaths] - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - m4/ac_create_stdint_h.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/m4/ac_create_stdint_h.m4 b/m4/ac_create_stdint_h.m4 -index 66de704..4b7223a 100644 ---- a/m4/ac_create_stdint_h.m4 -+++ b/m4/ac_create_stdint_h.m4 -@@ -110,7 +110,7 @@ echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h - echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h - echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h - if test "$GCC" = "yes" ; then -- echo "/* generated using a gnu compiler version" `$CC --version` "*/" \ -+ echo "/* generated using a gnu compiler version" `$CC --version|head -1` "*/" \ - >>$ac_stdint_h - else - echo "/* generated using $CC */" >>$ac_stdint_h --- -2.40.1 - diff --git a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch deleted file mode 100644 index e2401bb31ba..00000000000 --- a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e0d3e0bb1e38ff851696a7d8826e651d364ad8ce Mon Sep 17 00:00:00 2001 -From: Li xin -Date: Fri, 5 Dec 2014 02:00:57 +0900 -Subject: [PATCH 1/2] etc/openct.udev.in: disablePROGRAM - -Bug fix: https://bugzilla.redhat.com/show_bug.cgi?id=287871 - -Upstream-Status: Pending - -Signed-off-by: Li Xin ---- - etc/openct.udev.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/etc/openct.udev.in b/etc/openct.udev.in -index d11d0e1..48083c9 100644 ---- a/etc/openct.udev.in -+++ b/etc/openct.udev.in -@@ -22,7 +22,8 @@ ACTION!="add", GOTO="openct_usb_rules_end" - # 2010-01-06 removed, as latest udev doesn't know WAIT_FOR_ATTR any more. - - # sleep for 100ms - the wait_for_sysfs might not be enough --PROGRAM="/bin/sleep 0.1" -+# Disabled in this package - see https://bugzilla.redhat.com/287871 -+# PROGRAM="/bin/sleep 0.1" - - # ccid - ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*" RUN+="@udevdir@/openct_usb /dev/$parent" --- -1.8.4.2 - diff --git a/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch b/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch deleted file mode 100644 index 22eda729fbd..00000000000 --- a/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d93985a137b553b2723235d03bda341dab14064f Mon Sep 17 00:00:00 2001 -From: Li xin -Date: Fri, 5 Dec 2014 02:04:03 +0900 -Subject: [PATCH 2/2] etc/openct_usb.in: modify UDEVINFO - -this patch is from Fedora - -Upstream-Status: Pending - -Signed-off-by: Li Xin ---- - etc/openct_usb.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/etc/openct_usb.in b/etc/openct_usb.in -index 32f91aa..917467d 100644 ---- a/etc/openct_usb.in -+++ b/etc/openct_usb.in -@@ -15,10 +15,10 @@ if [ -z "$DEVNAME" ]; then - # Guess udev info interface. - # Newer udev uses udevadm - # -- if which udevinfo > /dev/null 2>&1; then -- UDEVINFO="udevinfo" -- else -+ if which udevadm > /dev/null 2>&1; then - UDEVINFO="udevadm info" -+ else -+ UDEVINFO="udevinfo" - fi - DEVNAME=/dev/$($UDEVINFO --query=name --path=$(dirname $DEVPATH)) - fi --- -1.8.4.2 - diff --git a/meta-oe/recipes-support/openct/openct/openct.init b/meta-oe/recipes-support/openct/openct/openct.init deleted file mode 100644 index c6896095e3a..00000000000 --- a/meta-oe/recipes-support/openct/openct/openct.init +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# -# openct This shell script takes care of starting and stopping OpenCT. -# -# chkconfig: 2345 24 89 -# description: OpenCT is a middleware framework for smart card terminals. -# -# processname: ifdhandler -# config: /etc/openct.conf - -### BEGIN INIT INFO -# Provides: openct -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Should-Start: $syslog $network -# Should-Stop: $syslog $network -# Short-Description: Middleware framework for smart card terminals -# Description: This starts/stops the OpenCT middleware framework support -# for smart card terminals. -### END INIT INFO - -. /etc/init.d/functions - -exec="/usr/sbin/openct-control" -prog=openct -proc=ifdhandler - -OPENCT_OPTIONS= -[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog - -lockfile=/var/lock/subsys/$prog - -start() { - retval=0 - if ! status $proc >/dev/null 2>&1 ; then - action $"Initializing OpenCT smart card terminals: " \ - $exec $OPENCT_OPTIONS init - retval=$? - [ $retval -eq 0 ] && touch $lockfile - fi - return $retval -} - -stop() { - if status $proc >/dev/null 2>&1 ; then - action $"Stopping OpenCT smart card terminals: " \ - $exec $OPENCT_OPTIONS shutdown - fi - retval=$? - if [ $retval -eq 0 ] ; then - rm -f /var/run/openct/status - rm -f $lockfile - fi - return $retval -} - -restart() { - stop - start -} - -oct_status() { - status $proc - retval=$? - if [ -e /var/run/openct/status ] ; then - $exec $OPENCT_OPTIONS status - [ -e /var/run/openct/status ] && \ - echo $"Waiting for reader attach/detach events..." - fi - return $retval -} - -case "$1" in - start|stop|restart) - $1 - ;; - reload|force-reload) - restart - ;; - status) - oct_status - ;; - try-restart|condrestart) - [ ! -f $lockfile ] || restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}" - exit 2 -esac diff --git a/meta-oe/recipes-support/openct/openct/openct.service b/meta-oe/recipes-support/openct/openct/openct.service deleted file mode 100644 index c9ec497fa5c..00000000000 --- a/meta-oe/recipes-support/openct/openct/openct.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Openct Middleware framework for smart card terminals -After=syslog.target network.target - -[Service] -EnvironmentFile=-/etc/sysconfig/openct -ExecStart=/usr/sbin/openct-control $OPENCT_OPTIONS init -ExecStop=/usr/sbin/openct-control $OPENCT_OPTIONS shutdown -RemainAfterExit=yes -KillMode=none - -[Install] -WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/openct/openct/openct.sysconfig b/meta-oe/recipes-support/openct/openct/openct.sysconfig deleted file mode 100644 index ffc270790f2..00000000000 --- a/meta-oe/recipes-support/openct/openct/openct.sysconfig +++ /dev/null @@ -1,5 +0,0 @@ -# -*- sh -*- -# Extra options to pass to openct-control. -# Consult "/usr/sbin/openct-control -h" for available options. -# -OPENCT_OPTIONS="" diff --git a/meta-oe/recipes-support/openct/openct_0.6.20.bb b/meta-oe/recipes-support/openct/openct_0.6.20.bb deleted file mode 100644 index c7b0d0d56d8..00000000000 --- a/meta-oe/recipes-support/openct/openct_0.6.20.bb +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "Middleware framework for smart card terminals" -HOMEPAGE = "https://github.com/OpenSC/openct/wiki" -DESCRIPTION = " \ -OpenCT implements drivers for several smart card readers. \ -It comes as driver in ifdhandler format for PC/SC-Lite, \ -as CT-API driver, or as a small and lean middleware, \ -so applications can use it with minimal overhead. \ -OpenCT also has a primitive mechanism to export smart card \ -readers to remote machines via TCP/IP." - -DEPENDS += "libtool pcsc-lite libusb-compat" - -SRC_URI = " \ - https://downloads.sourceforge.net/project/opensc/${BPN}/${BPN}-${PV}.tar.gz \ - file://etc-openct.udev.in-disablePROGRAM.patch \ - file://etc-openct_usb.in-modify-UDEVINFO.patch \ - file://0001-m4-Just-emit-the-first-line-of-compiler-version.patch \ - file://openct.init \ - file://openct.sysconfig \ - file://openct.service \ - file://0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch \ -" - -SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68" - -UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/opensc/files/openct/" - -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" - -inherit systemd -SYSTEMD_SERVICE:${PN} += "openct.service " -SYSTEMD_AUTO_ENABLE = "enable" - -EXTRA_OECONF = " \ - --disable-static \ - --enable-usb \ - --enable-pcsc \ - --enable-doc \ - --enable-api-doc \ - --with-udev=${nonarch_libdir}/udev \ - --with-bundle=${libdir}/pcsc/drivers \ -" - -inherit autotools pkgconfig - -FILES:${PN} += " \ - ${libdir}/ctapi \ - ${nonarch_libdir}/udev \ - ${libdir}/openct-ifd.so \ - ${libdir}/pcsc \ -" - -FILES:${PN}-dbg += " \ - ${libdir}/ctapi/.debug \ - ${libdir}/pcsc/drivers/openct-ifd.bundle/Contents/Linux/.debug \ -" - -INSANE_SKIP:${PN} += "dev-deps" - -do_install[cleandirs] += "${D}" - -do_install () { - install -d ${D}${sysconfdir} - # fix up hardcoded paths - sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ - ${UNPACKDIR}/openct.service ${UNPACKDIR}/openct.init - - oe_runmake install DESTDIR=${D} - install -dm 755 ${D}${libdir}/ctapi/ - mv ${D}${libdir}/libopenctapi.so ${D}${libdir}/ctapi/ - install -Dpm 644 etc/openct.udev ${D}${nonarch_libdir}/udev/rules.d/60-openct.rules - install -pm 644 etc/openct.conf ${D}${sysconfdir}/openct.conf - - install -Dpm 755 ${UNPACKDIR}/openct.init ${D}${sysconfdir}/init.d/openct - install -Dpm 644 ${UNPACKDIR}/openct.sysconfig ${D}${sysconfdir}/sysconfig/openct - - install -d ${D}${systemd_unitdir}/system - install -m 644 ${UNPACKDIR}/openct.service ${D}${systemd_unitdir}/system - - so=$(find ${D} -name \*.so | sed "s|^${D}||") - sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf - install -Dpm 644 etc/reader.conf ${D}${sysconfdir}/reader.conf.d/openct.conf -} - -BBCLASSEXTEND = "native" - -# http://errors.yoctoproject.org/Errors/Details/766890/ -# openct-0.6.20/src/ifd/ifdhandler.c:239:52: error: passing argument 2 of 'ifd_get_eventfd' from incompatible pointer type [-Wincompatible-pointer-types] -# openct-0.6.20/src/ifd/process.c:461:61: error: passing argument 4 of 'ct_tlv_get_opaque' from incompatible pointer type [-Wincompatible-pointer-types] -CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta-oe/recipes-support/openldap/openldap_2.6.12.bb b/meta-oe/recipes-support/openldap/openldap_2.6.12.bb deleted file mode 100644 index beee1b2738d..00000000000 --- a/meta-oe/recipes-support/openldap/openldap_2.6.12.bb +++ /dev/null @@ -1,231 +0,0 @@ -SUMMARY = "OpenLDAP Directory Service" -DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." -HOMEPAGE = "http://www.OpenLDAP.org/license.html" -# The OpenLDAP Public License - see the HOMEPAGE - defines -# the license. www.openldap.org claims this is Open Source -# (see http://www.openldap.org), the license appears to be -# basically BSD. opensource.org has listed this license -# since August 2019. -LICENSE = "OLDAP-2.8" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=e71f8d80fdc11f3cea5dee6ad13679ce \ - file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ - " -SECTION = "libs" - -LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" - -SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \ - file://initscript \ - file://slapd.service \ - file://remove-user-host-pwd-from-version.patch \ - file://0001-build-top.mk-unset-STRIP_OPTS.patch \ -" - -SRC_URI[sha256sum] = "1716ad779e85d743694c3e3b05277fb71b6a5eadca43c7a958aa62683b22208e" - -DEPENDS = "util-linux groff-native" - -inherit autotools-brokensep update-rc.d systemd pkgconfig - -# CV SETTINGS -# Required to work round AC_FUNC_MEMCMP which gets the wrong answer -# when cross compiling (should be in site?) -EXTRA_OECONF += "ac_cv_func_memcmp_working=yes" - -# CONFIG DEFINITIONS -# The following is necessary because it cannot be determined for a -# cross compile automagically. Select should yield fine on all OE -# systems... -EXTRA_OECONF += "--with-yielding-select=yes" -# Shared libraries are nice... -EXTRA_OECONF += "--enable-dynamic" - -PACKAGECONFIG ??= "asyncmeta gnutls modules \ - mdb ldap meta null passwd proxycache dnssrv \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -#--with-tls with TLS/SSL support auto|openssl|gnutls [auto] -PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls" -PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" - -PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" -PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" - -# SLAPD options -# -# UNIX crypt(3) passwd support: -EXTRA_OECONF += "--enable-crypt" - -# SLAPD BACKEND -# -# The backend must be set by the configuration. This controls the -# required database. -# -# Backends="asyncmeta dnssrv ldap mdb meta null passwd perl relay sock sql wt" -# -# Note that multiple backends can be built. The ldbm backend requires a -# build-time choice of database API. To use the gdbm (or other) API the -# Berkely database module must be removed from the build. -md = "${libexecdir}/openldap" -# - -#--enable-asyncmeta enable asyncmeta backend no|yes|mod no -PACKAGECONFIG[asyncmeta] = "--enable-asyncmeta=mod,--enable-asyncmeta=no" - -#--enable-dnssrv enable dnssrv backend no|yes|mod no -PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" - -#--enable-ldap enable ldap backend no|yes|mod no -PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," - -#--enable-mdb enable mdb database backend no|yes|mod [yes] -PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no," - -#--enable-meta enable metadirectory backend no|yes|mod no -PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," - -#--enable-null enable null backend no|yes|mod no -PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," - -#--enable-passwd enable passwd backend no|yes|mod no -PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," - -#--enable-perl enable perl backend no|yes|mod no -# This requires a loadable perl dynamic library, if enabled without -# doing something appropriate (building perl?) the build will pick -# up the build machine perl - not good (inherit perlnative?) -PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" - -#--enable-relay enable relay backend no|yes|mod [yes] -PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," - -#--enable-sock enable sock backend no|yes|mod [no] -PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," - -#--enable-sql enable sql backend no|yes|mod no -# sql requires some sql backend which provides sql.h, sqlite* provides -# sqlite.h (which may be compatible but hasn't been tried.) -PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3" - -#--enable-wt enable wt backend no|yes|mod no -# back-wt is marked currently as experimental -PACKAGECONFIG[wt] = "--enable-wt=mod,--enable-wt=no" - -#--enable-dyngroup Dynamic Group overlay no|yes|mod no -# This is a demo, Proxy Cache defines init_module which conflicts with the -# same symbol in dyngroup -PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no," - -#--enable-proxycache Proxy Cache overlay no|yes|mod no -PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," -FILES:${PN}-overlay-proxycache = "${md}/pcache.so.*" -PACKAGES += "${PN}-overlay-proxycache" - -# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: -# This allows tls to obtain random bits from /dev/urandom, by default -# it was disabled for cross-compiling. -CPPFLAGS:append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\\"/dev/urandom\\" -fPIC" - -LDFLAGS:append = " -pthread" - -do_configure() { - rm -f ${S}/libtool - aclocal - libtoolize --force --copy - gnu-configize - cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build - cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/missing ${S}/build - cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/compile ${S}/build - autoconf - oe_runconf -} - -LEAD_SONAME = "libldap-${LDAP_VER}.so.*" - -# The executables go in a separate package. This allows the -# installation of the libraries with no daemon support. -# Each module also has its own package - see above. -PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin" - -# Package contents - shift most standard contents to -bin -FILES:${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data" -FILES:${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \ - ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \ - ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*" -FILES:${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp" -FILES:${PN}-bin = "${bindir}" -FILES:${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so ${libdir}/pkgconfig/*.pc" -FILES:${PN}-dbg += "${libexecdir}/openldap/.debug" - -do_install:append() { - install -d ${D}${sysconfdir}/init.d - cat ${UNPACKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap - chmod 755 ${D}${sysconfdir}/init.d/openldap - # This is duplicated in /etc/openldap and is for slapd - rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example - - # Installing slapd under ${sbin} is more FHS and LSB compliance - mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd - rmdir --ignore-fail-on-non-empty ${D}${libexecdir} - SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema slapmodify" - cd ${D}/${sbindir}/ - rm -f ${SLAPTOOLS} - for i in ${SLAPTOOLS}; do ln -sf slapd $i; done - - rmdir "${D}${localstatedir}/run" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${UNPACKDIR}/slapd.service ${D}${systemd_unitdir}/system/ - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service - - # Uses mdm as the database - # and localstatedir as data directory ... - sed -e 's/# modulepath/modulepath/' \ - -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \ - -e 's/database\s*bdb/database mdb/' \ - -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \ - -i ${D}${sysconfdir}/openldap/slapd.conf - - mkdir -p ${D}${localstatedir}/${BPN}/data -} - -INITSCRIPT_PACKAGES = "${PN}-slapd" -INITSCRIPT_NAME:${PN}-slapd = "openldap" -INITSCRIPT_PARAMS:${PN}-slapd = "defaults" -SYSTEMD_PACKAGES = "${PN}-slapd" -SYSTEMD_SERVICE:${PN}-slapd = "slapd.service" -SYSTEMD_AUTO_ENABLE:${PN}-slapd ?= "disable" - -PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" - -# The modules require their .so to be dynamicaly loaded -INSANE_SKIP:${PN}-backend-asyncmeta += "dev-so" -INSANE_SKIP:${PN}-backend-dnssrv += "dev-so" -INSANE_SKIP:${PN}-backend-ldap += "dev-so" -INSANE_SKIP:${PN}-backend-meta += "dev-so" -INSANE_SKIP:${PN}-backend-mdb += "dev-so" -INSANE_SKIP:${PN}-backend-null += "dev-so" -INSANE_SKIP:${PN}-backend-passwd += "dev-so" - -python populate_packages:prepend () { - backend_dir = d.expand('${libexecdir}/openldap') - do_split_packages(d, backend_dir, r'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True) - do_split_packages(d, backend_dir, r'back_([a-z]*)\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) - - metapkg = "${PN}-backends" - d.setVar('ALLOW_EMPTY:' + metapkg, "1") - d.setVar('FILES:' + metapkg, "") - metapkg_rdepends = [] - packages = d.getVar('PACKAGES').split() - for pkg in packages[1:]: - if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"): - metapkg_rdepends.append(pkg) - d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends)) - d.setVar('DESCRIPTION:' + metapkg, 'OpenLDAP backends meta package') - packages.append(metapkg) - d.setVar('PACKAGES', ' '.join(packages)) -} - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/openldap/openldap_2.6.13.bb b/meta-oe/recipes-support/openldap/openldap_2.6.13.bb new file mode 100644 index 00000000000..59f20d0f082 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap_2.6.13.bb @@ -0,0 +1,231 @@ +SUMMARY = "OpenLDAP Directory Service" +DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." +HOMEPAGE = "http://www.OpenLDAP.org/license.html" +# The OpenLDAP Public License - see the HOMEPAGE - defines +# the license. www.openldap.org claims this is Open Source +# (see http://www.openldap.org), the license appears to be +# basically BSD. opensource.org has listed this license +# since August 2019. +LICENSE = "OLDAP-2.8" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=e71f8d80fdc11f3cea5dee6ad13679ce \ + file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ + " +SECTION = "libs" + +LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" + +SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \ + file://initscript \ + file://slapd.service \ + file://remove-user-host-pwd-from-version.patch \ + file://0001-build-top.mk-unset-STRIP_OPTS.patch \ +" + +SRC_URI[sha256sum] = "d693b49517a42efb85a1a364a310aed16a53d428d1b46c0d31ef3fba78fcb656" + +DEPENDS = "util-linux groff-native" + +inherit autotools-brokensep update-rc.d systemd pkgconfig + +# CV SETTINGS +# Required to work round AC_FUNC_MEMCMP which gets the wrong answer +# when cross compiling (should be in site?) +EXTRA_OECONF += "ac_cv_func_memcmp_working=yes" + +# CONFIG DEFINITIONS +# The following is necessary because it cannot be determined for a +# cross compile automagically. Select should yield fine on all OE +# systems... +EXTRA_OECONF += "--with-yielding-select=yes" +# Shared libraries are nice... +EXTRA_OECONF += "--enable-dynamic" + +PACKAGECONFIG ??= "asyncmeta gnutls modules \ + mdb ldap meta null passwd proxycache dnssrv \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +#--with-tls with TLS/SSL support auto|openssl|gnutls [auto] +PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls" +PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" + +PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" +PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" + +# SLAPD options +# +# UNIX crypt(3) passwd support: +EXTRA_OECONF += "--enable-crypt" + +# SLAPD BACKEND +# +# The backend must be set by the configuration. This controls the +# required database. +# +# Backends="asyncmeta dnssrv ldap mdb meta null passwd perl relay sock sql wt" +# +# Note that multiple backends can be built. The ldbm backend requires a +# build-time choice of database API. To use the gdbm (or other) API the +# Berkely database module must be removed from the build. +md = "${libexecdir}/openldap" +# + +#--enable-asyncmeta enable asyncmeta backend no|yes|mod no +PACKAGECONFIG[asyncmeta] = "--enable-asyncmeta=mod,--enable-asyncmeta=no" + +#--enable-dnssrv enable dnssrv backend no|yes|mod no +PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" + +#--enable-ldap enable ldap backend no|yes|mod no +PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," + +#--enable-mdb enable mdb database backend no|yes|mod [yes] +PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no," + +#--enable-meta enable metadirectory backend no|yes|mod no +PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," + +#--enable-null enable null backend no|yes|mod no +PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," + +#--enable-passwd enable passwd backend no|yes|mod no +PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," + +#--enable-perl enable perl backend no|yes|mod no +# This requires a loadable perl dynamic library, if enabled without +# doing something appropriate (building perl?) the build will pick +# up the build machine perl - not good (inherit perlnative?) +PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" + +#--enable-relay enable relay backend no|yes|mod [yes] +PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," + +#--enable-sock enable sock backend no|yes|mod [no] +PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," + +#--enable-sql enable sql backend no|yes|mod no +# sql requires some sql backend which provides sql.h, sqlite* provides +# sqlite.h (which may be compatible but hasn't been tried.) +PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3" + +#--enable-wt enable wt backend no|yes|mod no +# back-wt is marked currently as experimental +PACKAGECONFIG[wt] = "--enable-wt=mod,--enable-wt=no" + +#--enable-dyngroup Dynamic Group overlay no|yes|mod no +# This is a demo, Proxy Cache defines init_module which conflicts with the +# same symbol in dyngroup +PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no," + +#--enable-proxycache Proxy Cache overlay no|yes|mod no +PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," +FILES:${PN}-overlay-proxycache = "${md}/pcache.so.*" +PACKAGES += "${PN}-overlay-proxycache" + +# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: +# This allows tls to obtain random bits from /dev/urandom, by default +# it was disabled for cross-compiling. +CPPFLAGS:append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\\"/dev/urandom\\" -fPIC" + +LDFLAGS:append = " -pthread" + +do_configure() { + rm -f ${S}/libtool + aclocal + libtoolize --force --copy + gnu-configize + cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build + cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/missing ${S}/build + cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/compile ${S}/build + autoconf + oe_runconf +} + +LEAD_SONAME = "libldap-${LDAP_VER}.so.*" + +# The executables go in a separate package. This allows the +# installation of the libraries with no daemon support. +# Each module also has its own package - see above. +PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin" + +# Package contents - shift most standard contents to -bin +FILES:${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data" +FILES:${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \ + ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \ + ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*" +FILES:${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp" +FILES:${PN}-bin = "${bindir}" +FILES:${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so ${libdir}/pkgconfig/*.pc" +FILES:${PN}-dbg += "${libexecdir}/openldap/.debug" + +do_install:append() { + install -d ${D}${sysconfdir}/init.d + cat ${UNPACKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap + chmod 755 ${D}${sysconfdir}/init.d/openldap + # This is duplicated in /etc/openldap and is for slapd + rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example + + # Installing slapd under ${sbin} is more FHS and LSB compliance + mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd + rmdir --ignore-fail-on-non-empty ${D}${libexecdir} + SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema slapmodify" + cd ${D}/${sbindir}/ + rm -f ${SLAPTOOLS} + for i in ${SLAPTOOLS}; do ln -sf slapd $i; done + + rmdir "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${UNPACKDIR}/slapd.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service + + # Uses mdm as the database + # and localstatedir as data directory ... + sed -e 's/# modulepath/modulepath/' \ + -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \ + -e 's/database\s*bdb/database mdb/' \ + -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \ + -i ${D}${sysconfdir}/openldap/slapd.conf + + mkdir -p ${D}${localstatedir}/${BPN}/data +} + +INITSCRIPT_PACKAGES = "${PN}-slapd" +INITSCRIPT_NAME:${PN}-slapd = "openldap" +INITSCRIPT_PARAMS:${PN}-slapd = "defaults" +SYSTEMD_PACKAGES = "${PN}-slapd" +SYSTEMD_SERVICE:${PN}-slapd = "slapd.service" +SYSTEMD_AUTO_ENABLE:${PN}-slapd ?= "disable" + +PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" + +# The modules require their .so to be dynamicaly loaded +INSANE_SKIP:${PN}-backend-asyncmeta += "dev-so" +INSANE_SKIP:${PN}-backend-dnssrv += "dev-so" +INSANE_SKIP:${PN}-backend-ldap += "dev-so" +INSANE_SKIP:${PN}-backend-meta += "dev-so" +INSANE_SKIP:${PN}-backend-mdb += "dev-so" +INSANE_SKIP:${PN}-backend-null += "dev-so" +INSANE_SKIP:${PN}-backend-passwd += "dev-so" + +python populate_packages:prepend () { + backend_dir = d.expand('${libexecdir}/openldap') + do_split_packages(d, backend_dir, r'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True) + do_split_packages(d, backend_dir, r'back_([a-z]*)\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) + + metapkg = "${PN}-backends" + d.setVar('ALLOW_EMPTY:' + metapkg, "1") + d.setVar('FILES:' + metapkg, "") + metapkg_rdepends = [] + packages = d.getVar('PACKAGES').split() + for pkg in packages[1:]: + if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"): + metapkg_rdepends.append(pkg) + d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends)) + d.setVar('DESCRIPTION:' + metapkg, 'OpenLDAP backends meta package') + packages.append(metapkg) + d.setVar('PACKAGES', ' '.join(packages)) +} + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/opensc/opensc_0.26.1.bb b/meta-oe/recipes-support/opensc/opensc_0.26.1.bb deleted file mode 100644 index 78258c965a8..00000000000 --- a/meta-oe/recipes-support/opensc/opensc_0.26.1.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Smart card library and applications" -DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\ -functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\ -7816-4 compatible smart card. Encryption and decryption using private\ -keys on the smart card is possible with PKCS\ -such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\ -eID cards have also been confirmed to work." -HOMEPAGE = "https://github.com/OpenSC/OpenSC/wiki" -SECTION = "System Environment/Libraries" -LICENSE = "LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=cb8aedd3bced19bd8026d96a8b6876d7" -DEPENDS = "openssl" - -SRCREV = "043343d2df7b09d1938bc3dc313d86a96be457cc" -SRC_URI = "git://github.com/OpenSC/OpenSC;branch=0.26.1;protocol=https" - -CVE_STATUS[CVE-2024-8443] = "fixed-version: this is fixed since 0.26.0" - - -inherit autotools pkgconfig bash-completion - -EXTRA_OECONF = " \ - --disable-ctapi \ - --disable-doc \ - --disable-static \ - --disable-strict \ -" -EXTRA_OEMAKE = "DESTDIR=${D}" - -PACKAGECONFIG ??= "pcsc" - -PACKAGECONFIG[openct] = "--enable-openct,--disable-openct,openct" -PACKAGECONFIG[pcsc] = "--enable-pcsc,--disable-pcsc,pcsc-lite,pcsc-lite pcsc-lite-lib" -PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline" - -FILES:${PN} += "\ - ${libdir}/opensc-pkcs11.so \ - ${libdir}/pkcs11-spy.so \ -" -FILES:${PN}-dev += "\ - ${libdir}/onepin-opensc-pkcs11.so \ - ${libdir}/pkcs11/opensc-pkcs11.so \ - ${libdir}/pkcs11/onepin-opensc-pkcs11.so \ - ${libdir}/pkcs11/pkcs11-spy.so \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/opensc/opensc_0.27.1.bb b/meta-oe/recipes-support/opensc/opensc_0.27.1.bb new file mode 100644 index 00000000000..d659fd1bee8 --- /dev/null +++ b/meta-oe/recipes-support/opensc/opensc_0.27.1.bb @@ -0,0 +1,48 @@ +SUMMARY = "Smart card library and applications" +DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\ +functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\ +7816-4 compatible smart card. Encryption and decryption using private\ +keys on the smart card is possible with PKCS\ +such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\ +eID cards have also been confirmed to work." +HOMEPAGE = "https://github.com/OpenSC/OpenSC/wiki" +SECTION = "System Environment/Libraries" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=cb8aedd3bced19bd8026d96a8b6876d7" +DEPENDS = "openssl" + +SRCREV = "19868984dc4dc697af6a86d65ab32a1f19a43ea4" +SRC_URI = "git://github.com/OpenSC/OpenSC;branch=master;protocol=https" + +CVE_STATUS[CVE-2024-8443] = "fixed-version: this is fixed since 0.26.0" + + +inherit autotools pkgconfig bash-completion + +EXTRA_OECONF = " \ + --disable-ctapi \ + --disable-doc \ + --disable-static \ + --disable-strict \ +" +EXTRA_OEMAKE = "DESTDIR=${D}" + +PACKAGECONFIG ??= "pcsc" + +PACKAGECONFIG[openct] = "--enable-openct,--disable-openct,openct" +PACKAGECONFIG[pcsc] = "--enable-pcsc,--disable-pcsc,pcsc-lite,pcsc-lite pcsc-lite-lib" +PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline" + +FILES:${PN} += "\ + ${libdir}/opensc-pkcs11.so \ + ${libdir}/pkcs11-spy.so \ + ${datadir}/p11-kit/modules/opensc.module \ +" +FILES:${PN}-dev += "\ + ${libdir}/onepin-opensc-pkcs11.so \ + ${libdir}/pkcs11/opensc-pkcs11.so \ + ${libdir}/pkcs11/onepin-opensc-pkcs11.so \ + ${libdir}/pkcs11/pkcs11-spy.so \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/pcp/pcp-native_6.3.8.bb b/meta-oe/recipes-support/pcp/pcp-native_6.3.8.bb index e90efea9cbe..c4064d8330e 100644 --- a/meta-oe/recipes-support/pcp/pcp-native_6.3.8.bb +++ b/meta-oe/recipes-support/pcp/pcp-native_6.3.8.bb @@ -10,8 +10,8 @@ export PCP_BIN_DIR = "${D}/usr/bin" B = "${S}" do_configure:prepend() { - export SED=${TMPDIR}/hosttools/sed - export AR=${TMPDIR}/hosttools/ar + export SED=${HOSTTOOLS_DIR}/sed + export AR=${HOSTTOOLS_DIR}/ar # export PYTHON=python3 rm -rf ${S}/include/pcp/configsz.h @@ -25,7 +25,7 @@ do_compile:prepend() { -e "s,#undef PM_SIZEOF_TIME_T,,g" \ ${S}/src/include/pcp/config.h.in - export AR=${TMPDIR}/hosttools/ar + export AR=${HOSTTOOLS_DIR}/ar # export PYTHON=python3 } diff --git a/meta-oe/recipes-support/pcp/pcp_6.3.8.bb b/meta-oe/recipes-support/pcp/pcp_6.3.8.bb index 65efac06be1..bf1d728b7cd 100644 --- a/meta-oe/recipes-support/pcp/pcp_6.3.8.bb +++ b/meta-oe/recipes-support/pcp/pcp_6.3.8.bb @@ -61,7 +61,7 @@ do_configure:prepend () { cp ${UNPACKDIR}/config.linux ${B} rm -rf ${S}/include/pcp/configsz.h rm -rf ${S}/include/pcp/platformsz.h - export SED=${TMPDIR}/hosttools/sed + export SED=${HOSTTOOLS_DIR}/sed export PYTHON=python3 } diff --git a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_2.0.3.bb b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_2.0.3.bb index 169630d3192..9e3c98bb972 100644 --- a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_2.0.3.bb +++ b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_2.0.3.bb @@ -34,7 +34,7 @@ PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-de RRECOMMENDS:${PN} = "ccid" RRECOMMENDS:${PN}:class-native = "" -RPROVIDES:${PN}:class-native += "pcsc-lite-lib-native" +RPROVIDES:${PN}:append:class-native = " pcsc-lite-lib-native" FILES:${PN} = "${sbindir}/pcscd \ ${datadir}/polkit-1" diff --git a/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.3.bb b/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.3.bb deleted file mode 100644 index 5aecc2df897..00000000000 --- a/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.3.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Some tools to be used with smart cards and PC/SC" -HOMEPAGE = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENCE;md5=94d55d512a9ba36caa9b7df079bae19f" - -SRC_URI = "git://github.com/LudovicRousseau/pcsc-tools;protocol=https;branch=master;tag=${PV}" - -SRCREV = "12f62c67650e1bfb491c18242a75fa61993c4cb8" - -inherit autotools pkgconfig - - -DEPENDS = "pcsc-lite autoconf-archive-native" - -RDEPENDS:${PN} += " \ - ${@bb.utils.contains('DISTRO_FEATURES','systemd','pcsc-lite-systemd', 'pcsc-lite', d)} \ - perl \ - perl-module-getopt-std \ - perl-module-file-stat \ - libpcsc-perl \ -" - -FILES:${PN} += "${datadir}/pcsc/smartcard_list.txt \ - ${datadir}/pcsc/gscriptor.png" diff --git a/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.4.bb b/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.4.bb new file mode 100644 index 00000000000..2a003cbb461 --- /dev/null +++ b/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.4.bb @@ -0,0 +1,24 @@ +SUMMARY = "Some tools to be used with smart cards and PC/SC" +HOMEPAGE = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENCE;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = "git://github.com/LudovicRousseau/pcsc-tools;protocol=https;branch=master;tag=${PV}" + +SRCREV = "52c6a3fda367d2badf618a2e0b8f9e59a02f16ff" + +inherit autotools pkgconfig + + +DEPENDS = "pcsc-lite autoconf-archive-native" + +RDEPENDS:${PN} += " \ + ${@bb.utils.contains('DISTRO_FEATURES','systemd','pcsc-lite-systemd', 'pcsc-lite', d)} \ + perl \ + perl-module-getopt-std \ + perl-module-file-stat \ + libpcsc-perl \ +" + +FILES:${PN} += "${datadir}/pcsc/smartcard_list.txt \ + ${datadir}/pcsc/gscriptor.png" diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb b/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb index 13a22f6e59e..af44864fa9b 100644 --- a/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb +++ b/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb @@ -14,7 +14,6 @@ SRC_URI = "\ SRC_URI[sha256sum] = "0ffc9994def10260f98a55cd132deefa8dc4a9835451cc0e982747bd458e2356" -CVE_STATUS[CVE-2010-1624] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." CVE_STATUS[CVE-2011-3594] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \ @@ -51,6 +50,7 @@ EXTRA_OECONF = " \ --disable-farstream \ --disable-vv \ " +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" # CONFIG_ARGS is used to display build info. Replace full paths by reproducible # variables ($S, $WORKDIR) diff --git a/meta-oe/recipes-support/pkcs11-provider/files/0001-Fix-i686-build-failures-in-cipher.c.patch b/meta-oe/recipes-support/pkcs11-provider/files/0001-Fix-i686-build-failures-in-cipher.c.patch new file mode 100644 index 00000000000..479608b8f3a --- /dev/null +++ b/meta-oe/recipes-support/pkcs11-provider/files/0001-Fix-i686-build-failures-in-cipher.c.patch @@ -0,0 +1,62 @@ +From aec4fe7e3c4d18cd5d0f98168df5884a141c6b69 Mon Sep 17 00:00:00 2001 +From: Simo Sorce +Date: Thu, 19 Feb 2026 16:08:56 -0500 +Subject: [PATCH] Fix i686 build failures in cipher.c + +Update AEAD functions to use CK_ULONG pointers for lengths and +introduce a temporary size_t variable for OSSL_PARAM calls. This +corrects pointer type mismatches that caused build failures in +Fedora Rawhide i686 scratch builds. + +Upstream-Status: Backport [aec4fe7e3c4d18cd5d0f98168df5884a141c6b69] + +Signed-off-by: Simo Sorce +--- + src/cipher.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/cipher.c b/src/cipher.c +index faaa51b..4ccd3ad 100644 +--- a/src/cipher.c ++++ b/src/cipher.c +@@ -867,7 +867,7 @@ static CK_RV tls_aead_get_data(CK_MECHANISM_PTR mech, data_buffer *explicitiv, + + static CK_RV tls_pre_aead(struct p11prov_cipher_ctx *cctx, + const unsigned char **in, size_t *inl, +- unsigned char **out, size_t *outl) ++ unsigned char **out, CK_ULONG *outl) + { + data_buffer iv = { 0 }; + data_buffer tag = { 0 }; +@@ -906,7 +906,7 @@ static CK_RV tls_pre_aead(struct p11prov_cipher_ctx *cctx, + } + + static CK_RV tls_post_aead(struct p11prov_cipher_ctx *cctx, unsigned char *out, +- size_t *outl) ++ CK_ULONG *outl) + { + data_buffer explicitiv = { 0 }; + data_buffer tag = { 0 }; +@@ -1475,15 +1475,16 @@ static int p11prov_common_set_ctx_params(void *vctx, const OSSL_PARAM params[]) + return RET_OSSL_ERR; + } + +- int ret = OSSL_PARAM_get_octet_string( +- p, (void **)&gcm->pIv, gcm->ulIvLen, &gcm->ulIvFixedBits); ++ size_t iv_size; ++ int ret = OSSL_PARAM_get_octet_string(p, (void **)&gcm->pIv, ++ gcm->ulIvLen, &iv_size); + if (ret != RET_OSSL_OK || gcm->pIv == NULL) { + P11PROV_raise(ctx->provctx, CKR_HOST_MEMORY, + "Memory allocation failed"); + return RET_OSSL_ERR; + } + +- gcm->ulIvFixedBits = BYTES_TO_BITS(gcm->ulIvFixedBits); ++ gcm->ulIvFixedBits = BYTES_TO_BITS(iv_size); + gcm->ivGenerator = CKG_GENERATE_COUNTER; + } else { + P11PROV_raise(ctx->provctx, CKR_MECHANISM_PARAM_INVALID, +-- +2.47.3 + diff --git a/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.1.bb b/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.1.bb deleted file mode 100644 index 015c2287ef6..00000000000 --- a/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.1.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "An OpenSSL provider that allows direct interfacing with pkcs11 drivers" -DESCRIPTION = "\ -This is an Openssl 3.x provider to access Hardware or Software Tokens using \ -the PKCS#11 Cryptographic Token Interface\ -\ -This code targets version 3.1 of the interface but should be backwards \ -compatible to previous versions as well.\ -" -HOMEPAGE = "https://github.com/latchset/pkcs11-provider" -SECTION = "libs" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=b53b787444a60266932bd270d1cf2d45" -DEPENDS = "\ - openssl \ - p11-kit \ -" - -SRCREV = "acb7086e44849d019956233348046c4f07c0670b" - -SRC_URI = "git://github.com/latchset/${BPN}.git;branch=main;protocol=https" - - -inherit meson pkgconfig - -# Overwrite default pkcs11 module path -#EXTRA_OEMESON += "-Ddefault_pkcs11_module=/path/to/mymodule.so" - -FILES:${PN} += "${libdir}/ossl-modules/pkcs11.so" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.2.bb b/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.2.bb new file mode 100644 index 00000000000..d95706d9e3a --- /dev/null +++ b/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.2.bb @@ -0,0 +1,31 @@ +SUMMARY = "An OpenSSL provider that allows direct interfacing with pkcs11 drivers" +DESCRIPTION = "\ +This is an Openssl 3.x provider to access Hardware or Software Tokens using \ +the PKCS#11 Cryptographic Token Interface\ +\ +This code targets version 3.1 of the interface but should be backwards \ +compatible to previous versions as well.\ +" +HOMEPAGE = "https://github.com/latchset/pkcs11-provider" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=b53b787444a60266932bd270d1cf2d45" +DEPENDS = "\ + openssl \ + p11-kit \ +" + +SRCREV = "c7a5c8b62a0ff012b16574f01651254ef7e664ee" + +SRC_URI = "git://github.com/latchset/${BPN}.git;branch=main;protocol=https" + +SRC_URI += "file://0001-Fix-i686-build-failures-in-cipher.c.patch" + +inherit meson pkgconfig + +# Overwrite default pkcs11 module path +#EXTRA_OEMESON += "-Ddefault_pkcs11_module=/path/to/mymodule.so" + +FILES:${PN} += "${libdir}/ossl-modules/pkcs11.so" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch b/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch index 8575797e89d..f8eadb3ee69 100644 --- a/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch +++ b/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch @@ -17,14 +17,14 @@ Updated comment and content after fixing some tests. Left only MongoDBTest.testArray on ignore list, untested. --- - cppignore.lnx | 9 +++++++++ - 1 file changed, 9 insertions(+) + cppignore.lnx | 1 + + 1 file changed, 1 insertion(+) diff --git a/cppignore.lnx b/cppignore.lnx index b3288d474..9aad48ca5 100644 --- a/cppignore.lnx +++ b/cppignore.lnx -@@ -30,3 +30,4 @@ CppUnit::TestCaller.testProxy +@@ -35,3 +35,4 @@ CppUnit::TestCaller.testProxy CppUnit::TestCaller.testProxy CppUnit::TestCaller.testHostByAddress CppUnit::TestCaller.testHostByName diff --git a/meta-oe/recipes-support/poco/poco/0002-DataTest-disable-testSQLChannel-test.patch b/meta-oe/recipes-support/poco/poco/0002-DataTest-disable-testSQLChannel-test.patch index 7628a8625a4..38028c1cf89 100644 --- a/meta-oe/recipes-support/poco/poco/0002-DataTest-disable-testSQLChannel-test.patch +++ b/meta-oe/recipes-support/poco/poco/0002-DataTest-disable-testSQLChannel-test.patch @@ -15,7 +15,7 @@ diff --git a/Data/testsuite/src/DataTest.cpp b/Data/testsuite/src/DataTest.cpp index e18b87edc..60fd266c3 100644 --- a/Data/testsuite/src/DataTest.cpp +++ b/Data/testsuite/src/DataTest.cpp -@@ -1648,7 +1648,7 @@ CppUnit::Test* DataTest::suite() +@@ -1659,7 +1659,7 @@ CppUnit::Test* DataTest::suite() CppUnit_addTest(pSuite, DataTest, testExternalBindingAndExtraction); CppUnit_addTest(pSuite, DataTest, testTranscode); CppUnit_addTest(pSuite, DataTest, testSQLParse); diff --git a/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch new file mode 100644 index 00000000000..293321bfa8c --- /dev/null +++ b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch @@ -0,0 +1,35 @@ +From dce2cc2886a9097971856e69737cc5c05c9239ea Mon Sep 17 00:00:00 2001 +From: Peter Marko +Date: Wed, 8 Apr 2026 10:54:25 +0200 +Subject: [PATCH] quill: use soft rdtsc fallback on 32-bit PowerPC + +Quill's rdtsc helper already avoids __rdtsc() on ARM and PPC64, but +32-bit PowerPC was not included in that guard. On powerpc targets this +falls through to the x86-specific intrinsic and fails with: + + error: '__rdtsc' was not declared in this scope + +Treat common 32-bit PowerPC compiler define the same way as PPC64 and +use the existing steady_clock-based fallback. + +Upstream-Status: Submitted [https://github.com/odygrd/quill/pull/911] +Signed-off-by: Peter Marko +--- + dependencies/quill/include/quill/core/Rdtsc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dependencies/quill/include/quill/core/Rdtsc.h b/dependencies/quill/include/quill/core/Rdtsc.h +index 3d0ae9f26..67f26cb89 100644 +--- a/dependencies/quill/include/quill/core/Rdtsc.h ++++ b/dependencies/quill/include/quill/core/Rdtsc.h +@@ -95,7 +95,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept + __asm__ volatile("stck %0" : "=Q"(tsc) : : "cc"); + return tsc; + } +-#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__)) ++#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__) || defined(__PPC__)) + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept + { + // soft failover +-- +2.47.2 diff --git a/meta-oe/recipes-support/poco/poco_1.14.2.bb b/meta-oe/recipes-support/poco/poco_1.14.2.bb deleted file mode 100644 index 8cdcf3649cb..00000000000 --- a/meta-oe/recipes-support/poco/poco_1.14.2.bb +++ /dev/null @@ -1,140 +0,0 @@ -SUMMARY = "Modern, powerful open source cross-platform C++ class libraries" -DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems." -HOMEPAGE = "http://pocoproject.org/" -SECTION = "libs" -LICENSE = "BSL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc" - -# These dependencies are required by Foundation -DEPENDS = "libpcre2 utf8proc zlib" - -SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-${PV};protocol=https;tag=poco-${PV}-release \ - file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ - file://0002-DataTest-disable-testSQLChannel-test.patch \ - file://run-ptest \ - " -SRCREV = "96d182a99303fb068575294b36f0cc20da2e7b25" - -UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P\d+(\.\d+)+)" - - -inherit cmake ptest - -# By default the most commonly used poco components are built -# Foundation is built anyway and doesn't need to be listed explicitly -# these don't have dependencies outside oe-core -PACKAGECONFIG ??= "XML JSON PDF Util Net NetSSL Crypto JWT Data DataPostgreSQL DataSQLite DNSSDAvahi Zip Encodings Prometheus" -# MongoDB does not build for all architectures yet keep in sync with COMPATIBLE_HOST list in mongodb recipe -# and mongodb needs meta-python enabled as well -PACKAGECONFIG:remove:riscv32 = "MongoDB" -PACKAGECONFIG:remove:riscv64 = "MongoDB" -PACKAGECONFIG:remove:mipsarch = "MongoDB" -PACKAGECONFIG:remove:powerpc = "MongoDB" -# Following options have dependencies on recipes which don't have native variant -PACKAGECONFIG:remove:class-native = "MongoDB DataODBC DataPostgreSQL DNSSDAvahi" - -PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat" -PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF" -PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,libpng zlib" -PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF" -PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF" -PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON,-DENABLE_NETSSL=OFF,openssl" -PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl" -PACKAGECONFIG[JWT] = "-DENABLE_JWT=ON,-DENABLE_JWT=OFF,openssl" -PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF" -PACKAGECONFIG[DataPostgreSQL] = "-DENABLE_DATA_POSTGRESQL=ON,-DENABLE_DATA_POSTGRESQL=OFF,postgresql,postgresql" -PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON,-DENABLE_DATA_SQLITE=OFF,sqlite3" -PACKAGECONFIG[DNSSDAvahi] = "-DENABLE_DNSSD=ON -DENABLE_DNSSD_AVAHI=ON,-DENABLE_DNSSD=OFF -DENABLE_DNSSD_AVAHI=OFF,avahi" -PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF" -PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF" -PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-DENABLE_PROMETHEUS=OFF" - -# Additional components not build by default, -# they might have dependencies not included in oe-core -# or they don't work on all architectures -PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2" -PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF" -PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb" -PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc" -PACKAGECONFIG[ActiveRecord] = "-DENABLE_ACTIVERECORD=ON,-DENABLE_ACTIVERECORD=OFF" -PACKAGECONFIG[ActiveRecordCompiler] = "-DENABLE_ACTIVERECORD_COMPILER=ON,-DENABLE_ACTIVERECORD_COMPILER=OFF" -PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF" -PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF" -PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF" -PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF" -PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF" - -EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \ - -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ - ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}" - -# For the native build we want to use the bundled version -EXTRA_OECMAKE:append:class-native = " -DPOCO_UNBUNDLED=OFF" - -# do not use rpath -EXTRA_OECMAKE:append = " -DCMAKE_SKIP_RPATH=ON" - -LDFLAGS:append:riscv32 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" -LDFLAGS:append:mips = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" -LDFLAGS:append:powerpc = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" -LDFLAGS:append:x86 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" - -python populate_packages:prepend () { - poco_libdir = d.expand('${libdir}') - pn = d.getVar("PN") - packages = [] - - def hook(f, pkg, file_regex, output_pattern, modulename): - packages.append(pkg) - - do_split_packages(d, poco_libdir, r'^libPoco(.*)\.so\..*$', - 'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook) - - d.setVar("RRECOMMENDS:%s" % pn, " ".join(packages)) -} - -do_install:append() { - # fix buildpaths - if [ -e ${D}${nonarch_libdir}/cmake/Poco/PocoPDFTargets.cmake ]; then - sed -i 's#${RECIPE_SYSROOT}##' ${D}${nonarch_libdir}/cmake/Poco/PocoPDFTargets.cmake - fi - if [ -e ${D}${nonarch_libdir}/cmake/Poco/PocoDNSSDAvahiTargets.cmake ]; then - sed -i 's#${RECIPE_SYSROOT}##g' ${D}${nonarch_libdir}/cmake/Poco/PocoDNSSDAvahiTargets.cmake - fi -} - -do_install_ptest () { - cp -rf ${B}/bin/ ${D}${PTEST_PATH} - cp -f ${B}/lib/libCppUnit.so* ${D}${libdir} - if ${@bb.utils.contains('PACKAGECONFIG', 'DataPostgreSQL', 'true', 'false', d)}; then - cp -f ${B}/lib/libPocoDataTest.so* ${D}${libdir} - fi - cp -rf ${S}/*/testsuite/data ${D}${PTEST_PATH}/bin/ - find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \; - rm -f ${D}${PTEST_PATH}/testrunners - for f in ${D}${PTEST_PATH}/bin/*-testrunner; do - echo `basename $f` >> ${D}${PTEST_PATH}/testrunners - done - install -Dm 0644 ${S}/cppignore.lnx ${D}${PTEST_PATH}/cppignore.lnx - install ${B}/bin/TestLibrary.so ${D}${libdir} - install -D ${B}/bin/TestApp ${D}${bindir}/TestApp -} - -PACKAGES_DYNAMIC = "poco-.*" - -# "poco" is a metapackage which pulls in all Poco components -ALLOW_EMPTY:${PN} = "1" - -# cppunit and datatest is only built if tests are enabled -PACKAGES =+ "${PN}-cppunit ${PN}-datatest" -FILES:${PN}-cppunit += "${libdir}/libCppUnit.so*" -ALLOW_EMPTY:${PN}-cppunit = "1" -FILES:${PN}-datatest += "${libdir}/libPocoDataTest.so*" -ALLOW_EMPTY:${PN}-datatest = "1" -FILES:${PN}-ptest += "${bindir}/TestApp ${libdir}/TestLibrary.so" - -RDEPENDS:${PN}-ptest += "${PN}-cppunit ${PN}-datatest" -RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PACKAGECONFIG', 'MongoDB', 'mongodb', '', d)}" -RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PACKAGECONFIG', 'Redis', 'redis', '', d)}" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/poco/poco_1.15.2.bb b/meta-oe/recipes-support/poco/poco_1.15.2.bb new file mode 100644 index 00000000000..5a873a1d85d --- /dev/null +++ b/meta-oe/recipes-support/poco/poco_1.15.2.bb @@ -0,0 +1,137 @@ +SUMMARY = "Modern, powerful open source cross-platform C++ class libraries" +DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems." +HOMEPAGE = "http://pocoproject.org/" +SECTION = "libs" +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc" + +# These dependencies are required by Foundation +DEPENDS = "libpcre2 utf8proc zlib" + +SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-${PV};protocol=https;tag=poco-${PV}-release \ + file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ + file://0002-DataTest-disable-testSQLChannel-test.patch \ + file://0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch \ + file://run-ptest \ + " +SRCREV = "afbb1ab68f29eec7079e2fdfa04b3efdbec6529d" + +UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P\d+(\.\d+)+)" + + +inherit cmake ptest + +# By default the most commonly used poco components are built +# Foundation is built anyway and doesn't need to be listed explicitly +# these don't have dependencies outside oe-core +PACKAGECONFIG ??= "XML JSON PDF Util Net NetSSL Crypto JWT Data DataPostgreSQL DataSQLite DNSSDAvahi Zip Encodings Prometheus FastLogger" +# MongoDB does not build for all architectures yet keep in sync with COMPATIBLE_HOST list in mongodb recipe +# and mongodb needs meta-python enabled as well +PACKAGECONFIG:remove:riscv32 = "MongoDB" +PACKAGECONFIG:remove:riscv64 = "MongoDB" +PACKAGECONFIG:remove:mipsarch = "MongoDB" +PACKAGECONFIG:remove:powerpc = "MongoDB" +# Following options have dependencies on recipes which don't have native variant +PACKAGECONFIG:remove:class-native = "MongoDB DataODBC DataPostgreSQL DNSSDAvahi" + +PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat" +PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF" +PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,libpng zlib" +PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF" +PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF" +PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON,-DENABLE_NETSSL=OFF,openssl" +PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl" +PACKAGECONFIG[JWT] = "-DENABLE_JWT=ON,-DENABLE_JWT=OFF,openssl" +PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF" +PACKAGECONFIG[DataPostgreSQL] = "-DENABLE_DATA_POSTGRESQL=ON,-DENABLE_DATA_POSTGRESQL=OFF,postgresql,postgresql" +PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON,-DENABLE_DATA_SQLITE=OFF,sqlite3" +PACKAGECONFIG[DNSSDAvahi] = "-DENABLE_DNSSD=ON -DENABLE_DNSSD_AVAHI=ON,-DENABLE_DNSSD=OFF -DENABLE_DNSSD_AVAHI=OFF,avahi" +PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF" +PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF" +PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-DENABLE_PROMETHEUS=OFF" +PACKAGECONFIG[FastLogger] = "-DENABLE_FASTLOGGER=ON,-DENABLE_FASTLOGGER=OFF" + +# Additional components not build by default, +# they might have dependencies not included in oe-core +# or they don't work on all architectures +PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2" +PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF" +PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb" +PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc" +PACKAGECONFIG[ActiveRecord] = "-DENABLE_ACTIVERECORD=ON,-DENABLE_ACTIVERECORD=OFF" +PACKAGECONFIG[ActiveRecordCompiler] = "-DENABLE_ACTIVERECORD_COMPILER=ON,-DENABLE_ACTIVERECORD_COMPILER=OFF" +PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF" +PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF" +PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF" +PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF" +PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF" + +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \ + -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}" + +# For the native build we want to use the bundled version +EXTRA_OECMAKE:append:class-native = " -DPOCO_UNBUNDLED=OFF" + +# do not use rpath +EXTRA_OECMAKE:append = " -DCMAKE_SKIP_RPATH=ON" + +python populate_packages:prepend () { + poco_libdir = d.expand('${libdir}') + pn = d.getVar("PN") + packages = [] + + def hook(f, pkg, file_regex, output_pattern, modulename): + packages.append(pkg) + + do_split_packages(d, poco_libdir, r'^libPoco(.*)\.so\..*$', + 'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook) + + d.setVar("RRECOMMENDS:%s" % pn, " ".join(packages)) +} + +do_install:append() { + # fix buildpaths + if [ -e ${D}${nonarch_libdir}/cmake/Poco/PocoPDFTargets.cmake ]; then + sed -i 's#${RECIPE_SYSROOT}##' ${D}${nonarch_libdir}/cmake/Poco/PocoPDFTargets.cmake + fi + if [ -e ${D}${nonarch_libdir}/cmake/Poco/PocoDNSSDAvahiTargets.cmake ]; then + sed -i 's#${RECIPE_SYSROOT}##g' ${D}${nonarch_libdir}/cmake/Poco/PocoDNSSDAvahiTargets.cmake + fi +} + +do_install_ptest () { + cp -rf ${B}/bin/ ${D}${PTEST_PATH} + cp -f ${B}/lib/libCppUnit.so* ${D}${libdir} + if ${@bb.utils.contains('PACKAGECONFIG', 'DataPostgreSQL', 'true', 'false', d)}; then + cp -f ${B}/lib/libPocoDataTest.so* ${D}${libdir} + fi + cp -rf ${S}/*/testsuite/data ${D}${PTEST_PATH}/bin/ + find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \; + rm -f ${D}${PTEST_PATH}/testrunners + for f in ${D}${PTEST_PATH}/bin/*-testrunner; do + echo `basename $f` >> ${D}${PTEST_PATH}/testrunners + done + install -Dm 0644 ${S}/cppignore.lnx ${D}${PTEST_PATH}/cppignore.lnx + install ${B}/bin/TestLibrary.so ${D}${libdir} + install -D ${B}/bin/TestApp ${D}${bindir}/TestApp +} + +PACKAGES_DYNAMIC = "poco-.*" + +# "poco" is a metapackage which pulls in all Poco components +ALLOW_EMPTY:${PN} = "1" + +# cppunit and datatest is only built if tests are enabled +PACKAGES =+ "${PN}-cppunit ${PN}-datatest" +FILES:${PN}-cppunit += "${libdir}/libCppUnit.so*" +ALLOW_EMPTY:${PN}-cppunit = "1" +FILES:${PN}-datatest += "${libdir}/libPocoDataTest.so*" +ALLOW_EMPTY:${PN}-datatest = "1" +FILES:${PN}-ptest += "${bindir}/TestApp ${libdir}/TestLibrary.so" + +RDEPENDS:${PN}-ptest += "${PN}-cppunit ${PN}-datatest" +RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PACKAGECONFIG', 'MongoDB', 'mongodb', '', d)}" +RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PACKAGECONFIG', 'Redis', 'redis', '', d)}" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/rdfind/rdfind_1.7.0.bb b/meta-oe/recipes-support/rdfind/rdfind_1.7.0.bb deleted file mode 100644 index 1472ca94ea1..00000000000 --- a/meta-oe/recipes-support/rdfind/rdfind_1.7.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Rdfind is a program that finds duplicate files" -HOMEPAGE = "https://rdfind.pauldreik.se/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=fa22e16ebbe6638b2bd253338fbded9f" - -DEPENDS = "nettle autoconf-archive" - -SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz" -SRC_URI[sha256sum] = "78c463152e1d9e4fd1bfeb83b9c92df5e7fc4c5f93c7d426fb1f7efa2be4df29" - -inherit autotools - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/rdfind/rdfind_1.8.0.bb b/meta-oe/recipes-support/rdfind/rdfind_1.8.0.bb new file mode 100644 index 00000000000..71ee7871c44 --- /dev/null +++ b/meta-oe/recipes-support/rdfind/rdfind_1.8.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Rdfind is a program that finds duplicate files" +HOMEPAGE = "https://rdfind.pauldreik.se/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fa22e16ebbe6638b2bd253338fbded9f" + +DEPENDS = "nettle autoconf-archive" + +SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz" +SRC_URI[sha256sum] = "0a2d0d32002cc2dc0134ee7b649bcc811ecfb2f8d9f672aa476a851152e7af35" + +inherit autotools + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/remmina/remmina_1.4.36.bb b/meta-oe/recipes-support/remmina/remmina_1.4.36.bb deleted file mode 100644 index b8a31fc0121..00000000000 --- a/meta-oe/recipes-support/remmina/remmina_1.4.36.bb +++ /dev/null @@ -1,50 +0,0 @@ -DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+" -HOMEPAGE = "https://remmina.org" -SECTION = "Support" -LICENSE = "GPL-2.0-only & OpenSSL" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769" - -DEPENDS = " \ - glib-2.0-native \ - openssl \ - freerdp \ - gtk+3 \ - gdk-pixbuf \ - atk \ - libgcrypt \ - libsodium \ - libssh \ - vte \ - json-glib \ - libsoup-3.0 \ - libvncserver \ - libsecret \ - libxkbfile \ - curl \ -" - -DEPENDS:append:libc-musl = " libexecinfo" -LDFLAGS:append:libc-musl = " -lexecinfo" - -SRCREV = "17cf7956b9f925fa788083a2db8d5e669f86bfaf" -SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=master" - -inherit cmake features_check mime mime-xdg gtk-icon-cache pkgconfig -REQUIRED_DISTRO_FEATURES = "x11" - -EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF -DHAVE_LIBAPPINDICATOR=OFF -DWITH_WEBKIT2GTK=OFF" - -PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol" -# Switch on gtk support in avahi recipe if you want to enable avahi support -PACKAGECONFIG[avahi] = "-DWITH_AVAHI=ON, -DWITH_AVAHI=OFF, avahi" - -do_configure:append() { - sed -i -e 's|${WORKDIR}||g' ${B}/generated/buildflags.h -} - -RDEPENDS:${PN} = "bash" - -FILES:${PN} += " \ - ${datadir}/metainfo \ - ${datadir}/mime \ -" diff --git a/meta-oe/recipes-support/remmina/remmina_1.4.43.bb b/meta-oe/recipes-support/remmina/remmina_1.4.43.bb new file mode 100644 index 00000000000..518c75a1a8a --- /dev/null +++ b/meta-oe/recipes-support/remmina/remmina_1.4.43.bb @@ -0,0 +1,56 @@ +DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+" +HOMEPAGE = "https://remmina.org" +SECTION = "Support" +LICENSE = "GPL-2.0-only & OpenSSL" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769" + +DEPENDS = " \ + glib-2.0-native \ + openssl \ + freerdp3 \ + gtk+3 \ + gdk-pixbuf \ + atk \ + libgcrypt \ + libsodium \ + libssh \ + vte \ + json-glib \ + libsoup-3.0 \ + libvncserver \ + libsecret \ + libxkbfile \ + curl \ +" + +DEPENDS:append:libc-musl = " libexecinfo" +LDFLAGS:append:libc-musl = " -lexecinfo" + +SRCREV = "7be0cf2348d149c6bf5bd882fe91d3bec7d6aebb" +SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=master;tag=v${PV}" + +inherit cmake features_check mime mime-xdg gtk-icon-cache pkgconfig +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OECMAKE += "\ + -DWITH_APPINDICATOR=OFF \ + -DWITH_GETTEXT=OFF \ + -DWITH_TRANSLATIONS=OFF \ + -DHAVE_LIBAPPINDICATOR=OFF \ + -DWITH_WEBKIT2GTK=OFF \ + -DWITH_FREERDP3=ON" + +PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol" +# Switch on gtk support in avahi recipe if you want to enable avahi support +PACKAGECONFIG[avahi] = "-DWITH_AVAHI=ON, -DWITH_AVAHI=OFF, avahi" + +do_configure:append() { + sed -i -e 's|${WORKDIR}||g' ${B}/generated/buildflags.h +} + +RDEPENDS:${PN} = "bash" + +FILES:${PN} += " \ + ${datadir}/metainfo \ + ${datadir}/mime \ +" diff --git a/meta-oe/recipes-support/smarty/smarty_5.7.0.bb b/meta-oe/recipes-support/smarty/smarty_5.7.0.bb deleted file mode 100644 index 1d21c7eedf7..00000000000 --- a/meta-oe/recipes-support/smarty/smarty_5.7.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Template engine for PHP" -DESCRIPTION = "\ - Smarty facilitates the separation of presentation (HTML/CSS) from \ - application logic. This implies that PHP code is application logic, and is \ - separated from the presentation. \ -" -HOMEPAGE = "https://smarty-php.github.io/smarty/" -BUGTRACKER = "https://github.com/smarty-php/smarty/issues" - -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2c0f216b2120ffc367e20f2b56df51b3" - -SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;branch=master;tag=v${PV}" - -SRCREV = "73da7e90f302175a570662fcb0ba41f57b7a92ab" - - -INHIBIT_DEFAULT_DEPS = "1" - -# `make clean` removes files, they can't be rebuild with `make all` -CLEANBROKEN = "1" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -do_install() { - install -d ${D}${datadir}/php/smarty3/libs/ - install -m 0644 ${S}/libs/*.php ${D}${datadir}/php/smarty3/libs/ - - install -d ${D}${datadir}/php/smarty3/src/ - cp -rf ${S}/src/* ${D}${datadir}/php/smarty3/src/ -} -FILES:${PN} += "${datadir}/php/smarty3/" - -RDEPENDS:${PN} = "php" - -CVE_PRODUCT = "smarty:smarty smarty-php:smarty" diff --git a/meta-oe/recipes-support/smarty/smarty_5.8.0.bb b/meta-oe/recipes-support/smarty/smarty_5.8.0.bb new file mode 100644 index 00000000000..89fe828ab59 --- /dev/null +++ b/meta-oe/recipes-support/smarty/smarty_5.8.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Template engine for PHP" +DESCRIPTION = "\ + Smarty facilitates the separation of presentation (HTML/CSS) from \ + application logic. This implies that PHP code is application logic, and is \ + separated from the presentation. \ +" +HOMEPAGE = "https://smarty-php.github.io/smarty/" +BUGTRACKER = "https://github.com/smarty-php/smarty/issues" + +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2c0f216b2120ffc367e20f2b56df51b3" + +SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;branch=master;tag=v${PV}" + +SRCREV = "78d259d3b971c59a0cd719c270cc5cbb740c36a7" + + +INHIBIT_DEFAULT_DEPS = "1" + +# `make clean` removes files, they can't be rebuild with `make all` +CLEANBROKEN = "1" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${datadir}/php/smarty3/libs/ + install -m 0644 ${S}/libs/*.php ${D}${datadir}/php/smarty3/libs/ + + install -d ${D}${datadir}/php/smarty3/src/ + cp -rf ${S}/src/* ${D}${datadir}/php/smarty3/src/ +} +FILES:${PN} += "${datadir}/php/smarty3/" + +RDEPENDS:${PN} = "php" + +CVE_PRODUCT = "smarty:smarty smarty-php:smarty" diff --git a/meta-oe/recipes-support/snapper/snapper/0001-Fix-build-with-boost-1.89.patch b/meta-oe/recipes-support/snapper/snapper/0001-Fix-build-with-boost-1.89.patch deleted file mode 100644 index a6598b5635f..00000000000 --- a/meta-oe/recipes-support/snapper/snapper/0001-Fix-build-with-boost-1.89.patch +++ /dev/null @@ -1,89 +0,0 @@ -From c33e7707da86a23c4ad7e2451ddb04df419d6412 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 31 Aug 2025 00:13:07 -0700 -Subject: [PATCH] Fix build with boost 1.89 - -boost 1.89+ does not have boost system lib anymore all needed functions -are now in header - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - dbus/Makefile.am | 2 +- - examples/c++-lib/Makefile.am | 1 - - server/Makefile.am | 2 +- - snapper/Makefile.am | 2 +- - testsuite-cmp/Makefile.am | 1 - - zypp-plugin/Makefile.am | 1 - - 6 files changed, 3 insertions(+), 6 deletions(-) - -diff --git a/dbus/Makefile.am b/dbus/Makefile.am -index 9c0456a..2078d7d 100644 ---- a/dbus/Makefile.am -+++ b/dbus/Makefile.am -@@ -15,4 +15,4 @@ libdbus_la_SOURCES = \ - DBusMainLoop.cc DBusMainLoop.h - - libdbus_la_LIBADD = $(DBUS_LIBS) --libdbus_la_LDFLAGS = -lboost_system -lboost_thread -+libdbus_la_LDFLAGS = -lboost_thread -diff --git a/examples/c++-lib/Makefile.am b/examples/c++-lib/Makefile.am -index 52c81e5..f55da6f 100644 ---- a/examples/c++-lib/Makefile.am -+++ b/examples/c++-lib/Makefile.am -@@ -5,7 +5,6 @@ - AM_CPPFLAGS = -I$(top_srcdir) - - LDADD = ../../snapper/libsnapper.la --AM_LDFLAGS = -lboost_system - - noinst_PROGRAMS = List ListAll Create CmpDirs CreateNumber CreateTimeline - -diff --git a/server/Makefile.am b/server/Makefile.am -index c03f373..1aef916 100644 ---- a/server/Makefile.am -+++ b/server/Makefile.am -@@ -16,4 +16,4 @@ snapperd_SOURCES = \ - FilesTransferTask.cc FilesTransferTask.h - - snapperd_LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lrt --snapperd_LDFLAGS = -lboost_system -lboost_thread -lpthread -+snapperd_LDFLAGS = -lboost_thread -lpthread -diff --git a/snapper/Makefile.am b/snapper/Makefile.am -index b0fe55c..d75599f 100644 ---- a/snapper/Makefile.am -+++ b/snapper/Makefile.am -@@ -71,7 +71,7 @@ endif - - libsnapper_la_CPPFLAGS = $(XML2_CFLAGS) $(ZLIB_CFLAGS) - libsnapper_la_LDFLAGS = -version-info @LIBVERSION_INFO@ --libsnapper_la_LIBADD = -lboost_thread -lboost_system $(XML2_LIBS) -lacl $(ZLIB_LIBS) -+libsnapper_la_LIBADD = -lboost_thread $(XML2_LIBS) -lacl $(ZLIB_LIBS) - if ENABLE_ROLLBACK - libsnapper_la_LIBADD += -lmount - endif -diff --git a/testsuite-cmp/Makefile.am b/testsuite-cmp/Makefile.am -index 81104bf..555bc3b 100644 ---- a/testsuite-cmp/Makefile.am -+++ b/testsuite-cmp/Makefile.am -@@ -3,7 +3,6 @@ - # - - AM_CPPFLAGS = -I$(top_srcdir) --AM_LDFLAGS = -lboost_system - - LDADD = ../snapper/libsnapper.la - -diff --git a/zypp-plugin/Makefile.am b/zypp-plugin/Makefile.am -index 9d102e0..e395f59 100644 ---- a/zypp-plugin/Makefile.am -+++ b/zypp-plugin/Makefile.am -@@ -33,7 +33,6 @@ forwarding_zypp_plugin_SOURCES = \ - forwarding_zypp_plugin_LDADD = \ - ../snapper/libsnapper.la \ - ../stomp/libstomp.la \ -- -lboost_system \ - -lpthread - - TESTS = solvable-matcher.test diff --git a/meta-oe/recipes-support/snapper/snapper_0.12.2.bb b/meta-oe/recipes-support/snapper/snapper_0.12.2.bb deleted file mode 100644 index 981ca84c13f..00000000000 --- a/meta-oe/recipes-support/snapper/snapper_0.12.2.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Snapper is a tool for Linux file system snapshot management" -HOMEPAGE = "https://github.com/openSUSE/snapper" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS = "acl boost btrfs-tools dbus e2fsprogs json-c libxml2 lvm2 ncurses zlib" - -# Build separation is slightly broken -inherit autotools-brokensep pkgconfig gettext - -SRC_URI = "git://github.com/openSUSE/snapper.git;protocol=https;branch=master \ - file://0001-Fix-build-with-boost-1.89.patch \ - " -SRCREV = "4f3d2b2fc58aefa976668cd25b8eac02ba0f85e7" - -EXTRA_OECONF += "--disable-zypp" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'api-documentation systemd pam', d)}" -PACKAGECONFIG[pam] = "--enable-pam --with-pam-security=${base_libdir}/security, --disable-pam,libpam" -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd" -PACKAGECONFIG[api-documentation] = "--enable-doc,--disable-doc,libxslt-native docbook-xsl-stylesheets-native" - -# Avoid HOSTTOOLS path in binaries -export DIFF_BIN = "${bindir}/diff" -export RM_BIN = "${bindir}/rm" -export RMDIR_BIN = "${bindir}/rmdir" -export MKDIR_BIN = "${bindir}/mkdir" -export TOUCH_BIN = "${bindir}/touch" -export CP_BIN = "${bindir}/cp" -export REALPATH_BIN = "${bindir}/realpath" - -do_install:append() { - install -d ${D}${sysconfdir}/sysconfig - install -m0644 ${S}/data/default-config ${D}${sysconfdir}/sysconfig/snapper -} - -FILES:${PN} += "${base_libdir}/security ${nonarch_libdir} ${systemd_system_unitdir} ${datadir}" - -# bash is needed for the testsuite -RDEPENDS:${PN} = "bash diffutils util-linux util-linux-mount" diff --git a/meta-oe/recipes-support/snapper/snapper_0.13.0.bb b/meta-oe/recipes-support/snapper/snapper_0.13.0.bb new file mode 100644 index 00000000000..56d4c89d0fe --- /dev/null +++ b/meta-oe/recipes-support/snapper/snapper_0.13.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Snapper is a tool for Linux file system snapshot management" +HOMEPAGE = "https://github.com/openSUSE/snapper" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "acl boost btrfs-tools dbus e2fsprogs json-c libxml2 lvm2 ncurses zlib" + +# Build separation is slightly broken +inherit autotools-brokensep pkgconfig gettext manpages + +SRC_URI = "git://github.com/openSUSE/snapper.git;protocol=https;branch=master" +SRCREV = "3a3bd97083976d28538d402284ff947b4aab5b8f" + +EXTRA_OECONF += "--disable-zypp" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd pam', d)}" +PACKAGECONFIG[pam] = "--enable-pam --with-pam-security=${base_libdir}/security, --disable-pam,libpam" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd" +PACKAGECONFIG[manpages] = "--enable-doc,--disable-doc,libxslt-native docbook-xsl-stylesheets-native" + +# Avoid HOSTTOOLS path in binaries +export DIFF_BIN = "${bindir}/diff" +export RM_BIN = "${bindir}/rm" +export RMDIR_BIN = "${bindir}/rmdir" +export MKDIR_BIN = "${bindir}/mkdir" +export TOUCH_BIN = "${bindir}/touch" +export CP_BIN = "${bindir}/cp" +export REALPATH_BIN = "${bindir}/realpath" + +do_install:append() { + install -d ${D}${sysconfdir}/sysconfig + install -m0644 ${S}/data/default-config ${D}${sysconfdir}/sysconfig/snapper +} + +FILES:${PN} += "${base_libdir}/security ${nonarch_libdir} ${systemd_system_unitdir} ${datadir}" + +# bash is needed for the testsuite +RDEPENDS:${PN} = "bash diffutils util-linux util-linux-mount" diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_4.10.2.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_4.10.2.bb deleted file mode 100644 index c3b201c4a7f..00000000000 --- a/meta-oe/recipes-support/syslog-ng/syslog-ng_4.10.2.bb +++ /dev/null @@ -1,149 +0,0 @@ -SUMMARY = "Alternative system logger daemon" -DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \ -but with new functionality for the new generation. The original syslogd \ -allows messages only to be sorted based on priority/facility pairs; \ -syslog-ng adds the possibility to filter based on message contents using \ -regular expressions. The new configuration scheme is intuitive and powerful. \ -Forwarding logs over TCP and remembering all forwarding hops makes it \ -ideal for firewalled environments. \ -" -HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system" - -LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=924958cefc9f7de3e0b818832b8a1cec" - -# util-linux added to get libuuid -DEPENDS = "libpcre2 flex glib-2.0 openssl util-linux bison-native curl json-c" - -SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \ - file://syslog-ng.conf.systemd \ - file://syslog-ng.conf.sysvinit \ - file://initscript \ - file://volatiles.03_syslog-ng \ - file://syslog-ng-tmp.conf \ - file://syslog-ng.service-the-syslog-ng-service.patch \ - file://0001-Fix-buildpaths-warning.patch \ -" -SRC_URI:append:powerpc64le = " file://0001-plugin.c-workaround-powerpc64le-segfaults-error.patch" - -SRC_URI[sha256sum] = "841503de6c2486e66fd08f0c62ac2568fc8ed1021297f855e8acd58ad7caff76" - -UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/syslog-ng-(?P\d+(\.\d+)+)" - -CVE_STATUS[CVE-2022-38725] = "cpe-incorrect: cve-check wrongly matches cpe:2.3:a:oneidentity:syslog-ng:*:*:*:*:premium:*:*:* < 7.0.32" - -inherit autotools gettext systemd pkgconfig update-rc.d multilib_header - -EXTRA_OECONF = " \ - --enable-dynamic-linking \ - --disable-sub-streams \ - --disable-pacct \ - --localstatedir=${localstatedir}/lib/${BPN} \ - --sysconfdir=${sysconfdir}/${BPN} \ - --with-module-dir=${libdir}/${BPN} \ - --with-sysroot=${STAGING_DIR_HOST} \ - --without-mongoc --disable-mongodb \ - --with-librabbitmq-client=no \ - --disable-python \ - --disable-java --disable-java-modules \ - --with-pidfile-dir=${localstatedir}/run/${BPN} \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \ -" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," -PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd," -PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap," -PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi," -PACKAGECONFIG[spoof-source] = "--enable-spoof-source --with-libnet=${STAGING_BINDIR_CROSS},--disable-spoof-source,libnet," -PACKAGECONFIG[http] = "--enable-http,--disable-http,curl," -PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp," -PACKAGECONFIG[stomp] = "--enable-stomp,--disable-stomp,," -PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c," -PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip," -PACKAGECONFIG[native] = "--enable-native,--disable-native,," -PACKAGECONFIG[examples] = "--enable-example-modules,--disable-example-modules,," - -do_install:append() { - install -d ${D}${sysconfdir}/${BPN} - install -d ${D}${sysconfdir}/init.d - install -m 755 ${UNPACKDIR}/initscript ${D}${sysconfdir}/init.d/syslog - - install -d ${D}${sysconfdir}/default/volatiles/ - install -m 644 ${UNPACKDIR}/volatiles.03_syslog-ng ${D}${sysconfdir}/default/volatiles/03_syslog-ng - install -d ${D}${sysconfdir}/tmpfiles.d/ - install -m 644 ${UNPACKDIR}/syslog-ng-tmp.conf ${D}${sysconfdir}/tmpfiles.d/syslog-ng.conf - - install -d ${D}${localstatedir}/lib/${BPN} - # Remove /var/run as it is created on startup - rm -rf ${D}${localstatedir}/run - - # it causes install conflict when multilib enabled - # since python support is disabled, not deliver it - rm -f ${D}${bindir}/syslog-ng-update-virtualenv - - # support for systemd - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -m 644 ${UNPACKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf - - install -d ${D}${systemd_unitdir}/system/ - install -m 644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service - install -m 644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default - - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default - sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default - sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default - - install -d ${D}${systemd_unitdir}/system/multi-user.target.wants - ln -sf ../${BPN}@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/${BPN}@default.service - else - install -m 644 ${UNPACKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf - fi - - oe_multilib_header syslog-ng/syslog-ng-config.h -} - -FILES:${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools ${systemd_unitdir}/system/multi-user.target.wants/*" -RDEPENDS:${PN} += "gawk ${@bb.utils.contains('PACKAGECONFIG','json','${PN}-jconf','',d)}" - -FILES:${PN}-jconf += " \ -${datadir}/${BPN}/include/scl/cim \ -${datadir}/${BPN}/include/scl/elasticsearch \ -${datadir}/${BPN}/include/scl/ewmm \ -${datadir}/${BPN}/include/scl/graylog2 \ -${datadir}/${BPN}/include/scl/loggly \ -${datadir}/${BPN}/include/scl/logmatic \ -" - -# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error -PACKAGES =+ "${PN}-jconf ${PN}-libs ${PN}-libs-dev" -RPROVIDES:${PN}-dbg += "${PN}-libs-dbg" -FILES:${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*" -FILES:${PN}-libs-dev = "${libdir}/${BPN}/lib*.la" -FILES:${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a" -FILES:${PN} += "${systemd_unitdir}/system/*.service" -INSANE_SKIP:${PN}-libs = "dev-so" -RDEPENDS:${PN} += "${PN}-libs" - -CONFFILES:${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" - -RCONFLICTS:${PN} = "busybox-syslog sysklogd rsyslog" -RCONFLICTS:${PN}-libs = "busybox-syslog sysklogd rsyslog" - -RPROVIDES:${PN} += "${PN}-systemd" -RREPLACES:${PN} += "${PN}-systemd" -RCONFLICTS:${PN} += "${PN}-systemd" -SYSTEMD_SERVICE:${PN} = "${BPN}@.service" - -INITSCRIPT_NAME = "syslog" -INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ." - -# Fails only with 32bit MACHINEs -# http://errors.yoctoproject.org/Errors/Details/766956/ -# syslog-ng-4.6.0/modules/secure-logging/slog.c:937:63: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] -# syslog-ng-4.6.0/modules/secure-logging/slog.c:955:99: error: passing argument 5 of 'cmac' from incompatible pointer type [-Wincompatible-pointer-types] -# syslog-ng-4.6.0/modules/secure-logging/slog.c:959:74: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] -# syslog-ng-4.6.0/modules/secure-logging/slog.c:975:107: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] -CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_4.11.0.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_4.11.0.bb new file mode 100644 index 00000000000..1846758681e --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng_4.11.0.bb @@ -0,0 +1,149 @@ +SUMMARY = "Alternative system logger daemon" +DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \ +but with new functionality for the new generation. The original syslogd \ +allows messages only to be sorted based on priority/facility pairs; \ +syslog-ng adds the possibility to filter based on message contents using \ +regular expressions. The new configuration scheme is intuitive and powerful. \ +Forwarding logs over TCP and remembering all forwarding hops makes it \ +ideal for firewalled environments. \ +" +HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system" + +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=924958cefc9f7de3e0b818832b8a1cec" + +# util-linux added to get libuuid +DEPENDS = "libpcre2 flex glib-2.0 openssl util-linux bison-native curl json-c" + +SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \ + file://syslog-ng.conf.systemd \ + file://syslog-ng.conf.sysvinit \ + file://initscript \ + file://volatiles.03_syslog-ng \ + file://syslog-ng-tmp.conf \ + file://syslog-ng.service-the-syslog-ng-service.patch \ + file://0001-Fix-buildpaths-warning.patch \ +" +SRC_URI:append:powerpc64le = " file://0001-plugin.c-workaround-powerpc64le-segfaults-error.patch" + +SRC_URI[sha256sum] = "37ea0d4588533316de122df4e1b249867b0a0575f646c7478d0cc4d747462943" + +UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/syslog-ng-(?P\d+(\.\d+)+)" + +CVE_STATUS[CVE-2022-38725] = "cpe-incorrect: cve-check wrongly matches cpe:2.3:a:oneidentity:syslog-ng:*:*:*:*:premium:*:*:* < 7.0.32" + +inherit autotools gettext systemd pkgconfig update-rc.d multilib_header + +EXTRA_OECONF = " \ + --enable-dynamic-linking \ + --disable-sub-streams \ + --disable-pacct \ + --localstatedir=${localstatedir}/lib/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-module-dir=${libdir}/${BPN} \ + --with-sysroot=${STAGING_DIR_HOST} \ + --without-mongoc --disable-mongodb \ + --with-librabbitmq-client=no \ + --disable-python \ + --disable-java --disable-java-modules \ + --with-pidfile-dir=${localstatedir}/run/${BPN} \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \ +" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd," +PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap," +PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi," +PACKAGECONFIG[spoof-source] = "--enable-spoof-source --with-libnet=${STAGING_BINDIR_CROSS},--disable-spoof-source,libnet," +PACKAGECONFIG[http] = "--enable-http,--disable-http,curl," +PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp," +PACKAGECONFIG[stomp] = "--enable-stomp,--disable-stomp,," +PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c," +PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip," +PACKAGECONFIG[native] = "--enable-native,--disable-native,," +PACKAGECONFIG[examples] = "--enable-example-modules,--disable-example-modules,," + +do_install:append() { + install -d ${D}${sysconfdir}/${BPN} + install -d ${D}${sysconfdir}/init.d + install -m 755 ${UNPACKDIR}/initscript ${D}${sysconfdir}/init.d/syslog + + install -d ${D}${sysconfdir}/default/volatiles/ + install -m 644 ${UNPACKDIR}/volatiles.03_syslog-ng ${D}${sysconfdir}/default/volatiles/03_syslog-ng + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 644 ${UNPACKDIR}/syslog-ng-tmp.conf ${D}${sysconfdir}/tmpfiles.d/syslog-ng.conf + + install -d ${D}${localstatedir}/lib/${BPN} + # Remove /var/run as it is created on startup + rm -rf ${D}${localstatedir}/run + + # it causes install conflict when multilib enabled + # since python support is disabled, not deliver it + rm -f ${D}${bindir}/syslog-ng-update-virtualenv + + # support for systemd + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -m 644 ${UNPACKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf + + install -d ${D}${systemd_unitdir}/system/ + install -m 644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service + install -m 644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default + + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default + sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default + sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default + + install -d ${D}${systemd_unitdir}/system/multi-user.target.wants + ln -sf ../${BPN}@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/${BPN}@default.service + else + install -m 644 ${UNPACKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf + fi + + oe_multilib_header syslog-ng/syslog-ng-config.h +} + +FILES:${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools ${systemd_unitdir}/system/multi-user.target.wants/*" +RDEPENDS:${PN} += "gawk ${@bb.utils.contains('PACKAGECONFIG','json','${PN}-jconf','',d)}" + +FILES:${PN}-jconf += " \ +${datadir}/${BPN}/include/scl/cim \ +${datadir}/${BPN}/include/scl/elasticsearch \ +${datadir}/${BPN}/include/scl/ewmm \ +${datadir}/${BPN}/include/scl/graylog2 \ +${datadir}/${BPN}/include/scl/loggly \ +${datadir}/${BPN}/include/scl/logmatic \ +" + +# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error +PACKAGES =+ "${PN}-jconf ${PN}-libs ${PN}-libs-dev" +RPROVIDES:${PN}-dbg += "${PN}-libs-dbg" +FILES:${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*" +FILES:${PN}-libs-dev = "${libdir}/${BPN}/lib*.la" +FILES:${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a" +FILES:${PN} += "${systemd_unitdir}/system/*.service" +INSANE_SKIP:${PN}-libs = "dev-so" +RDEPENDS:${PN} += "${PN}-libs" + +CONFFILES:${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" + +RCONFLICTS:${PN} = "busybox-syslog sysklogd rsyslog" +RCONFLICTS:${PN}-libs = "busybox-syslog sysklogd rsyslog" + +RPROVIDES:${PN} += "${PN}-systemd" +RREPLACES:${PN} += "${PN}-systemd" +RCONFLICTS:${PN} += "${PN}-systemd" +SYSTEMD_SERVICE:${PN} = "${BPN}@.service" + +INITSCRIPT_NAME = "syslog" +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ." + +# Fails only with 32bit MACHINEs +# http://errors.yoctoproject.org/Errors/Details/766956/ +# syslog-ng-4.6.0/modules/secure-logging/slog.c:937:63: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] +# syslog-ng-4.6.0/modules/secure-logging/slog.c:955:99: error: passing argument 5 of 'cmac' from incompatible pointer type [-Wincompatible-pointer-types] +# syslog-ng-4.6.0/modules/secure-logging/slog.c:959:74: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] +# syslog-ng-4.6.0/modules/secure-logging/slog.c:975:107: error: passing argument 4 of 'g_io_channel_write_chars' from incompatible pointer type [-Wincompatible-pointer-types] +CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd/0001-Fix-const-correctness-for-pointer-variables-to-refer.patch b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd/0001-Fix-const-correctness-for-pointer-variables-to-refer.patch new file mode 100644 index 00000000000..190baff6060 --- /dev/null +++ b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd/0001-Fix-const-correctness-for-pointer-variables-to-refer.patch @@ -0,0 +1,60 @@ +From 515e23b37ad1400bfb73797771c4f0fd78655328 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 15 Apr 2026 10:52:05 -0700 +Subject: [PATCH] Fix const-correctness for pointer variables to referred + strings + +Mark pointer variables 'e' as 'const char *' in +config_parse_netlog_remote_address,file_in_same_dir, and +socket_address_parse, since they point to memory they do not +own or modify. + +Upstream-Status: Submitted [https://github.com/systemd/systemd-netlogd/pull/148] +Signed-off-by: Khem Raj +--- + src/netlog/netlog-conf.c | 2 +- + src/share/path-util.c | 3 ++- + src/share/socket-util.c | 3 ++- + 3 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/netlog/netlog-conf.c b/src/netlog/netlog-conf.c +index a4cf0da..59bdd23 100644 +--- a/src/netlog/netlog-conf.c ++++ b/src/netlog/netlog-conf.c +@@ -22,7 +22,7 @@ int config_parse_netlog_remote_address(const char *unit, + void *data, + void *userdata) { + Manager *m = userdata; +- char *e; ++ const char *e; + int r; + + assert(filename); +diff --git a/src/share/path-util.c b/src/share/path-util.c +index dda7ec6..ad6f24a 100644 +--- a/src/share/path-util.c ++++ b/src/share/path-util.c +@@ -327,7 +327,8 @@ bool path_is_safe(const char *p) { + } + + char *file_in_same_dir(const char *path, const char *filename) { +- char *e, *ret; ++ const char *e; ++ char *ret; + size_t k; + + assert(path); +diff --git a/src/share/socket-util.c b/src/share/socket-util.c +index ae33338..5a6284b 100644 +--- a/src/share/socket-util.c ++++ b/src/share/socket-util.c +@@ -33,7 +33,8 @@ + #include "util.h" + + int socket_address_parse(SocketAddress *a, const char *s) { +- char *e, *n; ++ const char *e; ++ char *n; + unsigned u; + int r; + diff --git a/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.4.bb b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.4.bb deleted file mode 100644 index 019098fdf71..00000000000 --- a/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.4.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Forwards messages from the journal to other hosts over the network using the Syslog Protocol" - -LICENSE = "LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/systemd/systemd-netlogd.git;protocol=https;branch=main" -SRCREV = "b03cc3b1a75048c7cf19467d8918a4b7320767e6" - -inherit meson systemd pkgconfig useradd features_check - -REQUIRED_DISTRO_FEATURES = "systemd" -COMPATIBLE_HOST:libc-musl = "null" - - -DEPENDS += "systemd" -DEPENDS += "openssl" -DEPENDS += "gperf-native" -DEPENDS += "python3-sphinx-native" - -# systemd-netlogd uses prefix and sysconfdir in a weird way. -EXTRA_OEMESON += "--prefix ${libdir}/systemd --sysconfdir ${sysconfdir}/systemd" - -FILES:${PN} += "${libdir}" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM:${PN} = "-r systemd-journal" -USERADD_PARAM:${PN} = "--system -d / -M --shell /sbin/nologin -g systemd-journal systemd-journal-netlog" diff --git a/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.5.bb b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.5.bb new file mode 100644 index 00000000000..c52940ec704 --- /dev/null +++ b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.5.bb @@ -0,0 +1,29 @@ +SUMMARY = "Forwards messages from the journal to other hosts over the network using the Syslog Protocol" + +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/systemd/systemd-netlogd.git;protocol=https;branch=main;tag=v${PV} \ + file://0001-Fix-const-correctness-for-pointer-variables-to-refer.patch \ + " +SRCREV = "20534091417686d1185acb3f29e93944d8663c4b" + +inherit meson systemd pkgconfig useradd features_check + +REQUIRED_DISTRO_FEATURES = "systemd" +COMPATIBLE_HOST:libc-musl = "null" + + +DEPENDS += "systemd" +DEPENDS += "openssl" +DEPENDS += "gperf-native" +DEPENDS += "python3-sphinx-native" + +# systemd-netlogd uses prefix and sysconfdir in a weird way. +EXTRA_OEMESON += "--prefix ${libdir}/systemd --sysconfdir ${sysconfdir}/systemd" + +FILES:${PN} += "${libdir}" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "-r systemd-journal" +USERADD_PARAM:${PN} = "--system -d / -M --shell /sbin/nologin -g systemd-journal systemd-journal-netlog" diff --git a/meta-oe/recipes-support/tbb/files/run-ptest b/meta-oe/recipes-support/tbb/files/run-ptest new file mode 100755 index 00000000000..da46c68550c --- /dev/null +++ b/meta-oe/recipes-support/tbb/files/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +ctest | sed -u 's/\*\*\*/ /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}' diff --git a/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb b/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb index 01115e7e4d8..33741a7ac12 100644 --- a/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb +++ b/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb @@ -15,19 +15,23 @@ PE = "1" BRANCH = "onetbb_2022" SRCREV = "f1862f38f83568d96e814e469ab61f88336cc595" SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ + file://run-ptest \ " +LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}" -inherit cmake pkgconfig +inherit cmake pkgconfig ptest # test build fails, error: 'mallinfo mallinfo()' is deprecated EXTRA_OECMAKE += " \ - -DTBB_TEST=OFF \ + -DTBB_TEST=${@bb.utils.contains('PTEST_ENABLED', '1', 'ON', 'OFF', d)} \ -DCMAKE_BUILD_TYPE=Release \ -DTBB_STRICT=OFF \ -DTBB_DISABLE_HWLOC_AUTOMATIC_SEARCH=OFF \ " +RDEPENDS:${PN}-ptest += "cmake" + # Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi) # tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: /tmp/lto-llvm-264bc2.o: can't link soft-float modules with double-float modules # tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: failed to merge target specific data of file /tmp/lto-llvm-264bc2.o @@ -59,5 +63,24 @@ do_install:append:class-target() { sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/TBB/TBBTargets.cmake } +do_install_ptest() { + install -d ${D}${PTEST_PATH} + install ${B}/test/CTestTestfile.cmake ${D}${PTEST_PATH}/ + sed -i -e s#${S}#${PTEST_PATH}#g \ + -e s#${B}#${PTEST_PATH}#g \ + ${D}${PTEST_PATH}/CTestTestfile.cmake +} + +do_install_ptest:append:toolchain-gcc() { + cp -rf ${B}/gnu* ${D}${PTEST_PATH} + rm -rf ${D}${PTEST_PATH}/gnu*/libtbb* + rm -rf ${D}${PTEST_PATH}/gnu*/*.sh +} + +do_install_ptest:append:toolchain-clang() { + cp -rf ${B}/clang* ${D}${PTEST_PATH} + rm -rf ${D}${PTEST_PATH}/clang*/libtbb* + rm -rf ${D}${PTEST_PATH}/clang*/*.sh +} BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc index e06fc319054..3876cb88cc0 100644 --- a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc +++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc @@ -2,281 +2,381 @@ # from Cargo.lock SRC_URI += " \ - crate://crates.io/adler/1.0.2 \ - crate://crates.io/aho-corasick/1.1.3 \ - crate://crates.io/anstream/0.6.15 \ - crate://crates.io/anstyle/1.0.8 \ - crate://crates.io/anstyle-parse/0.2.5 \ - crate://crates.io/anstyle-query/1.1.1 \ - crate://crates.io/anstyle-wincon/3.0.4 \ - crate://crates.io/anyhow/1.0.86 \ - crate://crates.io/atty/0.2.14 \ - crate://crates.io/autocfg/1.3.0 \ + crate://crates.io/adler2/2.0.1 \ + crate://crates.io/aho-corasick/1.1.4 \ + crate://crates.io/allocator-api2/0.2.21 \ + crate://crates.io/anstream/0.6.21 \ + crate://crates.io/anstyle/1.0.13 \ + crate://crates.io/anstyle-parse/0.2.7 \ + crate://crates.io/anstyle-query/1.1.5 \ + crate://crates.io/anstyle-wincon/3.0.11 \ + crate://crates.io/anyhow/1.0.100 \ + crate://crates.io/autocfg/1.5.0 \ crate://crates.io/base64/0.22.1 \ - crate://crates.io/bindgen/0.69.4 \ - crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bitflags/2.6.0 \ - crate://crates.io/bytemuck/1.16.3 \ + crate://crates.io/bindgen/0.72.1 \ + crate://crates.io/bitflags/2.10.0 \ + crate://crates.io/bumpalo/3.19.0 \ + crate://crates.io/bytemuck/1.24.0 \ crate://crates.io/byteorder/1.5.0 \ crate://crates.io/cassowary/0.3.0 \ + crate://crates.io/castaway/0.2.4 \ crate://crates.io/cexpr/0.6.0 \ - crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/cfg-if/1.0.4 \ crate://crates.io/cfg_aliases/0.2.1 \ crate://crates.io/clang-sys/1.8.1 \ - crate://crates.io/clap/4.5.13 \ - crate://crates.io/clap_builder/4.5.13 \ - crate://crates.io/clap_lex/0.7.2 \ - crate://crates.io/colorchoice/1.0.2 \ - crate://crates.io/console/0.15.8 \ + crate://crates.io/clap/4.5.52 \ + crate://crates.io/clap_builder/4.5.52 \ + crate://crates.io/clap_lex/0.7.6 \ + crate://crates.io/colorchoice/1.0.4 \ + crate://crates.io/compact_str/0.8.1 \ + crate://crates.io/console/0.16.1 \ crate://crates.io/crc32c/0.6.8 \ - crate://crates.io/crc32fast/1.4.2 \ - crate://crates.io/data-encoding/2.6.0 \ - crate://crates.io/devicemapper/0.34.3 \ - crate://crates.io/devicemapper-sys/0.3.0 \ + crate://crates.io/crc32fast/1.5.0 \ + crate://crates.io/darling/0.20.11 \ + crate://crates.io/darling_core/0.20.11 \ + crate://crates.io/darling_macro/0.20.11 \ + crate://crates.io/data-encoding/2.9.0 \ + crate://crates.io/devicemapper/0.34.5 \ + crate://crates.io/devicemapper-sys/0.3.3 \ crate://crates.io/downcast/0.11.0 \ - crate://crates.io/duct/0.13.7 \ - crate://crates.io/either/1.13.0 \ - crate://crates.io/encode_unicode/0.3.6 \ - crate://crates.io/env_filter/0.1.2 \ + crate://crates.io/duct/1.1.1 \ + crate://crates.io/either/1.15.0 \ + crate://crates.io/encode_unicode/1.0.0 \ + crate://crates.io/env_filter/0.1.4 \ crate://crates.io/env_logger/0.8.4 \ - crate://crates.io/env_logger/0.11.5 \ - crate://crates.io/errno/0.3.9 \ + crate://crates.io/env_logger/0.11.8 \ + crate://crates.io/equivalent/1.0.2 \ + crate://crates.io/errno/0.3.14 \ crate://crates.io/exitcode/1.1.2 \ - crate://crates.io/fastrand/2.1.0 \ - crate://crates.io/fixedbitset/0.4.2 \ - crate://crates.io/flate2/1.0.31 \ - crate://crates.io/fragile/2.0.0 \ - crate://crates.io/getrandom/0.2.15 \ - crate://crates.io/glob/0.3.1 \ - crate://crates.io/hermit-abi/0.1.19 \ + crate://crates.io/fastrand/2.3.0 \ + crate://crates.io/fixedbitset/0.5.7 \ + crate://crates.io/flate2/1.1.5 \ + crate://crates.io/fnv/1.0.7 \ + crate://crates.io/foldhash/0.1.5 \ + crate://crates.io/fragile/2.0.1 \ + crate://crates.io/getrandom/0.2.16 \ + crate://crates.io/getrandom/0.3.4 \ + crate://crates.io/glob/0.3.3 \ + crate://crates.io/hashbrown/0.15.5 \ + crate://crates.io/heck/0.5.0 \ crate://crates.io/hermit-abi/0.3.9 \ - crate://crates.io/humantime/2.1.0 \ - crate://crates.io/indicatif/0.17.8 \ - crate://crates.io/instant/0.1.13 \ + crate://crates.io/hermit-abi/0.5.2 \ + crate://crates.io/ident_case/1.0.1 \ + crate://crates.io/indicatif/0.18.3 \ + crate://crates.io/indoc/2.0.7 \ + crate://crates.io/instability/0.3.9 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/io-uring/0.7.11 \ crate://crates.io/iovec/0.1.4 \ - crate://crates.io/is_terminal_polyfill/1.70.1 \ - crate://crates.io/itertools/0.12.1 \ - crate://crates.io/lazy_static/1.5.0 \ - crate://crates.io/lazycell/1.3.0 \ - crate://crates.io/libc/0.2.155 \ - crate://crates.io/libloading/0.8.5 \ + crate://crates.io/is_terminal_polyfill/1.70.2 \ + crate://crates.io/itertools/0.13.0 \ + crate://crates.io/itoa/1.0.15 \ + crate://crates.io/jiff/0.2.16 \ + crate://crates.io/jiff-static/0.2.16 \ + crate://crates.io/js-sys/0.3.82 \ + crate://crates.io/libc/0.2.177 \ + crate://crates.io/libloading/0.8.9 \ + crate://crates.io/libredox/0.1.10 \ crate://crates.io/libudev-sys/0.1.4 \ - crate://crates.io/linux-raw-sys/0.4.14 \ - crate://crates.io/log/0.4.22 \ - crate://crates.io/memchr/2.7.4 \ + crate://crates.io/linux-raw-sys/0.11.0 \ + crate://crates.io/log/0.4.28 \ + crate://crates.io/lru/0.12.5 \ + crate://crates.io/memchr/2.7.6 \ crate://crates.io/minimal-lexical/0.2.1 \ - crate://crates.io/miniz_oxide/0.7.4 \ - crate://crates.io/mockall/0.13.0 \ - crate://crates.io/mockall_derive/0.13.0 \ - crate://crates.io/nix/0.29.0 \ + crate://crates.io/miniz_oxide/0.8.9 \ + crate://crates.io/mockall/0.13.1 \ + crate://crates.io/mockall_derive/0.13.1 \ + crate://crates.io/nix/0.30.1 \ crate://crates.io/nom/7.1.3 \ + crate://crates.io/nom/8.0.0 \ crate://crates.io/num-derive/0.4.2 \ crate://crates.io/num-traits/0.2.19 \ - crate://crates.io/num_cpus/1.16.0 \ - crate://crates.io/number_prefix/0.4.0 \ - crate://crates.io/numtoa/0.1.0 \ - crate://crates.io/once_cell/1.19.0 \ - crate://crates.io/os_pipe/1.2.1 \ - crate://crates.io/pkg-config/0.3.30 \ - crate://crates.io/portable-atomic/1.11.0 \ - crate://crates.io/ppv-lite86/0.2.20 \ - crate://crates.io/predicates/3.1.2 \ - crate://crates.io/predicates-core/1.0.8 \ - crate://crates.io/predicates-tree/1.0.11 \ - crate://crates.io/proc-macro2/1.0.86 \ - crate://crates.io/quick-xml/0.36.1 \ + crate://crates.io/num_cpus/1.17.0 \ + crate://crates.io/numtoa/0.2.4 \ + crate://crates.io/once_cell/1.21.3 \ + crate://crates.io/once_cell_polyfill/1.70.2 \ + crate://crates.io/os_pipe/1.2.3 \ + crate://crates.io/paste/1.0.15 \ + crate://crates.io/pkg-config/0.3.32 \ + crate://crates.io/portable-atomic/1.11.1 \ + crate://crates.io/portable-atomic-util/0.2.4 \ + crate://crates.io/ppv-lite86/0.2.21 \ + crate://crates.io/predicates/3.1.3 \ + crate://crates.io/predicates-core/1.0.9 \ + crate://crates.io/predicates-tree/1.0.12 \ + crate://crates.io/prettyplease/0.2.37 \ + crate://crates.io/proc-macro2/1.0.103 \ + crate://crates.io/quick-xml/0.38.4 \ crate://crates.io/quickcheck/1.0.3 \ - crate://crates.io/quickcheck_macros/1.0.0 \ - crate://crates.io/quote/1.0.36 \ + crate://crates.io/quickcheck_macros/1.1.0 \ + crate://crates.io/quote/1.0.42 \ + crate://crates.io/r-efi/5.3.0 \ crate://crates.io/rand/0.8.5 \ - crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand/0.9.2 \ + crate://crates.io/rand_chacha/0.9.0 \ crate://crates.io/rand_core/0.6.4 \ - crate://crates.io/rangemap/1.5.1 \ - crate://crates.io/redox_syscall/0.2.16 \ + crate://crates.io/rand_core/0.9.3 \ + crate://crates.io/rangemap/1.7.0 \ + crate://crates.io/ratatui/0.29.0 \ + crate://crates.io/redox_syscall/0.5.18 \ crate://crates.io/redox_termios/0.1.3 \ - crate://crates.io/regex/1.10.6 \ - crate://crates.io/regex-automata/0.4.7 \ - crate://crates.io/regex-syntax/0.8.4 \ - crate://crates.io/retry/2.0.0 \ - crate://crates.io/roaring/0.10.6 \ - crate://crates.io/rustc-hash/1.1.0 \ - crate://crates.io/rustc_version/0.4.0 \ - crate://crates.io/rustix/0.38.34 \ - crate://crates.io/safemem/0.3.3 \ - crate://crates.io/semver/1.0.23 \ - crate://crates.io/serde/1.0.204 \ - crate://crates.io/serde_derive/1.0.204 \ - crate://crates.io/shared_child/1.0.1 \ + crate://crates.io/regex/1.12.2 \ + crate://crates.io/regex-automata/0.4.13 \ + crate://crates.io/regex-syntax/0.8.8 \ + crate://crates.io/retry/2.1.0 \ + crate://crates.io/roaring/0.11.2 \ + crate://crates.io/rustc-hash/2.1.1 \ + crate://crates.io/rustc_version/0.4.1 \ + crate://crates.io/rustix/1.1.2 \ + crate://crates.io/rustversion/1.0.22 \ + crate://crates.io/ryu/1.0.20 \ + crate://crates.io/semver/1.0.27 \ + crate://crates.io/serde/1.0.228 \ + crate://crates.io/serde_core/1.0.228 \ + crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/shared_child/1.1.1 \ + crate://crates.io/shared_thread/0.2.0 \ crate://crates.io/shlex/1.3.0 \ + crate://crates.io/sigchld/0.2.4 \ + crate://crates.io/signal-hook/0.3.18 \ + crate://crates.io/signal-hook-registry/1.4.6 \ + crate://crates.io/simd-adler32/0.3.7 \ + crate://crates.io/static_assertions/1.1.0 \ crate://crates.io/strsim/0.11.1 \ - crate://crates.io/syn/1.0.109 \ - crate://crates.io/syn/2.0.72 \ - crate://crates.io/tempfile/3.11.0 \ - crate://crates.io/termion/1.5.6 \ - crate://crates.io/termtree/0.4.1 \ - crate://crates.io/thiserror/1.0.63 \ - crate://crates.io/thiserror-impl/1.0.63 \ - crate://crates.io/threadpool/1.8.1 \ - crate://crates.io/tui/0.19.0 \ - crate://crates.io/udev/0.7.0 \ - crate://crates.io/unicode-ident/1.0.12 \ - crate://crates.io/unicode-segmentation/1.11.0 \ - crate://crates.io/unicode-width/0.1.13 \ + crate://crates.io/strum/0.26.3 \ + crate://crates.io/strum_macros/0.26.4 \ + crate://crates.io/syn/2.0.110 \ + crate://crates.io/tempfile/3.23.0 \ + crate://crates.io/termion/4.0.5 \ + crate://crates.io/termtree/0.5.1 \ + crate://crates.io/thiserror/2.0.17 \ + crate://crates.io/thiserror-impl/2.0.17 \ + crate://crates.io/udev/0.9.3 \ + crate://crates.io/unicode-ident/1.0.22 \ + crate://crates.io/unicode-segmentation/1.12.0 \ + crate://crates.io/unicode-truncate/1.1.0 \ + crate://crates.io/unicode-width/0.1.14 \ + crate://crates.io/unicode-width/0.2.0 \ + crate://crates.io/unit-prefix/0.5.2 \ crate://crates.io/utf8parse/0.2.2 \ - crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ - crate://crates.io/winapi/0.3.9 \ - crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/windows-sys/0.52.0 \ - crate://crates.io/windows-sys/0.59.0 \ - crate://crates.io/windows-targets/0.52.6 \ - crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ - crate://crates.io/windows_aarch64_msvc/0.52.6 \ - crate://crates.io/windows_i686_gnu/0.52.6 \ - crate://crates.io/windows_i686_gnullvm/0.52.6 \ - crate://crates.io/windows_i686_msvc/0.52.6 \ - crate://crates.io/windows_x86_64_gnu/0.52.6 \ - crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ - crate://crates.io/windows_x86_64_msvc/0.52.6 \ - crate://crates.io/zerocopy/0.7.35 \ - crate://crates.io/zerocopy-derive/0.7.35 \ + crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ + crate://crates.io/wasip2/1.0.1+wasi-0.2.4 \ + crate://crates.io/wasm-bindgen/0.2.105 \ + crate://crates.io/wasm-bindgen-macro/0.2.105 \ + crate://crates.io/wasm-bindgen-macro-support/0.2.105 \ + crate://crates.io/wasm-bindgen-shared/0.2.105 \ + crate://crates.io/web-time/1.1.0 \ + crate://crates.io/windows-link/0.2.1 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.60.2 \ + crate://crates.io/windows-sys/0.61.2 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.53.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.53.1 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.53.1 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.53.1 \ + crate://crates.io/windows_i686_gnullvm/0.53.1 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.53.1 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.53.1 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.53.1 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.53.1 \ + crate://crates.io/wit-bindgen/0.46.0 \ + crate://crates.io/zerocopy/0.8.27 \ + crate://crates.io/zerocopy-derive/0.8.27 \ " -SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -SRC_URI[anstream-0.6.15.sha256sum] = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" -SRC_URI[anstyle-1.0.8.sha256sum] = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" -SRC_URI[anstyle-parse-0.2.5.sha256sum] = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" -SRC_URI[anstyle-query-1.1.1.sha256sum] = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" -SRC_URI[anstyle-wincon-3.0.4.sha256sum] = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" -SRC_URI[anyhow-1.0.86.sha256sum] = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" -SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +SRC_URI[anstream-0.6.21.sha256sum] = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +SRC_URI[anyhow-1.0.100.sha256sum] = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +SRC_URI[autocfg-1.5.0.sha256sum] = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -SRC_URI[bindgen-0.69.4.sha256sum] = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" -SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bitflags-2.6.0.sha256sum] = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -SRC_URI[bytemuck-1.16.3.sha256sum] = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" +SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +SRC_URI[bumpalo-3.19.0.sha256sum] = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +SRC_URI[bytemuck-1.24.0.sha256sum] = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" SRC_URI[cassowary-0.3.0.sha256sum] = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" +SRC_URI[castaway-0.2.4.sha256sum] = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -SRC_URI[clap-4.5.13.sha256sum] = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" -SRC_URI[clap_builder-4.5.13.sha256sum] = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" -SRC_URI[clap_lex-0.7.2.sha256sum] = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" -SRC_URI[colorchoice-1.0.2.sha256sum] = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" -SRC_URI[console-0.15.8.sha256sum] = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +SRC_URI[clap-4.5.52.sha256sum] = "aa8120877db0e5c011242f96806ce3c94e0737ab8108532a76a3300a01db2ab8" +SRC_URI[clap_builder-4.5.52.sha256sum] = "02576b399397b659c26064fbc92a75fede9d18ffd5f80ca1cd74ddab167016e1" +SRC_URI[clap_lex-0.7.6.sha256sum] = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +SRC_URI[compact_str-0.8.1.sha256sum] = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" +SRC_URI[console-0.16.1.sha256sum] = "b430743a6eb14e9764d4260d4c0d8123087d504eeb9c48f2b2a5e810dd369df4" SRC_URI[crc32c-0.6.8.sha256sum] = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" -SRC_URI[crc32fast-1.4.2.sha256sum] = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -SRC_URI[data-encoding-2.6.0.sha256sum] = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" -SRC_URI[devicemapper-0.34.3.sha256sum] = "59209790c5d189070a52937581950947207e740fadc87f68af14f34d0eb333df" -SRC_URI[devicemapper-sys-0.3.0.sha256sum] = "3d6681f5413e2094480381a97b8299f548c0579f07095ee20fe58e0a28cb34b5" +SRC_URI[crc32fast-1.5.0.sha256sum] = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +SRC_URI[darling-0.20.11.sha256sum] = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +SRC_URI[darling_core-0.20.11.sha256sum] = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +SRC_URI[darling_macro-0.20.11.sha256sum] = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +SRC_URI[data-encoding-2.9.0.sha256sum] = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" +SRC_URI[devicemapper-0.34.5.sha256sum] = "f8ca2baf05e507adafc3524fb687aa15f2f9953de808c6a4cbd57a7f2e5aa883" +SRC_URI[devicemapper-sys-0.3.3.sha256sum] = "06421aaad10b53bd5d1fe004c26efddfaaeaa4438ff52b84a0f660b3c87d63e6" SRC_URI[downcast-0.11.0.sha256sum] = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" -SRC_URI[duct-0.13.7.sha256sum] = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -SRC_URI[either-1.13.0.sha256sum] = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" -SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" -SRC_URI[env_filter-0.1.2.sha256sum] = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +SRC_URI[duct-1.1.1.sha256sum] = "7e66e9c0c03d094e1a0ba1be130b849034aa80c3a2ab8ee94316bc809f3fa684" +SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" +SRC_URI[env_filter-0.1.4.sha256sum] = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" -SRC_URI[env_logger-0.11.5.sha256sum] = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" -SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +SRC_URI[env_logger-0.11.8.sha256sum] = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" SRC_URI[exitcode-1.1.2.sha256sum] = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193" -SRC_URI[fastrand-2.1.0.sha256sum] = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" -SRC_URI[fixedbitset-0.4.2.sha256sum] = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -SRC_URI[flate2-1.0.31.sha256sum] = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" -SRC_URI[fragile-2.0.0.sha256sum] = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" -SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +SRC_URI[fixedbitset-0.5.7.sha256sum] = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" +SRC_URI[flate2-1.1.5.sha256sum] = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +SRC_URI[fragile-2.0.1.sha256sum] = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" +SRC_URI[getrandom-0.2.16.sha256sum] = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" SRC_URI[hermit-abi-0.3.9.sha256sum] = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" -SRC_URI[indicatif-0.17.8.sha256sum] = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" -SRC_URI[instant-0.1.13.sha256sum] = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +SRC_URI[hermit-abi-0.5.2.sha256sum] = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +SRC_URI[ident_case-1.0.1.sha256sum] = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +SRC_URI[indicatif-0.18.3.sha256sum] = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" +SRC_URI[indoc-2.0.7.sha256sum] = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" +SRC_URI[instability-0.3.9.sha256sum] = "435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[io-uring-0.7.11.sha256sum] = "fdd7bddefd0a8833b88a4b68f90dae22c7450d11b354198baee3874fd811b344" SRC_URI[iovec-0.1.4.sha256sum] = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -SRC_URI[is_terminal_polyfill-1.70.1.sha256sum] = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" -SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -SRC_URI[libc-0.2.155.sha256sum] = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" -SRC_URI[libloading-0.8.5.sha256sum] = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +SRC_URI[itoa-1.0.15.sha256sum] = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +SRC_URI[jiff-0.2.16.sha256sum] = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" +SRC_URI[jiff-static-0.2.16.sha256sum] = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" +SRC_URI[js-sys-0.3.82.sha256sum] = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +SRC_URI[libc-0.2.177.sha256sum] = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +SRC_URI[libredox-0.1.10.sha256sum] = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" SRC_URI[libudev-sys-0.1.4.sha256sum] = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" -SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" -SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" -SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +SRC_URI[linux-raw-sys-0.11.0.sha256sum] = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +SRC_URI[log-0.4.28.sha256sum] = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +SRC_URI[lru-0.12.5.sha256sum] = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -SRC_URI[miniz_oxide-0.7.4.sha256sum] = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -SRC_URI[mockall-0.13.0.sha256sum] = "d4c28b3fb6d753d28c20e826cd46ee611fda1cf3cde03a443a974043247c065a" -SRC_URI[mockall_derive-0.13.0.sha256sum] = "341014e7f530314e9a1fdbc7400b244efea7122662c96bfa248c31da5bfb2020" -SRC_URI[nix-0.29.0.sha256sum] = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +SRC_URI[mockall-0.13.1.sha256sum] = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2" +SRC_URI[mockall_derive-0.13.1.sha256sum] = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898" +SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" SRC_URI[num-derive-0.4.2.sha256sum] = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" -SRC_URI[numtoa-0.1.0.sha256sum] = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef" -SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -SRC_URI[os_pipe-1.2.1.sha256sum] = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" -SRC_URI[pkg-config-0.3.30.sha256sum] = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" -SRC_URI[portable-atomic-1.11.0.sha256sum] = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" -SRC_URI[ppv-lite86-0.2.20.sha256sum] = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" -SRC_URI[predicates-3.1.2.sha256sum] = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" -SRC_URI[predicates-core-1.0.8.sha256sum] = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" -SRC_URI[predicates-tree-1.0.11.sha256sum] = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" -SRC_URI[proc-macro2-1.0.86.sha256sum] = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -SRC_URI[quick-xml-0.36.1.sha256sum] = "96a05e2e8efddfa51a84ca47cec303fac86c8541b686d37cac5efc0e094417bc" +SRC_URI[num_cpus-1.17.0.sha256sum] = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" +SRC_URI[numtoa-0.2.4.sha256sum] = "6aa2c4e539b869820a2b82e1aef6ff40aa85e65decdd5185e83fb4b1249cd00f" +SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +SRC_URI[once_cell_polyfill-1.70.2.sha256sum] = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +SRC_URI[os_pipe-1.2.3.sha256sum] = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" +SRC_URI[paste-1.0.15.sha256sum] = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +SRC_URI[portable-atomic-1.11.1.sha256sum] = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +SRC_URI[predicates-3.1.3.sha256sum] = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" +SRC_URI[predicates-core-1.0.9.sha256sum] = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" +SRC_URI[predicates-tree-1.0.12.sha256sum] = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" +SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +SRC_URI[proc-macro2-1.0.103.sha256sum] = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +SRC_URI[quick-xml-0.38.4.sha256sum] = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" -SRC_URI[quickcheck_macros-1.0.0.sha256sum] = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9" -SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +SRC_URI[quickcheck_macros-1.1.0.sha256sum] = "f71ee38b42f8459a88d3362be6f9b841ad2d5421844f61eb1c59c11bff3ac14a" +SRC_URI[quote-1.0.42.sha256sum] = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -SRC_URI[rangemap-1.5.1.sha256sum] = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" -SRC_URI[redox_syscall-0.2.16.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +SRC_URI[rand_core-0.9.3.sha256sum] = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +SRC_URI[rangemap-1.7.0.sha256sum] = "acbbbbea733ec66275512d0b9694f34102e7d5406fdbe2ad8d21b28dce92887c" +SRC_URI[ratatui-0.29.0.sha256sum] = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" +SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" SRC_URI[redox_termios-0.1.3.sha256sum] = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb" -SRC_URI[regex-1.10.6.sha256sum] = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" -SRC_URI[regex-automata-0.4.7.sha256sum] = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -SRC_URI[regex-syntax-0.8.4.sha256sum] = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" -SRC_URI[retry-2.0.0.sha256sum] = "9166d72162de3575f950507683fac47e30f6f2c3836b71b7fbc61aa517c9c5f4" -SRC_URI[roaring-0.10.6.sha256sum] = "8f4b84ba6e838ceb47b41de5194a60244fac43d9fe03b71dbe8c5a201081d6d1" -SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -SRC_URI[rustix-0.38.34.sha256sum] = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -SRC_URI[safemem-0.3.3.sha256sum] = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" -SRC_URI[semver-1.0.23.sha256sum] = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -SRC_URI[serde-1.0.204.sha256sum] = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" -SRC_URI[serde_derive-1.0.204.sha256sum] = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" -SRC_URI[shared_child-1.0.1.sha256sum] = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" +SRC_URI[regex-1.12.2.sha256sum] = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +SRC_URI[regex-automata-0.4.13.sha256sum] = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +SRC_URI[regex-syntax-0.8.8.sha256sum] = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +SRC_URI[retry-2.1.0.sha256sum] = "a1e211f878258887b3e65dd3c8ff9f530fe109f441a117ee0cdc27f341355032" +SRC_URI[roaring-0.11.2.sha256sum] = "f08d6a905edb32d74a5d5737a0c9d7e950c312f3c46cb0ca0a2ca09ea11878a0" +SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +SRC_URI[rustix-1.1.2.sha256sum] = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +SRC_URI[ryu-1.0.20.sha256sum] = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +SRC_URI[semver-1.0.27.sha256sum] = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[shared_child-1.1.1.sha256sum] = "1e362d9935bc50f019969e2f9ecd66786612daae13e8f277be7bfb66e8bed3f7" +SRC_URI[shared_thread-0.2.0.sha256sum] = "52b86057fcb5423f5018e331ac04623e32d6b5ce85e33300f92c79a1973928b0" SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[sigchld-0.2.4.sha256sum] = "47106eded3c154e70176fc83df9737335c94ce22f821c32d17ed1db1f83badb1" +SRC_URI[signal-hook-0.3.18.sha256sum] = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +SRC_URI[signal-hook-registry-1.4.6.sha256sum] = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +SRC_URI[simd-adler32-0.3.7.sha256sum] = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -SRC_URI[syn-2.0.72.sha256sum] = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" -SRC_URI[tempfile-3.11.0.sha256sum] = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53" -SRC_URI[termion-1.5.6.sha256sum] = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e" -SRC_URI[termtree-0.4.1.sha256sum] = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" -SRC_URI[thiserror-1.0.63.sha256sum] = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" -SRC_URI[thiserror-impl-1.0.63.sha256sum] = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" -SRC_URI[threadpool-1.8.1.sha256sum] = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -SRC_URI[tui-0.19.0.sha256sum] = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1" -SRC_URI[udev-0.7.0.sha256sum] = "4ebdbbd670373442a12fe9ef7aeb53aec4147a5a27a00bbc3ab639f08f48191a" -SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -SRC_URI[unicode-segmentation-1.11.0.sha256sum] = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" -SRC_URI[unicode-width-0.1.13.sha256sum] = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +SRC_URI[strum-0.26.3.sha256sum] = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +SRC_URI[strum_macros-0.26.4.sha256sum] = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +SRC_URI[syn-2.0.110.sha256sum] = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +SRC_URI[tempfile-3.23.0.sha256sum] = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +SRC_URI[termion-4.0.5.sha256sum] = "3669a69de26799d6321a5aa713f55f7e2cd37bd47be044b50f2acafc42c122bb" +SRC_URI[termtree-0.5.1.sha256sum] = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" +SRC_URI[thiserror-2.0.17.sha256sum] = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +SRC_URI[thiserror-impl-2.0.17.sha256sum] = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +SRC_URI[udev-0.9.3.sha256sum] = "af4e37e9ea4401fc841ff54b9ddfc9be1079b1e89434c1a6a865dd68980f7e9f" +SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +SRC_URI[unicode-segmentation-1.12.0.sha256sum] = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +SRC_URI[unicode-truncate-1.1.0.sha256sum] = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" +SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +SRC_URI[unicode-width-0.2.0.sha256sum] = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" -SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -SRC_URI[zerocopy-derive-0.7.35.sha256sum] = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" +SRC_URI[wasip2-1.0.1+wasi-0.2.4.sha256sum] = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +SRC_URI[wasm-bindgen-0.2.105.sha256sum] = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +SRC_URI[wasm-bindgen-macro-0.2.105.sha256sum] = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +SRC_URI[wasm-bindgen-macro-support-0.2.105.sha256sum] = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +SRC_URI[wasm-bindgen-shared-0.2.105.sha256sum] = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +SRC_URI[windows-link-0.2.1.sha256sum] = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.60.2.sha256sum] = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +SRC_URI[windows-sys-0.61.2.sha256sum] = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.53.5.sha256sum] = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.53.1.sha256sum] = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.53.1.sha256sum] = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.53.1.sha256sum] = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" +SRC_URI[windows_i686_gnullvm-0.53.1.sha256sum] = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.53.1.sha256sum] = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.53.1.sha256sum] = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +SRC_URI[wit-bindgen-0.46.0.sha256sum] = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +SRC_URI[zerocopy-0.8.27.sha256sum] = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +SRC_URI[zerocopy-derive-0.8.27.sha256sum] = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc deleted file mode 100644 index ceea67c364f..00000000000 --- a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc +++ /dev/null @@ -1,6 +0,0 @@ -SRC_URI += "\ - git://github.com/jthornber/rio;protocol=https;nobranch=1;name=rio;destsuffix=rio;type=git-dependency \ -" - -SRCREV_FORMAT .= "_rio" -SRCREV_rio = "2979a720f671e836302c01546f9cc9f7988610c8" diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch deleted file mode 100644 index ed5f40a881f..00000000000 --- a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 11c494b418570a3fbdfbbbdfbbc4db0108743cc7 Mon Sep 17 00:00:00 2001 -From: Dan Gohman -Date: Sun, 6 Apr 2025 05:22:49 -0700 -Subject: [PATCH] Define more ioctl codes on riscv32gc-unknown-linux-gnu - -Define ioctl codes including `FICLONE` and `FS_IOC32_GETVERSION` on -riscv32gc-unknown-linux-gnu. - -Upstream-Status: Submitted [https://github.com/rust-lang/libc/pull/4382] -Signed-off-by: Khem Raj ---- - src/unix/linux_like/linux/arch/generic/mod.rs | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/unix/linux_like/linux/arch/generic/mod.rs b/src/unix/linux_like/linux/arch/generic/mod.rs -index 2f437e1..db1f1e7 100644 ---- a/src/unix/linux_like/linux/arch/generic/mod.rs -+++ b/src/unix/linux_like/linux/arch/generic/mod.rs -@@ -114,6 +114,7 @@ cfg_if! { - target_arch = "x86_64", - target_arch = "arm", - target_arch = "aarch64", -+ target_arch = "riscv32", - target_arch = "riscv64", - target_arch = "s390x", - target_arch = "csky", -@@ -218,7 +219,10 @@ cfg_if! { - // where S stands for size (int, long, struct...) - // where T stands for type ('f','v','X'...) - // where N stands for NR (NumbeR) -- if #[cfg(any(target_arch = "x86", target_arch = "arm", target_arch = "csky"))] { -+ if #[cfg(any(target_arch = "x86", -+ target_arch = "arm", -+ target_arch = "riscv32", -+ target_arch = "csky"))] { - pub const FS_IOC_GETFLAGS: ::Ioctl = 0x80046601; - pub const FS_IOC_SETFLAGS: ::Ioctl = 0x40046602; - pub const FS_IOC_GETVERSION: ::Ioctl = 0x80047601; diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Use-portable-atomics-crate.patch b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Use-portable-atomics-crate.patch index 54d4fb4ae3e..05d6d9b1a48 100644 --- a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Use-portable-atomics-crate.patch +++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Use-portable-atomics-crate.patch @@ -22,27 +22,15 @@ error[E0432]: unresolved import `std::sync::atomic::AtomicU64` Upstream-Status: Submitted [https://github.com/jthornber/thin-provisioning-tools/pull/321] Signed-off-by: Khem Raj --- - Cargo.lock | 5 +++-- + Cargo.lock | 1 + Cargo.toml | 1 + src/cache/writeback.rs | 2 +- src/thin/stat.rs | 2 +- - 4 files changed, 6 insertions(+), 4 deletions(-) + 4 files changed, 4 insertions(+), 2 deletions(-) --- a/Cargo.lock +++ b/Cargo.lock -@@ -649,9 +649,9 @@ checksum = "d231b230927b5e4ad203db57bbcb - - [[package]] - name = "portable-atomic" --version = "1.7.0" -+version = "1.11.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" -+checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" - - [[package]] - name = "ppv-lite86" -@@ -1000,6 +1000,7 @@ dependencies = [ +@@ -1329,6 +1329,7 @@ dependencies = [ "num-derive", "num-traits", "num_cpus", @@ -52,14 +40,14 @@ Signed-off-by: Khem Raj "quickcheck_macros", --- a/Cargo.toml +++ b/Cargo.toml -@@ -30,6 +30,7 @@ nom = "7.1" - num_cpus = "1.16" +@@ -30,6 +30,7 @@ nom = "8.0" + num_cpus = "1.17" num-derive = "0.4" num-traits = "0.2" +portable-atomic = "1.11" - quick-xml = "0.36" - rand = "0.8" - rangemap = "1.5" + quick-xml = "0.38" + rand = "0.9" + rangemap = "1.6" --- a/src/cache/writeback.rs +++ b/src/cache/writeback.rs @@ -1,9 +1,9 @@ @@ -81,6 +69,6 @@ Signed-off-by: Khem Raj use std::collections::BTreeMap; use std::path::Path; -use std::sync::atomic::{AtomicU64, Ordering}; - use std::sync::{Arc, Mutex}; + use std::sync::Mutex; use std::vec::Vec; diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/disable-cargo-metadata.patch b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/disable-cargo-metadata.patch new file mode 100644 index 00000000000..2c98bf748f2 --- /dev/null +++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/disable-cargo-metadata.patch @@ -0,0 +1,38 @@ +Enable the feature *disable_cargo_metadata* on dependency devicemapper. +Otherwise the build (in kas-container 5.2) fails with: + +| Compiling devicemapper v0.34.5 +| Building [=======================> ] 140/145: devicemapper(build.rs) +| Running `rustc --crate-name build_script_build --edition=2021 /build/tmp/work/x86-64-v3-poky-linux/thin-provisioning-tools/1.3.1/sources/cargo_home/bit> +build/target/release/deps --extern devicemapper_sys=/build/tmp/work/x86-64-v3-poky-linux/thin-provisioning-tools/1.3.1/build/target/release/deps/libdevicemapp> +| error: linking with `/build/tmp/work/x86-64-v3-poky-linux/thin-provisioning-tools/1.3.1/wrapper/build-rust-ccld` failed: exit status: 1 +| | +| = note: "/build/tmp/work/x86-64-v3-poky-linux/thin-provisioning-tools/1.3.1/wrapper/build-rust-ccld" "-m64" "/build/tmp/work/x86-64-v3-poky-linux/thin-pr> +| = note: some arguments are omitted. use `--verbose` to show all linker arguments +| = note: /build/tmp/hosttools/ld: cannot find /usr/lib/libm.so.6: No such file or directory +| /build/tmp/hosttools/ld: cannot find /usr/lib/libmvec.so.1: No such file or directory +| collect2: error: ld returned 1 exit status +| +| +| error: could not compile `devicemapper` (build script) due to 1 previous error +| +| Caused by: +| process didn't exit successfully: `rustc --crate-name build_script_build --edition=2021 /build/tmp/work/x86-64-v3-poky-linux/thin-provisioning-tools/1.3.1> + +This problem was reported upstream: https://github.com/stratis-storage/devicemapper-rs/issues/965 + +Upstream-Status: Inappropriate [package configuration] + +diff --git c/Cargo.toml i/Cargo.toml +index 39853af1..160bb3d9 100644 +--- c/Cargo.toml ++++ i/Cargo.toml +@@ -18,7 +18,7 @@ clap = { version = "4.5", default-features = false, features = [ + ] } + crc32c = "0.6" + data-encoding = "2.9" +-devicemapper = "0.34" ++devicemapper = { version = "0.34", features = [ "disable_cargo_metadata" ] } + exitcode = "1.1.2" + fixedbitset = "0.5" + flate2 = "1.1" diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/dms-no-layout-check.patch b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/dms-no-layout-check.patch new file mode 100644 index 00000000000..172647a2af9 --- /dev/null +++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/dms-no-layout-check.patch @@ -0,0 +1,66 @@ +Between version 0.69.4 and 0.72.1, rust-bindgen changed the kind of layout +checks from runtime to compile-time. The old checks look like this: + + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(ipc_perm)) + ); + +The new checks look like this: + + const _: () = { + ["Size of ipc_perm"][::std::mem::size_of::() - 36usize]; + } + +These new checks fail, if the pointer size of the host and the target +architecture differ: + +| error[E0080]: index out of bounds: the length is 1 but the index is 12 +| --> /build/tmp/work/riscv32imafdc-poky-linux/thin-provisioning-tools/1.3.1/build/target/release/build/devicemapper-sys-8d0196f02bac90ea/out/sem-bindings.rs:3:1175 +| | +| 3 | ... _ : () = { ["Size of ipc_perm"] [:: std :: mem :: size_of :: < ipc_perm > () - 36usize] ; ["Alignment of ipc_perm"] [:: std :: me... +| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `_` failed here +| +| error[E0080]: index out of bounds: the length is 1 but the index is 16 +| --> /build/tmp/work/riscv32imafdc-poky-linux/thin-provisioning-tools/1.3.1/build/target/release/build/devicemapper-sys-8d0196f02bac90ea/out/sem-bindings.rs:3:2735 +| | +| 3 | ... _ : () = { ["Size of semid_ds"] [:: std :: mem :: size_of :: < semid_ds > () - 72usize] ; ["Alignment of semid_ds"] [:: std :: me... +| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `_` failed here +| +| error[E0080]: index out of bounds: the length is 1 but the index is 4 +| --> /build/tmp/work/riscv32imafdc-poky-linux/thin-provisioning-tools/1.3.1/build/target/release/build/devicemapper-sys-8d0196f02bac90ea/out/sem-bindings.rs:3:5620 +| | +| 3 | ...nst _ : () = { ["Size of semun"] [:: std :: mem :: size_of :: < semun > () - 4usize] ; ["Alignment of semun"] [:: std :: mem :: al... +| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `_` failed here + +But according to +https://users.rust-lang.org/t/what-to-do-when-bindgen-tests-fail/23822/2 +it's okay to skip these check: + +> The usual cause of mismatch is generating bindings on 64-bit platform and +> using them on 32-bit platform. +> +> In that case you can often just ignore the tests (delete them), because +> rustc will adjust the structs because they are repr(c). + +Upstream-Status: Inappropriate [cross-platform issue] + +--- a/build.rs ++++ b/build.rs +@@ -42,6 +42,7 @@ fn main() { + .allowlist_type("dm_target_versions") + .derive_debug(true) + .derive_default(true) ++ .layout_tests(false) + .generate() + .expect("Could not generate dm.h bindings"); + +@@ -69,6 +70,7 @@ fn main() { + let bindings = bindings + .derive_debug(true) + .derive_default(true) ++ .layout_tests(false) + .generate() + .expect("Could not generate sem.h bindings"); + diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb deleted file mode 100644 index 317794defb6..00000000000 --- a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.1.0.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "Tools of dm-thin device-mapper" -DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target." -HOMEPAGE = "https://github.com/jthornber/thin-provisioning-tools" -LICENSE = "GPL-3.0-only" -SECTION = "devel" - -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -SRC_URI = " \ - git://github.com/jthornber/thin-provisioning-tools;branch=main;protocol=https \ - file://0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch;patchdir=${CARGO_VENDORING_DIRECTORY}/libc-0.2.155 \ - file://0001-Use-portable-atomics-crate.patch \ - " - -# v1.1.0 -SRCREV = "b745ab35057bdd0a4f1406938916621dcf2b7ef6" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -inherit cargo cargo-update-recipe-crates -inherit pkgconfig - -DEPENDS += "udev libdevmapper libdevmapper-native clang-native" - -export LIBCLANG_PATH = "${STAGING_LIBDIR_NATIVE}" -# Remove octeontx2 specific CPU flags that may cause issues with bindgen -BINDGEN_EXTRA_CLANG_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} --target=${TARGET_SYS}" -BINDGEN_EXTRA_CLANG_ARGS:remove = "-mcpu=octeontx2+crypto" -export BINDGEN_EXTRA_CLANG_ARGS - -require ${BPN}-crates.inc -require ${BPN}-git-crates.inc - -do_install:append() { - install -d ${D}${sbindir} - mv ${D}${bindir}/pdata_tools ${D}${sbindir}/pdata_tools - rmdir --ignore-fail-on-non-empty ${D}${bindir} - - for tool in cache_check \ - cache_dump \ - cache_metadata_size \ - cache_repair \ - cache_restore \ - cache_writeback \ - thin_check \ - thin_delta \ - thin_dump \ - thin_ls \ - thin_metadata_size \ - thin_metadata_pack \ - thin_metadata_unpack \ - thin_repair \ - thin_restore \ - thin_rmap \ - thin_shrink \ - thin_trim \ - era_check \ - era_dump \ - era_invalidate \ - era_repair \ - era_restore; do - ln -sf pdata_tools ${D}${sbindir}/$tool - done -} diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.3.1.bb b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.3.1.bb new file mode 100644 index 00000000000..bdfadc04e82 --- /dev/null +++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.3.1.bb @@ -0,0 +1,64 @@ +SUMMARY = "Tools of dm-thin device-mapper" +DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target." +HOMEPAGE = "https://github.com/device-mapper-utils/thin-provisioning-tools" +LICENSE = "GPL-3.0-only" +SECTION = "devel" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI = " \ + git://github.com/device-mapper-utils/thin-provisioning-tools;branch=main;protocol=https;tag=v${PV} \ + file://0001-Use-portable-atomics-crate.patch \ + file://disable-cargo-metadata.patch \ + ${@bb.utils.contains('SITEINFO_BITS', '32', \ + 'file://dms-no-layout-check.patch;patchdir=${CARGO_VENDORING_DIRECTORY}/devicemapper-sys-0.3.3', \ + '', d)} \ + " + +SRCREV = "8b663fb4c6fb8e52ca06cea57b986c5ba45f668d" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +inherit cargo cargo-update-recipe-crates +inherit pkgconfig siteinfo + +DEPENDS += "udev libdevmapper libdevmapper-native clang-native" + +export LIBCLANG_PATH = "${STAGING_LIBDIR_NATIVE}" +# Remove octeontx2 specific CPU flags that may cause issues with bindgen +BINDGEN_EXTRA_CLANG_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} --target=${TARGET_SYS}" +BINDGEN_EXTRA_CLANG_ARGS:remove = "-mcpu=octeontx2+crypto" +export BINDGEN_EXTRA_CLANG_ARGS + +require ${BPN}-crates.inc + +do_install:append() { + install -d ${D}${sbindir} + mv ${D}${bindir}/pdata_tools ${D}${sbindir}/pdata_tools + rmdir --ignore-fail-on-non-empty ${D}${bindir} + + for tool in cache_check \ + cache_dump \ + cache_metadata_size \ + cache_repair \ + cache_restore \ + cache_writeback \ + thin_check \ + thin_delta \ + thin_dump \ + thin_ls \ + thin_metadata_size \ + thin_metadata_pack \ + thin_metadata_unpack \ + thin_repair \ + thin_restore \ + thin_rmap \ + thin_shrink \ + thin_trim \ + era_check \ + era_dump \ + era_invalidate \ + era_repair \ + era_restore; do + ln -sf pdata_tools ${D}${sbindir}/$tool + done +} diff --git a/meta-oe/recipes-support/tree/tree_2.3.1.bb b/meta-oe/recipes-support/tree/tree_2.3.1.bb deleted file mode 100644 index b4fa0659b9a..00000000000 --- a/meta-oe/recipes-support/tree/tree_2.3.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A recursive directory listing command" -HOMEPAGE = "https://oldmanprogrammer.net/source.php?dir=projects/tree" -SECTION = "console/utils" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -SRC_URI = "https://oldmanprogrammer.net/tar/tree/${BP}.tgz" -SRC_URI[sha256sum] = "47ca786ed4ea4aa277cabd42b1a54635aca41b29e425e9229bd1317831f25665" - -# tree's default CFLAGS for Linux -CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" - -EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" - -do_configure[noexec] = "1" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${S}/${BPN} ${D}${bindir}/ -} diff --git a/meta-oe/recipes-support/tree/tree_2.3.2.bb b/meta-oe/recipes-support/tree/tree_2.3.2.bb new file mode 100644 index 00000000000..6e0d9f943fd --- /dev/null +++ b/meta-oe/recipes-support/tree/tree_2.3.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "A recursive directory listing command" +HOMEPAGE = "https://oldmanprogrammer.net/source.php?dir=projects/tree" +SECTION = "console/utils" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +SRC_URI = "https://oldmanprogrammer.net/tar/tree/${BP}.tgz" +SRC_URI[sha256sum] = "6b941dd6cbecfb4d3250700e4d08d8e0c251488981dd4868b90d744234300e21" + +# tree's default CFLAGS for Linux +CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" + +EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" + +do_configure[noexec] = "1" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/${BPN} ${D}${bindir}/ +} diff --git a/meta-oe/recipes-support/unixodbc/files/0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch b/meta-oe/recipes-support/unixodbc/files/0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch deleted file mode 100644 index c763a9feb6f..00000000000 --- a/meta-oe/recipes-support/unixodbc/files/0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch +++ /dev/null @@ -1,54 +0,0 @@ -From e886222c70d4b251f0785f670477b7aee938e5af Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Wed, 21 Feb 2024 13:55:41 +0800 -Subject: [PATCH] exe/Makefile.am: add CROSS_LAUNCHER to run odbc_config - -In case of cross compilation, the odbc_config cannot run, the error message -would be like below: - - /bin/bash: line 1: ../exe/odbc_config: cannot execute binary file: Exec format error - -Add CROSS_LAUNCHER to allow the possibility of running odbc_config correctly in -case of cross compilation. - -For example, here's a possible value for it (Yocto project environment, aarch64 target). - export CROSS_LAUNCHER="PSEUDO_UNLOAD=1 qemu-aarch64 -r 5.15 \ - -L /PATH/TO/unixodbc/2.3.11/recipe-sysroot \ - -E LD_LIBRARY_PATH=/PATH/TO/unixodbc/2.3.11/recipe-sysroot//usr/lib:/PATH/TO/unixodbc/2.3.11/recipe-sysroot//usr/lib " - -Other projects can use the launcher they like to allow correct generation of -the odbc.pc file in cross compilation environment. - -Upstream-Status: Submitted [Personal Email, nick.gorham@easysoft.com] - -As said in the official website, https://www.unixodbc.org/, the way to report bug and send -out patch is via personal email. So there's a public link above. - -Signed-off-by: Chen Qi ---- - exe/Makefile.am | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/exe/Makefile.am b/exe/Makefile.am -index 03f3d5a..5f33cf2 100644 ---- a/exe/Makefile.am -+++ b/exe/Makefile.am -@@ -59,11 +59,13 @@ slencheck_SOURCES = slencheck.c - dltest_DEPENDENCIES = $(LTDLDEPS) - dltest_LDADD = $(LIBLTDL) - -+CROSS_LAUNCHER ?= "" -+ - all-am: -- @sed "s![@]ODBC_ULEN[@]!`$(top_builddir)/exe/odbc_config$(EXEEXT) --ulen`!" \ -+ @sed "s![@]ODBC_ULEN[@]!`$(CROSS_LAUNCHER)$(top_builddir)/exe/odbc_config$(EXEEXT) --ulen`!" \ - $(top_builddir)/DriverManager/odbc.pc > $(top_builddir)/exe/odbc.pc.tmp - @mv -f $(top_builddir)/exe/odbc.pc.tmp $(top_builddir)/DriverManager/odbc.pc -- @sed "s![@]ODBC_CFLAGS[@]!`$(top_builddir)/exe/odbc_config$(EXEEXT) --cflags | sed 's/ -I.*//'`!" \ -+ @sed "s![@]ODBC_CFLAGS[@]!`$(CROSS_LAUNCHER)$(top_builddir)/exe/odbc_config$(EXEEXT) --cflags | sed 's/ -I.*//'`!" \ - $(top_builddir)/DriverManager/odbc.pc > $(top_builddir)/exe/odbc.pc.tmp - @mv -f $(top_builddir)/exe/odbc.pc.tmp $(top_builddir)/DriverManager/odbc.pc - --- -2.34.1 - diff --git a/meta-oe/recipes-support/unixodbc/files/CVE-2024-1013.patch b/meta-oe/recipes-support/unixodbc/files/CVE-2024-1013.patch deleted file mode 100644 index 68844654524..00000000000 --- a/meta-oe/recipes-support/unixodbc/files/CVE-2024-1013.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 76beb0938ef14276123996bfd99df23b0c7f0982 Mon Sep 17 00:00:00 2001 -From: Soumya Sambu -Date: Fri, 7 Jun 2024 11:10:46 +0000 -Subject: [PATCH] PostgreSQL driver: Fix incompatible pointer-to-integer types - -These result in out-of-bounds stack writes on 64-bit architectures -(caller has 4 bytes, callee writes 8 bytes), and seem to have gone -unnoticed on little-endian architectures (although big-endian -architectures must be broken). - -This change is required to avoid a build failure with GCC 14. - -CVE: CVE-2024-1013 - -Upstream-Status: Backport [https://github.com/lurcher/unixODBC/commit/45f501e1be2db6b017cc242c79bfb9de32b332a1] - -Signed-off-by: Soumya Sambu ---- - Drivers/Postgre7.1/info.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Drivers/Postgre7.1/info.c b/Drivers/Postgre7.1/info.c -index 63ac91f..2216ecd 100644 ---- a/Drivers/Postgre7.1/info.c -+++ b/Drivers/Postgre7.1/info.c -@@ -1779,14 +1779,14 @@ char *table_name; - char index_name[MAX_INFO_STRING]; - short fields_vector[8]; - char isunique[10], isclustered[10]; --SDWORD index_name_len, fields_vector_len; -+SQLLEN index_name_len, fields_vector_len; - TupleNode *row; - int i; - HSTMT hcol_stmt; - StatementClass *col_stmt, *indx_stmt; - char column_name[MAX_INFO_STRING], relhasrules[MAX_INFO_STRING]; - char **column_names = 0; --Int4 column_name_len; -+SQLLEN column_name_len; - int total_columns = 0; - char error = TRUE; - ConnInfo *ci; -@@ -2136,7 +2136,7 @@ HSTMT htbl_stmt; - StatementClass *tbl_stmt; - char tables_query[STD_STATEMENT_LEN]; - char attname[MAX_INFO_STRING]; --SDWORD attname_len; -+SQLLEN attname_len; - char pktab[MAX_TABLE_LEN + 1]; - Int2 result_cols; - --- -2.40.0 diff --git a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb deleted file mode 100644 index 389c3be9035..00000000000 --- a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "An Open Source ODBC sub-system" -DESCRIPTION = "unixODBC is an Open Source ODBC sub-system and an ODBC SDK \ -for Linux, Mac OSX, and UNIX." - -HOMEPAGE = "http://www.unixodbc.org/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206" - -DEPENDS = "libtool readline" - -SRC_URI = "https://www.unixodbc.org/unixODBC-${PV}.tar.gz \ - file://do-not-use-libltdl-source-directory.patch \ - file://0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch \ - file://CVE-2024-1013.patch \ -" -SRC_URI[sha256sum] = "f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec" - -UPSTREAM_CHECK_URI = "https://www.unixodbc.org/download.html" -UPSTREAM_CHECK_REGEX = "unixODBC-(?P\d+(\.\d+)+)\.tar" - -inherit autotools-brokensep multilib_header qemu - -S = "${UNPACKDIR}/unixODBC-${PV}" - -EXTRA_OEMAKE += "LIBS=-lltdl" -EXTRA_OECONF += "--enable-utf8ini" -DEPENDS:append:class-target = "${@' qemu-native' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else ''}" -QEMU_WRAPPER = "${@qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}" - -do_configure:prepend() { - # old m4 files will cause libtool version don't match - rm -rf m4/* - rm -fr libltdl -} - -do_compile:prepend() { - if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then - export CROSS_LAUNCHER="${QEMU_WRAPPER} " - fi -} - -do_install:prepend() { - if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then - export CROSS_LAUNCHER="${QEMU_WRAPPER} " - fi -} - -do_install:append() { - oe_multilib_header unixodbc.h unixODBC/unixodbc_conf.h -} diff --git a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.14.bb b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.14.bb new file mode 100644 index 00000000000..62992f6f506 --- /dev/null +++ b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.14.bb @@ -0,0 +1,50 @@ +SUMMARY = "An Open Source ODBC sub-system" +DESCRIPTION = "unixODBC is an Open Source ODBC sub-system and an ODBC SDK \ +for Linux, Mac OSX, and UNIX." + +HOMEPAGE = "http://www.unixodbc.org/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206" + +DEPENDS = "libtool readline" + +SRC_URI = "https://www.unixodbc.org/unixODBC-${PV}.tar.gz \ + file://do-not-use-libltdl-source-directory.patch \ +" +SRC_URI[sha256sum] = "4e2814de3e01fc30b0b9f75e83bb5aba91ab0384ee951286504bb70205524771" + +UPSTREAM_CHECK_URI = "https://www.unixodbc.org/download.html" +UPSTREAM_CHECK_REGEX = "unixODBC-(?P\d+(\.\d+)+)\.tar" + +inherit autotools-brokensep multilib_header qemu + +S = "${UNPACKDIR}/unixODBC-${PV}" + +EXTRA_OEMAKE += "LIBS=-lltdl" +EXTRA_OECONF += "--enable-utf8ini" +DEPENDS:append:class-target = "${@' qemu-native' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else ''}" +QEMU_WRAPPER = "${@qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}" + +do_configure:prepend() { + # old m4 files will cause libtool version don't match + rm -rf m4/* + rm -fr libltdl +} + +do_compile:prepend() { + if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then + export CROSS_LAUNCHER="${QEMU_WRAPPER} " + fi +} + +do_install:prepend() { + if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then + export CROSS_LAUNCHER="${QEMU_WRAPPER} " + fi +} + +do_install:append() { + oe_multilib_header unixodbc.h unixODBC/unixodbc_conf.h +} + +CVE_STATUS[CVE-2024-1013] = "fixed-version: fixed in 2.3.13" diff --git a/meta-oe/recipes-support/upower/upower_1.91.0.bb b/meta-oe/recipes-support/upower/upower_1.91.0.bb deleted file mode 100644 index b81d0c29711..00000000000 --- a/meta-oe/recipes-support/upower/upower_1.91.0.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "UPower is an abstraction for enumerating power devices" -DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics." -HOMEPAGE = "https://upower.freedesktop.org/" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08" - -DEPENDS = " \ - intltool-native \ - libusb1 \ - libgudev \ - glib-2.0 \ - dbus-glib \ -" - -SRC_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/archive/v${PV}/${BPN}-v${PV}.tar.bz2" -SRC_URI[sha256sum] = "954f8ee8d1422c813615862bc6249cb9b31ace1d905fd1f06549c4e47f4ba401" -S = "${UNPACKDIR}/${BPN}-v${PV}" - -UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/tags" -UPSTREAM_CHECK_REGEX = "v(?P\d+(\.\d+)+)" - -GIR_MESON_ENABLE_FLAG = "enabled" -GIR_MESON_DISABLE_FLAG = "disabled" -GTKDOC_MESON_OPTION = "gtk-doc" - -inherit meson pkgconfig gtk-doc gettext gobject-introspection systemd - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)}" -PACKAGECONFIG[idevice] = "-Didevice=enabled,-Didevice=disabled,libimobiledevice libplist" -PACKAGECONFIG[systemd] = "-Dsystemdsystemunitdir=${systemd_system_unitdir},-Dsystemdsystemunitdir=no -Dudevrulesdir=${base_libdir}/udev/rules.d,systemd" -PACKAGECONFIG[polkit] = "-Dpolkit=enabled,-Dpolkit=disabled,polkit" - -EXTRA_OEMESON = " \ - -Dos_backend=linux \ - -Dman=false \ -" - -SYSTEMD_SERVICE:${PN} = "upower.service" -# don't start on boot by default - dbus does that on demand -SYSTEMD_AUTO_ENABLE = "disable" - -RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_dbus}" -RRECOMMENDS:${PN} += "pm-utils" -PACKAGES += "${PN}-zsh-completion" -FILES:${PN} += " \ - ${datadir}/dbus-1/ \ - ${datadir}/polkit-1/ \ - ${base_libdir}/udev/* \ -" -FILES:${PN}-zsh-completion = "${datadir}/zsh" - -do_install:append() { - # remove integration tests scripts - rm -rf ${D}${datadir}/installed-tests - rm -rf ${D}${libexecdir}/upower -} diff --git a/meta-oe/recipes-support/upower/upower_1.91.2.bb b/meta-oe/recipes-support/upower/upower_1.91.2.bb new file mode 100644 index 00000000000..d6505974e9c --- /dev/null +++ b/meta-oe/recipes-support/upower/upower_1.91.2.bb @@ -0,0 +1,56 @@ +SUMMARY = "UPower is an abstraction for enumerating power devices" +DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics." +HOMEPAGE = "https://upower.freedesktop.org/" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08" + +DEPENDS = " \ + intltool-native \ + libusb1 \ + libgudev \ + glib-2.0 \ + dbus-glib \ +" + +SRC_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/archive/v${PV}/${BPN}-v${PV}.tar.bz2" +SRC_URI[sha256sum] = "f07f19b78a43a5053973d95a2fe96a12ede270b8db232b2e2c4ac4186fb42539" +S = "${UNPACKDIR}/${BPN}-v${PV}" + +UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/tags" +UPSTREAM_CHECK_REGEX = "v(?P\d+(\.\d+)+)" + +GIR_MESON_ENABLE_FLAG = "enabled" +GIR_MESON_DISABLE_FLAG = "disabled" +GTKDOC_MESON_OPTION = "gtk-doc" + +inherit meson pkgconfig gtk-doc gettext gobject-introspection systemd + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)}" +PACKAGECONFIG[idevice] = "-Didevice=enabled,-Didevice=disabled,libimobiledevice libplist" +PACKAGECONFIG[systemd] = "-Dsystemdsystemunitdir=${systemd_system_unitdir},-Dsystemdsystemunitdir=no -Dudevrulesdir=${base_libdir}/udev/rules.d,systemd" +PACKAGECONFIG[polkit] = "-Dpolkit=enabled,-Dpolkit=disabled,polkit" + +EXTRA_OEMESON = " \ + -Dos_backend=linux \ + -Dman=false \ +" + +SYSTEMD_SERVICE:${PN} = "upower.service" +# don't start on boot by default - dbus does that on demand +SYSTEMD_AUTO_ENABLE = "disable" + +RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_dbus}" +RRECOMMENDS:${PN} += "pm-utils" +PACKAGES += "${PN}-zsh-completion" +FILES:${PN} += " \ + ${datadir}/dbus-1/ \ + ${datadir}/polkit-1/ \ + ${base_libdir}/udev/* \ +" +FILES:${PN}-zsh-completion = "${datadir}/zsh" + +do_install:append() { + # remove integration tests scripts + rm -rf ${D}${datadir}/installed-tests + rm -rf ${D}${libexecdir}/upower +} diff --git a/meta-oe/recipes-support/utf8proc/utf8proc_2.10.0.bb b/meta-oe/recipes-support/utf8proc/utf8proc_2.10.0.bb deleted file mode 100644 index 626836bd1ca..00000000000 --- a/meta-oe/recipes-support/utf8proc/utf8proc_2.10.0.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "library that provides operations for data in the UTF-8 encoding" -DESCRIPTION = "utf8proc is a small, clean C library that provides Unicode \ -normalization, case-folding, and other operations for data in the UTF-8 \ -encoding, supporting Unicode version 16.0" -HOMEPAGE = "https://juliastrings.github.io/utf8proc/" -SECTION = "libs" - -LICENSE = "MIT & Unicode-3.0" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=96d5a3ba306e0f24fb289427af484408" - -SRC_URI = "\ - git://github.com/JuliaStrings/utf8proc;protocol=https;branch=master;tag=v${PV} \ - file://run-ptest \ -" -SRCREV = "a1b99daa2a3393884220264c927a48ba1251a9c6" - -inherit cmake ptest - -EXTRA_OECMAKE = "\ - -DBUILD_SHARED_LIBS=ON \ - ${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTING=ON -DUTF8PROC_ENABLE_TESTING=ON ', '', d)} \ -" - -do_install_ptest() { - # this list and run-ptest needs to be updated on upgrade (the project uses add_test feature) - for t in "case" custom iterate misc printproperty valid charwidth graphemetest normtest; do - install -m 0755 ${B}/$t ${D}${PTEST_PATH}/ - done - install -d ${D}${PTEST_PATH}/data - install -m 0644 ${B}/data/GraphemeBreakTest.txt ${D}${PTEST_PATH}/data/ - install -m 0644 ${B}/data/NormalizationTest.txt ${D}${PTEST_PATH}/data/ -} - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/utf8proc/utf8proc_2.11.3.bb b/meta-oe/recipes-support/utf8proc/utf8proc_2.11.3.bb new file mode 100644 index 00000000000..4510eb9bf3b --- /dev/null +++ b/meta-oe/recipes-support/utf8proc/utf8proc_2.11.3.bb @@ -0,0 +1,34 @@ +SUMMARY = "library that provides operations for data in the UTF-8 encoding" +DESCRIPTION = "utf8proc is a small, clean C library that provides Unicode \ +normalization, case-folding, and other operations for data in the UTF-8 \ +encoding, supporting Unicode version 16.0" +HOMEPAGE = "https://juliastrings.github.io/utf8proc/" +SECTION = "libs" + +LICENSE = "MIT & Unicode-3.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=96d5a3ba306e0f24fb289427af484408" + +SRC_URI = "\ + git://github.com/JuliaStrings/utf8proc;protocol=https;branch=master;tag=v${PV} \ + file://run-ptest \ +" +SRCREV = "e5e799221b45bbb90f5fdc5c69b6b8dfbf017e78" + +inherit cmake ptest + +EXTRA_OECMAKE = "\ + -DBUILD_SHARED_LIBS=ON \ + ${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTING=ON -DUTF8PROC_ENABLE_TESTING=ON ', '', d)} \ +" + +do_install_ptest() { + # this list and run-ptest needs to be updated on upgrade (the project uses add_test feature) + for t in "case" custom iterate misc printproperty valid charwidth graphemetest normtest; do + install -m 0755 ${B}/$t ${D}${PTEST_PATH}/ + done + install -d ${D}${PTEST_PATH}/data + install -m 0644 ${B}/data/GraphemeBreakTest.txt ${D}${PTEST_PATH}/data/ + install -m 0644 ${B}/data/NormalizationTest.txt ${D}${PTEST_PATH}/data/ +} + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.2.6.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.2.6.bb deleted file mode 100644 index ac941de8112..00000000000 --- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.2.6.bb +++ /dev/null @@ -1,92 +0,0 @@ -SUMMARY = "VirtualBox Linux Guest Drivers" -HOMEPAGE = "https://www.virtualbox.org/" -SECTION = "core" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${VBOX_NAME}/COPYING;md5=217590d3a513571b94632edf5fa1169a" - -DEPENDS = "virtual/kernel" - -inherit module kernel-module-split - -COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm64)" - -VBOX_NAME = "VirtualBox-${PV}" - -SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ - file://Makefile.utils \ -" -SRC_URI[sha256sum] = "c58443a0e6fcc7fc7e84c1011a10823b3540c6a2b8f2e27c4d8971272baf09f7" - -S ?= "${UNPACKDIR}/vbox_module" -S:task-unpack = "${UNPACKDIR}/${VBOX_NAME}" -S:task-patch = "${UNPACKDIR}/${BP}" - -export VBOX_KBUILD_TARGET_ARCH = "${ARCH}" -export VBOX_KBUILD_TARGET_ARCH:x86-64 = "amd64" - -EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1 CC='${CC} ${DEBUG_PREFIX_MAP} -ffile-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} -ffile-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH}'" - -# otherwise 5.2.22 builds just vboxguest -MAKE_TARGETS = "all" - -addtask export_sources before do_patch after do_unpack -do_export_sources[depends] += "virtual/kernel:do_shared_workdir" - -do_export_sources() { - mkdir -p "${S}" - ${UNPACKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz - tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz - - # add a mount utility to use shared folder from VBox Addition Source Code - mkdir -p "${S}/utils" - install ${UNPACKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils - install ${UNPACKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils - install ${UNPACKDIR}/Makefile.utils ${S}/utils/Makefile - - # some kernel versions have issues with stdarg.h and compatibility with - # the sysroot and libc-headers/uapi. If we include the file directly from - # the kernel source (STAGING_KERNEL_DIR) we get conflicting types on many - # structures, due to kernel .h files being found before libc .h files. - # if we grab just this one file from the source, and put it into our - # file structure, everything holds together - mkdir -p ${S}/vboxsf/include/linux - install ${STAGING_KERNEL_DIR}/include/linux/stdarg.h ${S}/vboxsf/include/linux -} - -do_configure:prepend() { - # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop. - # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in /build, or the variable KERN_VER must be set. Stop. - mkdir -p ${WORKDIR}/${KERNEL_VERSION} - ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build -} - -# compile and install mount utility -do_compile() { - oe_runmake all - oe_runmake 'LD=${CC}' 'EXTRA_CFLAGS=-I${STAGING_KERNEL_BUILDDIR}/include/' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils - if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then - echo "ERROR: One of vbox*.ko modules wasn't built" - exit 1 - fi -} - -module_do_install() { - MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc - install -d $MODULE_DIR - install -m 644 vboxguest.ko $MODULE_DIR - install -m 644 vboxsf.ko $MODULE_DIR - install -m 644 vboxvideo.ko $MODULE_DIR -} - -do_install:append() { - install -d ${D}${base_sbindir} - install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} -} - -PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" -RRECOMMENDS:${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" - -FILES:${PN} = "${base_sbindir}" - -# autoload if installed -KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.2.8.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.2.8.bb new file mode 100644 index 00000000000..6b6a2f23ff5 --- /dev/null +++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.2.8.bb @@ -0,0 +1,92 @@ +SUMMARY = "VirtualBox Linux Guest Drivers" +HOMEPAGE = "https://www.virtualbox.org/" +SECTION = "core" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${VBOX_NAME}/COPYING;md5=217590d3a513571b94632edf5fa1169a" + +DEPENDS = "virtual/kernel" + +inherit module kernel-module-split + +COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm64)" + +VBOX_NAME = "VirtualBox-${PV}" + +SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ + file://Makefile.utils \ +" +SRC_URI[sha256sum] = "0642ed4a12b7204cd30c0abbc2c10c1cc7ad55ce1756a01e86a16d4b6b066592" + +S ?= "${UNPACKDIR}/vbox_module" +S:task-unpack = "${UNPACKDIR}/${VBOX_NAME}" +S:task-patch = "${UNPACKDIR}/${BP}" + +export VBOX_KBUILD_TARGET_ARCH = "${ARCH}" +export VBOX_KBUILD_TARGET_ARCH:x86-64 = "amd64" + +EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1 CC='${CC} ${DEBUG_PREFIX_MAP} -ffile-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} -ffile-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH}'" + +# otherwise 5.2.22 builds just vboxguest +MAKE_TARGETS = "all" + +addtask export_sources before do_patch after do_unpack +do_export_sources[depends] += "virtual/kernel:do_shared_workdir" + +do_export_sources() { + mkdir -p "${S}" + ${UNPACKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz + tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz + + # add a mount utility to use shared folder from VBox Addition Source Code + mkdir -p "${S}/utils" + install ${UNPACKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils + install ${UNPACKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils + install ${UNPACKDIR}/Makefile.utils ${S}/utils/Makefile + + # some kernel versions have issues with stdarg.h and compatibility with + # the sysroot and libc-headers/uapi. If we include the file directly from + # the kernel source (STAGING_KERNEL_DIR) we get conflicting types on many + # structures, due to kernel .h files being found before libc .h files. + # if we grab just this one file from the source, and put it into our + # file structure, everything holds together + mkdir -p ${S}/vboxsf/include/linux + install ${STAGING_KERNEL_DIR}/include/linux/stdarg.h ${S}/vboxsf/include/linux +} + +do_configure:prepend() { + # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop. + # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in /build, or the variable KERN_VER must be set. Stop. + mkdir -p ${WORKDIR}/${KERNEL_VERSION} + ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build +} + +# compile and install mount utility +do_compile() { + oe_runmake all + oe_runmake 'LD=${CC}' 'EXTRA_CFLAGS=-I${STAGING_KERNEL_BUILDDIR}/include/' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils + if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then + echo "ERROR: One of vbox*.ko modules wasn't built" + exit 1 + fi +} + +module_do_install() { + MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc + install -d $MODULE_DIR + install -m 644 vboxguest.ko $MODULE_DIR + install -m 644 vboxsf.ko $MODULE_DIR + install -m 644 vboxvideo.ko $MODULE_DIR +} + +do_install:append() { + install -d ${D}${base_sbindir} + install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} +} + +PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" +RRECOMMENDS:${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" + +FILES:${PN} = "${base_sbindir}" + +# autoload if installed +KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Fix-32bit-arm.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Fix-32bit-arm.patch deleted file mode 100644 index fadef2a01b1..00000000000 --- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-Fix-32bit-arm.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 014b9dad4ec5c432410254c0d0cab7d20b1f31d7 Mon Sep 17 00:00:00 2001 -From: Jason Schonberg -Date: Mon, 29 Sep 2025 14:34:48 -0400 -Subject: [PATCH] From: amaxcz Date: Fri, 19 Sep 2025 - 11:55:30 +0000 Subject: [PATCH] JSC: fix op_instanceof handler for 32-bit - C-loop build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -JSC: fix op_instanceof handler for 32-bit C-loop build - -Fixes missing 'op_instanceof' handler in LowLevelInterpreter32_64.asm -which breaks 32‑bit builds. - -* No ChangeLog (raw external patch). - -Upstream-Status: Backport [https://bugs.webkit.org/show_bug.cgi?id=299166] - -Signed-off-by: Jason Schonberg ---- - .../llint/LowLevelInterpreter32_64.asm | 95 ++++++++++++++++++- - 1 file changed, 94 insertions(+), 1 deletion(-) - -diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm -index 0d7c92bb..0b81cc1a 100644 ---- a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm -+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm -@@ -3437,4 +3437,97 @@ slowPathOp(enumerator_has_own_property) - slowPathOp(mod) - - llintSlowPathOp(has_structure_with_flags) --llintSlowPathOp(instanceof) -+ -+llintOpWithMetadata(op_instanceof, OpInstanceof, macro (size, get, dispatch, metadata, return) -+ -+ macro getAndLoadConstantOrVariable(fieldName, tagReg, payloadReg) -+ get(fieldName, t5) -+ loadConstantOrVariable(size, t5, tagReg, payloadReg) -+ end -+ -+ macro isObject(field, falseLabel) -+ getAndLoadConstantOrVariable(field, t0, t1) -+ bineq t0, CellTag, falseLabel -+ bbneq JSCell::m_type[t1], ObjectType, falseLabel -+ end -+ -+ macro overridesHasInstance(hasInstanceField, constructorField, trueLabel) -+ getAndLoadConstantOrVariable(hasInstanceField, t0, t1) -+ bineq t0, CellTag, trueLabel -+ loadp CodeBlock[cfr], t2 -+ loadp CodeBlock::m_globalObject[t2], t2 -+ loadp JSGlobalObject::m_functionProtoHasInstanceSymbolFunction[t2], t2 -+ bpneq t1, t2, trueLabel -+ -+ get(constructorField, t5) -+ loadConstantOrVariablePayload(size, t5, CellTag, t1, trueLabel) -+ btbz JSCell::m_flags[t1], ImplementsDefaultHasInstance, trueLabel -+ end -+ -+ macro storeValue(tagReg, payloadReg, fieldName) -+ move tagReg, t0 -+ move payloadReg, t1 -+ get(fieldName, t5) -+ storei t0, TagOffset[cfr, t5, 8] -+ storei t1, PayloadOffset[cfr, t5, 8] -+ end -+ -+.getHasInstance: -+ isObject(m_constructor, .throwStaticError) -+ get(m_constructor, t5) -+ metadata(t2, t6) -+ loadConstantOrVariablePayload(size, t5, CellTag, t3, .getHasInstanceSlow) -+ performGetByIDHelper(OpInstanceof, m_hasInstanceModeMetadata, m_hasInstanceValueProfile, .getHasInstanceSlow, size, -+ macro (resultTag, resultPayload) -+ storeValue(resultTag, resultPayload, m_hasInstanceOrPrototype) -+ jmp .getPrototype -+ end) -+ jmp .getPrototype -+ -+.getHasInstanceSlow: -+ callSlowPath(_llint_slow_path_get_hasInstance_from_instanceof) -+ branchIfException(_llint_throw_from_slow_path_trampoline) -+ jmp .getPrototype -+ -+.getHasInstanceInlinedGetterOSRReturnPoint: -+ # This path is taken when exiting to the LLInt from an inlined getter for Symbol.hasInstance. -+ getterSetterOSRExitReturnPoint(op_instanceof, size) -+ valueProfile(size, OpInstanceof, m_hasInstanceValueProfile, r1, r0, t2) -+ storeValue(r1, r0, m_hasInstanceOrPrototype) -+ -+.getPrototype: -+ overridesHasInstance(m_hasInstanceOrPrototype, m_constructor, .instanceofCustom) -+ isObject(m_value, .false) -+ get(m_constructor, t5) -+ metadata(t2, t6) -+ loadConstantOrVariablePayload(size, t5, CellTag, t3, .getPrototypeSlow) -+ performGetByIDHelper(OpInstanceof, m_prototypeModeMetadata, m_prototypeValueProfile, .getPrototypeSlow, size, -+ macro (resultTag, resultPayload) -+ storeValue(resultTag, resultPayload, m_hasInstanceOrPrototype) -+ jmp .instanceof -+ end) -+ jmp .instanceof -+ -+.getPrototypeSlow: -+ callSlowPath(_llint_slow_path_get_prototype_from_instanceof) -+ branchIfException(_llint_throw_from_slow_path_trampoline) -+ jmp .instanceof -+ -+.instanceof: -+ callSlowPath(_llint_slow_path_instanceof_from_instanceof) -+ dispatch() -+ -+.throwStaticError: -+ callSlowPath(_slow_path_throw_static_error_from_instanceof) -+ dispatch() -+ -+.instanceofCustom: -+ callSlowPath(_slow_path_instanceof_custom_from_instanceof) -+ dispatch() -+ -+.false: -+ get(m_dst, t5) -+ storei BooleanTag, TagOffset[cfr, t5, 8] -+ storei 0, PayloadOffset[cfr, t5, 8] -+ dispatch() -+end) diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch index 367e6b8342a..411164433a7 100644 --- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch +++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch @@ -23,12 +23,12 @@ diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h index 16e416d..68dd9a0 100644 --- a/Source/WTF/wtf/Compiler.h +++ b/Source/WTF/wtf/Compiler.h -@@ -293,7 +293,7 @@ - #if COMPILER(CLANG) - #if __SIZEOF_POINTER__ == 8 - #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute) --#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) -+#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) && !defined(__arm__) +@@ -290,7 +290,7 @@ + // written for 64-bit may fail to tail call on 32-bit. + // It also doesn't work on ppc64le: https://github.com/llvm/llvm-project/issues/98859 + // and on Windows: https://github.com/llvm/llvm-project/issues/116568 +-#if !defined(MUST_TAIL_CALL) && COMPILER(CLANG) && __SIZEOF_POINTER__ == 8 && defined(__cplusplus) && COMPILER_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) ++#if !defined(MUST_TAIL_CALL) && COMPILER(CLANG) && __SIZEOF_POINTER__ == 8 && defined(__cplusplus) && COMPILER_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) && !defined(__arm__) #define MUST_TAIL_CALL [[clang::musttail]] #define HAVE_MUST_TAIL_CALL 1 #endif diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.7.bb b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.7.bb deleted file mode 100644 index 118592d42b2..00000000000 --- a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.7.bb +++ /dev/null @@ -1,183 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -DESCRIPTION = "\ - This recipe builds with Gtk3 (instead of Gtk4) which results in API version 4.1 \ - (having javascriptcoregtk-4.1.pc instead of 6.0). \ -" -HOMEPAGE = "https://www.webkitgtk.org/" -BUGTRACKER = "https://bugs.webkit.org/" - -LICENSE = "BSD-2-Clause & LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ - file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ - file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ - " - -SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \ - file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://reproducibility.patch \ - file://no-musttail-arm.patch \ - file://sys_futex.patch \ - file://0001-Fix-build-errors-on-RISCV-https-bugs.webkit.org-show.patch \ - file://fix-ftbfs-riscv64.patch \ - file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ - file://0001-Fix-32bit-arm.patch \ - " -SRC_URI[sha256sum] = "2c62aebb608e09f930a539f3623a5cc8023b5068029f42a208f45f9124da6e30" - -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen - -S = "${UNPACKDIR}/webkitgtk-${PV}" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" - -CVE_PRODUCT = "webkitgtk webkitgtk\+" - -DEPENDS += " \ - ruby-native \ - gperf-native \ - unifdef-native \ - cairo \ - harfbuzz \ - jpeg \ - atk \ - libwebp \ - gtk+3 \ - libxslt \ - libtasn1 \ - libnotify \ - gstreamer1.0 \ - gstreamer1.0-plugins-base \ - glib-2.0-native \ - gettext-native \ - " - -# using soup2 builds (JavaScript) API version 4.0 -# using soup3 builds (JavaScript) API version 4.1 -PACKAGECONFIG_SOUP ?= "soup3" -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ - enchant \ - libsecret \ - ${PACKAGECONFIG_SOUP} \ - " - -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" -PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[jpegxl] = " -DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl" -PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl" -PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" -PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" -PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" -PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," -PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" -PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3" -PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" -PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" -PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif" -PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad" -PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette" -PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF" -PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy" -PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace" -PACKAGECONFIG[sysprof-capture] = "-DUSE_SYSTEM_SYSPROF_CAPTURE=YES,-DUSE_SYSTEM_SYSPROF_CAPTURE=NO,sysprof" -PACKAGECONFIG[speech] = "-DENABLE_SPEECH_SYNTHESIS=ON,-DENABLE_SPEECH_SYNTHESIS=OFF,flite" - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - -DUSE_GTK4=OFF \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \ - ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFF', d)} \ - -DENABLE_MINIBROWSER=ON \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \ - " -# pass -g1 to massively reduce the size of the debug symbols (4.3GB to 700M at time of writing) -DEBUG_LEVELFLAG = "-g1" - -# Javascript JIT is not supported on ARC -EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF " -# By default 25-bit "medium" calls are used on ARC -# which is not enough for binaries larger than 32 MiB -CFLAGS:append:arc = " -mlong-calls" -CXXFLAGS:append:arc = " -mlong-calls" - -# Needed for non-mesa graphics stacks when x11 is disabled -CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" - -# Javascript JIT is not supported on powerpc -EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF " - -# ARM JIT code does not build on ARMv4/5/6 anymore -EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF " - -# JIT does not work on RISCV -EXTRA_OECMAKE:append:riscv32 = " -DENABLE_JIT=OFF" - -# JIT not supported on MIPS either -EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " - -# JIT not supported on X32 -# An attempt was made to upstream JIT support for x32 in -# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as -# unresolved due to limited X32 adoption. -EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " - -SECURITY_CFLAGS:remove:aarch64 = "-fpie" -SECURITY_CFLAGS:append:aarch64 = " -fPIE" - -FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so" - -RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" -ARM_INSTRUCTION_SET:armv6 = "arm" - -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET:armv7a = "thumb" -ARM_INSTRUCTION_SET:armv7r = "thumb" -ARM_INSTRUCTION_SET:armv7ve = "thumb" - -# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86 -COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}" - -# introspection inside qemu-arm hangs forever on musl/arm builds -# therefore disable GI_DATA -GI_DATA_ENABLED:libc-musl:armv7a = "False" -GI_DATA_ENABLED:libc-musl:armv7ve = "False" - -do_install:append() { - mv ${D}${bindir}/WebKitWebDriver ${D}${bindir}/WebKitWebDriver3 -} - -PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" -src_package_preprocess () { - # Trim build paths from comments in generated sources to ensure reproducibility - sed -i -e "s,${WORKDIR},,g" \ - ${B}/JavaScriptCore/DerivedSources/*.h \ - ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ - ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ - ${B}/WebCore/DerivedSources/*.cpp \ - ${B}/WebKitGTK/DerivedSources/webkit/*.cpp -} - diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.6.bb b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.6.bb new file mode 100644 index 00000000000..67f95620fd8 --- /dev/null +++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.6.bb @@ -0,0 +1,187 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +DESCRIPTION = "\ + This recipe builds with Gtk3 (instead of Gtk4) which results in API version 4.1 \ + (having javascriptcoregtk-4.1.pc instead of 6.0). \ +" +HOMEPAGE = "https://www.webkitgtk.org/" +BUGTRACKER = "https://bugs.webkit.org/" + +LICENSE = "BSD-2-Clause & LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://reproducibility.patch \ + file://no-musttail-arm.patch \ + file://sys_futex.patch \ + file://0001-Fix-build-errors-on-RISCV-https-bugs.webkit.org-show.patch \ + file://fix-ftbfs-riscv64.patch \ + file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ + " +SRC_URI[sha256sum] = "2b281abf8894ffc6172152e5660b75eeeedbe1cc43d6783d09dc79f7c865bb42" + +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen + +S = "${UNPACKDIR}/webkitgtk-${PV}" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "opengl" + +CVE_PRODUCT = "webkitgtk webkitgtk+" + +DEPENDS += " \ + ruby-native \ + gperf-native \ + unifdef-native \ + cairo \ + harfbuzz \ + jpeg \ + atk \ + libwebp \ + gtk+3 \ + libxslt \ + libtasn1 \ + libnotify \ + gstreamer1.0 \ + gstreamer1.0-plugins-base \ + glib-2.0-native \ + gettext-native \ + libsoup \ + libepoxy \ + " + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ + enchant \ + libsecret \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" +PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[jpegxl] = " -DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl" +PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl" +PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" +PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" +PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," +PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" +PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" +PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif" +PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad" +PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette" +PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF" +PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy" +PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace" +PACKAGECONFIG[sysprof-capture] = "-DUSE_SYSTEM_SYSPROF_CAPTURE=YES,-DUSE_SYSTEM_SYSPROF_CAPTURE=NO,sysprof" +PACKAGECONFIG[speech] = "-DENABLE_SPEECH_SYNTHESIS=ON,-DENABLE_SPEECH_SYNTHESIS=OFF,flite" + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + -DUSE_GTK4=OFF \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \ + ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \ + -DUSE_SOUP2=OFF \ + " +# pass -g1 to massively reduce the size of the debug symbols (4.3GB to 700M at time of writing) +DEBUG_LEVELFLAG = "-g1" + +# Javascript JIT is not supported on ARC +EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF " +# By default 25-bit "medium" calls are used on ARC +# which is not enough for binaries larger than 32 MiB +CFLAGS:append:arc = " -mlong-calls" +CXXFLAGS:append:arc = " -mlong-calls" + +# Needed for non-mesa graphics stacks when x11 is disabled +CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" + +# Fix Source/ThirdParty/skia/modules/skcms/src/Transform_inl.h:810:71: +# error: cannot tail-call: tail call production failed +CXXFLAGS:append:riscv64 = " -DSKCMS_HAS_MUSTTAIL=0" + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv4/5/6 anymore +EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF " + +# JIT does not work on RISCV +EXTRA_OECMAKE:append:riscv32 = " -DENABLE_JIT=OFF" + +# JIT not supported on MIPS either +EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS:remove:aarch64 = "-fpie" +SECURITY_CFLAGS:append:aarch64 = " -fPIE" + +FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so" + +RRECOMMENDS:${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET:armv7a = "thumb" +ARM_INSTRUCTION_SET:armv7r = "thumb" +ARM_INSTRUCTION_SET:armv7ve = "thumb" + +# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86 +COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}" + +# introspection inside qemu-arm hangs forever on musl/arm builds +# therefore disable GI_DATA +GI_DATA_ENABLED:libc-musl:armv7a = "False" +GI_DATA_ENABLED:libc-musl:armv7ve = "False" + +do_install:append() { + mv ${D}${bindir}/WebKitWebDriver ${D}${bindir}/WebKitWebDriver3 +} + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${WORKDIR},,g" \ + ${B}/JavaScriptCore/DerivedSources/*.h \ + ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ + ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ + ${B}/WebCore/DerivedSources/*.cpp \ + ${B}/WebKitGTK/DerivedSources/webkit/*.cpp +} + + +# complation fails with Clang-21 issue - https://github.com/llvm/llvm-project/issues/132322 +# Can be removed when clang is updated to v22 +TOOLCHAIN:arm = "gcc" diff --git a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/run-ptest b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/run-ptest new file mode 100755 index 00000000000..ff4b0b49ad6 --- /dev/null +++ b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/run-ptest @@ -0,0 +1,2 @@ +#!/bin/sh +gnome-desktop-testing-runner xdg-dbus-proxy diff --git a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.6.bb b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.6.bb deleted file mode 100644 index 43536f5d7b3..00000000000 --- a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.6.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "xdg-dbus-proxy is a filtering proxy for D-Bus connections" -HOMEPAGE = "https://github.com/flatpak/xdg-dbus-proxy" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = " \ - glib-2.0 \ - libxslt-native \ - docbook-xsl-stylesheets-native \ -" - -inherit meson pkgconfig - -SRC_URI = "git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https;branch=main" - -SRCREV = "1c1989e56f94b9eb3b7567f8a6e8a0aa16cba496" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.7.bb b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.7.bb new file mode 100644 index 00000000000..a8e0a651ad9 --- /dev/null +++ b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.7.bb @@ -0,0 +1,28 @@ +SUMMARY = "xdg-dbus-proxy is a filtering proxy for D-Bus connections" +HOMEPAGE = "https://github.com/flatpak/xdg-dbus-proxy" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = " \ + glib-2.0 \ + libxslt-native \ + docbook-xsl-stylesheets-native \ +" + +inherit meson pkgconfig ptest-gnome + +SRC_URI = " \ + git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https;branch=main;tag=${PV} \ + file://run-ptest \ + " + +SRCREV = "6a170fa77e3cbecb48f9dd2478fe5c0a119eb467" + +CVE_STATUS[CVE-2026-34080] = "fixed-version: fixed in 0.1.7" + +PACKAGECONFIG = "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false" + +RDEPENDS:${PN}-ptest += "dbus" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.20.3.bb b/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.20.3.bb deleted file mode 100644 index e0aca558fdc..00000000000 --- a/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.20.3.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "A portal frontend service for Flatpak and possibly other desktop containment frameworks." -HOMEPAGE = "https://github.com/flatpak/xdg-desktop-portal" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -REQUIRED_DISTRO_FEATURES = "polkit" - -DEPENDS = " \ - json-glib \ - glib-2.0 \ - glib-2.0-native \ - flatpak \ - libportal \ - geoclue \ - pipewire \ - fuse3 \ - xmlto-native \ -" - -PORTAL_BACKENDS ?= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'gtk+3', 'xdg-desktop-portal-gtk', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'gtk4', 'xdg-desktop-portal-gtk', '', d)} \ -" - -RDEPENDS:${PN} = "bubblewrap rtkit ${PORTAL_BACKENDS} fuse3-utils" - -inherit meson pkgconfig python3native features_check - -SRC_URI = " \ - git://github.com/flatpak/xdg-desktop-portal.git;protocol=https;branch=xdg-desktop-portal-1.20 \ - file://0001-meson.build-add-a-hack-for-crosscompile.patch \ -" - -SRCREV = "23a76c392170dbbd26230f85ef56c3a57e52b857" - -FILES:${PN} += "${libdir}/systemd ${datadir}/dbus-1" - -EXTRA_OEMESON += " \ - --cross-file=${WORKDIR}/meson-${PN}.cross \ - -Ddbus-service-dir=${datadir}/dbus-1/services \ - -Dtests=disabled \ -" - -do_write_config:append() { - cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross < ${B}/xrdp_configure_options.h -} - -do_install:append() { - - # deal with systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service - install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - - install -d ${D}${sysconfdir}/sysconfig/xrdp - install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/ - install -m 0644 ${UNPACKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/ - chown xrdp:xrdp ${D}${sysconfdir}/xrdp -} - -do_compile_ptest() { - for testdir in $(find ./tests -type d -mindepth 1); do - cd $testdir - echo 'buildtest-TESTS: $(check_PROGRAMS)' >> Makefile - # change the test-data folder to ./data instead of ${S} - sed -i 's|-D TOP_SRCDIR=[^ ]*|-D TOP_SRCDIR=\\"./data\\"|' Makefile - # another test data folder redirection - sed -i 's|-D IMAGEDIR=[^ ]*|-D IMAGEDIR=\\"./data\\"|' Makefile - # and another - sed -i 's|-DXRDP_TOP_SRCDIR=[^ ]*|-DXRDP_TOP_SRCDIR=\\"..\\"|' Makefile - oe_runmake buildtest-TESTS - cd - - done -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests/xrdp/gfx - install -d ${D}${PTEST_PATH}/tests/data/xrdp - for testbin in $(find ./tests -type f -executable -mindepth 3); do - install $testbin ${D}${PTEST_PATH}/tests/ - done - install -m 666 ${S}/xrdp/xrdp256.bmp ${D}${PTEST_PATH}/tests/data/xrdp/ - install -m 666 ${S}/xrdp/ad256.bmp ${D}${PTEST_PATH}/tests/data/xrdp/ - install -m 666 ${S}/tests/xrdp/*.bmp ${D}${PTEST_PATH}/tests/data/ - install -m 666 ${S}/tests/xrdp/test1.jpg ${D}${PTEST_PATH}/tests/data/ - install -m 666 ${S}/tests/xrdp/test_alpha_blend.png ${D}${PTEST_PATH}/tests/data/ - install -m 666 ${S}/tests/xrdp/gfx/* ${D}${PTEST_PATH}/tests/xrdp/gfx/ -} - -RDEPENDS:${PN}-ptest += "imlib2-loaders" - -SYSTEMD_SERVICE:${PN} = "xrdp.service xrdp-sesman.service" - -pkg_postinst:${PN}() { - if test -z "$D" - then - if test -x ${bindir}/xrdp-keygen - then - ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null - fi - if test ! -s ${sysconfdir}/xrdp/cert.pem - then - openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \ - -keyout ${sysconfdir}/xrdp/key.pem \ - -out ${sysconfdir}/xrdp/cert.pem \ - -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1 - chmod 400 ${sysconfdir}/xrdp/key.pem - fi - fi -} diff --git a/meta-oe/recipes-support/xrdp/xrdp_0.10.6.bb b/meta-oe/recipes-support/xrdp/xrdp_0.10.6.bb new file mode 100644 index 00000000000..152b37cb37e --- /dev/null +++ b/meta-oe/recipes-support/xrdp/xrdp_0.10.6.bb @@ -0,0 +1,138 @@ +SUMMARY = "An open source remote desktop protocol(rdp) server." + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \ +" + +inherit features_check autotools pkgconfig useradd systemd ptest + +DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native imlib2 pixman libsm" + +REQUIRED_DISTRO_FEATURES = "x11 pam" + +SRC_URI = "https://github.com/neutrinolabs/${BPN}/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ + file://xrdp.sysconfig \ + file://run-ptest \ + file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \ + file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \ + file://0001-mark-count-with-unused-attribute.patch \ + " +SRC_URI[sha256sum] = "dfc21d5d603b642cf583987b36706b685bf05fd3aaaaacefb8f57c5f4a448677" + +UPSTREAM_CHECK_URI = "https://github.com/neutrinolabs/xrdp/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/v(?P\d+(\.\d+)+)" + +CFLAGS += " -Wno-deprecated-declarations" + +PACKAGECONFIG ??= "fuse ${@bb.utils.contains('PTEST_ENABLED', '1', 'test', '', d)}" +PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse3" +PACKAGECONFIG[test] = " --enable-tests, , libcheck cmocka" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM:${PN} = "--system xrdp" +USERADD_PARAM:${PN} = "--system --home /var/run/xrdp -g xrdp \ + --no-create-home --shell /bin/false xrdp" + +FILES:${PN} += "${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/accessibility-services/*.service " + +FILES:${PN}-dev += " \ + ${libdir}/xrdp/libcommon.so \ + ${libdir}/xrdp/libxrdp.so \ + ${libdir}/xrdp/libxrdpapi.so \ + ${libdir}/xrdp/libtoml.so \ + ${libdir}/xrdp/libsesman.so \ + ${libdir}/xrdp/libipm.so \ + " + +EXTRA_OECONF = "--enable-pam-config=suse --enable-fuse \ + --enable-pixman --enable-painter --enable-vsock \ + --enable-ipv6 --with-imlib2 --with-socketdir=${localstatedir}/run/${PN}" + +do_configure:prepend() { + cd ${S} + ./bootstrap + cd - +} + +do_compile:prepend() { + sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in + echo "" > ${B}/xrdp_configure_options.h +} + +do_install:append() { + + # deal with systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service + install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + + install -d ${D}${sysconfdir}/sysconfig/xrdp + install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/ + install -m 0644 ${UNPACKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/ + chown xrdp:xrdp ${D}${sysconfdir}/xrdp +} + +do_compile_ptest() { + for testdir in $(find ./tests -type d -mindepth 1); do + cd $testdir + echo 'buildtest-TESTS: $(check_PROGRAMS)' >> Makefile + # change the test-data folder to ./data instead of ${S} + sed -i 's|-D TOP_SRCDIR=[^ ]*|-D TOP_SRCDIR=\\"./data\\"|' Makefile + # another test data folder redirection + sed -i 's|-D IMAGEDIR=[^ ]*|-D IMAGEDIR=\\"./data\\"|' Makefile + # and another + sed -i 's|-DXRDP_TOP_SRCDIR=[^ ]*|-DXRDP_TOP_SRCDIR=\\"..\\"|' Makefile + oe_runmake buildtest-TESTS + cd - + done +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests/xrdp/gfx + install -d ${D}${PTEST_PATH}/tests/data/xrdp + for testbin in $(find ./tests -type f -executable -mindepth 3); do + install $testbin ${D}${PTEST_PATH}/tests/ + done + install -m 666 ${S}/xrdp/xrdp256.bmp ${D}${PTEST_PATH}/tests/data/xrdp/ + install -m 666 ${S}/xrdp/ad256.bmp ${D}${PTEST_PATH}/tests/data/xrdp/ + install -m 666 ${S}/tests/xrdp/*.bmp ${D}${PTEST_PATH}/tests/data/ + install -m 666 ${S}/tests/xrdp/test1.jpg ${D}${PTEST_PATH}/tests/data/ + install -m 666 ${S}/tests/xrdp/test_alpha_blend.png ${D}${PTEST_PATH}/tests/data/ + install -m 666 ${S}/tests/xrdp/gfx/* ${D}${PTEST_PATH}/tests/xrdp/gfx/ +} + +RDEPENDS:${PN}-ptest += "imlib2-loaders" + +SYSTEMD_SERVICE:${PN} = "xrdp.service xrdp-sesman.service" + +pkg_postinst:${PN}() { + if test -z "$D" + then + if test -x ${bindir}/xrdp-keygen + then + ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null + fi + if test ! -s ${sysconfdir}/xrdp/cert.pem + then + openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \ + -keyout ${sysconfdir}/xrdp/key.pem \ + -out ${sysconfdir}/xrdp/cert.pem \ + -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1 + chmod 400 ${sysconfdir}/xrdp/key.pem + fi + fi +} + +CVE_STATUS[CVE-2026-32105] = "fixed-version: fixed in 0.10.6" +CVE_STATUS[CVE-2026-32107] = "fixed-version: fixed in 0.10.6" +CVE_STATUS[CVE-2026-32623] = "fixed-version: fixed in 0.10.6" +CVE_STATUS[CVE-2026-32624] = "fixed-version: fixed in 0.10.6" +CVE_STATUS[CVE-2026-33145] = "fixed-version: fixed in 0.10.6" +CVE_STATUS[CVE-2026-33516] = "fixed-version: fixed in 0.10.6" +CVE_STATUS[CVE-2026-33689] = "fixed-version: fixed in 0.10.6" +CVE_STATUS[CVE-2026-35512] = "fixed-version: fixed in 0.10.6" diff --git a/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb b/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb deleted file mode 100644 index 09db5519eae..00000000000 --- a/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "yaml-cpp parser and emitter library" -DESCRIPTION = "yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec." -HOMEPAGE = "https://github.com/jbeder/yaml-cpp" -SECTION = "devel" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6a8aaf0595c2efc1a9c2e0913e9c1a2c" - -# yaml-cpp releases are stored as archive files in github. -# download the exact revision of release -SRC_URI = "git://github.com/jbeder/yaml-cpp.git;branch=master;protocol=https" -SRCREV = "28f93bdec6387d42332220afa9558060c8016795" -PV .= "+git" - - -inherit cmake - -EXTRA_OECMAKE = "-DYAML_CPP_BUILD_TESTS=OFF -DYAML_BUILD_SHARED_LIBS=ON -DYAML_CPP_BUILD_TOOLS=OFF" diff --git a/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.9.0.bb b/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.9.0.bb new file mode 100644 index 00000000000..5233c569d29 --- /dev/null +++ b/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.9.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "yaml-cpp parser and emitter library" +DESCRIPTION = "yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec." +HOMEPAGE = "https://github.com/jbeder/yaml-cpp" +SECTION = "devel" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6a8aaf0595c2efc1a9c2e0913e9c1a2c" + +# yaml-cpp releases are stored as archive files in github. +# download the exact revision of release +SRC_URI = "git://github.com/jbeder/yaml-cpp.git;branch=master;protocol=https" +SRCREV = "56e3bb550c91fd7005566f19c079cb7a503223cf" +PV .= "+git" + + +inherit cmake + +EXTRA_OECMAKE = "-DYAML_CPP_BUILD_TESTS=OFF -DYAML_BUILD_SHARED_LIBS=ON -DYAML_CPP_BUILD_TOOLS=OFF" diff --git a/meta-oe/recipes-support/zchunk/zchunk_1.5.2.bb b/meta-oe/recipes-support/zchunk/zchunk_1.5.2.bb deleted file mode 100644 index bbdd06dfda7..00000000000 --- a/meta-oe/recipes-support/zchunk/zchunk_1.5.2.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "A file format designed for highly efficient deltas while maintaining good compression" - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=daf6e68539f564601a5a5869c31e5242" - -SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https;branch=main" - -SRCREV = "222d1a4da3661dd95c2445b96f7e1e208f55d219" - -DEPENDS = "zstd" -DEPENDS:append:libc-musl = " argp-standalone" - -inherit meson pkgconfig lib_package - -PACKAGECONFIG ??= "openssl zckdl" - -# zckdl gets packaged into zchunk-bin -PACKAGECONFIG[zckdl] = "-Dwith-curl=enabled,-Dwith-curl=disabled,curl" -# Use OpenSSL primitives for SHA -PACKAGECONFIG[openssl] = "-Dwith-openssl=enabled,-Dwith-openssl=disabled,openssl" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/zchunk/zchunk_1.5.3.bb b/meta-oe/recipes-support/zchunk/zchunk_1.5.3.bb new file mode 100644 index 00000000000..fc5a55d192a --- /dev/null +++ b/meta-oe/recipes-support/zchunk/zchunk_1.5.3.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "A file format designed for highly efficient deltas while maintaining good compression" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=daf6e68539f564601a5a5869c31e5242" + +SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https;nobranch=1;tag=${PV}" + +SRCREV = "366cf22e725fc273abe0e082c707753cce76c453" + +DEPENDS = "zstd" +DEPENDS:append:libc-musl = " argp-standalone" + +inherit meson pkgconfig lib_package + +PACKAGECONFIG ??= "openssl zckdl" + +# zckdl gets packaged into zchunk-bin +PACKAGECONFIG[zckdl] = "-Dwith-curl=enabled,-Dwith-curl=disabled,curl" +# Use OpenSSL primitives for SHA +PACKAGECONFIG[openssl] = "-Dwith-openssl=enabled,-Dwith-openssl=disabled,openssl" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-test/catch2/catch2_3.12.0.bb b/meta-oe/recipes-test/catch2/catch2_3.12.0.bb deleted file mode 100644 index cd51686c0df..00000000000 --- a/meta-oe/recipes-test/catch2/catch2_3.12.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \ -TDD and BDD - using C++11, C++14, C++17 and later." -HOMEPAGE = "https://github.com/catchorg/Catch2" -LICENSE = "BSL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" - -SRC_URI = "git://github.com/catchorg/Catch2.git;branch=devel;protocol=https;tag=v${PV}" -SRCREV = "88abf9bf325c798c33f54f6b9220ef885b267f4f" - - -inherit cmake python3native - -do_install:append() { - rm ${D}${datadir}/Catch2/lldbinit - rm ${D}${datadir}/Catch2/gdbinit - rmdir ${D}${datadir}/Catch2/ -} - -# Header-only library -RDEPENDS:${PN}-dev = "" -RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-test/catch2/catch2_3.14.0.bb b/meta-oe/recipes-test/catch2/catch2_3.14.0.bb new file mode 100644 index 00000000000..2aba52e7ae8 --- /dev/null +++ b/meta-oe/recipes-test/catch2/catch2_3.14.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \ +TDD and BDD - using C++11, C++14, C++17 and later." +HOMEPAGE = "https://github.com/catchorg/Catch2" +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +SRC_URI = "git://github.com/catchorg/Catch2.git;branch=devel;protocol=https;tag=v${PV}" +SRCREV = "b670de4fe12ac7c5e858b7de3a14fb4bd18c760e" + + +inherit cmake python3native + +do_install:append() { + rm ${D}${datadir}/Catch2/lldbinit + rm ${D}${datadir}/Catch2/gdbinit + rmdir ${D}${datadir}/Catch2/ +} + +# Header-only library +RDEPENDS:${PN}-dev = "" +RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb b/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb deleted file mode 100644 index 09afe366669..00000000000 --- a/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb +++ /dev/null @@ -1,42 +0,0 @@ -DESCRIPTION = "cmocka is an elegant unit testing framework for C with support for mock \ -objects. It only requires the standard C library, works on a range of computing \ -platforms (including embedded) and with different compilers." -HOMEPAGE = "https://cmocka.org/" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRCREV = "a01cc69ee9536f90e57c61a198f2d1944d3d4313" -PV .= "+git" -SRC_URI = "git://git.cryptomilk.org/projects/cmocka.git;protocol=https;branch=stable-1.1 \ - file://0001-include-Check-for-previous-declaration-of-uintptr_t.patch \ - file://run-ptest \ - " - - -inherit cmake ptest - -EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}" -# Use -Wl,wrap linker flag, which does not work with LTO -LTO = "" - -do_install:append () { - install -d ${D}${libdir}/${BPN}/example - install -d ${D}${libdir}/${BPN}/example/mock/chef_wrap - install -d ${D}${libdir}/${BPN}/example/mock/uptime - - install -m 0755 ${B}/example/*_test ${D}/${libdir}/${BPN}/example - install -m 0755 ${B}/example/mock/chef_wrap/waiter_test_wrap ${D}/${libdir}/${BPN}/example/mock/chef_wrap - install -m 0755 ${B}/example/mock/uptime/uptime ${D}/${libdir}/${BPN}/example/mock/uptime - install -m 0755 ${B}/example/mock/uptime/test_uptime ${D}/${libdir}/${BPN}/example/mock/uptime - install -m 0644 ${B}/example/mock/uptime/libproc_uptime.so ${D}/${libdir}/${BPN}/example/mock/libproc_uptime.so -} - -do_install_ptest () { - install -d ${D}${PTEST_PATH}/tests - install -m 0755 ${B}/tests/test_* ${D}${PTEST_PATH}/tests -} - -PACKAGE_BEFORE_PN += "${PN}-examples" - -FILES:${PN}-examples = "${libdir}/${BPN}/example" diff --git a/meta-oe/recipes-test/cmocka/cmocka_2.0.2.bb b/meta-oe/recipes-test/cmocka/cmocka_2.0.2.bb new file mode 100644 index 00000000000..11e8db87d80 --- /dev/null +++ b/meta-oe/recipes-test/cmocka/cmocka_2.0.2.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "cmocka is an elegant unit testing framework for C with support for mock \ +objects. It only requires the standard C library, works on a range of computing \ +platforms (including embedded) and with different compilers." +HOMEPAGE = "https://cmocka.org/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "fefa2b8a023121f7235e18ed17249e4012dd144f" +SRC_URI = "git://git.cryptomilk.org/projects/cmocka.git;protocol=https;branch=stable-2.0;tag=cmocka-${PV} \ + file://run-ptest \ + " + + +inherit cmake ptest + +EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}" +# Use -Wl,wrap linker flag, which does not work with LTO +LTO = "" + +do_install:append () { + install -d ${D}${libdir}/${BPN}/example + install -d ${D}${libdir}/${BPN}/example/mock/chef_wrap + install -d ${D}${libdir}/${BPN}/example/mock/uptime + + install -m 0755 ${B}/example/*_test ${D}/${libdir}/${BPN}/example + install -m 0755 ${B}/example/mock/chef_wrap/waiter_test_wrap ${D}/${libdir}/${BPN}/example/mock/chef_wrap + install -m 0755 ${B}/example/mock/uptime/uptime ${D}/${libdir}/${BPN}/example/mock/uptime + install -m 0755 ${B}/example/mock/uptime/test_uptime ${D}/${libdir}/${BPN}/example/mock/uptime + install -m 0644 ${B}/example/mock/uptime/libproc_uptime.so ${D}/${libdir}/${BPN}/example/mock/libproc_uptime.so +} + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/tests/test_* ${D}${PTEST_PATH}/tests +} + +PACKAGE_BEFORE_PN += "${PN}-examples" + +FILES:${PN}-examples = "${libdir}/${BPN}/example" diff --git a/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch b/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch deleted file mode 100644 index 65d30ea9930..00000000000 --- a/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a54e035f802e79e3292d8ad39a14bd7c060eb7b1 Mon Sep 17 00:00:00 2001 -From: Breno Leitao -Date: Tue, 21 Mar 2023 21:58:28 -0700 -Subject: [PATCH] include: Check for previous declaration of uintptr_t - -Adding a extra check before declaring uintptr_t. Currently musl uses -macro __DEFINED_uintptr_t once it defines uintptr_t type. Checking -this macro before defining it, and, defining it when uintptr_t is -defined. - -Taken from Alpine - -Upstream-Status: Pending -Signed-off-by: Breno Leitao -Signed-off-by: Khem Raj ---- - include/cmocka.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/include/cmocka.h b/include/cmocka.h -index a21d965..f540793 100644 ---- a/include/cmocka.h -+++ b/include/cmocka.h -@@ -121,7 +121,7 @@ typedef uintmax_t LargestIntegralType; - ((LargestIntegralType)(value)) - - /* Smallest integral type capable of holding a pointer. */ --#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(HAVE_UINTPTR_T) -+#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(HAVE_UINTPTR_T) && !defined(__DEFINED_uintptr_t) - # if defined(_WIN32) - /* WIN32 is an ILP32 platform */ - typedef unsigned int uintptr_t; -@@ -147,6 +147,7 @@ typedef uintmax_t LargestIntegralType; - - # define _UINTPTR_T - # define _UINTPTR_T_DEFINED -+# define __DEFINED_uintptr_t - #endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ - - /* Perform an unsigned cast to uintptr_t. */ --- -2.40.0 - diff --git a/meta-oe/recipes-test/libfaketime/libfaketime/0001-Add-const-qualifiers-to-fix-build-with-ISO-C23.patch b/meta-oe/recipes-test/libfaketime/libfaketime/0001-Add-const-qualifiers-to-fix-build-with-ISO-C23.patch new file mode 100644 index 00000000000..1696e7146e8 --- /dev/null +++ b/meta-oe/recipes-test/libfaketime/libfaketime/0001-Add-const-qualifiers-to-fix-build-with-ISO-C23.patch @@ -0,0 +1,34 @@ +From dbe865dfdba0145d993d70b7fd4ec88b2f47554b Mon Sep 17 00:00:00 2001 +From: Tomas Korbar +Date: Mon, 15 Dec 2025 11:03:21 +0100 +Subject: [PATCH] Add const qualifiers to fix build with ISO C23 + +Fix https://github.com/wolfcw/libfaketime/issues/524 + +Upstream-Status: Backport [https://github.com/wolfcw/libfaketime/pull/525] +--- + src/libfaketime.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libfaketime.c b/src/libfaketime.c +index ef1dca9..02839c8 100644 +--- a/src/libfaketime.c ++++ b/src/libfaketime.c +@@ -2666,7 +2666,7 @@ int timespec_get(struct timespec *ts, int base) + static void parse_ft_string(const char *user_faked_time) + { + struct tm user_faked_time_tm; +- char * tmp_time_fmt; ++ const char * tmp_time_fmt; + char * nstime_str; + + if (!strncmp(user_faked_time, user_faked_time_saved, BUFFERLEN)) +@@ -3338,7 +3338,7 @@ static void prepare_config_contents(char *contents) + bool str_array_contains(const char *haystack, const char *needle) + { + size_t needle_len = strlen(needle); +- char *pos = strstr(haystack, needle); ++ const char *pos = strstr(haystack, needle); + while (pos) { + if (pos == haystack || *(pos - 1) == ',') { + char nextc = *(pos + needle_len); diff --git a/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch b/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch deleted file mode 100644 index ff048376523..00000000000 --- a/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 735bb5d053efad274aa4ea5a6682e656ff792909 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 24 Aug 2023 01:49:48 -0700 -Subject: [PATCH] Makefile: Detect compiler in makefile - -Add compiler specific options based on detected compiler gcc/clang - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/Makefile | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/src/Makefile b/src/Makefile -index 62e924c..c15eb33 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -110,7 +110,23 @@ PREFIX ?= /usr/local - LIBDIRNAME ?= /lib/faketime - PLATFORM ?=$(shell uname) - --CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS) -+ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1) -+COMPILER := clang -+else -+COMPILER := gcc -+endif -+export COMPILER -+ -+CFLAGS += -std=gnu99 -Wall -Wextra -Werror -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS) -+ -+ifeq ($(COMPILER),clang) -+CFLAGS += -Wno-tautological-pointer-compare -+endif -+ -+ifeq ($(COMPILER),gcc) -+CFLAGS += -Wno-nonnull-compare -+endif -+ - ifeq ($(PLATFORM),SunOS) - CFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 - endif --- -2.42.0 - diff --git a/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb b/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb deleted file mode 100644 index 3588e968473..00000000000 --- a/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "A library for faking the system time in user-space programs" -SECTION = "libs" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRCREV = "d475b925943ad404c6c728ac868dc73949e7281c" - -SRC_URI = "git://github.com/wolfcw/libfaketime.git;branch=master;protocol=https \ - file://0001-Makefile-Detect-compiler-in-makefile.patch \ - " - - -CFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE" - -do_configure[noexec] = "1" -do_compile () { - oe_runmake -} -do_install () { - install -d ${D}${libdir}/faketime - oe_libinstall -C src libfaketime ${D}${libdir}/faketime - install -d ${D}${bindir} - install -m 0755 src/faketime ${D}${bindir} -} - -FILES:${PN} = "${bindir}/faketime ${libdir}/faketime/lib*${SOLIBS}" -FILES:${PN}-dev += "${libdir}/faketime/lib*${SOLIBSDEV}" diff --git a/meta-oe/recipes-test/libfaketime/libfaketime_0.9.12.bb b/meta-oe/recipes-test/libfaketime/libfaketime_0.9.12.bb new file mode 100644 index 00000000000..ea922309c3c --- /dev/null +++ b/meta-oe/recipes-test/libfaketime/libfaketime_0.9.12.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "A library for faking the system time in user-space programs" +SECTION = "libs" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRCREV = "3ccdd344aadf1e317156fa5fb7c881f2c4404778" + +SRC_URI = "git://github.com/wolfcw/libfaketime.git;branch=master;tag=v${PV};protocol=https \ + file://0001-Add-const-qualifiers-to-fix-build-with-ISO-C23.patch \ +" + +CFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE" + +do_configure[noexec] = "1" + +do_compile () { + oe_runmake +} + +do_install () { + install -d ${D}${libdir}/faketime + oe_libinstall -C src libfaketime ${D}${libdir}/faketime + install -d ${D}${bindir} + install -m 0755 src/faketime ${D}${bindir} +} + +FILES:${PN} = "${bindir}/faketime ${libdir}/faketime/lib*${SOLIBS}" +FILES:${PN}-dev += "${libdir}/faketime/lib*${SOLIBSDEV}" diff --git a/meta-oe/recipes-test/syzkaller/syzkaller-licenses.inc b/meta-oe/recipes-test/syzkaller/syzkaller-licenses.inc index af118a4dd45..65306a17d0c 100644 --- a/meta-oe/recipes-test/syzkaller/syzkaller-licenses.inc +++ b/meta-oe/recipes-test/syzkaller/syzkaller-licenses.inc @@ -79,5 +79,5 @@ LIC_FILES_CHKSUM_HOST = "\ file://pkg/mod/google.golang.org/appengine/v2@v2.0.6/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ " -LIC_FILES_CHKSUM:class-native += "${LIC_FILES_CHKSUM_HOST}" -LIC_FILES_CHKSUM:class-nativesdk += "${LIC_FILES_CHKSUM_HOST}" +LIC_FILES_CHKSUM:append:class-native = " ${LIC_FILES_CHKSUM_HOST}" +LIC_FILES_CHKSUM:append:class-nativesdk = " ${LIC_FILES_CHKSUM_HOST}" diff --git a/meta-oe/recipes-test/syzkaller/syzkaller_git.bb b/meta-oe/recipes-test/syzkaller/syzkaller_git.bb index e35a8a77beb..bdd4cf6a407 100644 --- a/meta-oe/recipes-test/syzkaller/syzkaller_git.bb +++ b/meta-oe/recipes-test/syzkaller/syzkaller_git.bb @@ -6,8 +6,6 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=5335066555b14d832335aa4660d6c376" require ${BPN}-licenses.inc -DEPENDS:class-native += "qemu-system-native" - SRC_URI = "git://${GO_IMPORT};protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX};branch=master" SRCREV = "22ec1469fe8c0ba256de07e8f97fa7b375b522bd" require ${BPN}-go-mods.inc @@ -39,8 +37,6 @@ GOBUILDFLAGS:remove = "-buildmode=pie" LDFLAGS:append:class-target = "${@bb.utils.contains_any("TC_CXX_RUNTIME", "llvm android", " -lc++", " -lstdc++", d)}" -DEPENDS:class-native += "qemu-system-native" - compile_native() { export HOSTOS="${GOHOSTOS}" export HOSTARCH="${GOHOSTARCH}" diff --git a/meta-perl/README.md b/meta-perl/README.md index 13014b0ff31..9d56dbe8c6a 100644 --- a/meta-perl/README.md +++ b/meta-perl/README.md @@ -75,7 +75,7 @@ Maintenance Send patches / pull requests to openembedded-devel@lists.openembedded.org with '[meta-perl]' in the subject. -When sending single patches, please using something like: +When sending single patches, please use something like: git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-perl][PATCH' Layer maintainers: diff --git a/meta-perl/conf/layer.conf b/meta-perl/conf/layer.conf index 7ae1a39fcd8..41ff0fefc26 100644 --- a/meta-perl/conf/layer.conf +++ b/meta-perl/conf/layer.conf @@ -15,7 +15,7 @@ LAYERVERSION_perl-layer = "1" LAYERDEPENDS_perl-layer = "core openembedded-layer" -LAYERSERIES_COMPAT_perl-layer = "walnascar whinlatter" +LAYERSERIES_COMPAT_perl-layer = "whinlatter wrynose" # List of known non-reproducible package of the meta-perl layer # Please keep this list sorted diff --git a/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.1800.bb b/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.1800.bb deleted file mode 100644 index 46a8506f106..00000000000 --- a/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.1800.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "SASL Authentication framework for Perl" -DESCRIPTION = "SASL is a generic mechanism for authentication used by several network \ -protocols. Authen::SASL provides an implementation framework that all \ -protocols should be able to share." -HOMEPAGE = "https://metacpan.org/dist/Authen-SASL/" -SECTION = "libs" - -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" -LIC_FILES_CHKSUM = "file://lib/Authen/SASL/Perl.pm;beginline=1;endline=3;md5=17123315bbcda19f484c07227594a609" - -DEPENDS = "perl" -RDEPENDS:${PN} = "libdigest-hmac-perl" - -SRC_URI = "${CPAN_MIRROR}/authors/id/E/EH/EHUELS/Authen-SASL-${PV}.tar.gz \ - file://run-ptest \ - " -SRC_URI[sha256sum] = "0b03686bddbbf7d5c6548e468d079a4051c9b73851df740ae28cfd2db234e922" - -S = "${UNPACKDIR}/Authen-SASL-${PV}" - -inherit cpan ptest - -export PERL_USE_UNSAFE_INC = "1" - -do_install_ptest () { - cp -r ${B}/t ${D}${PTEST_PATH} -} - -RDEPENDS:${PN}-ptest += "perl-module-test-more \ - perl-module-findbin \ - perl-module-test2-api-breakage \ - perl-module-tie-handle" - -BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.2000.bb b/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.2000.bb new file mode 100644 index 00000000000..5b8699e88bf --- /dev/null +++ b/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.2000.bb @@ -0,0 +1,34 @@ +SUMMARY = "SASL Authentication framework for Perl" +DESCRIPTION = "SASL is a generic mechanism for authentication used by several network \ +protocols. Authen::SASL provides an implementation framework that all \ +protocols should be able to share." +HOMEPAGE = "https://metacpan.org/dist/Authen-SASL/" +SECTION = "libs" + +LICENSE = "Artistic-1.0 | GPL-1.0-or-later" +LIC_FILES_CHKSUM = "file://lib/Authen/SASL/Perl.pm;beginline=1;endline=3;md5=17123315bbcda19f484c07227594a609" + +DEPENDS = "perl" +RDEPENDS:${PN} = "libdigest-hmac-perl" + +SRC_URI = "${CPAN_MIRROR}/authors/id/E/EH/EHUELS/Authen-SASL-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[sha256sum] = "8cdf5a7f185448b614471675dae5b26f8c6e330b62264c3ff5d91172d6889b99" + +S = "${UNPACKDIR}/Authen-SASL-${PV}" + +inherit cpan ptest + +export PERL_USE_UNSAFE_INC = "1" + +do_install_ptest () { + cp -r ${B}/t ${D}${PTEST_PATH} +} + +RDEPENDS:${PN}-ptest += "perl-module-test-more \ + perl-module-findbin \ + perl-module-test2-api-breakage \ + perl-module-tie-handle" + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.217.bb b/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.217.bb deleted file mode 100644 index ae2cdb7f594..00000000000 --- a/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.217.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Low-Level Interface to bzip2 compression library" -DESCRIPTION = ""Compress::Raw::Bzip2" provides an interface to the in-memory \ -compression/uncompression functions from the bzip2 compression library." -HOMEPAGE = "https://metacpan.org/release/Compress-Raw-Bzip2" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" - -LIC_FILES_CHKSUM = "file://README;beginline=8;endline=10;md5=7b6eb3b7380815648e5067943ed15621" - -SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-${PV}.tar.gz" - -SRC_URI[sha256sum] = "aa80f52473b8ca3368e8f83496fac1b2a25d27723506b94c4ea6c861fce961f8" - -DEPENDS += "bzip2" - -S = "${UNPACKDIR}/Compress-Raw-Bzip2-${PV}" - -inherit cpan - -export BUILD_BZIP2 = "0" -export BZIP2_INCLUDE = "-I${STAGING_DIR_HOST}${includedir}" - -do_compile() { - export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" - cpan_do_compile -} - -BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.218.bb b/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.218.bb new file mode 100644 index 00000000000..9b2a5a689be --- /dev/null +++ b/meta-perl/recipes-perl/libcompress/libcompress-raw-bzip2-perl_2.218.bb @@ -0,0 +1,28 @@ +SUMMARY = "Low-Level Interface to bzip2 compression library" +DESCRIPTION = ""Compress::Raw::Bzip2" provides an interface to the in-memory \ +compression/uncompression functions from the bzip2 compression library." +HOMEPAGE = "https://metacpan.org/release/Compress-Raw-Bzip2" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0-or-later" + +LIC_FILES_CHKSUM = "file://README;beginline=8;endline=10;md5=7b6eb3b7380815648e5067943ed15621" + +SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-${PV}.tar.gz" + +SRC_URI[sha256sum] = "89153e6a2ebda52349493b074fa4b7549ff1f9053de7613c18a5e05c5b415fa8" + +DEPENDS += "bzip2" + +S = "${UNPACKDIR}/Compress-Raw-Bzip2-${PV}" + +inherit cpan + +export BUILD_BZIP2 = "0" +export BZIP2_INCLUDE = "-I${STAGING_DIR_HOST}${includedir}" + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.217.bb b/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.217.bb deleted file mode 100644 index 851a8bd1707..00000000000 --- a/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.217.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Low-Level Interface to lzma compresion library." -DESCRIPTION = "This module provides a Perl interface to allow reading and \ -wrting of lzma, lzip and xz files/buffers." -HOMEPAGE = "https://metacpan.org/release/Compress-Raw-Lzma" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" - -LIC_FILES_CHKSUM = "file://README;beginline=8;endline=10;md5=dcf5ec9168367166aaeabb92ee5754e1" - -SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Lzma-${PV}.tar.gz" - -SRC_URI[sha256sum] = "e22addebc155b1be0de8a85ab74cafeed96107d6362fccdcc53bdf0526c085a2" - -DEPENDS += "xz" - -S = "${UNPACKDIR}/Compress-Raw-Lzma-${PV}" - -inherit cpan - -RDEPENDS:${PN} += "\ - perl-module-universal \ -" - -export LIBLZMA_INCLUDE = "-I${STAGING_DIR_HOST}${includedir}" -export LIBLZMA_LIB = "-I${STAGING_DIR_HOST}${libdir}" - -do_compile() { - export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" - cpan_do_compile -} - -BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.221.bb b/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.221.bb new file mode 100644 index 00000000000..c7728859316 --- /dev/null +++ b/meta-perl/recipes-perl/libcompress/libcompress-raw-lzma-perl_2.221.bb @@ -0,0 +1,32 @@ +SUMMARY = "Low-Level Interface to lzma compresion library." +DESCRIPTION = "This module provides a Perl interface to allow reading and \ +wrting of lzma, lzip and xz files/buffers." +HOMEPAGE = "https://metacpan.org/release/Compress-Raw-Lzma" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0-or-later" + +LIC_FILES_CHKSUM = "file://README;beginline=8;endline=10;md5=dcf5ec9168367166aaeabb92ee5754e1" + +SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Lzma-${PV}.tar.gz" + +SRC_URI[sha256sum] = "e8b2d17c7f29b3e4f286cc3d3f5353df8e811615c42298eedad7cdbfec4aed7f" + +DEPENDS += "xz" + +S = "${UNPACKDIR}/Compress-Raw-Lzma-${PV}" + +inherit cpan + +RDEPENDS:${PN} += "\ + perl-module-universal \ +" + +export LIBLZMA_INCLUDE = "-I${STAGING_DIR_HOST}${includedir}" +export LIBLZMA_LIB = "-I${STAGING_DIR_HOST}${libdir}" + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.217.bb b/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.217.bb deleted file mode 100644 index a95fbed30dd..00000000000 --- a/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.217.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Perl interface to the zlib compression library." -DESCRIPTION = "The Compress::Raw::Zlib module provides a Perl interface \ -to the zlib compression library (see 'AUTHOR' for details about where to \ -get zlib)." -HOMEPAGE = "https://metacpan.org/release/Compress-Raw-Zlib" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" - -LIC_FILES_CHKSUM = "file://README;beginline=8;endline=17;md5=000093d18bfdd0ac3594d80b6e055cec" - -SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Zlib-${PV}.tar.gz" - -SRC_URI[sha256sum] = "48309aa25f126365a3c14f49b4e90da56d29d3c00506c7e7c3b724f6df0684c8" - -DEPENDS += "zlib" - -S = "${UNPACKDIR}/Compress-Raw-Zlib-${PV}" - -inherit cpan - -export BUILD_ZLIB = "0" - -do_compile() { - export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" - cpan_do_compile -} - -BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.222.bb b/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.222.bb new file mode 100644 index 00000000000..7b5dbd5475f --- /dev/null +++ b/meta-perl/recipes-perl/libcompress/libcompress-raw-zlib-perl_2.222.bb @@ -0,0 +1,28 @@ +SUMMARY = "Perl interface to the zlib compression library." +DESCRIPTION = "The Compress::Raw::Zlib module provides a Perl interface \ +to the zlib compression library (see 'AUTHOR' for details about where to \ +get zlib)." +HOMEPAGE = "https://metacpan.org/release/Compress-Raw-Zlib" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0-or-later" + +LIC_FILES_CHKSUM = "file://README;beginline=8;endline=17;md5=ef65cee670356670f1663558bb46f16e" + +SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/Compress-Raw-Zlib-${PV}.tar.gz" + +SRC_URI[sha256sum] = "1dfd7d511a655627c81815d30d3babc28fa5b88455ff03f8b04099dcb51286b8" + +DEPENDS += "zlib" + +S = "${UNPACKDIR}/Compress-Raw-Zlib-${PV}" + +inherit cpan + +export BUILD_ZLIB = "0" + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libcurses/libcurses-perl_1.45.bb b/meta-perl/recipes-perl/libcurses/libcurses-perl_1.45.bb deleted file mode 100644 index e6fc3c83007..00000000000 --- a/meta-perl/recipes-perl/libcurses/libcurses-perl_1.45.bb +++ /dev/null @@ -1,32 +0,0 @@ -DESCRIPTION = "lib-curses provides an interface between Perl programs and \ -the curses library." - -SECTION = "libs" -HOMEPAGE = "https://metacpan.org/pod/Curses" -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" - -LIC_FILES_CHKSUM = "file://README;beginline=26;endline=30;md5=0b37356c5e9e28080a3422d82af8af09" - -DEPENDS += "perl ncurses " - -SRC_URI = "${CPAN_MIRROR}/authors/id/G/GI/GIRAFFED/Curses-${PV}.tar.gz \ - file://0001-testtyp.c-Use-proper-prototype-for-main-function.patch \ - " - -SRC_URI[sha256sum] = "84221e0013a2d64a0bae6a32bb44b1ae5734d2cb0465fb89af3e3abd6e05aeb2" - -S = "${UNPACKDIR}/Curses-${PV}" - -EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR} LIBS=-L${STAGING_LIBDIR} TEST_SYMS_OPTS=-v" - -# enable NCURSES_WIDECHAR=1 only if ENABLE_WIDEC has not been explicitly disabled (e.g. by the distro config). -# When compiling against the ncurses library, NCURSES_WIDECHAR needs to explicitly set to 0 in this case. -CFLAGS:append:libc-musl = "${@' -DNCURSES_WIDECHAR=1' if bb.utils.to_boolean((d.getVar('ENABLE_WIDEC') or 'True')) else ' -DNCURSES_WIDECHAR=0'} -DNCURSES_INTERNALS" - -inherit cpan - -do_compile() { - export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" - cpan_do_compile -} - diff --git a/meta-perl/recipes-perl/libcurses/libcurses-perl_1.46.bb b/meta-perl/recipes-perl/libcurses/libcurses-perl_1.46.bb new file mode 100644 index 00000000000..18f62cefb28 --- /dev/null +++ b/meta-perl/recipes-perl/libcurses/libcurses-perl_1.46.bb @@ -0,0 +1,32 @@ +DESCRIPTION = "lib-curses provides an interface between Perl programs and \ +the curses library." + +SECTION = "libs" +HOMEPAGE = "https://metacpan.org/pod/Curses" +LICENSE = "Artistic-1.0 | GPL-1.0-or-later" + +LIC_FILES_CHKSUM = "file://README;beginline=26;endline=30;md5=0b37356c5e9e28080a3422d82af8af09" + +DEPENDS += "perl ncurses " + +SRC_URI = "${CPAN_MIRROR}/authors/id/G/GI/GIRAFFED/Curses-${PV}.tar.gz \ + file://0001-testtyp.c-Use-proper-prototype-for-main-function.patch \ + " + +SRC_URI[sha256sum] = "9631d6e3e2859c85913d8b8724f61fbebb9e932e9e50aa0493a4e0276660a3f9" + +S = "${UNPACKDIR}/Curses-${PV}" + +EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR} LIBS=-L${STAGING_LIBDIR} TEST_SYMS_OPTS=-v" + +# enable NCURSES_WIDECHAR=1 only if ENABLE_WIDEC has not been explicitly disabled (e.g. by the distro config). +# When compiling against the ncurses library, NCURSES_WIDECHAR needs to explicitly set to 0 in this case. +CFLAGS:append:libc-musl = "${@' -DNCURSES_WIDECHAR=1' if bb.utils.to_boolean((d.getVar('ENABLE_WIDEC') or 'True')) else ' -DNCURSES_WIDECHAR=0'} -DNCURSES_INTERNALS" + +inherit cpan + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} + diff --git a/meta-perl/recipes-perl/libio/libio-compress-perl_2.217.bb b/meta-perl/recipes-perl/libio/libio-compress-perl_2.217.bb deleted file mode 100644 index 3b9784d1dd3..00000000000 --- a/meta-perl/recipes-perl/libio/libio-compress-perl_2.217.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Perl interface to allow reading and writing of compressed data." -DESCRIPTION = "This distribution provides a Perl interface to allow reading \ -and writing of compressed data created with the zlib and bzip2. \ -\ -IO-Compress supports reading and writing of the following compressed data \ -formats \ - * bzip2 \ - * RFC 1950 \ - * RFC 1951 \ - * RFC 1952 (i.e. gzip) \ - * zip \ -" -HOMEPAGE = "https://metacpan.org/release/IO-Compress" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0-or-later" - -LIC_FILES_CHKSUM = "file://README;beginline=8;endline=10;md5=a05fdd79b87a410b6178b73126ffafdd" - -SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/IO-Compress-${PV}.tar.gz" - -SRC_URI[sha256sum] = "4d075e04eeef3c451f5e7f572ebd695738bad033e8cd32cf519c68edb3f39dc7" - -S = "${UNPACKDIR}/IO-Compress-${PV}" - -inherit cpan - -RDEPENDS:${PN} += "\ - perl-module-bytes \ - perl-module-cwd \ - perl-module-encode \ - perl-module-file-glob \ - perl-module-file-spec \ - perl-module-posix \ - perl-module-scalar-util \ - perl-module-time-local \ - perl-module-utf8 \ - libcompress-raw-bzip2-perl \ - libcompress-raw-zlib-perl \ -" - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "39" - -ALTERNATIVE:${PN} = "streamzip zipdetails" -ALTERNATIVE_LINK_NAME[streamzip] = "${bindir}/streamzip" -ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails" - -BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libio/libio-compress-perl_2.219.bb b/meta-perl/recipes-perl/libio/libio-compress-perl_2.219.bb new file mode 100644 index 00000000000..ef05e694602 --- /dev/null +++ b/meta-perl/recipes-perl/libio/libio-compress-perl_2.219.bb @@ -0,0 +1,49 @@ +SUMMARY = "Perl interface to allow reading and writing of compressed data." +DESCRIPTION = "This distribution provides a Perl interface to allow reading \ +and writing of compressed data created with the zlib and bzip2. \ +\ +IO-Compress supports reading and writing of the following compressed data \ +formats \ + * bzip2 \ + * RFC 1950 \ + * RFC 1951 \ + * RFC 1952 (i.e. gzip) \ + * zip \ +" +HOMEPAGE = "https://metacpan.org/release/IO-Compress" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0-or-later" + +LIC_FILES_CHKSUM = "file://README;beginline=8;endline=10;md5=a05fdd79b87a410b6178b73126ffafdd" + +SRC_URI = "${CPAN_MIRROR}/authors/id/P/PM/PMQS/IO-Compress-${PV}.tar.gz" + +SRC_URI[sha256sum] = "d3f509c4ec2f75d3ea6621b96aef61329a23711c11efb2222c837db1370433e9" + +S = "${UNPACKDIR}/IO-Compress-${PV}" + +inherit cpan + +RDEPENDS:${PN} += "\ + perl-module-bytes \ + perl-module-cwd \ + perl-module-encode \ + perl-module-file-glob \ + perl-module-file-spec \ + perl-module-posix \ + perl-module-scalar-util \ + perl-module-time-local \ + perl-module-utf8 \ + libcompress-raw-bzip2-perl \ + libcompress-raw-zlib-perl \ +" + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "39" + +ALTERNATIVE:${PN} = "streamzip zipdetails" +ALTERNATIVE_LINK_NAME[streamzip] = "${bindir}/streamzip" +ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails" + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-test-32_x509_get_cert_info-allow-single-colon.patch b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-test-32_x509_get_cert_info-allow-single-colon.patch deleted file mode 100644 index 805a16d6c9c..00000000000 --- a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-test-32_x509_get_cert_info-allow-single-colon.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4068d585875d3ba99da2cbe41f60d0dd4f4290d1 Mon Sep 17 00:00:00 2001 -From: Sebastian Andrzej Siewior -Date: Wed, 16 Oct 2024 21:48:51 +0200 -Subject: [PATCH] test: 32_x509_get_cert_info allow single colon. - -Starting with 3.4.0 the double colon in emailAddress has been removed. -Adapt the test to allow a single colon in 3.4.0 and later. - -Upstream-Status: Backport [https://github.com/radiator-software/p5-net-ssleay/commit/4068d585875d3ba99da2cbe41f60d0dd4f4290d1] -Signed-off-by: Sebastian Andrzej Siewior ---- - t/local/32_x509_get_cert_info.t | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/t/local/32_x509_get_cert_info.t b/t/local/32_x509_get_cert_info.t -index 0f7e2d5a..0fd1b689 100644 ---- a/t/local/32_x509_get_cert_info.t -+++ b/t/local/32_x509_get_cert_info.t -@@ -188,6 +188,10 @@ for my $f (keys (%$dump)) { - ) { - $ext_data =~ s{(othername:) [^, ]+}{$1}g; - } -+ # Starting with 3.4.0 the double colon in emailAddress has been removed. -+ if (Net::SSLeay::SSLeay >= 0x30400000) { -+ $ext_data =~ s{emailAddress::}{emailAddress:}; -+ } - } - elsif ( $nid == 89 ) { - # The output formatting for certificate policies has a diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-tests-Address-another-formatting-difference-in-OpenSSL-3.4.1.patch b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-tests-Address-another-formatting-difference-in-OpenSSL-3.4.1.patch deleted file mode 100644 index 17310908c13..00000000000 --- a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl/0001-tests-Address-another-formatting-difference-in-OpenSSL-3.4.1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From eac7ac502b02f44a84a67920e9f634cce71ff335 Mon Sep 17 00:00:00 2001 -From: Sebastian Andrzej Siewior -Date: Tue, 18 Feb 2025 18:57:15 +0100 -Subject: [PATCH] tests: Address another formatting difference in OpenSSL 3.4.1 - -Since OpenSSL 3.4.1, commit 8a28bca8ee08 ("x509: add a newline after -printing Full Name") to be exact, there is another new line change. - -Adapt the testsuite. - -Fixes: #513 - -Upstream-Status: Backport [https://github.com/radiator-software/p5-net-ssleay/commit/eac7ac502b02f44a84a67920e9f634cce71ff335] -Signed-off-by: Sebastian Andrzej Siewior ---- - t/local/32_x509_get_cert_info.t | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/t/local/32_x509_get_cert_info.t b/t/local/32_x509_get_cert_info.t -index 0fd1b68..08316bf 100644 ---- a/t/local/32_x509_get_cert_info.t -+++ b/t/local/32_x509_get_cert_info.t -@@ -218,6 +218,9 @@ for my $f (keys (%$dump)) { - # OpenSSL 1.0.0 to 1.1.1: - $ext_data =~ s{(Full Name:\n )}{\n$1}g; - $ext_data .= "\n"; -+ } elsif ( Net::SSLeay::SSLeay > 0x3040000f ) { -+ $ext_data =~ s{(\nFull Name:)}{\n$1}g; -+ $ext_data .= "\n"; - } - } - elsif ( $nid == 126 ) { diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.94.bb b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.94.bb deleted file mode 100644 index 532744456df..00000000000 --- a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.94.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Net::SSLeay - Perl extension for using OpenSSL" -DESCRIPTION = "This module offers some high level convenience functions for accessing \ -web pages on SSL servers (for symmetry, same API is offered for \ -accessing http servers, too), a sslcat() function for writing your own \ -clients, and finally access to the SSL api of SSLeay/OpenSSL package \ -so you can write servers or clients for more complicated applications." -HOMEPAGE = "https://metacpan.org/dist/Net-SSLeay" -SECTION = "libs" - -LICENSE = "Artistic-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c49f0a6dd21ce7d8988794dea20b650e" - -DEPENDS = "openssl zlib openssl-native" -RDEPENDS:${PN} += "\ - libssl \ - libcrypto \ - perl-module-carp \ - perl-module-errno \ - perl-module-extutils-makemaker \ - perl-module-mime-base64 \ - perl-module-socket \ - perl-module-autoloader \ - zlib \ -" - -SRC_URI = "${CPAN_MIRROR}/authors/id/C/CH/CHRISN/Net-SSLeay-${PV}.tar.gz \ - file://0001-tests-Address-another-formatting-difference-in-OpenSSL-3.4.1.patch \ - file://0001-test-32_x509_get_cert_info-allow-single-colon.patch \ - file://run-ptest" -SRC_URI[sha256sum] = "9d7be8a56d1bedda05c425306cc504ba134307e0c09bda4a788c98744ebcd95d" - -S = "${UNPACKDIR}/Net-SSLeay-${PV}" - -inherit cpan ptest-perl - -do_configure() { - export OPENSSL_PREFIX="${STAGING_EXECPREFIXDIR}" - cpan_do_configure -} - -do_install_ptest_perl:append(){ - cp -r ${S}/inc ${D}${PTEST_PATH} -} - -FILES:${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/" - -RDEPENDS:${PN}-ptest += "\ - perl-module-english \ - perl-module-file-spec-functions \ - perl-module-findbin \ - perl-module-perlio \ - perl-module-test-more \ - perl-module-threads" diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.96.bb b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.96.bb new file mode 100644 index 00000000000..d2c3bee645f --- /dev/null +++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.96.bb @@ -0,0 +1,51 @@ +SUMMARY = "Net::SSLeay - Perl extension for using OpenSSL" +DESCRIPTION = "This module offers some high level convenience functions for accessing \ +web pages on SSL servers (for symmetry, same API is offered for \ +accessing http servers, too), a sslcat() function for writing your own \ +clients, and finally access to the SSL api of SSLeay/OpenSSL package \ +so you can write servers or clients for more complicated applications." +HOMEPAGE = "https://metacpan.org/dist/Net-SSLeay" +SECTION = "libs" + +LICENSE = "Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c49f0a6dd21ce7d8988794dea20b650e" + +DEPENDS = "openssl zlib openssl-native" +RDEPENDS:${PN} += "\ + libssl \ + libcrypto \ + perl-module-carp \ + perl-module-errno \ + perl-module-extutils-makemaker \ + perl-module-mime-base64 \ + perl-module-socket \ + perl-module-autoloader \ + zlib \ +" + +SRC_URI = "${CPAN_MIRROR}/authors/id/C/CH/CHRISN/Net-SSLeay-${PV}.tar.gz \ + file://run-ptest" +SRC_URI[sha256sum] = "ab213691685fb2a576c669cbc8d9266f8165a31563ad15b7c4030b94adfc0753" + +S = "${UNPACKDIR}/Net-SSLeay-${PV}" + +inherit cpan ptest-perl + +do_configure() { + export OPENSSL_PREFIX="${STAGING_EXECPREFIXDIR}" + cpan_do_configure +} + +do_install_ptest_perl:append(){ + cp -r ${S}/inc ${D}${PTEST_PATH} +} + +FILES:${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/" + +RDEPENDS:${PN}-ptest += "\ + perl-module-english \ + perl-module-file-spec-functions \ + perl-module-findbin \ + perl-module-perlio \ + perl-module-test-more \ + perl-module-threads" diff --git a/meta-python/conf/layer.conf b/meta-python/conf/layer.conf index 202c66561f3..ea51fa93ad0 100644 --- a/meta-python/conf/layer.conf +++ b/meta-python/conf/layer.conf @@ -14,7 +14,7 @@ LAYERVERSION_meta-python = "1" LAYERDEPENDS_meta-python = "core (>= 12) openembedded-layer" -LAYERSERIES_COMPAT_meta-python = "walnascar whinlatter" +LAYERSERIES_COMPAT_meta-python = "whinlatter wrynose" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb index 2ff88e6264d..65f23cfe9e5 100644 --- a/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb +++ b/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb @@ -300,7 +300,7 @@ RDEPENDS:packagegroup-meta-python3 = "\ python3-py-ubjson \ python3-pyalsaaudio \ python3-pyasn1-modules \ - python3-pyatspi \ + ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data ${GTK2DISTROFEATURES}", "python3-pyatspi", "", d)} \ python3-pyaudio \ python3-pybind11 \ python3-pybind11-json \ diff --git a/meta-python/recipes-devtools/python/files/0001-remove-pkg_resources-import.patch b/meta-python/recipes-devtools/python/files/0001-remove-pkg_resources-import.patch new file mode 100644 index 00000000000..6278d58fc14 --- /dev/null +++ b/meta-python/recipes-devtools/python/files/0001-remove-pkg_resources-import.patch @@ -0,0 +1,32 @@ +From d9152f0dc31b655654edcee6859b3e3a06ef4c98 Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Sun, 15 Mar 2026 21:16:54 +0100 +Subject: [PATCH] remove pkg_resources import + +setutools 82 dropped pkf_resources module. Also, beside importing +it, it isn't used for anything. + +Upstream has started to rework their setup config, and moved to +build_meta, however that's still in development, and there seem to +be no stable version yet. + +Once there is a new version, most likely this patch can be dropped. + +Upstream-Status: Inappropriate [see above] +Signed-off-by: Gyorgy Sarvari +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index b655222..c2aff91 100644 +--- a/setup.py ++++ b/setup.py +@@ -8,7 +8,6 @@ XStatic - setup.py + import os + + from setuptools import setup, find_packages +-import pkg_resources + + # The README.txt file should be written in reST so that PyPI can use + # it to generate your project's PyPI page. diff --git a/meta-python/recipes-devtools/python/python3-aenum_3.1.16.bb b/meta-python/recipes-devtools/python/python3-aenum_3.1.16.bb deleted file mode 100644 index feeee18e34a..00000000000 --- a/meta-python/recipes-devtools/python/python3-aenum_3.1.16.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Advanced Enumerations library" -HOMEPAGE = "https://pypi.org/project/aenum/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://aenum/LICENSE;md5=c6a85477543f8b8591b9c1f82abebbe9" - -SRC_URI[sha256sum] = "bfaf9589bdb418ee3a986d85750c7318d9d2839c1b1a1d6fe8fc53ec201cf140" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "\ - python3-pprint \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-aenum_3.1.17.bb b/meta-python/recipes-devtools/python/python3-aenum_3.1.17.bb new file mode 100644 index 00000000000..b6c292c268b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-aenum_3.1.17.bb @@ -0,0 +1,14 @@ +SUMMARY = "Advanced Enumerations library" +HOMEPAGE = "https://pypi.org/project/aenum/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://aenum/LICENSE;md5=c6a85477543f8b8591b9c1f82abebbe9" + +SRC_URI[sha256sum] = "a969a4516b194895de72c875ece355f17c0d272146f7fda346ef74f93cf4d5ba" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + python3-pprint \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-aiofiles_24.1.0.bb b/meta-python/recipes-devtools/python/python3-aiofiles_24.1.0.bb deleted file mode 100644 index 1e9ebdf97d2..00000000000 --- a/meta-python/recipes-devtools/python/python3-aiofiles_24.1.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "File support for asyncio" -DESCRIPTION = "Asynchronous local file IO library for asyncio and Python" -HOMEPAGE = "https://github.com/aio-libs/aiohttp" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" - -SRC_URI[sha256sum] = "22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c" - -PYPI_PACKAGE = "aiofiles" - -inherit pypi python_hatchling - -RDEPENDS:${PN} = "\ - python3-asyncio \ -" diff --git a/meta-python/recipes-devtools/python/python3-aiofiles_25.1.0.bb b/meta-python/recipes-devtools/python/python3-aiofiles_25.1.0.bb new file mode 100644 index 00000000000..26cc9e81f32 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-aiofiles_25.1.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "File support for asyncio" +DESCRIPTION = "Asynchronous local file IO library for asyncio and Python" +HOMEPAGE = "https://github.com/aio-libs/aiohttp" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" + +SRC_URI[sha256sum] = "a8d728f0a29de45dc521f18f07297428d56992a742f0cd2701ba86e44d23d5b2" + +PYPI_PACKAGE = "aiofiles" + +inherit pypi python_hatchling + +DEPENDS += "\ + python3-hatch-vcs-native \ +" + +RDEPENDS:${PN} = "\ + python3-asyncio \ +" diff --git a/meta-python/recipes-devtools/python/python3-aiohttp_3.13.3.bb b/meta-python/recipes-devtools/python/python3-aiohttp_3.13.3.bb deleted file mode 100644 index 00758a7546f..00000000000 --- a/meta-python/recipes-devtools/python/python3-aiohttp_3.13.3.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Async http client/server framework" -DESCRIPTION = "Asynchronous HTTP client/server framework for asyncio and Python" -HOMEPAGE = "https://github.com/aio-libs/aiohttp" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41" - -SRC_URI[sha256sum] = "a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88" - -CVE_PRODUCT = "aiohttp" - -inherit python_setuptools_build_meta pypi - -DEPENDS = "python3-pkgconfig-native" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[extras] = ",,,python3-aiodns python3-brotli" - -RDEPENDS:${PN} = "\ - python3-aiohappyeyeballs \ - python3-aiosignal \ - python3-async-timeout \ - python3-attrs \ - python3-frozenlist \ - python3-misc \ - python3-multidict \ - python3-propcache \ - python3-yarl \ -" - -CFLAGS:append:toolchain-gcc:arm = " -flax-vector-conversions" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-aiohttp_3.13.5.bb b/meta-python/recipes-devtools/python/python3-aiohttp_3.13.5.bb new file mode 100644 index 00000000000..f3a0fbf5571 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-aiohttp_3.13.5.bb @@ -0,0 +1,37 @@ +SUMMARY = "Async http client/server framework" +DESCRIPTION = "Asynchronous HTTP client/server framework for asyncio and Python" +HOMEPAGE = "https://github.com/aio-libs/aiohttp" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41" + +SRC_URI[sha256sum] = "9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" + +CVE_PRODUCT = "aiohttp" +CVE_STATUS_GROUPS = "CVE_AIOHTTP_FIX_3_13_4" +CVE_AIOHTTP_FIX_3_13_4[status] = "fixed-version: fixed in 3.13.4" +CVE_AIOHTTP_FIX_3_13_4 = "CVE-2026-22815 CVE-2026-34513 CVE-2026-34514 \ +CVE-2026-34515 CVE-2026-34516 CVE-2026-34517 CVE-2026-34518 CVE-2026-34519 \ +CVE-2026-34520 CVE-2026-34525" + +inherit python_setuptools_build_meta pypi + +DEPENDS = "python3-pkgconfig-native" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[extras] = ",,,python3-aiodns python3-brotli" + +RDEPENDS:${PN} = "\ + python3-aiohappyeyeballs \ + python3-aiosignal \ + python3-async-timeout \ + python3-attrs \ + python3-frozenlist \ + python3-misc \ + python3-multidict \ + python3-propcache \ + python3-yarl \ +" + +CFLAGS:append:toolchain-gcc:arm = " -flax-vector-conversions" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-alembic_1.18.3.bb b/meta-python/recipes-devtools/python/python3-alembic_1.18.3.bb deleted file mode 100644 index b6ea1609498..00000000000 --- a/meta-python/recipes-devtools/python/python3-alembic_1.18.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "A database migration tool for SQLAlchemy" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ff111c41e8748bbfa45e8ba92347b681" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "1212aa3778626f2b0f0aa6dd4e99a5f99b94bd25a0c1ac0bba3be65e081e50b0" - -RDEPENDS:${PN} += "\ - python3-dateutil \ - python3-editor \ - python3-mako \ - python3-sqlalchemy \ - python3-misc \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-alembic_1.18.4.bb b/meta-python/recipes-devtools/python/python3-alembic_1.18.4.bb new file mode 100644 index 00000000000..92c8a019e15 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-alembic_1.18.4.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "A database migration tool for SQLAlchemy" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ff111c41e8748bbfa45e8ba92347b681" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "cb6e1fd84b6174ab8dbb2329f86d631ba9559dd78df550b57804d607672cedbc" + +RDEPENDS:${PN} += "\ + python3-dateutil \ + python3-editor \ + python3-mako \ + python3-sqlalchemy \ + python3-misc \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-anyio_4.12.1.bb b/meta-python/recipes-devtools/python/python3-anyio_4.12.1.bb deleted file mode 100644 index 40312c761a5..00000000000 --- a/meta-python/recipes-devtools/python/python3-anyio_4.12.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "High level compatibility layer for multiple asynchronous event loop implementations" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c0a769411d2af7894099e8ff75058c9f" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703" - -DEPENDS += " \ - python3-setuptools-scm-native \ -" - -# Don't provide "trio" PACKAGECONFIG as nothing provides "python3-trio" currently. -# If somebody needs this please feel free to add python3-trio and enable the -# packageconfig below: -#PACKAGECONFIG ??= "" -#PACKAGECONFIG[trio] = ",,,python3-trio" - -RDEPENDS:${PN} += "\ - python3-idna \ - python3-sniffio \ - python3-core \ - python3-numbers \ - python3-io \ - python3-asyncio \ -" diff --git a/meta-python/recipes-devtools/python/python3-anyio_4.13.0.bb b/meta-python/recipes-devtools/python/python3-anyio_4.13.0.bb new file mode 100644 index 00000000000..e3e4fc9f7e0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-anyio_4.13.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "High level compatibility layer for multiple asynchronous event loop implementations" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c0a769411d2af7894099e8ff75058c9f" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc" + +DEPENDS += " \ + python3-setuptools-scm-native \ +" + +# Don't provide "trio" PACKAGECONFIG as nothing provides "python3-trio" currently. +# If somebody needs this please feel free to add python3-trio and enable the +# packageconfig below: +#PACKAGECONFIG ??= "" +#PACKAGECONFIG[trio] = ",,,python3-trio" + +RDEPENDS:${PN} += "\ + python3-idna \ + python3-sniffio \ + python3-core \ + python3-numbers \ + python3-io \ + python3-asyncio \ +" diff --git a/meta-python/recipes-devtools/python/python3-apiflask_3.0.0.bb b/meta-python/recipes-devtools/python/python3-apiflask_3.0.0.bb deleted file mode 100644 index 3b9912454de..00000000000 --- a/meta-python/recipes-devtools/python/python3-apiflask_3.0.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "APIFlask is a lightweight Python web API framework based on Flask and marshmallow-code projects." -HOMEPAGE = "https://github.com/apiflask/apiflask" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5f89d1b0dec37448d4f4163dc3c40e64" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "2b8420a23b93a78407ef5fe3e1f79cdfc7baa9b3c53977a06d6ab68772a7c2b7" - -RDEPENDS:${PN} += "\ - python3-apispec \ - python3-flask \ - python3-flask-httpauth \ - python3-flask-marshmallow \ - python3-webargs \ - " diff --git a/meta-python/recipes-devtools/python/python3-apiflask_3.1.0.bb b/meta-python/recipes-devtools/python/python3-apiflask_3.1.0.bb new file mode 100644 index 00000000000..25b50751819 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-apiflask_3.1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "APIFlask is a lightweight Python web API framework based on Flask and marshmallow-code projects." +HOMEPAGE = "https://github.com/apiflask/apiflask" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5f89d1b0dec37448d4f4163dc3c40e64" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "44ac6de494054e6988afea9d1b9272c36e83ecc8a64c7fbab0b877c0d3820d0f" + +RDEPENDS:${PN} += "\ + python3-apispec \ + python3-flask \ + python3-flask-httpauth \ + python3-flask-marshmallow \ + python3-webargs \ + " diff --git a/meta-python/recipes-devtools/python/python3-apispec_6.10.0.bb b/meta-python/recipes-devtools/python/python3-apispec_6.10.0.bb new file mode 100644 index 00000000000..52ebc43c6e6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-apispec_6.10.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)." +HOMEPAGE = "https://github.com/marshmallow-code/apispec" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a75956865b40c80a37c1e864716592b4" + +inherit pypi python_flit_core + +SRC_URI[sha256sum] = "0a888555cd4aa5fb7176041be15684154fd8961055e1672e703abf737e8761bf" + +RDEPENDS:${PN} += "python3-packaging" diff --git a/meta-python/recipes-devtools/python/python3-apispec_6.9.0.bb b/meta-python/recipes-devtools/python/python3-apispec_6.9.0.bb deleted file mode 100644 index 4b6f3b51c6b..00000000000 --- a/meta-python/recipes-devtools/python/python3-apispec_6.9.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)." -HOMEPAGE = "https://github.com/marshmallow-code/apispec" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a75956865b40c80a37c1e864716592b4" - -inherit pypi python_flit_core - -SRC_URI[sha256sum] = "7a38ce7c3eedc7771e6e33295afdd8c4b0acdd9865b483f8cf6cc369c93e8d1e" - -RDEPENDS:${PN} += "python3-packaging" diff --git a/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb b/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb index bee0b7d815e..c027e80b283 100644 --- a/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb +++ b/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb @@ -1,4 +1,5 @@ SUMMARY = "A small Python module for determining appropriate + platform-specific dirs, e.g. a user data dir." +HOMEPAGE = "https://github.com/ActiveState/appdirs" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=31625363c45eb0c67c630a2f73e438e4" diff --git a/meta-python/recipes-devtools/python/python3-asgiref_3.11.0.bb b/meta-python/recipes-devtools/python/python3-asgiref_3.11.0.bb deleted file mode 100644 index 6cf2e73e7ae..00000000000 --- a/meta-python/recipes-devtools/python/python3-asgiref_3.11.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "ASGI is a standard for Python asynchronous web apps and servers to communicate with each other, and positioned as an asynchronous successor to WSGI." -HOMEPAGE = "https://pypi.org/project/asgiref/" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa" - -SRC_URI[sha256sum] = "13acff32519542a1736223fb79a715acdebe24286d98e8b164a73085f40da2c4" - -export BUILD_SYS -export HOST_SYS - -inherit pypi ptest-python-pytest setuptools3 - -RDEPENDS:${PN}-ptest += " \ - python3-asyncio \ - python3-io \ - python3-multiprocessing \ - python3-pytest-asyncio \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-asgiref_3.11.1.bb b/meta-python/recipes-devtools/python/python3-asgiref_3.11.1.bb new file mode 100644 index 00000000000..e372d4771bc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-asgiref_3.11.1.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "ASGI is a standard for Python asynchronous web apps and servers to communicate with each other, and positioned as an asynchronous successor to WSGI." +HOMEPAGE = "https://pypi.org/project/asgiref/" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa" + +SRC_URI[sha256sum] = "5f184dc43b7e763efe848065441eac62229c9f7b0475f41f80e207a114eda4ce" + +export BUILD_SYS +export HOST_SYS + +inherit pypi ptest-python-pytest setuptools3 + +RDEPENDS:${PN}-ptest += " \ + python3-asyncio \ + python3-io \ + python3-multiprocessing \ + python3-pytest-asyncio \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-aspectlib/0001-python3-aspectlib-backport-fix-for-selftest.patch b/meta-python/recipes-devtools/python/python3-aspectlib/0001-python3-aspectlib-backport-fix-for-selftest.patch new file mode 100644 index 00000000000..05d7b631263 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-aspectlib/0001-python3-aspectlib-backport-fix-for-selftest.patch @@ -0,0 +1,37 @@ +From 2e007c5c3ed048491c29e37991e6788f41728b31 Mon Sep 17 00:00:00 2001 +From: Ionel Cristian Mărieș +Date: Fri, 24 Apr 2026 13:17:54 +0000 +Subject: [PATCH] python3-aspectlib: backport fix for selftest + +Partial backport of upstream commit b85abdb056("Fix some cleanup regressions") + +Changes excluded: +The stacklevel assertion updates in test_aspectlib.py and +test_integrations.py are omitted. These are specific to upstream's +test suite configuration and cause failures in this environment +without providing functional value to the core library. + +Upstream-Status: Backport [https://github.com/ionelmc/python-aspectlib/commit/b85abdb0565d1598ce56bd49d49dc709d4e16081] + +Signed-off-by: Zhang Xiao +--- + tests/conftest.py | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/tests/conftest.py b/tests/conftest.py +index ee54d9d..29caa50 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -1,5 +1,6 @@ +-def pytest_ignore_collect(path, config): +- basename = path.basename ++from pathlib import Path + +- if 'pytestsupport' in basename: ++ ++def pytest_ignore_collect(collection_path: Path, config): ++ if 'pytestsupport' in collection_path.__fspath__(): + return True +-- +2.53.0 + diff --git a/meta-python/recipes-devtools/python/python3-aspectlib_2.0.0.bb b/meta-python/recipes-devtools/python/python3-aspectlib_2.0.0.bb index 854a14441cf..7bfee7ff7af 100644 --- a/meta-python/recipes-devtools/python/python3-aspectlib_2.0.0.bb +++ b/meta-python/recipes-devtools/python/python3-aspectlib_2.0.0.bb @@ -8,6 +8,7 @@ HOMEPAGE = "https://github.com/ionelmc/python-aspectlib" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=80721ace117fd1f814049ecb81c6be76" +SRC_URI += "file://0001-python3-aspectlib-backport-fix-for-selftest.patch" SRC_URI[sha256sum] = "a4b461b9da0b531aebcb93efcde3de808a72c60226dd8d902c467d13faf7ce92" inherit ptest-python-pytest pypi setuptools3 diff --git a/meta-python/recipes-devtools/python/python3-astroid_4.0.3.bb b/meta-python/recipes-devtools/python/python3-astroid_4.0.3.bb deleted file mode 100644 index efa59fc1985..00000000000 --- a/meta-python/recipes-devtools/python/python3-astroid_4.0.3.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "An abstract syntax tree for Python with inference support." -HOMEPAGE = "https://pypi.python.org/pypi/astroid" -SECTION = "devel/python" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1" - -SRC_URI[sha256sum] = "08d1de40d251cc3dc4a7a12726721d475ac189e4e583d596ece7422bc176bda3" - -inherit pypi python_setuptools_build_meta - -DEPENDS += "\ - python3-pytest-runner-native \ - python3-wheel-native \ -" - -PACKAGES =+ "${PN}-tests" - -FILES:${PN}-tests += " \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ -" - -RDEPENDS:${PN}:class-target += "\ - python3-lazy-object-proxy \ - python3-logging \ - python3-six \ - python3-wrapt \ - python3-setuptools \ - python3-typing-extensions \ -" - -RDEPENDS:${PN}-tests:class-target += "\ - python3-unittest \ - python3-xml \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-astroid_4.1.2.bb b/meta-python/recipes-devtools/python/python3-astroid_4.1.2.bb new file mode 100644 index 00000000000..1e7372f692b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-astroid_4.1.2.bb @@ -0,0 +1,37 @@ +SUMMARY = "An abstract syntax tree for Python with inference support." +HOMEPAGE = "https://pypi.python.org/pypi/astroid" +SECTION = "devel/python" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1" + +SRC_URI[sha256sum] = "d6c4a52bfcda4bbeb7359dead642b0248b90f7d9a07e690230bd86fefd6d37f1" + +inherit pypi python_setuptools_build_meta + +DEPENDS += "\ + python3-pytest-runner-native \ + python3-wheel-native \ +" + +PACKAGES =+ "${PN}-tests" + +FILES:${PN}-tests += " \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ +" + +RDEPENDS:${PN}:append:class-target = " \ + python3-lazy-object-proxy \ + python3-logging \ + python3-six \ + python3-wrapt \ + python3-setuptools \ + python3-typing-extensions \ +" + +RDEPENDS:${PN}-tests:append:class-target = " \ + python3-unittest \ + python3-xml \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-asyncinotify_4.3.2.bb b/meta-python/recipes-devtools/python/python3-asyncinotify_4.3.2.bb deleted file mode 100644 index 810a142fac5..00000000000 --- a/meta-python/recipes-devtools/python/python3-asyncinotify_4.3.2.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "A simple optionally-async python inotify library, focused on simplicity of use and operation, and leveraging modern Python features" -HOMEPAGE = "https://gitlab.com/Taywee/asyncinotify" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f75d2927d3c1ed2414ef72048f5ad640" - -SRC_URI[sha256sum] = "3321deedc443c8402229a423623d3ae2fc17c433b9b9bfe170828ee0c7ea3871" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} += " \ - python3-asyncio \ - python3-core \ - python3-ctypes \ - python3-io \ -" diff --git a/meta-python/recipes-devtools/python/python3-asyncinotify_4.4.2.bb b/meta-python/recipes-devtools/python/python3-asyncinotify_4.4.2.bb new file mode 100644 index 00000000000..bdda38734dc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-asyncinotify_4.4.2.bb @@ -0,0 +1,15 @@ +SUMMARY = "A simple optionally-async python inotify library, focused on simplicity of use and operation, and leveraging modern Python features" +HOMEPAGE = "https://gitlab.com/Taywee/asyncinotify" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f75d2927d3c1ed2414ef72048f5ad640" + +SRC_URI[sha256sum] = "52ad97aa5332dd78592ab9c64171f2953447d98f9170b9bd440c5d19b17d0416" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += " \ + python3-asyncio \ + python3-core \ + python3-ctypes \ + python3-io \ +" diff --git a/meta-python/recipes-devtools/python/python3-autoflake_2.3.1.bb b/meta-python/recipes-devtools/python/python3-autoflake_2.3.1.bb deleted file mode 100644 index 0a44d751fb1..00000000000 --- a/meta-python/recipes-devtools/python/python3-autoflake_2.3.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Removes unused imports and unused variables" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=88246be6a34c1496c253f58599f3db85" - -SRC_URI[sha256sum] = "c98b75dc5b0a86459c4f01a1d32ac7eb4338ec4317a4469515ff1e687ecd909e" - -inherit pypi python_hatchling - -RDEPENDS:${PN} += "python3-pyflakes" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-autoflake_2.3.3.bb b/meta-python/recipes-devtools/python/python3-autoflake_2.3.3.bb new file mode 100644 index 00000000000..8767d6f4d52 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-autoflake_2.3.3.bb @@ -0,0 +1,12 @@ +SUMMARY = "Removes unused imports and unused variables" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=88246be6a34c1496c253f58599f3db85" + +SRC_URI[sha256sum] = "c24809541e23999f7a7b0d2faadf15deb0bc04cdde49728a2fd943a0c8055504" + +inherit pypi python_hatchling + +RDEPENDS:${PN} += "python3-pyflakes" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-bandit_1.9.3.bb b/meta-python/recipes-devtools/python/python3-bandit_1.9.3.bb deleted file mode 100644 index 18387a6e743..00000000000 --- a/meta-python/recipes-devtools/python/python3-bandit_1.9.3.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Security oriented static analyser for python code." -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" - -SRC_URI[sha256sum] = "ade4b9b7786f89ef6fc7344a52b34558caec5da74cb90373aed01de88472f774" - -DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore" - -inherit setuptools3 pypi - -RDEPENDS:${PN} += "\ - python3-git \ - python3-modules \ - python3-pbr \ - python3-pyyaml \ - python3-rich \ - python3-six \ - python3-stevedore \ - " diff --git a/meta-python/recipes-devtools/python/python3-bandit_1.9.4.bb b/meta-python/recipes-devtools/python/python3-bandit_1.9.4.bb new file mode 100644 index 00000000000..d8e6f9da87d --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-bandit_1.9.4.bb @@ -0,0 +1,19 @@ +SUMMARY = "Security oriented static analyser for python code." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" + +SRC_URI[sha256sum] = "b589e5de2afe70bd4d53fa0c1da6199f4085af666fde00e8a034f152a52cd628" + +DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore" + +inherit setuptools3 pypi + +RDEPENDS:${PN} += "\ + python3-git \ + python3-modules \ + python3-pbr \ + python3-pyyaml \ + python3-rich \ + python3-six \ + python3-stevedore \ + " diff --git a/meta-python/recipes-devtools/python/python3-bitarray_3.8.0.bb b/meta-python/recipes-devtools/python/python3-bitarray_3.8.0.bb deleted file mode 100644 index 4cacd79522e..00000000000 --- a/meta-python/recipes-devtools/python/python3-bitarray_3.8.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "efficient arrays of booleans -- C extension" -DESCRIPTION = "A high-level Python efficient arrays of booleans -- C extension" -HOMEPAGE = "https://github.com/ilanschnell/bitarray" -LICENSE = "PSF-2.0" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=6abe80c028e4ee53045a33ae807c64fd" - -SRC_URI[sha256sum] = "3eae38daffd77c9621ae80c16932eea3fb3a4af141fb7cc724d4ad93eff9210d" - -inherit python_setuptools_build_meta pypi - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-bitarray_3.8.1.bb b/meta-python/recipes-devtools/python/python3-bitarray_3.8.1.bb new file mode 100644 index 00000000000..6ef0f4202a4 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-bitarray_3.8.1.bb @@ -0,0 +1,11 @@ +SUMMARY = "efficient arrays of booleans -- C extension" +DESCRIPTION = "A high-level Python efficient arrays of booleans -- C extension" +HOMEPAGE = "https://github.com/ilanschnell/bitarray" +LICENSE = "PSF-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=6abe80c028e4ee53045a33ae807c64fd" + +SRC_URI[sha256sum] = "f90bb3c680804ec9630bcf8c0965e54b4de84d33b17d7da57c87c30f0c64c6f5" + +inherit python_setuptools_build_meta pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-bitstring_4.3.1.bb b/meta-python/recipes-devtools/python/python3-bitstring_4.3.1.bb deleted file mode 100644 index 31b4330c210..00000000000 --- a/meta-python/recipes-devtools/python/python3-bitstring_4.3.1.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Simple construction, analysis and modification of binary data." -HOMEPAGE = "https://github.com/scott-griffiths/bitstring" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=963a24c175e658fbf16a764135121ffa" - -SRC_URI[sha256sum] = "a08bc09d3857216d4c0f412a1611056f1cc2b64fd254fb1e8a0afba7cfa1a95a" - -inherit pypi python_poetry_core - -RDEPENDS:${PN} = "\ - python3-core \ - python3-io \ - python3-mmap \ - python3-numbers \ - python3-bitarray \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-bitstring_4.4.0.bb b/meta-python/recipes-devtools/python/python3-bitstring_4.4.0.bb new file mode 100644 index 00000000000..cec183f3022 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-bitstring_4.4.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Simple construction, analysis and modification of binary data." +HOMEPAGE = "https://github.com/scott-griffiths/bitstring" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=963a24c175e658fbf16a764135121ffa" + +SRC_URI[sha256sum] = "e682ac522bb63e041d16cbc9d0ca86a4f00194db16d0847c7efe066f836b2e37" + +inherit pypi python_poetry_core + +RDEPENDS:${PN} = "\ + python3-core \ + python3-io \ + python3-mmap \ + python3-numbers \ + python3-bitarray \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-bitstruct_8.21.0.bb b/meta-python/recipes-devtools/python/python3-bitstruct_8.21.0.bb deleted file mode 100644 index 9431473548a..00000000000 --- a/meta-python/recipes-devtools/python/python3-bitstruct_8.21.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "This module performs conversions between Python values and C bit field structs represented as Python byte strings." -HOMEPAGE = "https://github.com/eerimoq/bitstruct" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd" - -SRC_URI[sha256sum] = "ff0be4968a45caf8688e075f55cca7a3fe9212b069ba67e5b27b0926a11948ac" - -inherit pypi python_setuptools_build_meta - -CLEANBROKEN = "1" - diff --git a/meta-python/recipes-devtools/python/python3-bitstruct_8.22.1.bb b/meta-python/recipes-devtools/python/python3-bitstruct_8.22.1.bb new file mode 100644 index 00000000000..62adcb35b85 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-bitstruct_8.22.1.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "This module performs conversions between Python values and C bit field structs represented as Python byte strings." +HOMEPAGE = "https://github.com/eerimoq/bitstruct" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd" + +SRC_URI[sha256sum] = "97588318c906c60d33129e0061dd830b03d793c517033d312487c75426d1e808" + +inherit pypi python_setuptools_build_meta + +CLEANBROKEN = "1" + diff --git a/meta-python/recipes-devtools/python/python3-black_26.1.0.bb b/meta-python/recipes-devtools/python/python3-black_26.1.0.bb deleted file mode 100644 index bcb0f0f4085..00000000000 --- a/meta-python/recipes-devtools/python/python3-black_26.1.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "The uncompromising code formatter." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d3465a2a183908c9cb95bf490bd1e7ab \ - file://docs/license.md;md5=d826b3c5269f21a8a0272af3f00d15c0 \ - file://src/blib2to3/LICENSE;md5=bbbad7490e921f9a73c0e891305cb4b3" - -SRC_URI[sha256sum] = "d294ac3340eef9c9eb5d29288e96dc719ff269a88e27b396340459dd85da4c58" - -inherit pypi python_hatchling - -DEPENDS += " \ - python3-hatch-vcs-native \ - python3-hatchling-native \ - python3-hatch-fancy-pypi-readme-native \ -" - -RDEPENDS:${PN} = " \ - python3-click \ - python3-mypy-extensions \ - python3-packaging \ - python3-pathspec \ - python3-platformdirs \ - python3-tomli \ - python3-typing-extensions \ - python3-pytokens \ -" diff --git a/meta-python/recipes-devtools/python/python3-black_26.3.1.bb b/meta-python/recipes-devtools/python/python3-black_26.3.1.bb new file mode 100644 index 00000000000..9589530d733 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-black_26.3.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "The uncompromising code formatter." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d3465a2a183908c9cb95bf490bd1e7ab \ + file://docs/license.md;md5=d826b3c5269f21a8a0272af3f00d15c0 \ + file://src/blib2to3/LICENSE;md5=bbbad7490e921f9a73c0e891305cb4b3" + +SRC_URI[sha256sum] = "2c50f5063a9641c7eed7795014ba37b0f5fa227f3d408b968936e24bc0566b07" + +inherit pypi python_hatchling + +DEPENDS += " \ + python3-hatch-vcs-native \ + python3-hatchling-native \ + python3-hatch-fancy-pypi-readme-native \ +" + +RDEPENDS:${PN} = " \ + python3-click \ + python3-mypy-extensions \ + python3-packaging \ + python3-pathspec \ + python3-platformdirs \ + python3-tomli \ + python3-typing-extensions \ + python3-pytokens \ +" diff --git a/meta-python/recipes-devtools/python/python3-bleak_2.1.1.bb b/meta-python/recipes-devtools/python/python3-bleak_2.1.1.bb deleted file mode 100644 index 03f2ed062c4..00000000000 --- a/meta-python/recipes-devtools/python/python3-bleak_2.1.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Bleak is a GATT client software, capable of connecting to BLE devices acting as GATT servers." -HOMEPAGE = "https://github.com/hbldh/bleak" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bcbc2069a86cba1b5e47253679f66ed7" - -SRCREV = "5d76a62a549a4674c64ee151d38e2339e8ba948a" -PYPI_SRC_URI = "git://github.com/hbldh/bleak.git;protocol=https;branch=develop;destsuffix=${S};tag=v${PV}" - -SRC_URI:append = " file://run-ptest" - -inherit pypi python_poetry_core ptest-python-pytest - -RDEPENDS:${PN}-ptest += " \ - python3-asyncio \ - python3-pytest-asyncio \ - python3-pytest-cov \ - python3-bumble \ -" - -RDEPENDS:${PN} += " \ - python3-core (>3.8) \ - python3-dbus-fast \ - python3-xml \ -" diff --git a/meta-python/recipes-devtools/python/python3-bleak_3.0.1.bb b/meta-python/recipes-devtools/python/python3-bleak_3.0.1.bb new file mode 100644 index 00000000000..89f7c973d58 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-bleak_3.0.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Bleak is a GATT client software, capable of connecting to BLE devices acting as GATT servers." +HOMEPAGE = "https://github.com/hbldh/bleak" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bcbc2069a86cba1b5e47253679f66ed7" + +SRCREV = "3f967abe9ef454bd494055612a067f2128944df2" +PYPI_SRC_URI = "git://github.com/hbldh/bleak.git;protocol=https;branch=develop;destsuffix=${S};tag=v${PV}" + +SRC_URI:append = " file://run-ptest" + +inherit pypi python_poetry_core ptest-python-pytest + +RDEPENDS:${PN}-ptest += " \ + python3-asyncio \ + python3-pytest-asyncio \ + python3-pytest-cov \ + python3-bumble \ +" + +RDEPENDS:${PN} += " \ + python3-core (>3.8) \ + python3-dbus-fast \ + python3-xml \ +" diff --git a/meta-python/recipes-devtools/python/python3-bumble_0.0.223.bb b/meta-python/recipes-devtools/python/python3-bumble_0.0.223.bb deleted file mode 100644 index 3d9a6aa89ff..00000000000 --- a/meta-python/recipes-devtools/python/python3-bumble_0.0.223.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Bluetooth Stack for Apps, Emulation, Test and Experimentation" -HOMEPAGE = "https://github.com/google/bumble" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7a775f1b11285b6abedd76748d176125" - -SRC_URI[sha256sum] = "2a5c3f2605fc5ecd6a519c1fb89ada6c825b4d27db32f8be9ab1c0a654703d3c" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -DEPENDS += "python3-setuptools-scm-native" - -RDEPENDS:${PN} += "\ - libusb1 \ - python3-appdirs \ - python3-click \ - python3-cryptography \ - python3-grpcio \ - python3-humanize \ - python3-platformdirs \ - python3-prettytable \ - python3-prompt-toolkit \ - python3-protobuf \ - python3-pyee \ - python3-pyserial \ - python3-pyserial-asyncio \ - python3-pyusb \ - python3-websockets \ -" -RDEPENDS:${PN}-ptest += "\ - python3-pytest-asyncio \ - python3-aiohttp \ -" -# WARNING: We were unable to map the following python package/module -# runtime dependencies to the bitbake packages which include them: -# libusb-package -# pyee - -PYPI_PACKAGE = "bumble" diff --git a/meta-python/recipes-devtools/python/python3-bumble_0.0.226.bb b/meta-python/recipes-devtools/python/python3-bumble_0.0.226.bb new file mode 100644 index 00000000000..d5cc66f74d3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-bumble_0.0.226.bb @@ -0,0 +1,38 @@ +SUMMARY = "Bluetooth Stack for Apps, Emulation, Test and Experimentation" +HOMEPAGE = "https://github.com/google/bumble" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7a775f1b11285b6abedd76748d176125" + +SRC_URI[sha256sum] = "e96f62c282a7376ab56b2f799e232d0985a8965e049030c50a59c4ff0b10f592" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} += "\ + libusb1 \ + python3-appdirs \ + python3-click \ + python3-cryptography \ + python3-grpcio \ + python3-humanize \ + python3-platformdirs \ + python3-prettytable \ + python3-prompt-toolkit \ + python3-protobuf \ + python3-pyee \ + python3-pyserial \ + python3-pyserial-asyncio \ + python3-pyusb \ + python3-websockets \ +" +RDEPENDS:${PN}-ptest += "\ + python3-pytest-asyncio \ + python3-aiohttp \ +" +# WARNING: We were unable to map the following python package/module +# runtime dependencies to the bitbake packages which include them: +# libusb-package +# pyee + +PYPI_PACKAGE = "bumble" diff --git a/meta-python/recipes-devtools/python/python3-cachetools_7.0.0.bb b/meta-python/recipes-devtools/python/python3-cachetools_7.0.0.bb deleted file mode 100644 index a018bb389d8..00000000000 --- a/meta-python/recipes-devtools/python/python3-cachetools_7.0.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Extensible memoizing collections and decorators" -HOMEPAGE = "https://github.com/tkem/cachetools" -DESCRIPTION = "This module provides various memoizing \ -collections and decorators, including variants of the \ -Python 3 Standard Library @lru_cache function decorator." -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=079933dfba36eb60b5e3512ca0ab61ae" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -RDEPENDS:${PN} += " \ - python3-math \ -" - -SRC_URI[sha256sum] = "a9abf18ff3b86c7d05b27ead412e235e16ae045925e531fae38d5fada5ed5b08" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-cachetools_7.0.4.bb b/meta-python/recipes-devtools/python/python3-cachetools_7.0.4.bb new file mode 100644 index 00000000000..f6d9d804549 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cachetools_7.0.4.bb @@ -0,0 +1,19 @@ +SUMMARY = "Extensible memoizing collections and decorators" +HOMEPAGE = "https://github.com/tkem/cachetools" +DESCRIPTION = "This module provides various memoizing \ +collections and decorators, including variants of the \ +Python 3 Standard Library @lru_cache function decorator." +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=079933dfba36eb60b5e3512ca0ab61ae" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +RDEPENDS:${PN} += " \ + python3-math \ +" + +SRC_URI[sha256sum] = "7042c0e4eea87812f04744ce6ee9ed3de457875eb1f82d8a206c46d6e48b6734" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-can_4.6.1.bb b/meta-python/recipes-devtools/python/python3-can_4.6.1.bb index 04ce22346c0..a2746511f84 100644 --- a/meta-python/recipes-devtools/python/python3-can_4.6.1.bb +++ b/meta-python/recipes-devtools/python/python3-can_4.6.1.bb @@ -26,7 +26,6 @@ RDEPENDS:${PN} += "\ python3-msgpack \ python3-netserver \ python3-packaging \ - python3-pkg-resources \ python3-setuptools \ python3-sqlite3 \ python3-typing-extensions \ diff --git a/meta-python/recipes-devtools/python/python3-cassandra-driver/0001-skip-verifying-the-availability-of-setuptools.patch b/meta-python/recipes-devtools/python/python3-cassandra-driver/0001-skip-verifying-the-availability-of-setuptools.patch new file mode 100644 index 00000000000..b58fd04752d --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cassandra-driver/0001-skip-verifying-the-availability-of-setuptools.patch @@ -0,0 +1,34 @@ +From ebee090ac020c5a4e4194788fc2f53d7a4e30b40 Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Sun, 15 Mar 2026 21:28:07 +0100 +Subject: [PATCH] skip verifying the availability of setuptools + +The setup script checks is setuptools is available (with the correct minimum +version), using setuptool's pkg_resouces modules. Setuptools has dropped +this module in version 82, making this import fail. + +This patch skips the availability check of Setuptools, it is expected to be +always available from oe-core - the patch itself is oe-specific. + +Upstream has already prepared a solution to rework their setup script to +work with the latest Setuptools, however that patch builds on several other +patches. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Gyorgy Sarvari +--- + ez_setup.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ez_setup.py b/ez_setup.py +index 76e7105..c668e5d 100644 +--- a/ez_setup.py ++++ b/ez_setup.py +@@ -107,6 +107,7 @@ def _do_download(version, download_base, to_dir, download_delay): + + def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, + to_dir=os.curdir, download_delay=15): ++ return + # making sure we use the absolute path + to_dir = os.path.abspath(to_dir) + was_imported = 'pkg_resources' in sys.modules or \ diff --git a/meta-python/recipes-devtools/python/python3-cassandra-driver_3.29.2.bb b/meta-python/recipes-devtools/python/python3-cassandra-driver_3.29.2.bb deleted file mode 100644 index f60167d3098..00000000000 --- a/meta-python/recipes-devtools/python/python3-cassandra-driver_3.29.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "DataStax Python Driver for Apache Cassandra" -DESCRIPTION = "A modern, feature-rich and highly-tunable Python client \ -library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using \ -exclusively Cassandra's binary protocol and Cassandra Query Language v3." -HOMEPAGE = "https://github.com/datastax/python-driver" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" -SRCNAME = "cassandra-driver" - -SRC_URI[sha256sum] = "c4310a7d0457f51a63fb019d8ef501588c491141362b53097fbc62fa06559b7c" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "\ - python3-cython \ - python3-geomet \ - python3-json \ - python3-misc \ - python3-multiprocessing \ - python3-numbers \ - python3-six \ - libevent \ -" - -DEPENDS += "\ - python3-cython \ -" diff --git a/meta-python/recipes-devtools/python/python3-cassandra-driver_3.29.3.bb b/meta-python/recipes-devtools/python/python3-cassandra-driver_3.29.3.bb new file mode 100644 index 00000000000..6ab86300f5a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cassandra-driver_3.29.3.bb @@ -0,0 +1,31 @@ +SUMMARY = "DataStax Python Driver for Apache Cassandra" +DESCRIPTION = "A modern, feature-rich and highly-tunable Python client \ +library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using \ +exclusively Cassandra's binary protocol and Cassandra Query Language v3." +HOMEPAGE = "https://github.com/datastax/python-driver" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" +SRCNAME = "cassandra-driver" + +SRC_URI += "file://0001-skip-verifying-the-availability-of-setuptools.patch" +SRC_URI[sha256sum] = "ff6b82ee4533f6fd4474d833e693b44b984f58337173ee98ed76bce08721a636" + +PYPI_PACKAGE = "cassandra_driver" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += "\ + python3-cython \ + python3-geomet \ + python3-json \ + python3-misc \ + python3-multiprocessing \ + python3-numbers \ + python3-six \ + libevent \ +" + +DEPENDS += "\ + python3-cython \ +" diff --git a/meta-python/recipes-devtools/python/python3-cbor2_5.8.0.bb b/meta-python/recipes-devtools/python/python3-cbor2_5.8.0.bb deleted file mode 100644 index c0a70616573..00000000000 --- a/meta-python/recipes-devtools/python/python3-cbor2_5.8.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a79e64179819c7ce293372c059f1dbd8" -DEPENDS += "python3-setuptools-scm-native" - -SRC_URI[sha256sum] = "b19c35fcae9688ac01ef75bad5db27300c2537eb4ee00ed07e05d8456a0d4931" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -RDEPENDS:${PN}-ptest += " \ - python3-hypothesis \ - python3-unixadmin \ -" -RDEPENDS:${PN} += " \ - python3-datetime \ -" - -CVE_PRODUCT = "cbor2" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-cbor2_5.9.0.bb b/meta-python/recipes-devtools/python/python3-cbor2_5.9.0.bb new file mode 100644 index 00000000000..42d661ead3e --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cbor2_5.9.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a79e64179819c7ce293372c059f1dbd8" +DEPENDS += "python3-setuptools-scm-native" + +SRC_URI[sha256sum] = "85c7a46279ac8f226e1059275221e6b3d0e370d2bb6bd0500f9780781615bcea" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +RDEPENDS:${PN}-ptest += " \ + python3-hypothesis \ + python3-unixadmin \ +" +RDEPENDS:${PN} += " \ + python3-datetime \ +" + +CVE_PRODUCT = "cbor2" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.4.bb b/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.4.bb deleted file mode 100644 index 38086ca017c..00000000000 --- a/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.4.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -HOMEPAGE = "https://github.com/ousret/charset_normalizer" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=48178f3fc1374ad7e830412f812bde05" - -#SRC_URI += "file://0001-pyproject.toml-Update-mypy-requirement.patch" - -SRC_URI[sha256sum] = "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" - -DEPENDS += "python3-setuptools-scm-native python3-mypy-native" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -PYPI_PACKAGE = "charset_normalizer" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -RDEPENDS:${PN} += " \ - python3-core \ - python3-logging \ - python3-codecs \ - python3-json \ -" - -RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-charmap-gb18030 glibc-charmaps" -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.7.bb b/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.7.bb new file mode 100644 index 00000000000..b9dffb21e47 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.7.bb @@ -0,0 +1,23 @@ +SUMMARY = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +HOMEPAGE = "https://github.com/ousret/charset_normalizer" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=48178f3fc1374ad7e830412f812bde05" + +SRC_URI[sha256sum] = "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" + +DEPENDS += "python3-setuptools-scm-native python3-mypy-native" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +PYPI_PACKAGE = "charset_normalizer" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN} += " \ + python3-core \ + python3-logging \ + python3-codecs \ + python3-json \ +" + +RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-charmap-gb18030 glibc-charmaps" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-ckzg/python-ckzg-0001-Let-override-CC.patch b/meta-python/recipes-devtools/python/python3-ckzg/python-ckzg-0001-Let-override-CC.patch deleted file mode 100644 index c58089cc155..00000000000 --- a/meta-python/recipes-devtools/python/python3-ckzg/python-ckzg-0001-Let-override-CC.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Peter Lemenkov -Date: Wed, 6 Nov 2024 16:35:23 +0300 -Subject: [PATCH] Let override CC - -Upstream-Status: Pending - -Signed-off-by: Peter Lemenkov - -diff --git a/src/Makefile b/src/Makefile -index b733a11..c688005 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -79,7 +79,7 @@ ifeq ($(PLATFORM),Windows) - CFLAGS += -D_CRT_SECURE_NO_WARNINGS - CFLAGS += -Wno-missing-braces -Wno-format - else -- CC = clang -+ CC ?= clang - CFLAGS += -fPIC - CFLAGS += -Wmissing-braces -Wformat=2 - endif diff --git a/meta-python/recipes-devtools/python/python3-ckzg/python-ckzg-0002-Disable-Werror.patch b/meta-python/recipes-devtools/python/python3-ckzg/python-ckzg-0002-Disable-Werror.patch deleted file mode 100644 index 9b0baa358af..00000000000 --- a/meta-python/recipes-devtools/python/python3-ckzg/python-ckzg-0002-Disable-Werror.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: rpm-build -Date: Tue, 26 Nov 2024 11:13:18 +0100 -Subject: [PATCH] Disable Werror - -Upstream-Status: Pending - -Signed-off-by: rpm-build - -diff --git a/src/Makefile b/src/Makefile -index c688005..01b7a80 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -20,7 +20,7 @@ ifeq ($(PLATFORM),Darwin) - endif - - # The base compiler flags. More can be added on command line. --CFLAGS += -I. -I../inc -O2 -Werror -+CFLAGS += -I. -I../inc - # Enable a bunch of optional warnings. - CFLAGS += \ - -pedantic \ -@@ -81,7 +81,7 @@ ifeq ($(PLATFORM),Windows) - else - CC ?= clang - CFLAGS += -fPIC -- CFLAGS += -Wmissing-braces -Wformat=2 -+ CFLAGS += -Wmissing-braces - endif - - # Settings for blst. diff --git a/meta-python/recipes-devtools/python/python3-ckzg_2.1.1.bb b/meta-python/recipes-devtools/python/python3-ckzg_2.1.1.bb deleted file mode 100644 index 5a6196bf75b..00000000000 --- a/meta-python/recipes-devtools/python/python3-ckzg_2.1.1.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Python Bindings for the C-KZG Library" -HOMEPAGE = "https://github.com/ethereum/c-kzg-4844" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -SRC_URI += " \ - file://blst-0001-Support-64-bit-limbs-on-no-asm-platforms.patch \ - file://python-ckzg-0001-Let-override-CC.patch \ - file://python-ckzg-0002-Disable-Werror.patch \ -" - -SRC_URI[sha256sum] = "d6b306b7ec93a24e4346aa53d07f7f75053bc0afc7398e35fa649e5f9d48fcc4" - -inherit pypi setuptools3 diff --git a/meta-python/recipes-devtools/python/python3-ckzg_2.1.7.bb b/meta-python/recipes-devtools/python/python3-ckzg_2.1.7.bb new file mode 100644 index 00000000000..b01bd2d78db --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ckzg_2.1.7.bb @@ -0,0 +1,13 @@ +SUMMARY = "Python Bindings for the C-KZG Library" +HOMEPAGE = "https://github.com/ethereum/c-kzg-4844" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI += " \ + file://blst-0001-Support-64-bit-limbs-on-no-asm-platforms.patch \ +" + +SRC_URI[sha256sum] = "a0c61c5fd573af0267bcb435ef0f499911289ceb05e863480779ea284a3bb928" + +inherit pypi setuptools3 diff --git a/meta-python/recipes-devtools/python/python3-cmake_4.2.1.bb b/meta-python/recipes-devtools/python/python3-cmake_4.2.1.bb deleted file mode 100644 index 88f9ff38a09..00000000000 --- a/meta-python/recipes-devtools/python/python3-cmake_4.2.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "CMake is an open-source, cross-platform family of tools designed to build, test and package software" -LICENSE = "BSD-3-Clause & Apache-2.0" -LIC_FILES_CHKSUM = " \ - file://LICENSE_BSD_3;md5=9134cb61aebbdd79dd826ccb9ae6afcd \ - file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5 \ -" - -DEPENDS = "ninja-native cmake-native python3-scikit-build-native python3-scikit-build-core-native" - -PYPI_PACKAGE = "cmake" -PYPI_ARCHIVE_NAME_PREFIX = "pypi-" - -inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "a07a790ca65946667c0fb286549e8e0b5a850e2f8170ae60d3418573011ca218" - -SRC_URI += " \ - file://CMakeLists.txt \ - file://run-cmake-from-path.patch \ -" - -addtask do_patchbuild after do_patch before do_configure - -do_patchbuild () { - rm -f ${S}/CMakeLists.txt - cp ${UNPACKDIR}/CMakeLists.txt ${S}/ -} - -do_install:append () { - rm -rf ${D}${bindir} -} - -RDEPENDS:${PN} = " \ - cmake \ - python3-scikit-build \ - python3-scikit-build-core \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-cmake_4.3.1.bb b/meta-python/recipes-devtools/python/python3-cmake_4.3.1.bb new file mode 100644 index 00000000000..5787b73d985 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cmake_4.3.1.bb @@ -0,0 +1,38 @@ +SUMMARY = "CMake is an open-source, cross-platform family of tools designed to build, test and package software" +LICENSE = "BSD-3-Clause & Apache-2.0" +LIC_FILES_CHKSUM = " \ + file://LICENSE_BSD_3;md5=9134cb61aebbdd79dd826ccb9ae6afcd \ + file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5 \ +" + +DEPENDS = "ninja-native cmake-native python3-scikit-build-native python3-scikit-build-core-native" + +PYPI_PACKAGE = "cmake" +PYPI_ARCHIVE_NAME_PREFIX = "pypi-" + +inherit pypi python_setuptools_build_meta +SRC_URI[sha256sum] = "6fe523413cdd2568a19a6ec297b8f869a95a3f8edaf0dd73731b81412216e00e" + +SRC_URI += " \ + file://CMakeLists.txt \ + file://run-cmake-from-path.patch \ +" + +addtask do_patchbuild after do_patch before do_configure + +do_patchbuild () { + rm -f ${S}/CMakeLists.txt + cp ${UNPACKDIR}/CMakeLists.txt ${S}/ +} + +do_install:append () { + rm -rf ${D}${bindir} +} + +RDEPENDS:${PN} = " \ + cmake \ + python3-scikit-build \ + python3-scikit-build-core \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-cmd2_3.1.0.bb b/meta-python/recipes-devtools/python/python3-cmd2_3.1.0.bb deleted file mode 100644 index 911d0989ff2..00000000000 --- a/meta-python/recipes-devtools/python/python3-cmd2_3.1.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Extra features for standard library's cmd module" -HOMEPAGE = "https://github.com/python-cmd2/cmd2" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=26efe44f9946f43292f90070d9d5590c" - -DEPENDS += "python3-setuptools-scm-native" - -SRC_URI[sha256sum] = "cce3aece018b0b1055988adaa2b687ac9c1df38bfd2abfc29dbeb51a9707de33" - -inherit pypi python_setuptools_build_meta python3native - -RDEPENDS:${PN} += "\ - python3-attrs \ - python3-colorama \ - python3-pyperclip \ - python3-wcwidth \ - python3-compression \ - python3-pydoc \ - python3-json \ - python3-numbers \ - python3-rich-argparse \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-cmd2_3.4.0.bb b/meta-python/recipes-devtools/python/python3-cmd2_3.4.0.bb new file mode 100644 index 00000000000..2ed0bdc769b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cmd2_3.4.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "Extra features for standard library's cmd module" +HOMEPAGE = "https://github.com/python-cmd2/cmd2" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f2a861642858e0858af9dd4e4716bae0" + +DEPENDS += "python3-setuptools-scm-native" + +SRC_URI[sha256sum] = "fd43ef7540609469f055858146f2c592ca4c58e3c336b5efbc5502459ab0bdb2" + +inherit pypi python_setuptools_build_meta python3native + +RDEPENDS:${PN} += "\ + python3-attrs \ + python3-colorama \ + python3-pyperclip \ + python3-wcwidth \ + python3-compression \ + python3-pydoc \ + python3-json \ + python3-numbers \ + python3-rich-argparse \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-configargparse_1.7.1.bb b/meta-python/recipes-devtools/python/python3-configargparse_1.7.1.bb deleted file mode 100644 index c056109c5a5..00000000000 --- a/meta-python/recipes-devtools/python/python3-configargparse_1.7.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." -HOMEPAGE = "https://github.com/bw2/ConfigArgParse" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" - -SRC_URI[sha256sum] = "79c2ddae836a1e5914b71d58e4b9adbd9f7779d4e6351a637b7d2d9b6c46d3d9" - -PYPI_PACKAGE = "configargparse" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -inherit pypi setuptools3 - -PACKAGECONFIG ?= "yaml" -PACKAGECONFIG[yaml] = ",,,python3-pyyaml" - -RDEPENDS:${PN} += "\ - python3-core \ - python3-shell \ - python3-json \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-configargparse_1.7.5.bb b/meta-python/recipes-devtools/python/python3-configargparse_1.7.5.bb new file mode 100644 index 00000000000..49df56d75b6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-configargparse_1.7.5.bb @@ -0,0 +1,24 @@ +SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." +HOMEPAGE = "https://github.com/bw2/ConfigArgParse" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" + +SRC_URI[sha256sum] = "e3f9a7bb6be34d66b2e3c4a2f58e3045f8dfae47b0dc039f87bcfaa0f193fb0f" + +PYPI_PACKAGE = "configargparse" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi python_setuptools_build_meta + +DEPENDS += "python3-setuptools-scm-native" + +PACKAGECONFIG ?= "yaml" +PACKAGECONFIG[yaml] = ",,,python3-pyyaml" + +RDEPENDS:${PN} += "\ + python3-core \ + python3-shell \ + python3-json \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-coverage_7.13.2.bb b/meta-python/recipes-devtools/python/python3-coverage_7.13.2.bb deleted file mode 100644 index 23d49524cc2..00000000000 --- a/meta-python/recipes-devtools/python/python3-coverage_7.13.2.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Code coverage measurement for Python" -HOMEPAGE = "https://coverage.readthedocs.io" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" - -SRC_URI[sha256sum] = "044c6951ec37146b72a50cc81ef02217d27d4c3640efd2640311393cbbf143d3" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} += " \ - python3-crypt \ - python3-io \ - python3-json \ - python3-multiprocessing \ - python3-pprint \ - python3-shell \ - python3-sqlite3 \ - python3-tomllib \ - python3-xml \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-coverage_7.13.5.bb b/meta-python/recipes-devtools/python/python3-coverage_7.13.5.bb new file mode 100644 index 00000000000..3cdce95d347 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-coverage_7.13.5.bb @@ -0,0 +1,22 @@ +SUMMARY = "Code coverage measurement for Python" +HOMEPAGE = "https://coverage.readthedocs.io" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93" + +SRC_URI[sha256sum] = "c81f6515c4c40141f83f502b07bbfa5c240ba25bbe73da7b33f1e5b6120ff179" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += " \ + python3-crypt \ + python3-io \ + python3-json \ + python3-multiprocessing \ + python3-pprint \ + python3-shell \ + python3-sqlite3 \ + python3-tomllib \ + python3-xml \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-croniter_6.0.0.bb b/meta-python/recipes-devtools/python/python3-croniter_6.0.0.bb deleted file mode 100644 index 201074e1e37..00000000000 --- a/meta-python/recipes-devtools/python/python3-croniter_6.0.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "croniter provides iteration for datetime object with cron like format" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b8ee59850b882cbf623188489ea748e2" - -PYPI_PACKAGE = "croniter" - -SRC_URI[sha256sum] = "37c504b313956114a983ece2c2b07790b1f1094fe9d81cc94739214748255577" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += " \ - python3-dateutil \ - python3-natsort \ - python3-pytz \ -" diff --git a/meta-python/recipes-devtools/python/python3-croniter_6.2.2.bb b/meta-python/recipes-devtools/python/python3-croniter_6.2.2.bb new file mode 100644 index 00000000000..d217161d7d1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-croniter_6.2.2.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "croniter provides iteration for datetime object with cron like format" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b8ee59850b882cbf623188489ea748e2" + +PYPI_PACKAGE = "croniter" + +SRC_URI[sha256sum] = "ba60832a5ec8e12e51b8691c3309a113d1cf6526bdf1a48150ce8ec7a532d0ab" + +inherit pypi python_hatchling + +RDEPENDS:${PN} += " \ + python3-dateutil \ + python3-natsort \ + python3-pytz \ +" diff --git a/meta-python/recipes-devtools/python/python3-cssselect2_0.8.0.bb b/meta-python/recipes-devtools/python/python3-cssselect2_0.8.0.bb deleted file mode 100644 index 20165a098c1..00000000000 --- a/meta-python/recipes-devtools/python/python3-cssselect2_0.8.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "CSS selectors for Python ElementTree." -DESCRIPTION = "cssselect2 is a straightforward implementation of CSS4 Selectors \ - for markup documents (HTML, XML, etc.) that can be read by ElementTree-like \ - parsers (including cElementTree, lxml, html5lib, etc.)" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=aa7228954285c7398bb6711fee73b4ac" - -SRC_URI[sha256sum] = "7674ffb954a3b46162392aee2a3a0aedb2e14ecf99fcc28644900f4e6e3e9d3a" - -inherit pypi python_setuptools_build_meta - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS:${PN} = "python3-tinycss2" diff --git a/meta-python/recipes-devtools/python/python3-cssselect2_0.9.0.bb b/meta-python/recipes-devtools/python/python3-cssselect2_0.9.0.bb new file mode 100644 index 00000000000..7353e498eb6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cssselect2_0.9.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "CSS selectors for Python ElementTree." +DESCRIPTION = "cssselect2 is a straightforward implementation of CSS4 Selectors \ + for markup documents (HTML, XML, etc.) that can be read by ElementTree-like \ + parsers (including cElementTree, lxml, html5lib, etc.)" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=aa7228954285c7398bb6711fee73b4ac" + +SRC_URI[sha256sum] = "759aa22c216326356f65e62e791d66160a0f9c91d1424e8d8adc5e74dddfc6fb" + +inherit pypi python_setuptools_build_meta + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} = "python3-tinycss2" diff --git a/meta-python/recipes-devtools/python/python3-cucumber-tag-expressions_6.2.0.bb b/meta-python/recipes-devtools/python/python3-cucumber-tag-expressions_6.2.0.bb deleted file mode 100644 index 6ddc489f8a1..00000000000 --- a/meta-python/recipes-devtools/python/python3-cucumber-tag-expressions_6.2.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Cucumber tag expression parser" -DESCRIPTION = "Provides a tag-expression parser and evaluation logic for cucumber/behave" -HOMEPAGE = "https://github.com/cucumber/tag-expressions" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" - -SRC_URI[sha256sum] = "b60aa2cdbf9ac43e28d9b0e4fd49edf9f09d5d941257d2912f5228f9d166c023" - -inherit pypi python_setuptools_build_meta - -PYPI_PACKAGE = "cucumber_tag_expressions" - -DEPENDS += "\ - python3-setuptools-scm-native \ -" diff --git a/meta-python/recipes-devtools/python/python3-cucumber-tag-expressions_9.1.0.bb b/meta-python/recipes-devtools/python/python3-cucumber-tag-expressions_9.1.0.bb new file mode 100644 index 00000000000..add7031f1e9 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cucumber-tag-expressions_9.1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Cucumber tag expression parser" +DESCRIPTION = "Provides a tag-expression parser and evaluation logic for cucumber/behave" +HOMEPAGE = "https://github.com/cucumber/tag-expressions" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=134f1026f0de92fd30e71976590a2868" + +SRC_URI[sha256sum] = "d960383d5885300ebcbcb14e41657946fde2a59d5c0f485eb291bc6a0e228acc" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "cucumber_tag_expressions" + +DEPENDS += "\ + python3-setuptools-scm-native \ + python3-uv-build-native \ +" diff --git a/meta-python/recipes-devtools/python/python3-dateparser_1.2.2.bb b/meta-python/recipes-devtools/python/python3-dateparser_1.2.2.bb deleted file mode 100644 index b66900aebb4..00000000000 --- a/meta-python/recipes-devtools/python/python3-dateparser_1.2.2.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "Provides modules to easily parse localized dates in almost any string formats commonly found on web pages" -HOMEPAGE = "https://github.com/scrapinghub/dateparser" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3d3ed25571191e7aa3f55d0a6efe0051" - -SRC_URI[sha256sum] = "986316f17cb8cdc23ea8ce563027c5ef12fc725b6fb1d137c14ca08777c5ecf7" - -PYPI_PACKAGE = "dateparser" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - -RDEPENDS:${PN} += " \ - python3-dateutil \ - python3-logging \ - python3-pytz \ - python3-regex \ - python3-ruamel-yaml \ - python3-tzlocal \ -" - -# Ommitted python3-convertdate, python3-jdatetime python3-umalqurra diff --git a/meta-python/recipes-devtools/python/python3-dateparser_1.4.0.bb b/meta-python/recipes-devtools/python/python3-dateparser_1.4.0.bb new file mode 100644 index 00000000000..27f9da83b67 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-dateparser_1.4.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Provides modules to easily parse localized dates in almost any string formats commonly found on web pages" +HOMEPAGE = "https://github.com/scrapinghub/dateparser" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3d3ed25571191e7aa3f55d0a6efe0051" + +SRC_URI[sha256sum] = "97a21840d5ecdf7630c584f673338a5afac5dfe84f647baf4d7e8df98f9354a4" + +PYPI_PACKAGE = "dateparser" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS:${PN} += " \ + python3-dateutil \ + python3-logging \ + python3-pytz \ + python3-regex \ + python3-ruamel-yaml \ + python3-tzlocal \ +" + +# Ommitted python3-convertdate, python3-jdatetime python3-umalqurra diff --git a/meta-python/recipes-devtools/python/python3-django_5.2.11.bb b/meta-python/recipes-devtools/python/python3-django_5.2.11.bb deleted file mode 100644 index d18aa351699..00000000000 --- a/meta-python/recipes-devtools/python/python3-django_5.2.11.bb +++ /dev/null @@ -1,5 +0,0 @@ -require python3-django.inc -inherit python_setuptools_build_meta - -SRC_URI += "file://0001-fix-test_msgfmt_error_including_non_ascii-test.patch" -SRC_URI[sha256sum] = "7f2d292ad8b9ee35e405d965fbbad293758b858c34bbf7f3df551aeeac6f02d3" diff --git a/meta-python/recipes-devtools/python/python3-django_5.2.13.bb b/meta-python/recipes-devtools/python/python3-django_5.2.13.bb new file mode 100644 index 00000000000..fcf50e939d4 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-django_5.2.13.bb @@ -0,0 +1,5 @@ +require python3-django.inc +inherit python_setuptools_build_meta + +SRC_URI += "file://0001-fix-test_msgfmt_error_including_non_ascii-test.patch" +SRC_URI[sha256sum] = "a31589db5188d074c63f0945c3888fad104627dfcc236fb2b97f71f89da33bc4" diff --git a/meta-python/recipes-devtools/python/python3-django_6.0.2.bb b/meta-python/recipes-devtools/python/python3-django_6.0.2.bb deleted file mode 100644 index 001abf48e86..00000000000 --- a/meta-python/recipes-devtools/python/python3-django_6.0.2.bb +++ /dev/null @@ -1,9 +0,0 @@ -require python3-django.inc -inherit python_setuptools_build_meta - -SRC_URI[sha256sum] = "3046a53b0e40d4b676c3b774c73411d7184ae2745fe8ce5e45c0f33d3ddb71a7" - -# Set DEFAULT_PREFERENCE so that the LTS version of django is built by -# default. To build the 6.x branch, -# PREFERRED_VERSION_python3-django = "6.0.%" can be added to local.conf -DEFAULT_PREFERENCE = "-1" diff --git a/meta-python/recipes-devtools/python/python3-django_6.0.4.bb b/meta-python/recipes-devtools/python/python3-django_6.0.4.bb new file mode 100644 index 00000000000..378b760f2c4 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-django_6.0.4.bb @@ -0,0 +1,9 @@ +require python3-django.inc +inherit python_setuptools_build_meta + +SRC_URI[sha256sum] = "8cfa2572b3f2768b2e84983cf3c4811877a01edb64e817986ec5d60751c113ac" + +# Set DEFAULT_PREFERENCE so that the LTS version of django is built by +# default. To build the 6.x branch, +# PREFERRED_VERSION_python3-django = "6.0.%" can be added to local.conf +DEFAULT_PREFERENCE = "-1" diff --git a/meta-python/recipes-devtools/python/python3-djangorestframework_3.16.1.bb b/meta-python/recipes-devtools/python/python3-djangorestframework_3.16.1.bb deleted file mode 100644 index bcd079f3281..00000000000 --- a/meta-python/recipes-devtools/python/python3-djangorestframework_3.16.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "djangorestframework" -DESCRIPTION = "pip3 install djangorestframework" -HOMEPAGE = "https://pypi.python.org/pypi/djangorestframework" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7879a5a716147a784f7e524c9cf103c1" - -SRC_URI[sha256sum] = "166809528b1aced0a17dc66c24492af18049f2c9420dbd0be29422029cfc3ff7" - -PYPI_PACKAGE = "djangorestframework" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "\ - python3-django \ -" diff --git a/meta-python/recipes-devtools/python/python3-djangorestframework_3.17.1.bb b/meta-python/recipes-devtools/python/python3-djangorestframework_3.17.1.bb new file mode 100644 index 00000000000..42edd151564 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-djangorestframework_3.17.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "djangorestframework" +DESCRIPTION = "pip3 install djangorestframework" +HOMEPAGE = "https://pypi.python.org/pypi/djangorestframework" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7879a5a716147a784f7e524c9cf103c1" + +SRC_URI[sha256sum] = "a6def5f447fe78ff853bff1d47a3c59bf38f5434b031780b351b0c73a62db1a5" + +PYPI_PACKAGE = "djangorestframework" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += "\ + python3-django \ +" diff --git a/meta-python/recipes-devtools/python/python3-ecdsa_0.19.1.bb b/meta-python/recipes-devtools/python/python3-ecdsa_0.19.1.bb deleted file mode 100644 index 2025d5e1394..00000000000 --- a/meta-python/recipes-devtools/python/python3-ecdsa_0.19.1.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "ECDSA cryptographic signature library (pure python)" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=66ffc5e30f76cbb5358fe54b645e5a1d" - -PYPI_PACKAGE = "ecdsa" -SRC_URI[sha256sum] = "478cba7b62555866fcb3bb3fe985e06decbdb68ef55713c4e5ab98c57d508e61" - -CVE_PRODUCT = "python-ecdsa_project:python-ecdsa tlsfuzzer:ecdsa" - -inherit pypi setuptools3 python3native ptest-python-pytest - -RDEPENDS:${PN}-ptest += " \ - python3-hypothesis \ -" - -do_install_ptest:append () { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/src/ecdsa/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS:${PN} += " \ - python3-gmpy2 \ - python3-json \ - python3-six \ -" - -do_install:append() { - rm ${D}${PYTHON_SITEPACKAGES_DIR}/ecdsa/test_*.py -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-ecdsa_0.19.2.bb b/meta-python/recipes-devtools/python/python3-ecdsa_0.19.2.bb new file mode 100644 index 00000000000..5bb1da85b68 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ecdsa_0.19.2.bb @@ -0,0 +1,32 @@ +SUMMARY = "ECDSA cryptographic signature library (pure python)" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=66ffc5e30f76cbb5358fe54b645e5a1d" + +PYPI_PACKAGE = "ecdsa" +SRC_URI[sha256sum] = "62635b0ac1ca2e027f82122b5b81cb706edc38cd91c63dda28e4f3455a2bf930" + +CVE_PRODUCT = "python-ecdsa_project:python-ecdsa tlsfuzzer:ecdsa" + +inherit pypi setuptools3 python3native ptest-python-pytest + +RDEPENDS:${PN}-ptest += " \ + python3-hypothesis \ +" + +do_install_ptest:append () { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/src/ecdsa/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS:${PN} += " \ + python3-gmpy2 \ + python3-json \ + python3-six \ +" + +do_install:append() { + rm ${D}${PYTHON_SITEPACKAGES_DIR}/ecdsa/test_*.py +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-engineio_4.13.1.bb b/meta-python/recipes-devtools/python/python3-engineio_4.13.1.bb new file mode 100644 index 00000000000..f8bb87dfde6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-engineio_4.13.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "Engine.IO server" +HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "python_engineio" + +RDEPENDS:${PN} += " \ + python3-netclient \ + python3-json \ + python3-logging \ + python3-compression \ + python3-asyncio \ +" + +SRC_URI[sha256sum] = "0a853fcef52f5b345425d8c2b921ac85023a04dfcf75d7b74696c61e940fd066" diff --git a/meta-python/recipes-devtools/python/python3-engineio_4.9.0.bb b/meta-python/recipes-devtools/python/python3-engineio_4.9.0.bb deleted file mode 100644 index 790d1b44cf8..00000000000 --- a/meta-python/recipes-devtools/python/python3-engineio_4.9.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Engine.IO server" -HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" - -inherit pypi python_setuptools_build_meta - -PYPI_PACKAGE = "python-engineio" - -RDEPENDS:${PN} += " \ - python3-netclient \ - python3-json \ - python3-logging \ - python3-compression \ - python3-asyncio \ -" - -SRC_URI[sha256sum] = "e87459c15638e567711fd156e6f9c4a402668871bed79523f0ecfec744729ec7" diff --git a/meta-python/recipes-devtools/python/python3-eth-hash_0.7.1.bb b/meta-python/recipes-devtools/python/python3-eth-hash_0.7.1.bb deleted file mode 100644 index ce675056590..00000000000 --- a/meta-python/recipes-devtools/python/python3-eth-hash_0.7.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "eth-hash: The Ethereum hashing function, keccak256, sometimes (erroneously) called sha3" -HOMEPAGE = "https://github.com/ethereum/eth-hash" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3ef06eb4d4373222e59a338e2eb9a795" - -SRC_URI[sha256sum] = "d2411a403a0b0a62e8247b4117932d900ffb4c8c64b15f92620547ca5ce46be5" - -inherit pypi python_setuptools_build_meta - -PACKAGECONFIG ?= "" -PACKAGECONFIG[dev] = ",,,python3-build python3-bumpversion python3-ipython python3-pre-commit python3-pytest python3-pytest-xdist python3-sphinx python3-sphinx_rtd_theme python3-towncrier python3-tox python3-twine python3-wheel" -PACKAGECONFIG[docs] = ",,,python3-sphinx python3-sphinx_rtd_theme python3-towncrier" -PACKAGECONFIG[pycryptodome] = ",,,python3-pycryptodome" -PACKAGECONFIG[pysha3python-version-smaller-3-dot-9] = ",,,python3-pysha3" -PACKAGECONFIG[pysha3python-version-bigger--equals-3-dot-9] = ",,,python3-safe-pysha3" -PACKAGECONFIG[test] = ",,,python3-pytest python3-pytest-xdist" - -RDEPENDS:${PN} += "python3-core python3-logging python3-pycryptodome" - -PYPI_PACKAGE = "eth_hash" diff --git a/meta-python/recipes-devtools/python/python3-eth-hash_0.8.0.bb b/meta-python/recipes-devtools/python/python3-eth-hash_0.8.0.bb new file mode 100644 index 00000000000..04a94d20bef --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-eth-hash_0.8.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "eth-hash: The Ethereum hashing function, keccak256, sometimes (erroneously) called sha3" +HOMEPAGE = "https://github.com/ethereum/eth-hash" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3ef06eb4d4373222e59a338e2eb9a795" + +SRC_URI[sha256sum] = "b009752b620da2e9c7668014849d1f5fadbe4f138603f1871cc5d4ca706896b1" + +inherit pypi python_setuptools_build_meta + +PACKAGECONFIG ?= "" +PACKAGECONFIG[dev] = ",,,python3-build python3-bumpversion python3-ipython python3-pre-commit python3-pytest python3-pytest-xdist python3-sphinx python3-sphinx_rtd_theme python3-towncrier python3-tox python3-twine python3-wheel" +PACKAGECONFIG[docs] = ",,,python3-sphinx python3-sphinx_rtd_theme python3-towncrier" +PACKAGECONFIG[pycryptodome] = ",,,python3-pycryptodome" +PACKAGECONFIG[pysha3python-version-smaller-3-dot-9] = ",,,python3-pysha3" +PACKAGECONFIG[pysha3python-version-bigger--equals-3-dot-9] = ",,,python3-safe-pysha3" +PACKAGECONFIG[test] = ",,,python3-pytest python3-pytest-xdist" + +RDEPENDS:${PN} += "python3-core python3-logging python3-pycryptodome" + +PYPI_PACKAGE = "eth_hash" diff --git a/meta-python/recipes-devtools/python/python3-eth-typing_5.2.1.bb b/meta-python/recipes-devtools/python/python3-eth-typing_5.2.1.bb deleted file mode 100644 index 727a19aab6d..00000000000 --- a/meta-python/recipes-devtools/python/python3-eth-typing_5.2.1.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Common type annotations for ethereum python packages." -HOMEPAGE = "https://github.com/ethereum/eth-typing" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3ef06eb4d4373222e59a338e2eb9a795" - -SRC_URI[sha256sum] = "7557300dbf02a93c70fa44af352b5c4a58f94e997a0fd6797fb7d1c29d9538ee" - -PYPI_PACKAGE = "eth_typing" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += " \ - python3-typing-extensions \ -" diff --git a/meta-python/recipes-devtools/python/python3-eth-typing_6.0.0.bb b/meta-python/recipes-devtools/python/python3-eth-typing_6.0.0.bb new file mode 100644 index 00000000000..51d1abec7be --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-eth-typing_6.0.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "Common type annotations for ethereum python packages." +HOMEPAGE = "https://github.com/ethereum/eth-typing" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3ef06eb4d4373222e59a338e2eb9a795" + +SRC_URI[sha256sum] = "315dd460dc0b71c15a6cd51e3c0b70d237eec8771beb844144f3a1fb4adb2392" + +PYPI_PACKAGE = "eth_typing" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + python3-typing-extensions \ +" diff --git a/meta-python/recipes-devtools/python/python3-eth-utils_5.3.1.bb b/meta-python/recipes-devtools/python/python3-eth-utils_5.3.1.bb deleted file mode 100644 index 481e5081c9b..00000000000 --- a/meta-python/recipes-devtools/python/python3-eth-utils_5.3.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Common utility functions for codebases which interact with ethereum." -HOMEPAGE = "https://github.com/ethereum/eth-utils" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d3f53e7cc5bf80b16eff1f4a38c73182" - -SRC_URI[sha256sum] = "c94e2d2abd024a9a42023b4ddc1c645814ff3d6a737b33d5cfd890ebf159c2d1" - -PYPI_PACKAGE = "eth_utils" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += " \ - python3-eth-hash \ - python3-eth-typing \ - python3-setuptools \ - python3-toolz \ - python3-pydantic \ -" diff --git a/meta-python/recipes-devtools/python/python3-eth-utils_6.0.0.bb b/meta-python/recipes-devtools/python/python3-eth-utils_6.0.0.bb new file mode 100644 index 00000000000..36d787746e7 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-eth-utils_6.0.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Common utility functions for codebases which interact with ethereum." +HOMEPAGE = "https://github.com/ethereum/eth-utils" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d3f53e7cc5bf80b16eff1f4a38c73182" + +SRC_URI[sha256sum] = "eb54b2f82dd300d3142c49a89da195e823f5e5284d43203593f87c67bad92a96" + +PYPI_PACKAGE = "eth_utils" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + python3-eth-hash \ + python3-eth-typing \ + python3-setuptools \ + python3-toolz \ + python3-pydantic \ +" diff --git a/meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb b/meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb deleted file mode 100644 index 993dfca1e6b..00000000000 --- a/meta-python/recipes-devtools/python/python3-evdev_1.9.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Python evdev lib" -HOMEPAGE = "https://github.com/gvalkov/python-evdev" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d7bd1cc4c71b706c7e2d4053aef50f2a" - -SRC_URI[sha256sum] = "5d3278892ce1f92a74d6bf888cc8525d9f68af85dbe336c95d1c87fb8f423069" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -do_compile:prepend() { - rm -rf ${S}/evdev/ecodes.c -} - -PEP517_BUILD_OPTS = "--config-setting=--build-option='build_ecodes \ - --evdev-headers ${STAGING_DIR_TARGET}/usr/include/linux/input.h:${STAGING_DIR_TARGET}/usr/include/linux/input-event-codes.h:${STAGING_DIR_TARGET}/usr/include/linux/uinput.h \ - --reproducible'" - -RDEPENDS:${PN} += "\ - python3-ctypes \ - python3-fcntl \ - python3-io \ - python3-shell \ - python3-stringold \ - " diff --git a/meta-python/recipes-devtools/python/python3-evdev_1.9.3.bb b/meta-python/recipes-devtools/python/python3-evdev_1.9.3.bb new file mode 100644 index 00000000000..ac687afbb45 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-evdev_1.9.3.bb @@ -0,0 +1,24 @@ +SUMMARY = "Python evdev lib" +HOMEPAGE = "https://github.com/gvalkov/python-evdev" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d7bd1cc4c71b706c7e2d4053aef50f2a" + +SRC_URI[sha256sum] = "2c140e01ac8437758fa23fe5c871397412461f42d421aa20241dc8fe8cfccbc9" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +do_compile:prepend() { + rm -rf ${S}/evdev/ecodes.c +} + +PEP517_BUILD_OPTS = "--config-setting=--build-option='build_ecodes \ + --evdev-headers ${STAGING_DIR_TARGET}/usr/include/linux/input.h:${STAGING_DIR_TARGET}/usr/include/linux/input-event-codes.h:${STAGING_DIR_TARGET}/usr/include/linux/uinput.h \ + --reproducible'" + +RDEPENDS:${PN} += "\ + python3-ctypes \ + python3-fcntl \ + python3-io \ + python3-shell \ + python3-stringold \ + " diff --git a/meta-python/recipes-devtools/python/python3-eventlet_0.40.4.bb b/meta-python/recipes-devtools/python/python3-eventlet_0.40.4.bb deleted file mode 100644 index 213460dc706..00000000000 --- a/meta-python/recipes-devtools/python/python3-eventlet_0.40.4.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Highly concurrent networking library" -HOMEPAGE = "https://pypi.python.org/pypi/eventlet" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778" - -SRC_URI += "file://d19ad6cc086684ee74db250f5fd35227c98e678a.patch" -SRC_URI[sha256sum] = "69bef712b1be18b4930df6f0c495d2a882bf7b63aa111e7b6eeff461cfcaf26f" - -CVE_PRODUCT = "eventlet" - -inherit pypi python_hatchling - -DEPENDS += "python3-hatch-vcs-native" - -RDEPENDS:${PN} += " \ - python3-dnspython \ - python3-six \ - python3-greenlet \ -" diff --git a/meta-python/recipes-devtools/python/python3-eventlet_0.41.0.bb b/meta-python/recipes-devtools/python/python3-eventlet_0.41.0.bb new file mode 100644 index 00000000000..3c27caf9683 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-eventlet_0.41.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Highly concurrent networking library" +HOMEPAGE = "https://pypi.python.org/pypi/eventlet" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778" + +SRC_URI += "file://d19ad6cc086684ee74db250f5fd35227c98e678a.patch" +SRC_URI[sha256sum] = "35df85f0ccd3e73effb6fd9f1ceae46b500b966c7da1817289c323a307bd397b" + +CVE_PRODUCT = "eventlet" + +inherit pypi python_hatchling + +DEPENDS += "python3-hatch-vcs-native" + +RDEPENDS:${PN} += " \ + python3-dnspython \ + python3-six \ + python3-greenlet \ +" diff --git a/meta-python/recipes-devtools/python/python3-faker_40.1.2.bb b/meta-python/recipes-devtools/python/python3-faker_40.1.2.bb deleted file mode 100644 index 2a9970a91ce..00000000000 --- a/meta-python/recipes-devtools/python/python3-faker_40.1.2.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "Faker is a Python package that generates fake data for you." -DESCRIPTION = "Faker is a Python package that generates fake data for you. \ -Whether you need to bootstrap your database, create good-looking XML documents, \ -fill-in your persistence to stress test it, or anonymize data taken from a \ -production service, Faker is for you." -HOMEPAGE = "https://github.com/joke2k/faker" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=53360c4126f7d03b63cb79b0dab9e9e1" - -SRC_URI[sha256sum] = "b76a68163aa5f171d260fc24827a8349bc1db672f6a665359e8d0095e8135d30" - -inherit pypi setuptools3 ptest-python-pytest - -SRC_URI += "file://pytest.ini" - -PACKAGECONFIG ?= "tzdata" -PACKAGECONFIG[tzdata] = ",,,python3-tzdata" - -RDEPENDS:${PN} += "\ - python3-compression \ - python3-core \ - python3-crypt \ - python3-datetime \ - python3-image \ - python3-json \ - python3-logging \ - python3-math \ - python3-netclient \ - python3-numbers \ - python3-pickle \ - python3-pytest \ - python3-stringold \ - python3-unittest \ - python3-xml \ - python3-zoneinfo \ - " - -RDEPENDS:${PN}-ptest += "\ - python3-freezegun \ - python3-validators \ -" - -do_install_ptest:append() { - install ${UNPACKDIR}/pytest.ini ${D}${PTEST_PATH}/ - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - diff --git a/meta-python/recipes-devtools/python/python3-faker_40.13.0.bb b/meta-python/recipes-devtools/python/python3-faker_40.13.0.bb new file mode 100644 index 00000000000..97f0e6e8f65 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-faker_40.13.0.bb @@ -0,0 +1,48 @@ +SUMMARY = "Faker is a Python package that generates fake data for you." +DESCRIPTION = "Faker is a Python package that generates fake data for you. \ +Whether you need to bootstrap your database, create good-looking XML documents, \ +fill-in your persistence to stress test it, or anonymize data taken from a \ +production service, Faker is for you." +HOMEPAGE = "https://github.com/joke2k/faker" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=53360c4126f7d03b63cb79b0dab9e9e1" + +SRC_URI[sha256sum] = "a0751c84c3abac17327d7bb4c98e8afe70ebf7821e01dd7d0b15cd8856415525" + +inherit pypi setuptools3 ptest-python-pytest + +SRC_URI += "file://pytest.ini" + +PACKAGECONFIG ?= "tzdata" +PACKAGECONFIG[tzdata] = ",,,python3-tzdata" + +RDEPENDS:${PN} += "\ + python3-compression \ + python3-core \ + python3-crypt \ + python3-datetime \ + python3-image \ + python3-json \ + python3-logging \ + python3-math \ + python3-netclient \ + python3-numbers \ + python3-pickle \ + python3-pytest \ + python3-stringold \ + python3-unittest \ + python3-xml \ + python3-zoneinfo \ + " + +RDEPENDS:${PN}-ptest += "\ + python3-freezegun \ + python3-validators \ +" + +do_install_ptest:append() { + install ${UNPACKDIR}/pytest.ini ${D}${PTEST_PATH}/ + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + diff --git a/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.20.bb b/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.20.bb deleted file mode 100644 index 76ddb409bc4..00000000000 --- a/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.20.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Run and manage FastAPI apps from the command line with FastAPI CLI" -HOMEPAGE = "https://fastapi.tiangolo.com/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e0cf8d811ea2046529403707b266fb5a" - -SRC_URI[sha256sum] = "d17c2634f7b96b6b560bc16b0035ed047d523c912011395f49f00a421692bc3a" - -inherit pypi python_pdm - -PYPI_PACKAGE = "fastapi_cli" - -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -RDEPENDS:${PN} += "\ - python3-difflib \ - python3-pydantic \ - python3-rich-toolkit \ - python3-typer \ - python3-uvicorn \ -" diff --git a/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.24.bb b/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.24.bb new file mode 100644 index 00000000000..90624b86a5a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.24.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Run and manage FastAPI apps from the command line with FastAPI CLI" +HOMEPAGE = "https://fastapi.tiangolo.com/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e0cf8d811ea2046529403707b266fb5a" + +SRC_URI[sha256sum] = "1afc9c9e21d7ebc8a3ca5e31790cd8d837742be7e4f8b9236e99cb3451f0de00" + +inherit pypi python_pdm + +PYPI_PACKAGE = "fastapi_cli" + +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN} += "\ + python3-difflib \ + python3-pydantic \ + python3-rich-toolkit \ + python3-typer \ + python3-uvicorn \ +" diff --git a/meta-python/recipes-devtools/python/python3-fastapi_0.128.0.bb b/meta-python/recipes-devtools/python/python3-fastapi_0.128.0.bb deleted file mode 100644 index f047f5321a7..00000000000 --- a/meta-python/recipes-devtools/python/python3-fastapi_0.128.0.bb +++ /dev/null @@ -1,38 +0,0 @@ -DESCRIPTION = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -HOMEPAGE = "https://fastapi.tiangolo.com/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=95792ff3fe8e11aa49ceb247e66e4810" - -SRC_URI[sha256sum] = "1cc179e1cef10a6be60ffe429f79b829dce99d8de32d7acb7e6c8dfdf7f2645a" - -SRC_URI += "file://run-ptest" - -CVE_PRODUCT = "tiangolo:fastapi" - -inherit pypi python_pdm ptest-python-pytest - -PACKAGECONFIG ?= "" -# swagger-ui is in meta-webserver that meta-python does not depend upon -# Users can still enable it in their distros explicitly but its disabled -# by default -PACKAGECONFIG[swagger-ui] = ",,,swagger-ui" - -RDEPENDS:${PN} += "\ - python3-annotated-doc \ - python3-fastapi-cli \ - python3-json \ - python3-pydantic \ - python3-starlette \ - python3-typing-extensions \ -" - -RDEPENDS:${PN}-ptest += "\ - python3-coverage \ - python3-httpx \ - python3-orjson \ - python3-dirty-equals \ - python3-pytest-httpx \ - python3-python-multipart \ - python3-sqlalchemy \ - python3-trio \ -" diff --git a/meta-python/recipes-devtools/python/python3-fastapi_0.135.3.bb b/meta-python/recipes-devtools/python/python3-fastapi_0.135.3.bb new file mode 100644 index 00000000000..a4bdb19bbff --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-fastapi_0.135.3.bb @@ -0,0 +1,38 @@ +DESCRIPTION = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +HOMEPAGE = "https://fastapi.tiangolo.com/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=95792ff3fe8e11aa49ceb247e66e4810" + +SRC_URI[sha256sum] = "bd6d7caf1a2bdd8d676843cdcd2287729572a1ef524fc4d65c17ae002a1be654" + +SRC_URI += "file://run-ptest" + +CVE_PRODUCT = "tiangolo:fastapi" + +inherit pypi python_pdm ptest-python-pytest + +PACKAGECONFIG ?= "" +# swagger-ui is in meta-webserver that meta-python does not depend upon +# Users can still enable it in their distros explicitly but its disabled +# by default +PACKAGECONFIG[swagger-ui] = ",,,swagger-ui" + +RDEPENDS:${PN} += "\ + python3-annotated-doc \ + python3-fastapi-cli \ + python3-json \ + python3-pydantic \ + python3-starlette \ + python3-typing-extensions \ +" + +RDEPENDS:${PN}-ptest += "\ + python3-coverage \ + python3-httpx \ + python3-orjson \ + python3-dirty-equals \ + python3-pytest-httpx \ + python3-python-multipart \ + python3-sqlalchemy \ + python3-trio \ +" diff --git a/meta-python/recipes-devtools/python/python3-filelock_3.20.3.bb b/meta-python/recipes-devtools/python/python3-filelock_3.20.3.bb deleted file mode 100644 index 4499b220bde..00000000000 --- a/meta-python/recipes-devtools/python/python3-filelock_3.20.3.bb +++ /dev/null @@ -1,29 +0,0 @@ -# SPDX-License-Identifier: MIT -# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors -SUMMARY = "A single module, which implements a platform independent file lock in Python, which provides a simple way of inter-process communication" -HOMEPAGE = "https://py-filelock.readthedocs.io/" -LICENSE = "Unlicense" -LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f" - -SRC_URI += "file://run-ptest" -SRC_URI[sha256sum] = "18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1" - -BBCLASSEXTEND = "native nativesdk" - -inherit pypi python_hatchling ptest-python-pytest - -DEPENDS += "\ - python3-hatch-vcs-native \ -" - -RDEPENDS:${PN} += " \ - python3-core \ - python3-logging \ - python3-asyncio \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-pytest-asyncio \ - python3-pytest-mock \ - python3-virtualenv \ -" diff --git a/meta-python/recipes-devtools/python/python3-filelock_3.25.2.bb b/meta-python/recipes-devtools/python/python3-filelock_3.25.2.bb new file mode 100644 index 00000000000..6f1a32ef8f3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-filelock_3.25.2.bb @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: MIT +# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors +SUMMARY = "A single module, which implements a platform independent file lock in Python, which provides a simple way of inter-process communication" +HOMEPAGE = "https://py-filelock.readthedocs.io/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2c6acbdf7bb74caa37512c3a5ca6857b" + +SRC_URI += "file://run-ptest" +SRC_URI[sha256sum] = "b64ece2b38f4ca29dd3e810287aa8c48182bbecd1ae6e9ae126c9b35f1382694" + +BBCLASSEXTEND = "native nativesdk" + +inherit pypi python_hatchling ptest-python-pytest + +DEPENDS += "\ + python3-hatch-vcs-native \ +" + +RDEPENDS:${PN} += " \ + python3-core \ + python3-logging \ + python3-asyncio \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest-asyncio \ + python3-pytest-mock \ + python3-virtualenv \ +" diff --git a/meta-python/recipes-devtools/python/python3-flask-cors_5.0.0.bb b/meta-python/recipes-devtools/python/python3-flask-cors_5.0.0.bb deleted file mode 100644 index 1fead4f8d10..00000000000 --- a/meta-python/recipes-devtools/python/python3-flask-cors_5.0.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -HOMEPAGE = "https://pypi.python.org/pypi/Flask-Cors/" -SUMMARY = "A Flask extension adding a decorator for CORS support" -DESCRIPTION = "\ - A Flask extension for handling Cross Origin Resource Sharing (CORS), making cross-origin AJAX possible \ - " -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=118fecaa576ab51c1520f95e98db61ce" - -PYPI_PACKAGE = "flask_cors" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -CVE_PRODUCT = "flask-cors" - -inherit pypi setuptools3 -SRC_URI[sha256sum] = "5aadb4b950c4e93745034594d9f3ea6591f734bb3662e16e255ffbf5e89c88ef" - -RDEPENDS:${PN} += "python3-flask" diff --git a/meta-python/recipes-devtools/python/python3-flask-cors_6.0.2.bb b/meta-python/recipes-devtools/python/python3-flask-cors_6.0.2.bb new file mode 100644 index 00000000000..6134b5ba108 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask-cors_6.0.2.bb @@ -0,0 +1,18 @@ +HOMEPAGE = "https://pypi.python.org/pypi/Flask-Cors/" +SUMMARY = "A Flask extension adding a decorator for CORS support" +DESCRIPTION = "\ + A Flask extension for handling Cross Origin Resource Sharing (CORS), making cross-origin AJAX possible \ + " +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=134f1026f0de92fd30e71976590a2868" + +PYPI_PACKAGE = "flask_cors" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +CVE_PRODUCT = "flask-cors" + +inherit pypi python_setuptools_build_meta +SRC_URI[sha256sum] = "6e118f3698249ae33e429760db98ce032a8bf9913638d085ca0f4c5534ad2423" + +RDEPENDS:${PN} += "python3-flask" diff --git a/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.6.0.bb b/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.6.0.bb deleted file mode 100644 index e188f2b09cd..00000000000 --- a/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.6.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Extended JWT integration with Flask" -HOMEPAGE = "https://github.com/vimalloc/flask-jwt-extended" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9166295d7c482b9440bbb2b5c0fa43ac" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "Flask-JWT-Extended" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -SRC_URI[sha256sum] = "9215d05a9413d3855764bcd67035e75819d23af2fafb6b55197eb5a3313fdfb2" - -RDEPENDS:${PN} += "\ - python3-werkzeug \ - python3-flask \ - python3-pyjwt \ - " diff --git a/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.7.1.bb b/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.7.1.bb new file mode 100644 index 00000000000..b36ea81d970 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.7.1.bb @@ -0,0 +1,17 @@ +SUMMARY = "Extended JWT integration with Flask" +HOMEPAGE = "https://github.com/vimalloc/flask-jwt-extended" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9166295d7c482b9440bbb2b5c0fa43ac" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "flask_jwt_extended" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +SRC_URI[sha256sum] = "8085d6757505b6f3291a2638c84d207e8f0ad0de662d1f46aa2f77e658a0c976" + +RDEPENDS:${PN} += "\ + python3-werkzeug \ + python3-flask \ + python3-pyjwt \ + " diff --git a/meta-python/recipes-devtools/python/python3-flask-limiter_4.1.1.bb b/meta-python/recipes-devtools/python/python3-flask-limiter_4.1.1.bb new file mode 100644 index 00000000000..7c2e18ffbaf --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask-limiter_4.1.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "Rate Limiting extension for Flask" +DESCRIPTION = "Flask-Limiter adds rate limiting to Flask applications." +HOMEPAGE = "https://github.com/alisaifee/flask-limiter" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2455d5e574bc0fc489411ca45766ac78" + +SRC_URI[sha256sum] = "ca11608fc7eec43dcea606964ca07c3bd4ec1ae89043a0f67f717899a4f48106" + +PYPI_PACKAGE = "flask_limiter" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi python_hatchling + +DEPENDS += "python3-hatch-vcs-native" + +RDEPENDS:${PN} += " \ + python3-flask \ + python3-limits \ + python3-ordered-set \ + python3-werkzeug \ +" diff --git a/meta-python/recipes-devtools/python/python3-flask-mail_0.10.0.bb b/meta-python/recipes-devtools/python/python3-flask-mail_0.10.0.bb new file mode 100644 index 00000000000..5d3f60cff09 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask-mail_0.10.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Flask extension for sending email" +DESCRIPTION = "A Flask extension for sending email" +HOMEPAGE = " https://github.com/rduplain/flask-email" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=201f2b80112efa61b78515bd54e9f138" + +SRC_URI[sha256sum] = "44083e7b02bbcce792209c06252f8569dd5a325a7aaa76afe7330422bd97881d" + +PYPI_PACKAGE = "flask_mail" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} = " \ + python3-blinker \ + python3-flask \ +" diff --git a/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb b/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb deleted file mode 100644 index c5b839eb72b..00000000000 --- a/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Flask extension for sending email" -DESCRIPTION = "A Flask extension for sending email" -HOMEPAGE = " https://github.com/rduplain/flask-email" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5b16dfa6d3f275ace5985bb92949f770" - -SRC_URI[sha256sum] = "22e5eb9a940bf407bcf30410ecc3708f3c56cc44b29c34e1726fe85006935f41" - -PYPI_PACKAGE = "Flask-Mail" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -inherit pypi setuptools3 - -RDEPENDS:${PN} = " \ - python3-blinker \ - python3-flask \ -" diff --git a/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.3.0.bb b/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.3.0.bb deleted file mode 100644 index f0cc8ef64fd..00000000000 --- a/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.3.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Flask + marshmallow for beautiful APIs" -HOMEPAGE = "https://github.com/marshmallow-code/flask-marshmallow" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=27586b20700d7544c06933afe56f7df4" - -inherit pypi python_flit_core - -PYPI_PACKAGE = "flask_marshmallow" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -SRC_URI[sha256sum] = "27a35d0ce5dcba161cc5f2f4764afbc2536c93fa439a793250b827835e3f3be6" - -RDEPENDS:${PN} += "\ - python3-flask \ - python3-marshmallow \ - " diff --git a/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.4.0.bb b/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.4.0.bb new file mode 100644 index 00000000000..189ed5335b0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.4.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Flask + marshmallow for beautiful APIs" +HOMEPAGE = "https://github.com/marshmallow-code/flask-marshmallow" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=27586b20700d7544c06933afe56f7df4" + +inherit pypi python_flit_core + +PYPI_PACKAGE = "flask_marshmallow" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +SRC_URI[sha256sum] = "98c90a253052c72d2ddddc925539ac33bbd780c6fba86478ffe18e3b89d8b471" + +RDEPENDS:${PN} += "\ + python3-flask \ + python3-marshmallow \ + " diff --git a/meta-python/recipes-devtools/python/python3-flask-migrate_4.0.7.bb b/meta-python/recipes-devtools/python/python3-flask-migrate_4.0.7.bb deleted file mode 100644 index bacf7851aaf..00000000000 --- a/meta-python/recipes-devtools/python/python3-flask-migrate_4.0.7.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85" - -SRC_URI[sha256sum] = "dff7dd25113c210b069af280ea713b883f3840c1e3455274745d7355778c8622" - -PYPI_PACKAGE = "Flask-Migrate" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} += "\ - python3-flask-sqlalchemy \ - python3-alembic \ - python3-flask \ - " diff --git a/meta-python/recipes-devtools/python/python3-flask-migrate_4.1.0.bb b/meta-python/recipes-devtools/python/python3-flask-migrate_4.1.0.bb new file mode 100644 index 00000000000..7cdada071f7 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask-migrate_4.1.0.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85" + +SRC_URI[sha256sum] = "1a336b06eb2c3ace005f5f2ded8641d534c18798d64061f6ff11f79e1434126d" + +PYPI_PACKAGE = "flask_migrate" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += "\ + python3-flask-sqlalchemy \ + python3-alembic \ + python3-flask \ + " diff --git a/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb b/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb deleted file mode 100644 index 75a52a033ee..00000000000 --- a/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "PyMongo support for Flask applications" -DESCRIPTION = "PyMongo support for Flask applications." -HOMEPAGE = "https://github.com/mitsuhiko/flask/" -SECTION = "devel/python" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;beginline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d" - -SRC_URI[sha256sum] = "620eb02dc8808a5fcb90f26cab6cba9d6bf497b15032ae3ca99df80366e33314" - -PYPI_PACKAGE = "Flask-PyMongo" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -inherit pypi setuptools3 - -DEPENDS = "python3-vcversioner python3-vcversioner-native" - -RDEPENDS:${PN} = "python3-pymongo python3-flask" diff --git a/meta-python/recipes-devtools/python/python3-flask-pymongo_3.0.1.bb b/meta-python/recipes-devtools/python/python3-flask-pymongo_3.0.1.bb new file mode 100644 index 00000000000..7773e2830e3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask-pymongo_3.0.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "PyMongo support for Flask applications" +DESCRIPTION = "PyMongo support for Flask applications." +HOMEPAGE = "https://github.com/mitsuhiko/flask/" +SECTION = "devel/python" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;beginline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d" + +SRC_URI[sha256sum] = "d225b51c21ceca2e670e6cca79b5c584ad17b96252b48e84e3b423ddb73304cc" + +PYPI_PACKAGE = "flask_pymongo" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi python_setuptools_build_meta python_hatchling + +DEPENDS = " \ + python3-vcversioner \ + python3-vcversioner-native \ + python3-hatchling-native \ +" + +RDEPENDS:${PN} = "python3-pymongo python3-flask" diff --git a/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.6.bb b/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.6.bb deleted file mode 100644 index 7371d7646c4..00000000000 --- a/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.6.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Socket.IO integration for Flask applications" -HOMEPAGE = "https://github.com/miguelgrinberg/Flask-SocketIO/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=38cc21254909604298ce763a6e4440a0" - -inherit pypi python_setuptools_build_meta - -PYPI_PACKAGE = "Flask-SocketIO" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -SRC_URI[sha256sum] = "bb8f9f9123ef47632f5ce57a33514b0c0023ec3696b2384457f0fcaa5b70501c" - -RDEPENDS:${PN} += "\ - python3-flask \ - python3-socketio \ - " diff --git a/meta-python/recipes-devtools/python/python3-flask-socketio_5.6.1.bb b/meta-python/recipes-devtools/python/python3-flask-socketio_5.6.1.bb new file mode 100644 index 00000000000..9e94d207481 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask-socketio_5.6.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "Socket.IO integration for Flask applications" +HOMEPAGE = "https://github.com/miguelgrinberg/Flask-SocketIO/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=38cc21254909604298ce763a6e4440a0" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "flask_socketio" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +SRC_URI[sha256sum] = "fe5bd995c3ed4da9a98f335d0d830fa1a19d84a64789f6265642a671fdacaeac" + +RDEPENDS:${PN} += "\ + python3-flask \ + python3-socketio \ + " diff --git a/meta-python/recipes-devtools/python/python3-flask_3.1.2.bb b/meta-python/recipes-devtools/python/python3-flask_3.1.2.bb deleted file mode 100644 index 1b289c7227b..00000000000 --- a/meta-python/recipes-devtools/python/python3-flask_3.1.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "A microframework based on Werkzeug, Jinja2 and good intentions" -DESCRIPTION = "\ -Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \ -intentions. And before you ask: It’s BSD licensed!" -HOMEPAGE = "https://github.com/pallets/flask" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ffeffa59c90c9c4a033c7574f8f3fb75" - -SRC_URI[sha256sum] = "bf656c15c80190ed628ad08cdfd3aaa35beb087855e2f494910aa3774cc4fd87" - -CVE_PRODUCT = "flask" - -inherit pypi python_flit_core ptest-python-pytest - -CLEANBROKEN = "1" - -RDEPENDS:${PN} = " \ - python3-blinker \ - python3-click \ - python3-importlib-metadata \ - python3-itsdangerous \ - python3-jinja2 \ - python3-werkzeug \ -" - -RDEPENDS:${PN}-ptest += "\ - python3-asgiref \ -" diff --git a/meta-python/recipes-devtools/python/python3-flask_3.1.3.bb b/meta-python/recipes-devtools/python/python3-flask_3.1.3.bb new file mode 100644 index 00000000000..559f781e7ee --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-flask_3.1.3.bb @@ -0,0 +1,28 @@ +SUMMARY = "A microframework based on Werkzeug, Jinja2 and good intentions" +DESCRIPTION = "\ +Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \ +intentions. And before you ask: It is BSD licensed!" +HOMEPAGE = "https://github.com/pallets/flask" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ffeffa59c90c9c4a033c7574f8f3fb75" + +SRC_URI[sha256sum] = "0ef0e52b8a9cd932855379197dd8f94047b359ca0a78695144304cb45f87c9eb" + +CVE_PRODUCT = "flask" + +inherit pypi python_flit_core ptest-python-pytest + +CLEANBROKEN = "1" + +RDEPENDS:${PN} = " \ + python3-blinker \ + python3-click \ + python3-importlib-metadata \ + python3-itsdangerous \ + python3-jinja2 \ + python3-werkzeug \ +" + +RDEPENDS:${PN}-ptest += "\ + python3-asgiref \ +" diff --git a/meta-python/recipes-devtools/python/python3-fsspec_2025.12.0.bb b/meta-python/recipes-devtools/python/python3-fsspec_2025.12.0.bb deleted file mode 100644 index ea3e63968f6..00000000000 --- a/meta-python/recipes-devtools/python/python3-fsspec_2025.12.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "A specification that python filesystems should adhere to." -HOMEPAGE = "https://github.com/fsspec/filesystem_spec" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b38a11bf4dcdfc66307f8515ce1fbaa6" - -SRC_URI[sha256sum] = "c505de011584597b1060ff778bb664c1bc022e87921b0e4f10cc9c44f9635973" - -inherit pypi python_hatchling ptest - -PYPI_PACKAGE = "fsspec" - -DEPENDS = "python3-hatch-vcs-native python3-hatchling-native" - -RDEPENDS:${PN}-ptest += "\ - python3-pytest \ - python3-pytest-mock \ - python3-pytest-asyncio \ - python3-pytest-cov \ - python3-pytest-benchmark \ - python3-aiohttp \ - python3-numpy \ - python3-requests \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-fsspec_2026.3.0.bb b/meta-python/recipes-devtools/python/python3-fsspec_2026.3.0.bb new file mode 100644 index 00000000000..4b81c6040f2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-fsspec_2026.3.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "A specification that python filesystems should adhere to." +HOMEPAGE = "https://github.com/fsspec/filesystem_spec" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b38a11bf4dcdfc66307f8515ce1fbaa6" + +SRC_URI[sha256sum] = "1ee6a0e28677557f8c2f994e3eea77db6392b4de9cd1f5d7a9e87a0ae9d01b41" + +inherit pypi python_hatchling ptest + +PYPI_PACKAGE = "fsspec" + +DEPENDS = "python3-hatch-vcs-native python3-hatchling-native" + +RDEPENDS:${PN}-ptest += "\ + python3-pytest \ + python3-pytest-mock \ + python3-pytest-asyncio \ + python3-pytest-cov \ + python3-pytest-benchmark \ + python3-aiohttp \ + python3-numpy \ + python3-requests \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-gcovr_8.5.bb b/meta-python/recipes-devtools/python/python3-gcovr_8.5.bb deleted file mode 100644 index 68cc9bc274b..00000000000 --- a/meta-python/recipes-devtools/python/python3-gcovr_8.5.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "generate GCC code coverage reports" -HOMEPAGE = "https://gcovr.com" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ba06c93410cc51bafc66fa06456879bf" - -SRC_URI = " \ - git://github.com/gcovr/gcovr.git;branch=main;protocol=https \ - file://0001-pyproject.toml-Support-newer-versions.patch \ -" -SRCREV = "71eedb8f300612d4095f2ffa4ac60e3fdd58c192" - - -inherit python_hatchling - -DEPENDS += " \ - python3-hatchling-native \ - python3-hatch-vcs-native \ - python3-hatch-fancy-pypi-readme-native \ -" - -RDEPENDS:${PN} += " \ - python3-colorlog \ - python3-jinja2 \ - python3-lxml \ - python3-multiprocessing \ - python3-pygments \ - python3-setuptools \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-gcovr_8.6.bb b/meta-python/recipes-devtools/python/python3-gcovr_8.6.bb new file mode 100644 index 00000000000..3098681bef3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gcovr_8.6.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "generate GCC code coverage reports" +HOMEPAGE = "https://gcovr.com" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ba06c93410cc51bafc66fa06456879bf" + +SRC_URI = " \ + git://github.com/gcovr/gcovr.git;branch=main;protocol=https \ + file://0001-pyproject.toml-Support-newer-versions.patch \ +" +SRCREV = "e01ad73582821b5f90e079482164f8e885121e57" + + +inherit python_hatchling + +DEPENDS += " \ + python3-hatchling-native \ + python3-hatch-vcs-native \ + python3-hatch-fancy-pypi-readme-native \ +" + +RDEPENDS:${PN} += " \ + python3-colorlog \ + python3-jinja2 \ + python3-lxml \ + python3-multiprocessing \ + python3-pygments \ + python3-setuptools \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-gevent_25.9.1.bb b/meta-python/recipes-devtools/python/python3-gevent_25.9.1.bb deleted file mode 100644 index 51861f24c7b..00000000000 --- a/meta-python/recipes-devtools/python/python3-gevent_25.9.1.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "A coroutine-based Python networking library" -DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \ -a high-level synchronous API on top of the libevent event loop." -HOMEPAGE = "https://www.gevent.org" -LICENSE = "MIT & Python-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65" -DEPENDS += "python3-greenlet-native python3-greenlet libev libuv python3-cffi-native" - -RDEPENDS:${PN} = "python3-greenlet \ - python3-mime \ - python3-pprint \ - python3-zopeevent \ - python3-zopeinterface \ - " - -SRC_URI += "file://0001-_setuputils.py-Do-not-add-sys_inc_dir.patch" - -SRC_URI[sha256sum] = "adf9cd552de44a4e6754c51ff2e78d9193b7fa6eab123db9578a210e657235dd" - -CVE_PRODUCT = "gevent" - -inherit pypi python_setuptools_build_meta cython - -# Don't embed libraries, link to the system provided libs instead -export GEVENTSETUP_EMBED_CARES = "0" -export GEVENTSETUP_EMBED_LIBEV = "0" -export GEVENTSETUP_EMBED_LIBUV = "0" - -do_configure:append() { - # Delete the embedded copies of libraries so we can't accidentally link to them - rm -rf ${S}/deps - - # Delete the generated cython files, as they are all out of date with python 3.11 - rm -rf ${S}/src/gevent/*.c -} - -# http://errors.yoctoproject.org/Errors/Details/766918/ -# src/gevent/queue.c:11894:83: error: passing argument 1 of '__pyx_vtabptr_6gevent_14_gevent_cqueue_UnboundQueue->__pyx_base.put' from incompatible pointer type [-Wincompatible-pointer-types] -# src/gevent/queue.c:11894:114: error: passing argument 4 of '__pyx_vtabptr_6gevent_14_gevent_cqueue_UnboundQueue->__pyx_base.put' from incompatible pointer type [-Wincompatible-pointer-types] -CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta-python/recipes-devtools/python/python3-gevent_26.4.0.bb b/meta-python/recipes-devtools/python/python3-gevent_26.4.0.bb new file mode 100644 index 00000000000..c29b55d25d1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gevent_26.4.0.bb @@ -0,0 +1,40 @@ +SUMMARY = "A coroutine-based Python networking library" +DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \ +a high-level synchronous API on top of the libevent event loop." +HOMEPAGE = "https://www.gevent.org" +LICENSE = "MIT & Python-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65" +DEPENDS += "python3-greenlet-native python3-greenlet libev libuv python3-cffi-native" + +RDEPENDS:${PN} = "python3-greenlet \ + python3-mime \ + python3-pprint \ + python3-zopeevent \ + python3-zopeinterface \ + " + +SRC_URI += "file://0001-_setuputils.py-Do-not-add-sys_inc_dir.patch" + +SRC_URI[sha256sum] = "288d03addfccf0d1c67268358b6759b04392bf3bc35d26f3d9a45c82899c292d" + +CVE_PRODUCT = "gevent" + +inherit pypi python_setuptools_build_meta cython + +# Don't embed libraries, link to the system provided libs instead +export GEVENTSETUP_EMBED_CARES = "0" +export GEVENTSETUP_EMBED_LIBEV = "0" +export GEVENTSETUP_EMBED_LIBUV = "0" + +do_configure:append() { + # Delete the embedded copies of libraries so we can't accidentally link to them + rm -rf ${S}/deps + + # Delete the generated cython files, as they are all out of date with python 3.11 + rm -rf ${S}/src/gevent/*.c +} + +# http://errors.yoctoproject.org/Errors/Details/766918/ +# src/gevent/queue.c:11894:83: error: passing argument 1 of '__pyx_vtabptr_6gevent_14_gevent_cqueue_UnboundQueue->__pyx_base.put' from incompatible pointer type [-Wincompatible-pointer-types] +# src/gevent/queue.c:11894:114: error: passing argument 4 of '__pyx_vtabptr_6gevent_14_gevent_cqueue_UnboundQueue->__pyx_base.put' from incompatible pointer type [-Wincompatible-pointer-types] +CFLAGS += "-Wno-error=incompatible-pointer-types" diff --git a/meta-python/recipes-devtools/python/python3-git-pw_2.7.1.bb b/meta-python/recipes-devtools/python/python3-git-pw_2.7.1.bb deleted file mode 100644 index 6308732f49f..00000000000 --- a/meta-python/recipes-devtools/python/python3-git-pw_2.7.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "A tool for integrating Git with Patchwork" -HOMEPAGE = "https://github.com/getpatchwork/git-pw" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=26e1a171d943c64f00c51f90c256b9d4" - -SRC_URI[sha256sum] = "f69c57aafd13d21d6fa604dff680c4f9113a8f31bf3f65dd663bad0e1839b0e1" -PYPI_PACKAGE = "git_pw" - -inherit pypi python_setuptools_build_meta - -DEPENDS += " \ - python3-pbr-native \ -" - -RDEPENDS:${PN} += " \ - python3-arrow \ - python3-click \ - python3-pyyaml \ - python3-requests \ - python3-tabulate \ -" diff --git a/meta-python/recipes-devtools/python/python3-git-pw_2.8.0.bb b/meta-python/recipes-devtools/python/python3-git-pw_2.8.0.bb new file mode 100644 index 00000000000..4cb8621ad83 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-git-pw_2.8.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "A tool for integrating Git with Patchwork" +HOMEPAGE = "https://github.com/getpatchwork/git-pw" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=26e1a171d943c64f00c51f90c256b9d4" + +SRC_URI[sha256sum] = "212743923badb38b9da658b0df0b9f3770997684a9e787d489eed5d103e96100" +PYPI_PACKAGE = "git_pw" + +inherit pypi python_setuptools_build_meta + +DEPENDS += " \ + python3-pbr-native \ +" + +RDEPENDS:${PN} += " \ + python3-arrow \ + python3-click \ + python3-pyyaml \ + python3-requests \ + python3-tabulate \ +" diff --git a/meta-python/recipes-devtools/python/python3-gmpy2/0001-Avoid-do_configure-requires-check-error.patch b/meta-python/recipes-devtools/python/python3-gmpy2/0001-Avoid-do_configure-requires-check-error.patch new file mode 100644 index 00000000000..3c602cebe5f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gmpy2/0001-Avoid-do_configure-requires-check-error.patch @@ -0,0 +1,29 @@ +Subject: [PATCH] Avoid do_configure requires check error. + +The gmpy2-2.3.0 need setuptools < 80, but version in oe-core is 80.9.0, +so fix it to avoid following error. + +| ERROR Missing dependencies: +| setuptools<80,>=77 + +Upstream-Status: Inappropriate + +Signed-off-by: Liu Yiding +--- + pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 1f00809..3a4f3e2 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,5 +1,5 @@ + [build-system] +-requires = ['setuptools>=77,<80', 'setuptools_scm[toml]>=6.0'] ++requires = ['setuptools>=77', 'setuptools_scm[toml]>=6.0'] + build-backend = 'setuptools.build_meta' + + [project] +-- +2.43.0 + diff --git a/meta-python/recipes-devtools/python/python3-gmpy2_2.2.2.bb b/meta-python/recipes-devtools/python/python3-gmpy2_2.2.2.bb deleted file mode 100644 index 2196616a0e2..00000000000 --- a/meta-python/recipes-devtools/python/python3-gmpy2_2.2.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" -SECTION = "devel/python" -LICENSE = "GPL-3.0-only | LGPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02" - -DEPENDS += "gmp mpfr libmpc" - -SRC_URI[sha256sum] = "d9b8c81e0f5e1a3cabf1ea8d154b29b5ef6e33b8f4e4c37b3da957b2dd6a3fa8" - -inherit pypi python_setuptools_build_meta python3native - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-gmpy2_2.3.0.bb b/meta-python/recipes-devtools/python/python3-gmpy2_2.3.0.bb new file mode 100644 index 00000000000..841d87097de --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gmpy2_2.3.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" +SECTION = "devel/python" +HOMEPAGE = "https://github.com/gmpy2/gmpy2" +LICENSE = "GPL-3.0-only | LGPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02" + +DEPENDS += "gmp mpfr libmpc python3-setuptools-scm-native" + +SRC_URI[sha256sum] = "2d943cc9051fcd6b15b2a09369e2f7e18c526bc04c210782e4da61b62495eb4a" + +SRC_URI += "file://0001-Avoid-do_configure-requires-check-error.patch" + +inherit pypi python_setuptools_build_meta + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.2.3.bb b/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.2.3.bb deleted file mode 100644 index 4b2634a1087..00000000000 --- a/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.2.3.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Google Authentication Library" -DESCRIPTION = "This library provides oauthlib integration with google-auth" -HOMEPAGE = "https://github.com/googleapis/google-auth-library-python-oauthlib" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI += "file://0001-python3-google-auth-oauthlib-Skip-failing-3PI-creden.patch" -SRC_URI[sha256sum] = "eb09e450d3cc789ecbc2b3529cb94a713673fd5f7a22c718ad91cf75aedc2ea4" - -inherit pypi setuptools3 ptest -PYPI_PACKAGE = "google_auth_oauthlib" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-click \ - python3-mock \ - python3-pytest \ - python3-unittest-automake-output \ - python3-unixadmin \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS:${PN} += " \ - python3-google-auth \ - python3-requests-oauthlib \ -" diff --git a/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.3.1.bb b/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.3.1.bb new file mode 100644 index 00000000000..7f9435d4756 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.3.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "Google Authentication Library" +DESCRIPTION = "This library provides oauthlib integration with google-auth" +HOMEPAGE = "https://github.com/googleapis/google-auth-library-python-oauthlib" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI += "file://0001-python3-google-auth-oauthlib-Skip-failing-3PI-creden.patch" +SRC_URI[sha256sum] = "14c22c7b3dd3d06dbe44264144409039465effdd1eef94f7ce3710e486cc4bfa" + +inherit pypi setuptools3 ptest +PYPI_PACKAGE = "google_auth_oauthlib" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-click \ + python3-mock \ + python3-pytest \ + python3-unittest-automake-output \ + python3-unixadmin \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS:${PN} += " \ + python3-google-auth \ + python3-requests-oauthlib \ +" diff --git a/meta-python/recipes-devtools/python/python3-google-auth_2.47.0.bb b/meta-python/recipes-devtools/python/python3-google-auth_2.47.0.bb deleted file mode 100644 index 3b141006a5b..00000000000 --- a/meta-python/recipes-devtools/python/python3-google-auth_2.47.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -DESCRIPTION = "Google Authentication Library" -HOMEPAGE = "https://github.com/googleapis/google-auth-library-python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://0001-python3-google-auth-Skip-mTLS-tests-in-ptest-environ.patch \ - file://run-ptest \ -" -SRC_URI[sha256sum] = "833229070a9dfee1a353ae9877dcd2dec069a8281a4e72e72f77d4a70ff945da" - -PYPI_PACKAGE = "google_auth" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -RDEPENDS:${PN}-ptest += " \ - python3-aioresponses \ - python3-cryptography \ - python3-flask \ - python3-freezegun \ - python3-grpcio \ - python3-mock \ - python3-pyjwt \ - python3-pyopenssl \ - python3-pytest \ - python3-pytest-asyncio \ - python3-pytest-localserver \ - python3-pyu2f \ - python3-requests \ - python3-responses \ - python3-unittest-automake-output \ - python3-unixadmin \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS:${PN} += "\ - python3-cachetools \ - python3-json \ - python3-pyasn1-modules \ - python3-rsa \ -" diff --git a/meta-python/recipes-devtools/python/python3-google-auth_2.49.2.bb b/meta-python/recipes-devtools/python/python3-google-auth_2.49.2.bb new file mode 100644 index 00000000000..fc6df70f453 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-google-auth_2.49.2.bb @@ -0,0 +1,46 @@ +DESCRIPTION = "Google Authentication Library" +HOMEPAGE = "https://github.com/googleapis/google-auth-library-python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://0001-python3-google-auth-Skip-mTLS-tests-in-ptest-environ.patch \ + file://run-ptest \ +" +SRC_URI[sha256sum] = "c1ae38500e73065dcae57355adb6278cf8b5c8e391994ae9cbadbcb9631ab409" + +PYPI_PACKAGE = "google_auth" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN}-ptest += " \ + python3-aioresponses \ + python3-cryptography \ + python3-flask \ + python3-freezegun \ + python3-grpcio \ + python3-mock \ + python3-pyjwt \ + python3-pyopenssl \ + python3-pytest \ + python3-pytest-asyncio \ + python3-pytest-localserver \ + python3-pyu2f \ + python3-requests \ + python3-responses \ + python3-unittest-automake-output \ + python3-unixadmin \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS:${PN} += "\ + python3-cachetools \ + python3-json \ + python3-pyasn1-modules \ + python3-rsa \ +" diff --git a/meta-python/recipes-devtools/python/python3-gpiod_2.4.0.bb b/meta-python/recipes-devtools/python/python3-gpiod_2.4.0.bb deleted file mode 100644 index 405951fe0ca..00000000000 --- a/meta-python/recipes-devtools/python/python3-gpiod_2.4.0.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Python bindings for libgpiod." - -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0" -# The actual license files live in the upstream libgpiod from which the pypi -# package is spun out. -LIC_FILES_CHKSUM = "file://pyproject.toml;beginline=13;endline=13;md5=0fbc720d3e48432ee239eedb6adb0f07" - -SRC_URI += "file://run-ptest" - -SRC_URI[sha256sum] = "9243a1a59d084ec749d1df4a1e2f238ffb9d94515b0d9f5335460175143c3aa1" - -inherit python_setuptools_build_meta python_pep517 ptest pypi - -DEPENDS += " \ - libgpiod \ - python3-setuptools-native \ -" -RDEPENDS:${PN} += " \ - libgpiod (>= 2.1) \ - python3-datetime \ - python3-profile \ -" -RDEPENDS:${PN}-ptest += " \ - libgpiod-gpiosim \ - python3-setuptools \ -" - -export LINK_SYSTEM_LIBGPIOD = "1" - -do_compile_ptest() { - setup_target_config - nativepython3 build_tests.py -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/gpiod-test/gpiosim - install -d ${D}${PTEST_PATH}/gpiod-test/system - install -m 0644 ${S}/tests/*.py ${D}${PTEST_PATH}/gpiod-test/ - install -m 0644 ${B}/tests/gpiosim/_ext* ${D}${PTEST_PATH}/gpiod-test/gpiosim - install -m 0644 ${S}/tests/gpiosim/*.py ${D}${PTEST_PATH}/gpiod-test/gpiosim - install -m 0644 ${B}/tests/system/_ext* ${D}${PTEST_PATH}/gpiod-test/system - install -m 0644 ${S}/tests/system/*.py ${D}${PTEST_PATH}/gpiod-test/system -} - -INSANE_SKIP:${PN}-ptest += "buildpaths" diff --git a/meta-python/recipes-devtools/python/python3-gpiod_2.4.2.bb b/meta-python/recipes-devtools/python/python3-gpiod_2.4.2.bb new file mode 100644 index 00000000000..87765c24821 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gpiod_2.4.2.bb @@ -0,0 +1,43 @@ +SUMMARY = "Python bindings for libgpiod." + +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4b54a1fd55a448865a0b32d41598759d" + +SRC_URI += "file://run-ptest" + +SRC_URI[sha256sum] = "602aae17ff365bb8e2a30ce65c6bbf2d8e7a7e64bf016e82e4fd4c730ef69ab7" + +inherit python_setuptools_build_meta python_pep517 ptest pypi + +DEPENDS += " \ + libgpiod \ + python3-setuptools-native \ +" +RDEPENDS:${PN} += " \ + libgpiod (>= 2.1) \ + python3-datetime \ + python3-profile \ +" +RDEPENDS:${PN}-ptest += " \ + libgpiod-gpiosim \ + python3-setuptools \ +" + +export LINK_SYSTEM_LIBGPIOD = "1" + +do_compile_ptest() { + setup_target_config + nativepython3 build_tests.py +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/gpiod-test/gpiosim + install -d ${D}${PTEST_PATH}/gpiod-test/system + install -m 0644 ${S}/tests/*.py ${D}${PTEST_PATH}/gpiod-test/ + install -m 0644 ${B}/tests/gpiosim/_ext* ${D}${PTEST_PATH}/gpiod-test/gpiosim + install -m 0644 ${S}/tests/gpiosim/*.py ${D}${PTEST_PATH}/gpiod-test/gpiosim + install -m 0644 ${B}/tests/system/_ext* ${D}${PTEST_PATH}/gpiod-test/system + install -m 0644 ${S}/tests/system/*.py ${D}${PTEST_PATH}/gpiod-test/system +} + +INSANE_SKIP:${PN}-ptest += "buildpaths" diff --git a/meta-python/recipes-devtools/python/python3-greenlet_3.3.1.bb b/meta-python/recipes-devtools/python/python3-greenlet_3.3.1.bb deleted file mode 100644 index 1ee90f9f579..00000000000 --- a/meta-python/recipes-devtools/python/python3-greenlet_3.3.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "Python lightweight in-process concurrent programming" -HOMEPAGE = "https://greenlet.readthedocs.io/en/latest/" -LICENSE = "MIT & PSF-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ - file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" - -SRC_URI[sha256sum] = "41848f3230b58c08bb43dee542e74a2a2e34d3c59dc3076cec9151aeeedcae98" - -inherit pypi python_setuptools_build_meta - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-greenlet_3.4.0.bb b/meta-python/recipes-devtools/python/python3-greenlet_3.4.0.bb new file mode 100644 index 00000000000..728c2b7940f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-greenlet_3.4.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "Python lightweight in-process concurrent programming" +HOMEPAGE = "https://greenlet.readthedocs.io/en/latest/" +LICENSE = "MIT & PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ + file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" + +SRC_URI[sha256sum] = "f50a96b64dafd6169e595a5c56c9146ef80333e67d4476a65a9c55f400fc22ff" + +inherit pypi python_setuptools_build_meta + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-grpcio_1.76.0.bb b/meta-python/recipes-devtools/python/python3-grpcio_1.76.0.bb deleted file mode 100644 index 037614da3ef..00000000000 --- a/meta-python/recipes-devtools/python/python3-grpcio_1.76.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -DESCRIPTION = "Google gRPC" -HOMEPAGE = "https://www.grpc.io/" -SECTION = "devel/python" -LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0 & MIT & BSD-2-Clause" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906 \ - file://third_party/utf8_range/utf8_validity.h;beginline=1;endline=5;md5=db08ddb5817e660489678e7c3653805a \ - file://third_party/xxhash/xxhash.h;beginline=1;endline=34;md5=d41d564db2353fc80a713956d85b1690 \ -" - -DEPENDS += "c-ares openssl python3-protobuf re2 zlib" - -SRC_URI += "file://0001-python-enable-unbundled-cross-compilation.patch \ - file://abseil-ppc-fixes.patch \ - " -SRC_URI[sha256sum] = "7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73" - -RDEPENDS:${PN} = "python3-protobuf python3-typing-extensions" - -inherit setuptools3 -inherit pypi - -CFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE" - -# unbundling abseil-cpp needs work on dynamic linker issue -#export GRPC_PYTHON_BUILD_SYSTEM_ABSL = "1" -export GRPC_PYTHON_BUILD_SYSTEM_CARES = "1" -export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = "1" -export GRPC_PYTHON_BUILD_SYSTEM_RE2 = "1" -export GRPC_PYTHON_BUILD_SYSTEM_ZLIB = "1" - -do_compile:prepend() { - export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="${@oe.utils.parallel_make(d, False)}" -} - -GRPC_CFLAGS ?= "" -GRPC_CFLAGS:append:toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions" -export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}" - -CLEANBROKEN = "1" - -BBCLASSEXTEND = "native nativesdk" - -CCACHE_DISABLE = "1" - -CVE_PRODUCT += "grpc:grpc" diff --git a/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb b/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb new file mode 100644 index 00000000000..d9ec3374277 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb @@ -0,0 +1,53 @@ +DESCRIPTION = "Google gRPC" +HOMEPAGE = "https://www.grpc.io/" +SECTION = "devel/python" +LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0 & MIT & BSD-2-Clause" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906 \ + file://third_party/utf8_range/utf8_validity.h;beginline=1;endline=5;md5=db08ddb5817e660489678e7c3653805a \ + file://third_party/xxhash/xxhash.h;beginline=1;endline=34;md5=d41d564db2353fc80a713956d85b1690 \ +" + +DEPENDS += "c-ares openssl python3-protobuf re2 zlib" + +SRC_URI += "file://0001-python-enable-unbundled-cross-compilation.patch \ + file://abseil-ppc-fixes.patch \ + " +SRC_URI[sha256sum] = "7382b95189546f375c174f53a5fa873cef91c4b8005faa05cc5b3beea9c4f1c5" + +RDEPENDS:${PN} = "python3-protobuf python3-typing-extensions" + +inherit python_setuptools_build_meta cython +inherit pypi + +CFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE" + +# unbundling abseil-cpp needs work on dynamic linker issue +#export GRPC_PYTHON_BUILD_SYSTEM_ABSL = "1" +export GRPC_PYTHON_BUILD_SYSTEM_CARES = "1" +export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = "1" +export GRPC_PYTHON_BUILD_SYSTEM_RE2 = "1" +export GRPC_PYTHON_BUILD_SYSTEM_ZLIB = "1" + +do_configure:append() { + # Relax strict cython version pin so that the available cython satisfies the requirement. + # The C files are pre-generated so cython is not actually used during compilation. + sed -i 's/\"cython==/\"cython>=/' ${S}/pyproject.toml +} + +do_compile:prepend() { + export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="${@oe.utils.parallel_make(d, False)}" +} + +GRPC_CFLAGS ?= "" +GRPC_CFLAGS:append:toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions" +export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}" + +CLEANBROKEN = "1" + +BBCLASSEXTEND = "native nativesdk" + +CCACHE_DISABLE = "1" + +CVE_PRODUCT += "grpc:grpc" +CVE_STATUS[CVE-2026-33186] = "cpe-incorrect: the vulnerabilty affects only the go implementation" diff --git a/meta-python/recipes-devtools/python/python3-gunicorn_24.1.1.bb b/meta-python/recipes-devtools/python/python3-gunicorn_24.1.1.bb deleted file mode 100644 index f7951b9b32c..00000000000 --- a/meta-python/recipes-devtools/python/python3-gunicorn_24.1.1.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "WSGI HTTP Server for UNIX" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5b70a8b30792a916f50dc96123e61ddf" - -SRC_URI[sha256sum] = "f006d110e5cb3102859b4f5cd48335dbd9cc28d0d27cd24ddbdafa6c60929408" - -inherit pypi python_setuptools_build_meta ptest - -CVE_PRODUCT = "gunicorn" - -SRC_URI += " \ - file://run-ptest \ -" - -# python-misc for wsgiref -RDEPENDS:${PN}-ptest += " \ - python3-eventlet \ - python3-gevent \ - python3-misc \ - python3-pytest \ - python3-unittest-automake-output \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS:${PN} += "python3-setuptools python3-fcntl" diff --git a/meta-python/recipes-devtools/python/python3-gunicorn_25.3.0.bb b/meta-python/recipes-devtools/python/python3-gunicorn_25.3.0.bb new file mode 100644 index 00000000000..cf41feae704 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-gunicorn_25.3.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "WSGI HTTP Server for UNIX" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5dc9171ccd8fcbd7827c850148b3ca98" + +SRC_URI[sha256sum] = "f74e1b2f9f76f6cd1ca01198968bd2dd65830edc24b6e8e4d78de8320e2fe889" + +inherit pypi python_setuptools_build_meta ptest + +CVE_PRODUCT = "gunicorn" + +SRC_URI += " \ + file://run-ptest \ +" + +# python-misc for wsgiref +RDEPENDS:${PN}-ptest += " \ + bash \ + python3-eventlet \ + python3-gevent \ + python3-misc \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS:${PN} += "python3-setuptools python3-fcntl" diff --git a/meta-python/recipes-devtools/python/python3-h5py_3.15.0.bb b/meta-python/recipes-devtools/python/python3-h5py_3.15.0.bb deleted file mode 100644 index dd71a18534c..00000000000 --- a/meta-python/recipes-devtools/python/python3-h5py_3.15.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Provides both a high- and low-level interface to the HDF5 library from Python." -HOMEPAGE = "https://www.h5py.org/" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=113251d71fb0384712c719b567261c5c" - -SRC_URI[sha256sum] = "ede198dde0c359a3f9dc0af15962707c7195102235cb26b4826e33918789559a" - -SRC_URI += "file://0001-setup_build.py-avoid-absolute-path.patch" - -inherit pkgconfig pypi python_setuptools_build_meta cython - -BBCLASSEXTEND = "native" - -DEPENDS = "python3-pkgconfig-native \ - python3-numpy-native \ - python3-six-native \ - hdf5-native \ - python3 \ - hdf5 \ - " - -RDEPENDS:${PN} = "python3-numpy \ - python3-six \ - python3-json \ - " diff --git a/meta-python/recipes-devtools/python/python3-h5py_3.16.0.bb b/meta-python/recipes-devtools/python/python3-h5py_3.16.0.bb new file mode 100644 index 00000000000..883aeb2033d --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-h5py_3.16.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Provides both a high- and low-level interface to the HDF5 library from Python." +HOMEPAGE = "https://www.h5py.org/" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=113251d71fb0384712c719b567261c5c" + +SRC_URI[sha256sum] = "a0dbaad796840ccaa67a4c144a0d0c8080073c34c76d5a6941d6818678ef2738" + +SRC_URI += "file://0001-setup_build.py-avoid-absolute-path.patch" + +inherit pkgconfig pypi python_setuptools_build_meta cython + +BBCLASSEXTEND = "native" + +DEPENDS = "python3-pkgconfig-native \ + python3-numpy-native \ + python3-six-native \ + hdf5-native \ + python3 \ + hdf5 \ + " + +RDEPENDS:${PN} = "python3-numpy \ + python3-six \ + python3-json \ + " diff --git a/meta-python/recipes-devtools/python/python3-html5lib/0001-setup.py-make-pkg_resources-import-optional-for-Pyth.patch b/meta-python/recipes-devtools/python/python3-html5lib/0001-setup.py-make-pkg_resources-import-optional-for-Pyth.patch new file mode 100644 index 00000000000..f791b663f2b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-html5lib/0001-setup.py-make-pkg_resources-import-optional-for-Pyth.patch @@ -0,0 +1,44 @@ +From 5bae4e7b62996f1ef1b9ee6719581bde115d762c Mon Sep 17 00:00:00 2001 +From: Peter Marko +Date: Fri, 13 Mar 2026 13:37:58 +0100 +Subject: [PATCH] setup.py: make pkg_resources import optional for Python 3.12+ + +pkg_resources has been removed from newer Python/setuptools versions. +Wrap the import in a try/except block and guard the usage site, +allowing html5lib to build without pkg_resources present. + +Upstream-Status: Pending +Signed-off-by: Peter Marko +--- + setup.py | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/setup.py b/setup.py +index c393c9c..e659e98 100644 +--- a/setup.py ++++ b/setup.py +@@ -6,9 +6,13 @@ import sys + + from os.path import join, dirname + from setuptools import setup, find_packages, __version__ as setuptools_version +-from pkg_resources import parse_version + +-import pkg_resources ++try: ++ from pkg_resources import parse_version ++ import pkg_resources ++except ImportError: ++ parse_version = None ++ pkg_resources = None + + try: + import _markerlib.markers +@@ -49,7 +53,7 @@ if _markerlib and sys.version_info[0] == 3: + # Avoid the very buggy pkg_resources.parser, which doesn't consistently + # recognise the markers needed by this setup.py + # Change this to setuptools 20.10.0 to support all markers. +-if pkg_resources: ++if pkg_resources and parse_version: + if parse_version(setuptools_version) < parse_version('18.5'): + MarkerEvaluation = pkg_resources.MarkerEvaluation + diff --git a/meta-python/recipes-devtools/python/python3-html5lib_1.1.bb b/meta-python/recipes-devtools/python/python3-html5lib_1.1.bb index 3d7e44b87e1..9c921645468 100644 --- a/meta-python/recipes-devtools/python/python3-html5lib_1.1.bb +++ b/meta-python/recipes-devtools/python/python3-html5lib_1.1.bb @@ -3,6 +3,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c" SRC_URI += "file://0001-setup.py-fix-version-parsing-on-Python-3.14-ast.Str-.patch" +SRC_URI += "file://0001-setup.py-make-pkg_resources-import-optional-for-Pyth.patch" SRC_URI[sha256sum] = "b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f" inherit pypi setuptools3 diff --git a/meta-python/recipes-devtools/python/python3-httptools/0001-Allow-building-with-latest-setuptools.patch b/meta-python/recipes-devtools/python/python3-httptools/0001-Allow-building-with-latest-setuptools.patch new file mode 100644 index 00000000000..cad199f275b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-httptools/0001-Allow-building-with-latest-setuptools.patch @@ -0,0 +1,23 @@ +From 61e4a5acc1ec27ca295f4c0f288b97208fec1f78 Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Sat, 14 Mar 2026 16:55:54 +0100 +Subject: [PATCH] Allow building with latest setuptools + +Upstream-Status: Submitted [https://github.com/MagicStack/httptools/pull/138] +Signed-off-by: Gyorgy Sarvari +--- + pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index e2acba3..86c46de 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,6 +1,6 @@ + [build-system] + build-backend = "setuptools.build_meta" +-requires = ["setuptools==80.9.0"] ++requires = ["setuptools>=80.9.0,<=82.0.1"] + + [project] + name = "httptools" diff --git a/meta-python/recipes-devtools/python/python3-httptools_0.7.1.bb b/meta-python/recipes-devtools/python/python3-httptools_0.7.1.bb index f961745a1bc..01e317732b0 100644 --- a/meta-python/recipes-devtools/python/python3-httptools_0.7.1.bb +++ b/meta-python/recipes-devtools/python/python3-httptools_0.7.1.bb @@ -6,3 +6,4 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0a2d82955bf3facdf04cb882655e840e" inherit pypi python_setuptools_build_meta ptest-python-pytest SRC_URI[sha256sum] = "abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9" +SRC_URI += "file://0001-Allow-building-with-latest-setuptools.patch" diff --git a/meta-python/recipes-devtools/python/python3-huey_2.6.0.bb b/meta-python/recipes-devtools/python/python3-huey_2.6.0.bb deleted file mode 100644 index 2821262153f..00000000000 --- a/meta-python/recipes-devtools/python/python3-huey_2.6.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "a little task queue for python" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" - -PYPI_PACKAGE = "huey" - -SRC_URI[sha256sum] = "8d11f8688999d65266af1425b831f6e3773e99415027177b8734b0ffd5e251f6" - -RDEPENDS:${PN} += " \ - python3-datetime \ - python3-logging \ - python3-multiprocessing \ - python3-json \ -" - -inherit pypi python_setuptools_build_meta - diff --git a/meta-python/recipes-devtools/python/python3-huey_3.0.0.bb b/meta-python/recipes-devtools/python/python3-huey_3.0.0.bb new file mode 100644 index 00000000000..f07383ed454 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-huey_3.0.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "a little task queue for python" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" + +PYPI_PACKAGE = "huey" + +SRC_URI[sha256sum] = "0cfc83617b90132b0d375a3a3726aa7263cd461e7ae12af79b3a94e2630afaf5" + +RDEPENDS:${PN} += " \ + python3-datetime \ + python3-logging \ + python3-multiprocessing \ + python3-json \ +" + +inherit pypi python_setuptools_build_meta + diff --git a/meta-python/recipes-devtools/python/python3-humanfriendly_10.0.bb b/meta-python/recipes-devtools/python/python3-humanfriendly_10.0.bb index b32fe2e1d0d..184ce28c1a6 100644 --- a/meta-python/recipes-devtools/python/python3-humanfriendly_10.0.bb +++ b/meta-python/recipes-devtools/python/python3-humanfriendly_10.0.bb @@ -10,7 +10,7 @@ SRC_URI[sha256sum] = "6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2 inherit pypi setuptools3 -RDEPENDS:${PN}:class-target += " \ +RDEPENDS:${PN}:append:class-target = " \ python3-datetime \ python3-fcntl \ python3-io \ diff --git a/meta-python/recipes-devtools/python/python3-icecream_2.1.10.bb b/meta-python/recipes-devtools/python/python3-icecream_2.1.10.bb deleted file mode 100644 index 68728caf9bf..00000000000 --- a/meta-python/recipes-devtools/python/python3-icecream_2.1.10.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Never use print() to debug again; inspect variables, expressions, and program execution with a single, simple function call." -HOMEPAGE = "https://github.com/gruns/icecream" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eca5ce1610d64ed40920efdce85ff8d1" - -SRC_URI[sha256sum] = "15900126ba7dbe1f83819583cbe5ff79a2943224600878d89307e4633b32e528" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += " \ - python3-asttokens \ - python3-colorama \ - python3-executing \ - python3-numbers \ - python3-pygments \ - python3-pprint \ -" diff --git a/meta-python/recipes-devtools/python/python3-icecream_2.2.0.bb b/meta-python/recipes-devtools/python/python3-icecream_2.2.0.bb new file mode 100644 index 00000000000..e3073118348 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-icecream_2.2.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Never use print() to debug again; inspect variables, expressions, and program execution with a single, simple function call." +HOMEPAGE = "https://github.com/gruns/icecream" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eca5ce1610d64ed40920efdce85ff8d1" + +SRC_URI[sha256sum] = "9d7f244187f00a13f4ac77d176990e187e9c279d6cac4f7548e338291ad97343" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + python3-asttokens \ + python3-colorama \ + python3-executing \ + python3-numbers \ + python3-pygments \ + python3-pprint \ +" diff --git a/meta-python/recipes-devtools/python/python3-icu_2.16.2.bb b/meta-python/recipes-devtools/python/python3-icu_2.16.2.bb new file mode 100644 index 00000000000..ca7cca44576 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-icu_2.16.2.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python extension wrapping the ICU C++ API" +HOMEPAGE = "https://gitlab.pyicu.org/main/pyicu" +BUGTRACKER = "https://gitlab.pyicu.org/main/pyicu/-/issues" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0724597863f1581ab01429e0423e779f" + +DEPENDS += "icu" + +PYPI_PACKAGE = "pyicu" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +SRC_URI[sha256sum] = "006d51e24b5ec76df6ec2130f3dde269c51db8b8cfebb7d45a427dde0d10aa52" + +SRC_URI += "file://0001-Fix-host-contamination-of-include-files.patch" + +inherit pkgconfig pypi python_setuptools_build_meta + +# it's lowercase pyicu instead of ${PYPI_PACKAGE} in this version +S = "${UNPACKDIR}/pyicu-${PV}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-icu_2.16.bb b/meta-python/recipes-devtools/python/python3-icu_2.16.bb deleted file mode 100644 index c46e4e9f8bd..00000000000 --- a/meta-python/recipes-devtools/python/python3-icu_2.16.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Python extension wrapping the ICU C++ API" -HOMEPAGE = "https://gitlab.pyicu.org/main/pyicu" -BUGTRACKER = "https://gitlab.pyicu.org/main/pyicu/-/issues" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0724597863f1581ab01429e0423e779f" - -DEPENDS += "icu" - -PYPI_PACKAGE = "pyicu" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -SRC_URI[sha256sum] = "42b3a8062e3b23e927ca727e6b5e1730d86c70279834e4887152895d2eb012d9" - -SRC_URI += "file://0001-Fix-host-contamination-of-include-files.patch" - -inherit pkgconfig pypi python_setuptools_build_meta - -# it's lowercase pyicu instead of ${PYPI_PACKAGE} in this version -S = "${UNPACKDIR}/pyicu-${PV}" diff --git a/meta-python/recipes-devtools/python/python3-identify_2.6.16.bb b/meta-python/recipes-devtools/python/python3-identify_2.6.16.bb deleted file mode 100644 index ef33b3d6cd4..00000000000 --- a/meta-python/recipes-devtools/python/python3-identify_2.6.16.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "File identification library for Python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bbdc006359f3157660173ec7f133a80e" - -PYPI_PACKAGE = "identify" - -inherit pypi setuptools3 -SRC_URI[sha256sum] = "846857203b5511bbe94d5a352a48ef2359532bc8f6727b5544077a0dcfb24980" - -RDEPENDS:${PN} = " \ - python3-ukkonen \ -" diff --git a/meta-python/recipes-devtools/python/python3-identify_2.6.18.bb b/meta-python/recipes-devtools/python/python3-identify_2.6.18.bb new file mode 100644 index 00000000000..7418b43150a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-identify_2.6.18.bb @@ -0,0 +1,13 @@ +SUMMARY = "File identification library for Python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bbdc006359f3157660173ec7f133a80e" + +PYPI_PACKAGE = "identify" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "873ac56a5e3fd63e7438a7ecbc4d91aca692eb3fefa4534db2b7913f3fc352fd" + +RDEPENDS:${PN} = " \ + python3-ukkonen \ +" diff --git a/meta-python/recipes-devtools/python/python3-imageio_2.37.2.bb b/meta-python/recipes-devtools/python/python3-imageio_2.37.2.bb deleted file mode 100644 index 582cd348f96..00000000000 --- a/meta-python/recipes-devtools/python/python3-imageio_2.37.2.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Python library that provides an easy interface to read and \ -write a wide range of image data, including animated images, video, \ -volumetric data, and scientific formats." -SECTION = "devel/python" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9da78aa88ef5e9acd41f7bb288286273" - -SRC_URI[sha256sum] = "0212ef2727ac9caa5ca4b2c75ae89454312f440a756fcfc8ef1993e718f50f8a" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} = "python3-numpy python3-pillow" diff --git a/meta-python/recipes-devtools/python/python3-imageio_2.37.3.bb b/meta-python/recipes-devtools/python/python3-imageio_2.37.3.bb new file mode 100644 index 00000000000..b90f1ba863e --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-imageio_2.37.3.bb @@ -0,0 +1,12 @@ +SUMMARY = "Python library that provides an easy interface to read and \ +write a wide range of image data, including animated images, video, \ +volumetric data, and scientific formats." +SECTION = "devel/python" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6c492278d46e42af592aa26d7cab1e54" + +SRC_URI[sha256sum] = "bbb37efbfc4c400fcd534b367b91fcd66d5da639aaa138034431a1c5e0a41451" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} = "python3-numpy python3-pillow" diff --git a/meta-python/recipes-devtools/python/python3-imgtool_2.3.0.bb b/meta-python/recipes-devtools/python/python3-imgtool_2.3.0.bb deleted file mode 100644 index ed647143ccf..00000000000 --- a/meta-python/recipes-devtools/python/python3-imgtool_2.3.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "MCUboot's image signing and key management tool" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://imgtool/main.py;beginline=3;endline=18;md5=0645fb61e2f961a110302fbfdb227446" - -SRC_URI[sha256sum] = "fff72e4e793ac0ec02a493c19548715ccc0a2358afaeeaa10b49ccc2e0bd1295" - -inherit pypi setuptools3 - -RDEPENDS:${PN} = "python3-cbor2 python3-click python3-cryptography python3-intelhex" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-imgtool_2.4.0.bb b/meta-python/recipes-devtools/python/python3-imgtool_2.4.0.bb new file mode 100644 index 00000000000..6b88fc0535f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-imgtool_2.4.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "MCUboot's image signing and key management tool" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://imgtool/main.py;beginline=3;endline=18;md5=0645fb61e2f961a110302fbfdb227446" + +SRC_URI[sha256sum] = "ef2db1d9e3f62b9bc9425a8e86c4ea7212c164f0a16e923d55250f0d8743342e" + +inherit pypi setuptools3 + +RDEPENDS:${PN} = "python3-cbor2 python3-click python3-cryptography python3-intelhex" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-importlib-metadata_8.7.1.bb b/meta-python/recipes-devtools/python/python3-importlib-metadata_8.7.1.bb deleted file mode 100644 index 4c00739aa33..00000000000 --- a/meta-python/recipes-devtools/python/python3-importlib-metadata_8.7.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Read metadata from Python packages" -HOMEPAGE = "https://pypi.org/project/importlib-metadata/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=cf73015ea0156450506e8000d1f7fa37" - -inherit pypi python_setuptools_build_meta - -PYPI_PACKAGE = "importlib_metadata" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -SRC_URI[sha256sum] = "49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb" - -S = "${UNPACKDIR}/importlib_metadata-${PV}" - -DEPENDS += "python3-setuptools-scm-native python3-coherent-licensed-native" -RDEPENDS:${PN} += "python3-zipp" -RDEPENDS:${PN}:append:class-target = " python3-misc" -RDEPENDS:${PN}:append:class-nativesdk = " python3-misc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-importlib-metadata_9.0.0.bb b/meta-python/recipes-devtools/python/python3-importlib-metadata_9.0.0.bb new file mode 100644 index 00000000000..61f531a9c1f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-importlib-metadata_9.0.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Read metadata from Python packages" +HOMEPAGE = "https://pypi.org/project/importlib-metadata/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=affe5a7d8b988c3db245c01075b29e17" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "importlib_metadata" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +SRC_URI[sha256sum] = "a4f57ab599e6a2e3016d7595cfd72eb4661a5106e787a95bcc90c7105b831efc" + +S = "${UNPACKDIR}/importlib_metadata-${PV}" + +DEPENDS += "python3-setuptools-scm-native python3-coherent-licensed-native" +RDEPENDS:${PN} += "python3-zipp" +RDEPENDS:${PN}:append:class-target = " python3-misc" +RDEPENDS:${PN}:append:class-nativesdk = " python3-misc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-inline-snapshot_0.30.1.bb b/meta-python/recipes-devtools/python/python3-inline-snapshot_0.30.1.bb deleted file mode 100644 index ea1f15a5bda..00000000000 --- a/meta-python/recipes-devtools/python/python3-inline-snapshot_0.30.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "golden master/snapshot/approval testing library which puts the values right into your source code" -HOMEPAGE = "https://15r10nk.github.io/inline-snapshot" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7a35eb90dfdf03953dd2074d0fdba1d4" - -DEPENDS = "python3-hatchling-native" -SRC_URI[sha256sum] = "77c2e94a40f2da02909b39e3386c9fc23f532c92af45558e2d7bbabb5fd0cbc1" - -inherit pypi python_hatchling - -PYPI_PACKAGE = "inline_snapshot" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -RDEPENDS:${PN} = "python3-asttokens \ - python3-black \ - python3-click \ - python3-executing \ - python3-rich \ - python3-tomli \ - python3-typing-extensions \ - " diff --git a/meta-python/recipes-devtools/python/python3-inline-snapshot_0.32.6.bb b/meta-python/recipes-devtools/python/python3-inline-snapshot_0.32.6.bb new file mode 100644 index 00000000000..1bcd3a457fb --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-inline-snapshot_0.32.6.bb @@ -0,0 +1,21 @@ +SUMMARY = "golden master/snapshot/approval testing library which puts the values right into your source code" +HOMEPAGE = "https://15r10nk.github.io/inline-snapshot" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7a35eb90dfdf03953dd2074d0fdba1d4" + +DEPENDS = "python3-hatchling-native" +SRC_URI[sha256sum] = "224a96eeb86c4b2831d274239d3468dc0b7819264f608f595b2f9d01f79a6e38" + +inherit pypi python_hatchling + +PYPI_PACKAGE = "inline_snapshot" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN} = "python3-asttokens \ + python3-black \ + python3-click \ + python3-executing \ + python3-rich \ + python3-tomli \ + python3-typing-extensions \ + " diff --git a/meta-python/recipes-devtools/python/python3-ipython_9.12.0.bb b/meta-python/recipes-devtools/python/python3-ipython_9.12.0.bb new file mode 100644 index 00000000000..1dcac8b51c2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ipython_9.12.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "IPython: Productive Interactive Computing" +HOMEPAGE = "https://ipython.org" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" + +SRC_URI[sha256sum] = "01daa83f504b693ba523b5a407246cabde4eb4513285a3c6acaff11a66735ee4" + +RDEPENDS:${PN} = "\ + python3-setuptools \ + python3-jedi \ + python3-decorator \ + python3-pickleshare \ + python3-traitlets \ + python3-prompt-toolkit \ + python3-pygments \ + python3-backcall \ + python3-pydoc \ + python3-debugger \ + python3-pexpect \ + python3-unixadmin \ + python3-misc \ + python3-sqlite3 \ + python3-stack-data \ +" + +inherit python_setuptools_build_meta pypi + +CVE_PRODUCT = "ipython" diff --git a/meta-python/recipes-devtools/python/python3-ipython_9.9.0.bb b/meta-python/recipes-devtools/python/python3-ipython_9.9.0.bb deleted file mode 100644 index 53d334e251a..00000000000 --- a/meta-python/recipes-devtools/python/python3-ipython_9.9.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "IPython: Productive Interactive Computing" -HOMEPAGE = "https://ipython.org" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" - -SRC_URI[sha256sum] = "48fbed1b2de5e2c7177eefa144aba7fcb82dac514f09b57e2ac9da34ddb54220" - -RDEPENDS:${PN} = "\ - python3-setuptools \ - python3-jedi \ - python3-decorator \ - python3-pickleshare \ - python3-traitlets \ - python3-prompt-toolkit \ - python3-pygments \ - python3-backcall \ - python3-pydoc \ - python3-debugger \ - python3-pexpect \ - python3-unixadmin \ - python3-misc \ - python3-sqlite3 \ - python3-stack-data \ -" - -inherit python_setuptools_build_meta pypi - -CVE_PRODUCT = "ipython" diff --git a/meta-python/recipes-devtools/python/python3-isort_7.0.0.bb b/meta-python/recipes-devtools/python/python3-isort_7.0.0.bb deleted file mode 100644 index 86ad769b1d8..00000000000 --- a/meta-python/recipes-devtools/python/python3-isort_7.0.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A Python utility / library to sort Python imports." -HOMEPAGE = "https://pypi.python.org/pypi/isort" -LICENSE = "MIT" -SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=197c46995787b46a2dbf0d519c1754cf" - -SRC_URI[sha256sum] = "5513527951aadb3ac4292a41a16cbc50dd1642432f5e8c20057d414bdafb4187" - -inherit pypi python_hatchling - -DEPENDS += "python3-hatch-vcs-native python3-hatchling-native" - -RDEPENDS:${PN} += " \ - python3-compression \ - python3-datetime \ - python3-difflib \ - python3-email \ - python3-numbers \ - python3-pprint \ - python3-profile \ - python3-shell \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-isort_8.0.1.bb b/meta-python/recipes-devtools/python/python3-isort_8.0.1.bb new file mode 100644 index 00000000000..b8e32a55634 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-isort_8.0.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "A Python utility / library to sort Python imports." +HOMEPAGE = "https://pypi.python.org/pypi/isort" +LICENSE = "MIT" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://LICENSE;md5=197c46995787b46a2dbf0d519c1754cf" + +SRC_URI[sha256sum] = "171ac4ff559cdc060bcfff550bc8404a486fee0caab245679c2abe7cb253c78d" + +inherit pypi python_hatchling + +DEPENDS += "python3-hatch-vcs-native python3-hatchling-native" + +RDEPENDS:${PN} += " \ + python3-compression \ + python3-datetime \ + python3-difflib \ + python3-email \ + python3-numbers \ + python3-pprint \ + python3-profile \ + python3-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.9.bb b/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.9.bb deleted file mode 100644 index f84a4274463..00000000000 --- a/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.9.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A fast implementation of the Cassowary constraint solver" -HOMEPAGE = "https://github.com/nucleic/kiwi" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=27a71439e89b80e41dc526a4b8bbfa2f" - -SRC_URI[sha256sum] = "c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d" - -inherit pypi python_setuptools_build_meta - -DEPENDS += "\ - python3-cppy-native \ -" - -RDEPENDS:${PN} += "\ - python3-core \ - python3-setuptools \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-kiwisolver_1.5.0.bb b/meta-python/recipes-devtools/python/python3-kiwisolver_1.5.0.bb new file mode 100644 index 00000000000..6669559fcc0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-kiwisolver_1.5.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "A fast implementation of the Cassowary constraint solver" +HOMEPAGE = "https://github.com/nucleic/kiwi" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7a2c756dc2da8fbde2a254cae9a9320e" + +SRC_URI[sha256sum] = "d4193f3d9dc3f6f79aaed0e5637f45d98850ebf01f7ca20e69457f3e8946b66a" + +inherit pypi python_setuptools_build_meta + +DEPENDS += "\ + python3-cppy-native \ +" + +RDEPENDS:${PN} += "\ + python3-core \ + python3-setuptools \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-langtable_0.0.69.bb b/meta-python/recipes-devtools/python/python3-langtable_0.0.69.bb deleted file mode 100644 index 27ab97cd9b2..00000000000 --- a/meta-python/recipes-devtools/python/python3-langtable_0.0.69.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\ -keyboard, territory" -HOMEPAGE = "https://github.com/mike-fabian/langtable/" -LICENSE = "GPL-3.0-or-later" -SECTION = "devel/python" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI[sha256sum] = "f0a51870cf837fd689094ce73a420efa0b9b470facda551090f9a93d1e16510c" - -inherit pypi setuptools3 python3native - -DISTUTILS_INSTALL_ARGS += " \ - --install-data=${datadir}/langtable" - -FILES:${PN} += "${datadir}/*" - -RDEPENDS:${PN} += " \ - python3-compression \ - python3-doctest \ - python3-logging \ - python3-xml \ -" diff --git a/meta-python/recipes-devtools/python/python3-langtable_0.0.70.bb b/meta-python/recipes-devtools/python/python3-langtable_0.0.70.bb new file mode 100644 index 00000000000..7df58f4e0fa --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-langtable_0.0.70.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\ +keyboard, territory" +HOMEPAGE = "https://github.com/mike-fabian/langtable/" +LICENSE = "GPL-3.0-or-later" +SECTION = "devel/python" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI[sha256sum] = "725b94121856a3b76d2345e8596954b82ed1eda78513e55ac55fbe4a4823e66e" + +inherit pypi setuptools3 python3native + +DISTUTILS_INSTALL_ARGS += " \ + --install-data=${datadir}/langtable" + +FILES:${PN} += "${datadir}/*" + +RDEPENDS:${PN} += " \ + python3-compression \ + python3-doctest \ + python3-logging \ + python3-xml \ +" diff --git a/meta-python/recipes-devtools/python/python3-legacy-cgi_2.6.2.bb b/meta-python/recipes-devtools/python/python3-legacy-cgi_2.6.2.bb deleted file mode 100644 index 2b2840ae149..00000000000 --- a/meta-python/recipes-devtools/python/python3-legacy-cgi_2.6.2.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Fork of the standard library cgi and cgitb modules, being deprecated in PEP-594" -HOMEPAGE = "https://github.com/jackrosenthal/legacy-cgi" -LICENSE = "PSF-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4b8801e752a2c70ac41a5f9aa243f766" - -PYPI_PACKAGE = "legacy_cgi" - -inherit python_poetry_core pypi - -SRC_URI += "\ - file://0001-cgi.py-fixup-interpreter-according-to-OE.patch \ -" - -DEPENDS += "\ - ${PYTHON_PN}-setuptools-scm-native \ -" - -#RDEPENDS:${PN} = "python3-core" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[sha256sum] = "9952471ceb304043b104c22d00b4f333cac27a6abe446d8a528fc437cf13c85f" diff --git a/meta-python/recipes-devtools/python/python3-legacy-cgi_2.6.4.bb b/meta-python/recipes-devtools/python/python3-legacy-cgi_2.6.4.bb new file mode 100644 index 00000000000..85328ed9510 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-legacy-cgi_2.6.4.bb @@ -0,0 +1,27 @@ +SUMMARY = "Fork of the standard library cgi and cgitb modules, being deprecated in PEP-594" +HOMEPAGE = "https://github.com/jackrosenthal/legacy-cgi" +LICENSE = "PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4b8801e752a2c70ac41a5f9aa243f766" + +PYPI_PACKAGE = "legacy_cgi" + +inherit python_poetry_core pypi python_hatchling + +SRC_URI += "\ + file://0001-cgi.py-fixup-interpreter-according-to-OE.patch \ +" + +DEPENDS += "\ + ${PYTHON_PN}-setuptools-scm-native \ +" + +# Add this function to solve package QA Issue +do_install:append() { + rm ${D}${PYTHON_SITEPACKAGES_DIR}/.pc -rf +} + +#RDEPENDS:${PN} = "python3-core" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[sha256sum] = "abb9dfc7835772f7c9317977c63253fd22a7484b5c9bbcdca60a29dcce97c577" diff --git a/meta-python/recipes-devtools/python/python3-lief_0.17.2.bb b/meta-python/recipes-devtools/python/python3-lief_0.17.2.bb deleted file mode 100644 index 44b4976ab1e..00000000000 --- a/meta-python/recipes-devtools/python/python3-lief_0.17.2.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Library to instrument executable formats" -DESCRIPTION = "LIEF: Library to Instrument Executable Formats" -HOMEPAGE = "https://github.com/lief-project/LIEF" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9ab5db472ff936b441055522f5000547" -SECTION = "libs" - -SRCREV = "aa2b617f47c2f75fca9ff00b146dabbaf1b9f422" -SRC_URI = " \ - git://github.com/lief-project/LIEF.git;protocol=https;branch=release/0.17.x;tag=${PV} \ - file://0001-build-requirements.txt-Allow-newer-versions.patch \ - file://0002-api-python-config-default.toml-Debug.patch \ -" - -CVE_PRODUCT = "lief" -CVE_STATUS[CVE-2025-15504] = "fixed-version: the vulnerability is fixed since v0.17.2" - -PEP517_SOURCE_PATH = "${S}/api/python" - -export LIEF_BUILD_DIR = "${B}" - -inherit python_setuptools_build_meta - -DEPENDS += "\ - python3-scikit-build-native \ - python3-scikit-build-core-native \ - python3-tomli-native \ - python3-pydantic-native \ - ninja-native \ - ccache-native \ - python3-typing-inspection \ -" -# https://github.com/lief-project/LIEF/commit/3def579f75965aa19c021d840a759bce2afc0a31#r152197203 -COMPATIBLE_HOST:x86 = "null" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-lief_0.17.3.bb b/meta-python/recipes-devtools/python/python3-lief_0.17.3.bb new file mode 100644 index 00000000000..fe954e1b320 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-lief_0.17.3.bb @@ -0,0 +1,35 @@ +SUMMARY = "Library to instrument executable formats" +DESCRIPTION = "LIEF: Library to Instrument Executable Formats" +HOMEPAGE = "https://github.com/lief-project/LIEF" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9ab5db472ff936b441055522f5000547" +SECTION = "libs" + +SRCREV = "03aca30b53db2f336b36f90843061bb3f840ff5a" +SRC_URI = " \ + git://github.com/lief-project/LIEF.git;protocol=https;branch=release/0.17.x;tag=${PV} \ + file://0001-build-requirements.txt-Allow-newer-versions.patch \ + file://0002-api-python-config-default.toml-Debug.patch \ +" + +CVE_PRODUCT = "lief" + +PEP517_SOURCE_PATH = "${S}/api/python" + +export LIEF_BUILD_DIR = "${B}" + +inherit python_setuptools_build_meta + +DEPENDS += "\ + python3-scikit-build-native \ + python3-scikit-build-core-native \ + python3-tomli-native \ + python3-pydantic-native \ + ninja-native \ + ccache-native \ + python3-typing-inspection \ +" +# https://github.com/lief-project/LIEF/commit/3def579f75965aa19c021d840a759bce2afc0a31#r152197203 +COMPATIBLE_HOST:x86 = "null" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-limits_5.8.0.bb b/meta-python/recipes-devtools/python/python3-limits_5.8.0.bb new file mode 100644 index 00000000000..0439a0e1329 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-limits_5.8.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Rate limiting utilities" +DESCRIPTION = "About Rate limiting using various strategies and \ +storage backends such as redis, memcached & mongodb" +HOMEPAGE = "https://github.com/alisaifee/limits" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2455d5e574bc0fc489411ca45766ac78" + +SRC_URI[sha256sum] = "c9e0d74aed837e8f6f50d1fcebcf5fd8130957287206bc3799adaee5092655da" + +inherit pypi python_hatchling + +DEPENDS += "python3-hatch-vcs-native" + +RDEPENDS:${PN} += " \ + python3-deprecated \ + python3-packaging \ + python3-typing-extensions \ +" diff --git a/meta-python/recipes-devtools/python/python3-luma-oled_3.14.0.bb b/meta-python/recipes-devtools/python/python3-luma-oled_3.14.0.bb deleted file mode 100644 index 0c0906cedc3..00000000000 --- a/meta-python/recipes-devtools/python/python3-luma-oled_3.14.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A small library to drive an OLED device" -DESCRIPTION = "\ -A small library to drive an OLED device with either SSD1306 , SSD1309, SSD1322, \ -SSD1325, SSD1327, SSD1331, SSD1351 or SH1106 chipset" -HOMEPAGE = "https://github.com/rm-hull/luma.oled" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=95cba8b3a40c6f55d5d901980fe6e067" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "36218565eda0614c8cf44ef42cb9a5904ddf808e4516e99ddae111fc93c5a206" - -PYPI_PACKAGE = "luma_oled" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -RDEPENDS:${PN} += " \ - python3-luma-core \ -" diff --git a/meta-python/recipes-devtools/python/python3-luma-oled_3.15.0.bb b/meta-python/recipes-devtools/python/python3-luma-oled_3.15.0.bb new file mode 100644 index 00000000000..1182ad1de3e --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-luma-oled_3.15.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "A small library to drive an OLED device" +DESCRIPTION = "\ +A small library to drive an OLED device with either SSD1306 , SSD1309, SSD1322, \ +SSD1325, SSD1327, SSD1331, SSD1351 or SH1106 chipset" +HOMEPAGE = "https://github.com/rm-hull/luma.oled" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ddfca5d3a55dc20707b094137c913c4c" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "16925fe668f484803df0683add800b19e5dd7316a1d64eb06ec2ae817473901e" + +PYPI_PACKAGE = "luma_oled" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN} += " \ + python3-luma-core \ +" diff --git a/meta-python/recipes-devtools/python/python3-m2crypto/0001-fix-allow-64-bit-time_t-on-32-bit-systems-in-test_is.patch b/meta-python/recipes-devtools/python/python3-m2crypto/0001-fix-allow-64-bit-time_t-on-32-bit-systems-in-test_is.patch deleted file mode 100644 index d49950074f6..00000000000 --- a/meta-python/recipes-devtools/python/python3-m2crypto/0001-fix-allow-64-bit-time_t-on-32-bit-systems-in-test_is.patch +++ /dev/null @@ -1,40 +0,0 @@ -From d123b4ddce99c44f2c290fb3d6cc887de98778e6 Mon Sep 17 00:00:00 2001 -From: Haixiao Yan -Date: Wed, 22 Oct 2025 15:23:56 +0800 -Subject: [PATCH 1/2] fix: allow 64-bit time_t on 32-bit systems in - test_is32bit - -Some modern 32-bit Linux systems (e.g. with glibc >= 2.34 or musl time64 ABI) -use 64-bit time_t by default when _TIME_BITS=64 is enabled. The original test -assumed time_t was always 32-bit on 32-bit architectures, which is no longer -true. - -Relax the check to accept both 32-bit and 64-bit time_t values: - - self.assertIn(bit32, (32, 64)) - -This makes the test compatible with both legacy and time64 ABIs. - -Upstream-Status: Backport [https://gitlab.com/m2crypto/m2crypto/-/commit/818c3dfda6ea] - -Signed-off-by: Haixiao Yan ---- - tests/test_util.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test_util.py b/tests/test_util.py -index e925d03b090c..233fb7a099d9 100644 ---- a/tests/test_util.py -+++ b/tests/test_util.py -@@ -26,7 +26,7 @@ class UtilTestCase(unittest.TestCase): - not in ["true", "1", "yes"] - ) - ): -- self.assertEqual(bit32, 32) -+ self.assertIn(bit32, (32, 64)) - else: - self.assertNotEqual(bit32, 32) - self.assertIsInstance(bit32, int) --- -2.34.1 - diff --git a/meta-python/recipes-devtools/python/python3-m2crypto/0001-fix-swig-avoid-clang-GNUC-pragma-block-before-_lib.h.patch b/meta-python/recipes-devtools/python/python3-m2crypto/0001-fix-swig-avoid-clang-GNUC-pragma-block-before-_lib.h.patch new file mode 100644 index 00000000000..7aa768f44da --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-m2crypto/0001-fix-swig-avoid-clang-GNUC-pragma-block-before-_lib.h.patch @@ -0,0 +1,49 @@ +From df210da932c2cab9d3a80ee88c70611d77824a15 Mon Sep 17 00:00:00 2001 +From: Wang Mingyu +Date: Wed, 18 Mar 2026 02:26:56 +0000 +Subject: [PATCH] fix(swig): avoid clang GNUC pragma block before _lib.h + +Clang defines __GNUC__, so the old guard emitted PRAGMA_* tokens before +they were defined, breaking builds on macOS/clang; move the block after +<_lib.h> and exclude clang while keeping the GCC<5 workaround. + +Fixes: https://todo.sr.ht/~mcepl/m2crypto/392 + +Upstream-Status: Backport [git.sr.ht/~mcepl/m2crypto/commit/504ca8f438afb0f5041d2b5163e5f666a9a1b742.patch] + +Signed-off-by: Wang Mingyu +--- + src/SWIG/_m2crypto.i | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/src/SWIG/_m2crypto.i b/src/SWIG/_m2crypto.i +index d89d355..5426446 100644 +--- a/src/SWIG/_m2crypto.i ++++ b/src/SWIG/_m2crypto.i +@@ -43,15 +43,18 @@ typedef unsigned __int64 uint64_t; + %} + + %{ +-#if defined __GNUC__ && __GNUC__ < 5 +-PRAGMA_IGNORE_UNUSED_LABEL +-PRAGMA_WARN_STRICT_PROTOTYPES +-#endif +- + #include + #include + #include <_lib.h> + ++/* _lib.h defines PRAGMA_* helpers; only needed for old GCC (clang defines ++ * __GNUC__ too, but doesn't need this workaround). ++ */ ++#if defined(__GNUC__) && !defined(__clang__) && (__GNUC__ < 5) ++PRAGMA_IGNORE_UNUSED_LABEL ++PRAGMA_WARN_STRICT_PROTOTYPES ++#endif ++ + #include "compile.h" + + static PyObject *ssl_verify_cb_func; +-- +2.43.0 + diff --git a/meta-python/recipes-devtools/python/python3-m2crypto/0002-fix-correct-struct-packing-on-32-bit-with-_TIME_BITS.patch b/meta-python/recipes-devtools/python/python3-m2crypto/0002-fix-correct-struct-packing-on-32-bit-with-_TIME_BITS.patch deleted file mode 100644 index c36afa5cc0c..00000000000 --- a/meta-python/recipes-devtools/python/python3-m2crypto/0002-fix-correct-struct-packing-on-32-bit-with-_TIME_BITS.patch +++ /dev/null @@ -1,72 +0,0 @@ -From b5dbfca23986429853ccb15a38cc526d9df0dd40 Mon Sep 17 00:00:00 2001 -From: Haixiao Yan -Date: Wed, 22 Oct 2025 15:23:57 +0800 -Subject: [PATCH 2/2] fix: correct struct packing on 32-bit with _TIME_BITS=64 - -On 32-bit platforms with glibc time64 ABI, time_t is 64-bit wide while -`long` remains 32-bit. This causes struct timeval to use two 64-bit fields -(tv_sec, tv_usec). The previous code incorrectly packed timeout as "ll", -leading to EINVAL in setsockopt(SO_RCVTIMEO). - -Use "qq" instead when m2.time_t_bits() == 64 to match the actual ABI. - -Fixes: https://todo.sr.ht/~mcepl/m2crypto/374 - -Upstream-Status: Backport [https://gitlab.com/m2crypto/m2crypto/-/commit/473de659f78e] - -Signed-off-by: Haixiao Yan ---- - src/M2Crypto/SSL/timeout.py | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/src/M2Crypto/SSL/timeout.py b/src/M2Crypto/SSL/timeout.py -index b45f38b1cbdb..5ba52283b6f8 100644 ---- a/src/M2Crypto/SSL/timeout.py -+++ b/src/M2Crypto/SSL/timeout.py -@@ -33,10 +33,14 @@ class timeout(object): - millisec = int(self.sec * 1000 + round(float(self.microsec) / 1000)) - binstr = struct.pack("l", millisec) - else: -- if m2.time_t_bits() == 32: -+ bits = m2.time_t_bits() -+ if bits == 32: - binstr = struct.pack("ii", self.sec, self.microsec) -+ elif bits == 64: -+ # handle both 64-bit and 32-bit+TIME_BITS=64 -+ binstr = struct.pack("qq", self.sec, self.microsec) - else: -- binstr = struct.pack("ll", self.sec, self.microsec) -+ raise ValueError(f"Unsupported time_t_bits: {bits}") - return binstr - - -@@ -48,7 +52,13 @@ def struct_to_timeout(binstr: bytes) -> timeout: - sec = int(millisec / 1000) - microsec = (millisec % 1000) * 1000 - else: -- (sec, microsec) = struct.unpack("ll", binstr) -+ bits = m2.time_t_bits() -+ if bits == 32: -+ (sec, microsec) = struct.unpack("ii", binstr) -+ elif bits == 64: -+ (sec, microsec) = struct.unpack("qq", binstr) -+ else: -+ raise ValueError(f"Unsupported time_t_bits: {bits}") - return timeout(sec, microsec) - - -@@ -56,4 +66,10 @@ def struct_size() -> int: - if sys.platform == "win32": - return struct.calcsize("l") - else: -- return struct.calcsize("ll") -+ bits = m2.time_t_bits() -+ if bits == 32: -+ return struct.calcsize("ii") -+ elif bits == 64: -+ return struct.calcsize("qq") -+ else: -+ raise ValueError(f"Unsupported time_t_bits: {bits}") --- -2.34.1 - diff --git a/meta-python/recipes-devtools/python/python3-m2crypto_0.46.2.bb b/meta-python/recipes-devtools/python/python3-m2crypto_0.46.2.bb deleted file mode 100644 index bd7a2369bdf..00000000000 --- a/meta-python/recipes-devtools/python/python3-m2crypto_0.46.2.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "A Python crypto and SSL toolkit" -HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto" - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSES/BSD-2-Clause.txt;md5=8099b0e569f862ece05740aef06c82a2" - -SRC_URI[sha256sum] = "13c2fa89562f7b8af40cc74b55f490be5e2ab8ccfb739f11c16d3ce6221a61ba" - -SRC_URI += " \ - file://0001-setup.py-Make-the-cmd-available.patch \ - file://0001-fix-allow-64-bit-time_t-on-32-bit-systems-in-test_is.patch \ - file://0002-fix-correct-struct-packing-on-32-bit-with-_TIME_BITS.patch \ -" - -CVE_STATUS[CVE-2009-0127] = "disputed: upstream claims there is no bug" -CVE_STATUS[CVE-2020-25657] = "fixed-version: the used version (0.46.2) contains the fix already" - -inherit pypi siteinfo python_setuptools_build_meta - -DEPENDS += "openssl swig-native" -RDEPENDS:${PN} += "\ - python3-datetime \ - python3-setuptools \ - python3-logging \ - python3-netclient \ - python3-netserver \ - python3-numbers \ - python3-xmlrpc \ -" - -DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}" -DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}" - -SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']} -DOPENSSL_NO_FILENAMES" - -SWIG_FEATURES:append:riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" -SWIG_FEATURES:append:riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" -SWIG_FEATURES:append:mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}" -SWIG_FEATURES:append:powerpc64le = " -D__powerpc64__" -SWIG_FEATURES:append:x86 = " -D__i386__" -SWIG_FEATURES:append:x32 = " -D__ILP32__" - -export SWIG_FEATURES - -export STAGING_DIR - -do_configure:prepend() { - # workaround for https://github.com/swiftlang/swift/issues/69311 - sed -i "/sys\/types.h/d" ${RECIPE_SYSROOT}${includedir}/openssl/e_os2.h -} - -do_install:append() { - rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/SSL/__pycache__/*.cpython-*.pyc - rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/__pycache__/*.cpython-*.pyc -} - -CVE_PRODUCT = "m2crypto" - -BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-m2crypto_0.47.0.bb b/meta-python/recipes-devtools/python/python3-m2crypto_0.47.0.bb new file mode 100644 index 00000000000..0ebe30f81c7 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-m2crypto_0.47.0.bb @@ -0,0 +1,56 @@ +SUMMARY = "A Python crypto and SSL toolkit" +HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSES/BSD-2-Clause.txt;md5=8099b0e569f862ece05740aef06c82a2" + +SRC_URI[sha256sum] = "9256300be1e0412be802aa1f827e0ce7f94deb1099b8ccdcfd9867a7f0f975bf" + +SRC_URI += "file://0001-setup.py-Make-the-cmd-available.patch \ + file://0001-fix-swig-avoid-clang-GNUC-pragma-block-before-_lib.h.patch" + +CVE_STATUS[CVE-2009-0127] = "disputed: upstream claims there is no bug" +CVE_STATUS[CVE-2020-25657] = "fixed-version: the used version (0.46.2) contains the fix already" + +inherit pypi siteinfo python_setuptools_build_meta + +DEPENDS += "openssl swig-native" +RDEPENDS:${PN} += "\ + python3-datetime \ + python3-setuptools \ + python3-logging \ + python3-netclient \ + python3-netserver \ + python3-numbers \ + python3-xmlrpc \ +" + +DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}" +DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}" + +SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']} -DOPENSSL_NO_FILENAMES" + +SWIG_FEATURES:append:riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" +SWIG_FEATURES:append:riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" +SWIG_FEATURES:append:mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}" +SWIG_FEATURES:append:powerpc64le = " -D__powerpc64__" +SWIG_FEATURES:append:x86 = " -D__i386__" +SWIG_FEATURES:append:x32 = " -D__ILP32__" + +export SWIG_FEATURES + +export STAGING_DIR + +do_configure:prepend:class-target() { + # workaround for https://github.com/swiftlang/swift/issues/69311 + sed -i "/sys\/types.h/d" ${RECIPE_SYSROOT}${includedir}/openssl/e_os2.h +} + +do_install:append() { + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/SSL/__pycache__/*.cpython-*.pyc + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/__pycache__/*.cpython-*.pyc +} + +CVE_PRODUCT = "m2crypto" + +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-marshmallow_4.2.2.bb b/meta-python/recipes-devtools/python/python3-marshmallow_4.2.2.bb deleted file mode 100644 index 4172a3e745c..00000000000 --- a/meta-python/recipes-devtools/python/python3-marshmallow_4.2.2.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Simplified object serialization in python" -DESCRIPTION = "Marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes." -HOMEPAGE = "https://github.com/marshmallow-code/marshmallow" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "\ - file://LICENSE;md5=27586b20700d7544c06933afe56f7df4 \ - file://docs/license.rst;md5=13da439ad060419fb7cf364523017cfb" - -SRC_URI[sha256sum] = "ba40340683a2d1c15103647994ff2f6bc2c8c80da01904cbe5d96ee4baa78d9f" - -CVE_PRODUCT = "marshmallow" - -inherit python_flit_core pypi ptest-python-pytest - -RDEPENDS:${PN}-ptest += " \ - python3-pytz \ - python3-simplejson \ - python3-zoneinfo \ - python3-tzdata \ -" - -do_install_ptest:append () { - rm -rf ${D}${PTEST_PATH}/tests/mypy_test_cases -} - -RDEPENDS:${PN} += " \ - python3-compression \ - python3-datetime \ - python3-email \ - python3-json \ - python3-numbers \ - python3-pprint \ - python3-packaging \ -" diff --git a/meta-python/recipes-devtools/python/python3-marshmallow_4.3.0.bb b/meta-python/recipes-devtools/python/python3-marshmallow_4.3.0.bb new file mode 100644 index 00000000000..169726e5275 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-marshmallow_4.3.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Simplified object serialization in python" +DESCRIPTION = "Marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes." +HOMEPAGE = "https://github.com/marshmallow-code/marshmallow" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "\ + file://LICENSE;md5=27586b20700d7544c06933afe56f7df4 \ + file://docs/license.rst;md5=13da439ad060419fb7cf364523017cfb" + +SRC_URI[sha256sum] = "fb43c53b3fe240b8f6af37223d6ef1636f927ad9bea8ab323afad95dff090880" + +CVE_PRODUCT = "marshmallow" + +inherit python_flit_core pypi ptest-python-pytest + +RDEPENDS:${PN}-ptest += " \ + python3-pytz \ + python3-simplejson \ + python3-zoneinfo \ + python3-tzdata \ +" + +do_install_ptest:append () { + rm -rf ${D}${PTEST_PATH}/tests/mypy_test_cases +} + +RDEPENDS:${PN} += " \ + python3-compression \ + python3-datetime \ + python3-email \ + python3-json \ + python3-numbers \ + python3-pprint \ + python3-packaging \ +" diff --git a/meta-python/recipes-devtools/python/python3-matplotlib_3.10.8.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.10.8.bb index ce8c7a276ac..8489b91402c 100644 --- a/meta-python/recipes-devtools/python/python3-matplotlib_3.10.8.bb +++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.10.8.bb @@ -47,6 +47,8 @@ RDEPENDS:${PN} = "\ python3-packaging \ " +TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" + CVE_PRODUCT = "matplotlib" BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-mdit-py-plugins_0.4.2.bb b/meta-python/recipes-devtools/python/python3-mdit-py-plugins_0.4.2.bb deleted file mode 100644 index ef095c74a83..00000000000 --- a/meta-python/recipes-devtools/python/python3-mdit-py-plugins_0.4.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Collection of plugins for markdown-it-py" -HOMEPAGE = "https://github.com/executablebooks/mdit-py-plugins" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a38a1697260a7ad7bf29f44b362db1fc" - -SRC_URI[sha256sum] = "5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5" - -inherit pypi python_flit_core - -RDEPENDS:${PN} += "python3-markdown-it-py" - -PYPI_PACKAGE = "mdit_py_plugins" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-mdit-py-plugins_0.5.0.bb b/meta-python/recipes-devtools/python/python3-mdit-py-plugins_0.5.0.bb new file mode 100644 index 00000000000..e449b0f11f5 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-mdit-py-plugins_0.5.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Collection of plugins for markdown-it-py" +HOMEPAGE = "https://github.com/executablebooks/mdit-py-plugins" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a38a1697260a7ad7bf29f44b362db1fc" + +SRC_URI[sha256sum] = "f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6" + +inherit pypi python_flit_core + +RDEPENDS:${PN} += "python3-markdown-it-py" + +PYPI_PACKAGE = "mdit_py_plugins" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-mmh3_5.2.0.bb b/meta-python/recipes-devtools/python/python3-mmh3_5.2.0.bb deleted file mode 100644 index c7197628859..00000000000 --- a/meta-python/recipes-devtools/python/python3-mmh3_5.2.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "Python extension for MurmurHash (MurmurHash3), a set of fast and \ - robust hash functions" -HOMEPAGE = "https://github.com/hajimes/mmh3" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2edf2352bb2cd3d7787f05247781b314" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "1efc8fec8478e9243a78bb993422cf79f8ff85cb4cf6b79647480a31e0d950a8" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-mmh3_5.2.1.bb b/meta-python/recipes-devtools/python/python3-mmh3_5.2.1.bb new file mode 100644 index 00000000000..5d4030f46e6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-mmh3_5.2.1.bb @@ -0,0 +1,11 @@ +SUMMARY = "Python extension for MurmurHash (MurmurHash3), a set of fast and \ + robust hash functions" +HOMEPAGE = "https://github.com/hajimes/mmh3" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=53366c60f8214cfc1d3622ebacd141fb" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "bbea5b775f0ac84945191fb83f845a6fd9a21a03ea7f2e187defac7e401616ad" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-moteus_0.3.100.bb b/meta-python/recipes-devtools/python/python3-moteus_0.3.100.bb new file mode 100644 index 00000000000..fe12809d78a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-moteus_0.3.100.bb @@ -0,0 +1,17 @@ +SUMMARY = "moteus brushless controller library and tools" +HOMEPAGE = "https://github.com/mjbots/moteus" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=c2d9643b4523fdf462545aeb1356ad23" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "cab1bdcffc18b83ebb52066b1bffe6de7c1354b163b3bd63e430b4fa04fbc6b9" + +S = "${UNPACKDIR}/moteus-${PV}" + +RDEPENDS:${PN} += "\ + python3-can \ + python3-importlib-metadata \ + python3-pyelftools \ + python3-pyserial \ +" diff --git a/meta-python/recipes-devtools/python/python3-moteus_0.3.98.bb b/meta-python/recipes-devtools/python/python3-moteus_0.3.98.bb deleted file mode 100644 index 412ee536f5d..00000000000 --- a/meta-python/recipes-devtools/python/python3-moteus_0.3.98.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "moteus brushless controller library and tools" -HOMEPAGE = "https://github.com/mjbots/moteus" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=9;md5=24025d3c660abfc62a83f0e709a45e76" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "ef6c628bf64d56e30aac1f8e314f74b1bbd9875e5ec21ecd3c2ce9436f7e3644" - -S = "${UNPACKDIR}/moteus-${PV}" - -RDEPENDS:${PN} += "\ - python3-can \ - python3-importlib-metadata \ - python3-pyelftools \ - python3-pyserial \ -" diff --git a/meta-python/recipes-devtools/python/python3-mpmath_1.3.0.bb b/meta-python/recipes-devtools/python/python3-mpmath_1.3.0.bb deleted file mode 100644 index 21bae9778cc..00000000000 --- a/meta-python/recipes-devtools/python/python3-mpmath_1.3.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -# This recipe is adapted from one in meta-jupyter: -# https://github.com/Xilinx/meta-jupyter/blob/master/recipes-python/python3-mpmath_0.19.bb - -SUMMARY = "Python library for arbitrary-precision floating-point arithmetic" -HOMEPAGE = "https://pypi.org/project/mpmath/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bde3c575382996b75d85702949512751" - -SRC_URI[sha256sum] = "7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f" - -CVE_PRODUCT = "mpmath" - -inherit pypi setuptools3 - -DEPENDS += "python3-setuptools-scm-native" -RDEPENDS:${PN} += " \ - python3-image \ - python3-math \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-mpmath_1.4.1.bb b/meta-python/recipes-devtools/python/python3-mpmath_1.4.1.bb new file mode 100644 index 00000000000..7f237afb389 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-mpmath_1.4.1.bb @@ -0,0 +1,21 @@ +# This recipe is adapted from one in meta-jupyter: +# https://github.com/Xilinx/meta-jupyter/blob/master/recipes-python/python3-mpmath_0.19.bb + +SUMMARY = "Python library for arbitrary-precision floating-point arithmetic" +HOMEPAGE = "https://pypi.org/project/mpmath/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a6607bd72611b702183473dfb4e6198b" + +SRC_URI[sha256sum] = "efd6d1b75f09d69524a67609949812668b28e81ecbfe0ab449ced8c13e92642e" + +CVE_PRODUCT = "mpmath" + +inherit pypi python_setuptools_build_meta + +DEPENDS += "python3-setuptools-scm-native" +RDEPENDS:${PN} += " \ + python3-image \ + python3-math \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-msgpack_1.1.2.bb b/meta-python/recipes-devtools/python/python3-msgpack_1.1.2.bb index 85ec93695dd..5b201a75541 100644 --- a/meta-python/recipes-devtools/python/python3-msgpack_1.1.2.bb +++ b/meta-python/recipes-devtools/python/python3-msgpack_1.1.2.bb @@ -8,7 +8,7 @@ PTEST_PYTEST_DIR = "test" SRC_URI[sha256sum] = "3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e" -RDEPENDS:${PN}:class-target += "\ +RDEPENDS:${PN}:append:class-target = " \ python3-io \ " diff --git a/meta-python/recipes-devtools/python/python3-multiprocess_0.70.19.bb b/meta-python/recipes-devtools/python/python3-multiprocess_0.70.19.bb new file mode 100644 index 00000000000..394945df1b6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-multiprocess_0.70.19.bb @@ -0,0 +1,10 @@ +SUMMARY = "Multiprocess extends multiprocessing to provide enhanced serialization, using dill." + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4e77a25170a36f151649917fe8d2858e" + +SRC_URI[sha256sum] = "952021e0e6c55a4a9fe4cd787895b86e239a40e76802a789d6305398d3975897" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += "python3-dill" diff --git a/meta-python/recipes-devtools/python/python3-myst-parser_4.0.1.bb b/meta-python/recipes-devtools/python/python3-myst-parser_4.0.1.bb deleted file mode 100644 index 24a3953d422..00000000000 --- a/meta-python/recipes-devtools/python/python3-myst-parser_4.0.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "An extended commonmark compliant parser, with bridges to docutils/sphinx" -HOMEPAGE = "https://github.com/executablebooks/MyST-Parser" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a38a1697260a7ad7bf29f44b362db1fc" - -SRC_URI[sha256sum] = "5cfea715e4f3574138aecbf7d54132296bfd72bb614d31168f48c477a830a7c4" - -inherit pypi python_flit_core - -PYPI_PACKAGE = "myst_parser" - -RDEPENDS:${PN} = "\ - python3-docutils \ - python3-jinja2 \ - python3-markdown-it-py \ - python3-mdit-py-plugins \ - python3-pyyaml \ - python3-sphinx \ - " - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-myst-parser_5.0.0.bb b/meta-python/recipes-devtools/python/python3-myst-parser_5.0.0.bb new file mode 100644 index 00000000000..826d1f8f873 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-myst-parser_5.0.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "An extended commonmark compliant parser, with bridges to docutils/sphinx" +HOMEPAGE = "https://github.com/executablebooks/MyST-Parser" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a38a1697260a7ad7bf29f44b362db1fc" + +SRC_URI[sha256sum] = "f6f231452c56e8baa662cc352c548158f6a16fcbd6e3800fc594978002b94f3a" + +inherit pypi python_flit_core + +PYPI_PACKAGE = "myst_parser" + +RDEPENDS:${PN} = "\ + python3-docutils \ + python3-jinja2 \ + python3-markdown-it-py \ + python3-mdit-py-plugins \ + python3-pyyaml \ + python3-sphinx \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-nanobind_2.11.0.bb b/meta-python/recipes-devtools/python/python3-nanobind_2.11.0.bb deleted file mode 100644 index 92c4c913f1f..00000000000 --- a/meta-python/recipes-devtools/python/python3-nanobind_2.11.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "nanobind: tiny and efficient C++/Python bindings" -DESCRIPTION = "nanobind: tiny and efficient C++/Python bindings" -HOMEPAGE = "https://github.com/wjakob/nanobind" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7646f9ee25e49eaf53f89a10665c568c" - -SRC_URI[sha256sum] = "6d98d063c61dbbd05a2d903e59be398bfcff9d59c54fbbc9d4488960485d40d0" - -inherit pypi cmake python_setuptools_build_meta - -EXTRA_OECMAKE += "-DNB_TEST=OFF" - -DEPENDS += "\ - python3-cmake-native \ - python3-scikit-build-native \ - python3-scikit-build-core-native \ - ninja-native \ -" - -do_install:append() { - install -d ${D}${libdir}/cmake/${PYPI_PACKAGE} - install -m 0644 ${S}/cmake/* ${D}${libdir}/cmake/${PYPI_PACKAGE}/ -} - -FILES:${PN} += "${prefix_native}/* ${prefix_native}/${PN}/* ${base_libdir}/cmake/*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-nanobind_2.12.0.bb b/meta-python/recipes-devtools/python/python3-nanobind_2.12.0.bb new file mode 100644 index 00000000000..58dbb30c845 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-nanobind_2.12.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "nanobind: tiny and efficient C++/Python bindings" +DESCRIPTION = "nanobind: tiny and efficient C++/Python bindings" +HOMEPAGE = "https://github.com/wjakob/nanobind" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7646f9ee25e49eaf53f89a10665c568c" + +SRC_URI[sha256sum] = "0ae77c1a88f27153fa57045ee00f7b0a7b06b1cd3df942e95a34b38c5d0a5bee" + +inherit pypi cmake python_setuptools_build_meta + +EXTRA_OECMAKE += "-DNB_TEST=OFF" + +DEPENDS += "\ + python3-cmake-native \ + python3-scikit-build-native \ + python3-scikit-build-core-native \ + ninja-native \ +" + +do_install:append() { + install -d ${D}${libdir}/cmake/${PYPI_PACKAGE} + install -m 0644 ${S}/cmake/* ${D}${libdir}/cmake/${PYPI_PACKAGE}/ +} + +FILES:${PN} += "${prefix_native}/* ${prefix_native}/${PN}/* ${base_libdir}/cmake/*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-ninja/CMakeLists.txt b/meta-python/recipes-devtools/python/python3-ninja/CMakeLists.txt deleted file mode 100644 index 04fa451e72d..00000000000 --- a/meta-python/recipes-devtools/python/python3-ninja/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 3.15) - -project(NinjaPythonDistributions) - -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH}) - -install(CODE " - message(STATUS \"Install ninja project\") -") diff --git a/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch b/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch index b7d191e2441..4dfbb2675ac 100644 --- a/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch +++ b/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch @@ -1,31 +1,22 @@ -We don't need to build ninja so there's no need to use scikit-build, -as we just need the python module with it's one ninja() function. +We don't need to build ninja so there's no need to use scikit-build-core, +as we just need the python module with its one ninja() function. Upstream-Status: Inappropriate Signed-off-by: Ross Burton +Signed-off-by: Jiaying Song -diff --git a/pyproject.toml b/pyproject.toml -index b895c20..577b642 100644 --- a/pyproject.toml +++ b/pyproject.toml -@@ -2,7 +2,6 @@ - requires = [ - "setuptools >=42", - "setuptools-scm[toml]", -- "scikit-build", - ] - build-backend = "setuptools.build_meta" +@@ -1,5 +1,4 @@ + [build-system] +-requires = ["scikit-build-core>=0.10"] +-build-backend = "backend" +-backend-path = ["_build_backend"] ++requires = ["setuptools", "setuptools-scm"] ++build-backend = "setuptools.build_meta" -diff --git a/setup.py b/setup.py -index dbe1fbc..3259754 100755 ---- a/setup.py -+++ b/setup.py -@@ -5,7 +5,7 @@ import os - import sys - from distutils.text_file import TextFile - --from skbuild import setup -+from setuptools import setup - - # Add current folder to path - # This is required to import versioneer in an isolated pip build +@@ -7,3 +6,3 @@ + name = "ninja" +-dynamic = ["version", "readme"] ++dynamic = ["version"] + description = "Ninja is a small build system with a focus on speed" diff --git a/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch b/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch deleted file mode 100644 index 0068efcc3af..00000000000 --- a/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch +++ /dev/null @@ -1,44 +0,0 @@ -There's no need to hunt around source or install trees when we're just running ninja -from PATH. - -Upstream-Status: Inappropriate -Signed-off-by: Ross Burton - -diff --git a/src/ninja/__init__.py b/src/ninja/__init__.py -index f83767e..31bb926 100644 ---- a/src/ninja/__init__.py -+++ b/src/ninja/__init__.py -@@ -19,32 +19,9 @@ except ImportError: - os.path.dirname(__file__), '../../Ninja-src/misc'))) - from ninja_syntax import Writer, escape, expand # noqa: F401 - --DATA = os.path.join(os.path.dirname(__file__), 'data') -- --# Support running tests from the source tree --if not os.path.exists(DATA): -- from skbuild.constants import CMAKE_INSTALL_DIR as SKBUILD_CMAKE_INSTALL_DIR -- from skbuild.constants import set_skbuild_plat_name -- -- if platform.system().lower() == "darwin": -- # Since building the project specifying --plat-name or CMAKE_OSX_* variables -- # leads to different SKBUILD_DIR, the code below attempt to guess the most -- # likely plat-name. -- _skbuild_dirs = os.listdir(os.path.join(os.path.dirname(__file__), '..', '..', '_skbuild')) -- if _skbuild_dirs: -- _likely_plat_name = '-'.join(_skbuild_dirs[0].split('-')[:3]) -- set_skbuild_plat_name(_likely_plat_name) -- -- _data = os.path.abspath(os.path.join( -- os.path.dirname(__file__), '..', '..', SKBUILD_CMAKE_INSTALL_DIR(), 'src/ninja/data')) -- if os.path.exists(_data): -- DATA = _data -- --BIN_DIR = os.path.join(DATA, 'bin') -- - - def _program(name, args): -- return subprocess.call([os.path.join(BIN_DIR, name)] + args, close_fds=False) -+ return subprocess.call([name] + args, close_fds=False) - - - def ninja(): diff --git a/meta-python/recipes-devtools/python/python3-ninja_1.11.1.1.bb b/meta-python/recipes-devtools/python/python3-ninja_1.11.1.1.bb deleted file mode 100644 index 8f2e6528db5..00000000000 --- a/meta-python/recipes-devtools/python/python3-ninja_1.11.1.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Ninja is a small build system with a focus on speed" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5" - -PYPI_PACKAGE = "ninja" -PYPI_ARCHIVE_NAME_PREFIX = "pypi-" - -inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "9d793b08dd857e38d0b6ffe9e6b7145d7c485a42dcfea04905ca0cdb6017cc3c" - -SRC_URI += "file://no-scikit-build.patch \ - file://run-ninja-from-path.patch" - -DEPENDS += "python3-setuptools-scm-native" - -do_install:append () { - rm -rf ${D}${bindir} -} - -RDEPENDS:${PN} = " \ - ninja \ - python3-io \ - python3-json \ - python3-ninja-syntax \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-ninja_1.13.0.bb b/meta-python/recipes-devtools/python/python3-ninja_1.13.0.bb new file mode 100644 index 00000000000..35a192a2683 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ninja_1.13.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "Ninja is a small build system with a focus on speed" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5" + +PYPI_PACKAGE = "ninja" +PYPI_ARCHIVE_NAME_PREFIX = "pypi-" + +inherit pypi python_setuptools_build_meta +SRC_URI[sha256sum] = "4a40ce995ded54d9dc24f8ea37ff3bf62ad192b547f6c7126e7e25045e76f978" + +SRC_URI += "file://no-scikit-build.patch " + +DEPENDS += "python3-setuptools-scm-native" + +do_install:append () { + rm -rf ${D}${bindir} + install -m 0644 ${S}/ninja-upstream/misc/ninja_syntax.py ${D}${PYTHON_SITEPACKAGES_DIR}/ninja/ninja_syntax.py +} + +do_configure:prepend() { + echo 'version = "${PV}"' > ${S}/src/ninja/_version.py +} + +RDEPENDS:${PN} = " \ + ninja \ + python3-io \ + python3-json \ + python3-ninja-syntax \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-orjson-crates.inc b/meta-python/recipes-devtools/python/python3-orjson-crates.inc index 43434fa6909..3feff8d77d2 100644 --- a/meta-python/recipes-devtools/python/python3-orjson-crates.inc +++ b/meta-python/recipes-devtools/python/python3-orjson-crates.inc @@ -2,87 +2,75 @@ # from Cargo.lock SRC_URI += " \ - crate://crates.io/associative-cache/2.0.0 \ + crate://crates.io/associative-cache/3.0.0 \ crate://crates.io/bytecount/0.6.9 \ - crate://crates.io/bytes/1.11.0 \ - crate://crates.io/cc/1.2.54 \ + crate://crates.io/bytes/1.11.1 \ + crate://crates.io/cc/1.2.58 \ crate://crates.io/cfg-if/1.0.4 \ - crate://crates.io/crunchy/0.2.4 \ crate://crates.io/encoding_rs/0.8.35 \ - crate://crates.io/find-msvc-tools/0.1.8 \ + crate://crates.io/find-msvc-tools/0.1.9 \ crate://crates.io/gimli/0.32.3 \ - crate://crates.io/half/2.7.1 \ - crate://crates.io/itoa/1.0.17 \ + crate://crates.io/itoa/1.0.18 \ crate://crates.io/itoap/1.0.1 \ - crate://crates.io/jiff/0.2.18 \ - crate://crates.io/jiff-static/0.2.18 \ - crate://crates.io/libc/0.2.180 \ - crate://crates.io/memchr/2.7.6 \ - crate://crates.io/once_cell/1.21.3 \ - crate://crates.io/portable-atomic/1.13.0 \ - crate://crates.io/portable-atomic-util/0.2.4 \ + crate://crates.io/jiff/0.2.23 \ + crate://crates.io/jiff-static/0.2.23 \ + crate://crates.io/libc/0.2.183 \ + crate://crates.io/memchr/2.8.0 \ + crate://crates.io/no-panic/0.1.36 \ + crate://crates.io/once_cell/1.21.4 \ + crate://crates.io/portable-atomic/1.13.1 \ + crate://crates.io/portable-atomic-util/0.2.6 \ crate://crates.io/proc-macro2/1.0.106 \ - crate://crates.io/pyo3-build-config/0.27.2 \ - crate://crates.io/pyo3-ffi/0.27.2 \ - crate://crates.io/quote/1.0.44 \ - crate://crates.io/ryu/1.0.22 \ + crate://crates.io/pyo3-build-config/0.28.2 \ + crate://crates.io/pyo3-ffi/0.28.2 \ + crate://crates.io/quote/1.0.45 \ crate://crates.io/serde/1.0.228 \ crate://crates.io/serde_core/1.0.228 \ crate://crates.io/serde_derive/1.0.228 \ crate://crates.io/serde_json/1.0.149 \ crate://crates.io/shlex/1.3.0 \ crate://crates.io/simdutf8/0.1.5 \ - crate://crates.io/smallvec/1.15.1 \ - crate://crates.io/syn/2.0.114 \ - crate://crates.io/target-lexicon/0.13.4 \ - crate://crates.io/unicode-ident/1.0.22 \ + crate://crates.io/syn/2.0.117 \ + crate://crates.io/target-lexicon/0.13.5 \ + crate://crates.io/unicode-ident/1.0.24 \ crate://crates.io/unwinding/0.2.8 \ - crate://crates.io/uuid/1.20.0 \ crate://crates.io/version_check/0.9.5 \ crate://crates.io/xxhash-rust/0.8.15 \ - crate://crates.io/zerocopy/0.8.35 \ - crate://crates.io/zerocopy-derive/0.8.35 \ - crate://crates.io/zmij/1.0.17 \ + crate://crates.io/zmij/1.0.21 \ " -SRC_URI[associative-cache-2.0.0.sha256sum] = "b993cd767a2bc7307dd87622311ca22c44329cc7a21366206bfa0896827b2bad" +SRC_URI[associative-cache-3.0.0.sha256sum] = "6104bd6fd778b62f638add0dd848dca9887cf016a343d15a21d27fb8a3965b98" SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" -SRC_URI[bytes-1.11.0.sha256sum] = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" -SRC_URI[cc-1.2.54.sha256sum] = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" +SRC_URI[bytes-1.11.1.sha256sum] = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +SRC_URI[cc-1.2.58.sha256sum] = "e1e928d4b69e3077709075a938a05ffbedfa53a84c8f766efbf8220bb1ff60e1" SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" SRC_URI[encoding_rs-0.8.35.sha256sum] = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -SRC_URI[find-msvc-tools-0.1.8.sha256sum] = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" +SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" SRC_URI[gimli-0.32.3.sha256sum] = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" -SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" -SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +SRC_URI[itoa-1.0.18.sha256sum] = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" SRC_URI[itoap-1.0.1.sha256sum] = "9028f49264629065d057f340a86acb84867925865f73bbf8d47b4d149a7e88b8" -SRC_URI[jiff-0.2.18.sha256sum] = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" -SRC_URI[jiff-static-0.2.18.sha256sum] = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" -SRC_URI[libc-0.2.180.sha256sum] = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" -SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" -SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" -SRC_URI[portable-atomic-1.13.0.sha256sum] = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" -SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +SRC_URI[jiff-0.2.23.sha256sum] = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" +SRC_URI[jiff-static-0.2.23.sha256sum] = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" +SRC_URI[libc-0.2.183.sha256sum] = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" +SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +SRC_URI[no-panic-0.1.36.sha256sum] = "f967505aabc8af5752d098c34146544a43684817cdba8f9725b292530cabbf53" +SRC_URI[once_cell-1.21.4.sha256sum] = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +SRC_URI[portable-atomic-util-0.2.6.sha256sum] = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" -SRC_URI[pyo3-build-config-0.27.2.sha256sum] = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6" -SRC_URI[pyo3-ffi-0.27.2.sha256sum] = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089" -SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" -SRC_URI[ryu-1.0.22.sha256sum] = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" +SRC_URI[pyo3-build-config-0.28.2.sha256sum] = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7" +SRC_URI[pyo3-ffi-0.28.2.sha256sum] = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc" +SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" SRC_URI[simdutf8-0.1.5.sha256sum] = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" -SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" -SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" -SRC_URI[target-lexicon-0.13.4.sha256sum] = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba" -SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +SRC_URI[syn-2.0.117.sha256sum] = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +SRC_URI[target-lexicon-0.13.5.sha256sum] = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" +SRC_URI[unicode-ident-1.0.24.sha256sum] = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" SRC_URI[unwinding-0.2.8.sha256sum] = "60612c845ef41699f39dc8c5391f252942c0a88b7d15da672eff0d14101bbd6d" -SRC_URI[uuid-1.20.0.sha256sum] = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" SRC_URI[xxhash-rust-0.8.15.sha256sum] = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" -SRC_URI[zerocopy-0.8.35.sha256sum] = "fdea86ddd5568519879b8187e1cf04e24fce28f7fe046ceecbce472ff19a2572" -SRC_URI[zerocopy-derive-0.8.35.sha256sum] = "0c15e1b46eff7c6c91195752e0eeed8ef040e391cdece7c25376957d5f15df22" -SRC_URI[zmij-1.0.17.sha256sum] = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" +SRC_URI[zmij-1.0.21.sha256sum] = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/meta-python/recipes-devtools/python/python3-orjson_3.11.6.bb b/meta-python/recipes-devtools/python/python3-orjson_3.11.6.bb deleted file mode 100644 index 121b1c19641..00000000000 --- a/meta-python/recipes-devtools/python/python3-orjson_3.11.6.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "orjson is a fast, correct JSON library for Python" -HOMEPAGE = "https://pypi.org/project/orjson/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d" - -SRCREV = "ec02024c3837255064f248c0d2d331319b75e9ad" -PYPI_SRC_URI = "git://github.com/ijl/orjson;protocol=https;branch=master;tag=${PV};destsuffix=orjson-${PV}" - -CVE_PRODUCT = "orjson" - -require ${BPN}-crates.inc - -inherit pypi python_maturin cargo-update-recipe-crates ptest-python-pytest - -SRC_URI += " \ - file://0001-Guard-avx512-module-with-x86-target-cfg.patch \ - file://0002-Guard-x86-feature-detection-macro-in-pystrref-object.patch \ -" -DEPENDS = "python3-maturin-native" - -RDEPENDS:${PN} += "python3-maturin python3-mypy" - -do_compile:prepend() { - sed -i "/panic = \"abort\"/d" ${S}/Cargo.toml -} - -do_install_ptest:append() { - install -d ${D}${PTEST_PATH}/data - cp -rf ${S}/data/* ${D}${PTEST_PATH}/data/ - install -d ${D}${PTEST_PATH}/test - cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ -} - -RDEPENDS:${PN}-ptest += "\ - python3-dateutil \ - python3-dateutil-zoneinfo \ - python3-faker \ - python3-numpy \ - python3-pandas \ - python3-pendulum \ - python3-psutil \ - python3-pytz \ - python3-tzdata \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-orjson_3.11.8.bb b/meta-python/recipes-devtools/python/python3-orjson_3.11.8.bb new file mode 100644 index 00000000000..22a0205af33 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-orjson_3.11.8.bb @@ -0,0 +1,46 @@ +SUMMARY = "orjson is a fast, correct JSON library for Python" +HOMEPAGE = "https://pypi.org/project/orjson/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d" + +SRCREV = "5cbb3d0398a2f42de51210270286fecd798c5d78" +PYPI_SRC_URI = "git://github.com/ijl/orjson;protocol=https;branch=master;tag=${PV};destsuffix=orjson-${PV}" + +CVE_PRODUCT = "orjson" + +require ${BPN}-crates.inc + +inherit pypi python_maturin cargo-update-recipe-crates ptest-python-pytest + +SRC_URI += " \ + file://0001-Guard-avx512-module-with-x86-target-cfg.patch \ + file://0002-Guard-x86-feature-detection-macro-in-pystrref-object.patch \ +" +DEPENDS = "python3-maturin-native" + +RDEPENDS:${PN} += "python3-maturin python3-mypy" + +do_compile:prepend() { + sed -i "/panic = \"abort\"/d" ${S}/Cargo.toml +} + +do_install_ptest:append() { + install -d ${D}${PTEST_PATH}/data + cp -rf ${S}/data/* ${D}${PTEST_PATH}/data/ + install -d ${D}${PTEST_PATH}/test + cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ +} + +RDEPENDS:${PN}-ptest += "\ + python3-dateutil \ + python3-dateutil-zoneinfo \ + python3-faker \ + python3-numpy \ + python3-pandas \ + python3-pendulum \ + python3-psutil \ + python3-pytz \ + python3-tzdata \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pandas_3.0.0.bb b/meta-python/recipes-devtools/python/python3-pandas_3.0.0.bb deleted file mode 100644 index 01f57b9aa9e..00000000000 --- a/meta-python/recipes-devtools/python/python3-pandas_3.0.0.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "pandas library for high-performance data analysis tools" -DESCRIPTION = "pandas is an open source, BSD-licensed library providing \ -high-performance, easy-to-use data structures and data analysis tools for \ -the Python programming language." -HOMEPAGE = "https://pandas.pydata.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e98642e1210ade884e5254ab18d55b7d" - -SRC_URI:append:class-target = " file://0001-BLD-add-option-to-specify-numpy-header-location.patch " - -SRC_URI[sha256sum] = "0facf7e87d38f721f0af46fe70d97373a37701b1c09f7ed7aeeb292ade5c050f" - -CVE_PRODUCT = "pandas" - -inherit pkgconfig pypi python_mesonpy cython - -DEPENDS += " \ - python3-numpy \ - python3-versioneer-native \ -" - -CFLAGS:append:toolchain-clang = " -Wno-error=deprecated-declarations" - -RDEPENDS:${PN} += " \ - python3-json \ - python3-numpy \ - python3-dateutil \ - python3-dateutil-zoneinfo \ - python3-pytz \ - python3-profile \ -" - -PYTHONPATH:prepend:class-target = "${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}:" -export PYTHONPATH - -do_compile:append() { - # Fix absolute paths in generated files - find ${B} -name "*.c" -o -name "*.cpp" | xargs -r \ - sed -i 's|${WORKDIR}/pandas-${PV}/|${TARGET_DBGSRC_DIR}/|g' -} - -do_install:prepend() { - sed -i -e 's;${S};;g' ${B}/pandas/_libs/sparse.cpython-*/pandas/_libs/sparse.pyx.c -} - -EXTRA_OEMESON:append:class-target = " -Dnumpy_inc_dir=${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}/numpy/_core/include " - -BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-pandas_3.0.2.bb b/meta-python/recipes-devtools/python/python3-pandas_3.0.2.bb new file mode 100644 index 00000000000..62affc5f454 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pandas_3.0.2.bb @@ -0,0 +1,48 @@ +SUMMARY = "pandas library for high-performance data analysis tools" +DESCRIPTION = "pandas is an open source, BSD-licensed library providing \ +high-performance, easy-to-use data structures and data analysis tools for \ +the Python programming language." +HOMEPAGE = "https://pandas.pydata.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e98642e1210ade884e5254ab18d55b7d" + +SRC_URI:append:class-target = " file://0001-BLD-add-option-to-specify-numpy-header-location.patch " + +SRC_URI[sha256sum] = "f4753e73e34c8d83221ba58f232433fca2748be8b18dbca02d242ed153945043" + +CVE_PRODUCT = "pandas" + +inherit pkgconfig pypi python_mesonpy cython + +DEPENDS += " \ + python3-numpy \ + python3-versioneer-native \ +" + +CFLAGS:append:toolchain-clang = " -Wno-error=deprecated-declarations" + +RDEPENDS:${PN} += " \ + python3-json \ + python3-numpy \ + python3-dateutil \ + python3-dateutil-zoneinfo \ + python3-pytz \ + python3-profile \ +" + +PYTHONPATH:prepend:class-target = "${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}:" +export PYTHONPATH + +do_compile:append() { + # Fix absolute paths in generated files + find ${B} -name "*.c" -o -name "*.cpp" | xargs -r \ + sed -i 's|${WORKDIR}/pandas-${PV}/|${TARGET_DBGSRC_DIR}/|g' +} + +do_install:prepend() { + sed -i -e 's;${S};;g' ${B}/pandas/_libs/sparse.cpython-*/pandas/_libs/sparse.pyx.c +} + +EXTRA_OEMESON:append:class-target = " -Dnumpy_inc_dir=${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}/numpy/_core/include " + +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-paramiko_3.5.1.bb b/meta-python/recipes-devtools/python/python3-paramiko_3.5.1.bb deleted file mode 100644 index daf63868888..00000000000 --- a/meta-python/recipes-devtools/python/python3-paramiko_3.5.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "The leading native Python SSHv2 protocol library." -HOMEPAGE = "https://github.com/paramiko/paramiko/" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5" - -SRC_URI[sha256sum] = "b2c665bc45b2b215bd7d7f039901b14b067da00f3a11e6640995fd58f2664822" - -PYPI_PACKAGE = "paramiko" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - -RDEPENDS:${PN} += " \ - python3-bcrypt \ - python3-cryptography \ - python3-logging \ - python3-pynacl \ - python3-unixadmin \ -" - -CVE_PRODUCT = "paramiko:paramiko python_software_foundation:paramiko" diff --git a/meta-python/recipes-devtools/python/python3-paramiko_4.0.0.bb b/meta-python/recipes-devtools/python/python3-paramiko_4.0.0.bb new file mode 100644 index 00000000000..b1f86acb4e6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-paramiko_4.0.0.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "The leading native Python SSHv2 protocol library." +HOMEPAGE = "https://github.com/paramiko/paramiko/" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5" + +SRC_URI[sha256sum] = "6a25f07b380cc9c9a88d2b920ad37167ac4667f8d9886ccebd8f90f654b5d69f" + +PYPI_PACKAGE = "paramiko" + +inherit pypi python_setuptools_build_meta + +CLEANBROKEN = "1" + +RDEPENDS:${PN} += " \ + python3-bcrypt \ + python3-cryptography \ + python3-logging \ + python3-pynacl \ + python3-unixadmin \ +" + +CVE_PRODUCT = "paramiko:paramiko python_software_foundation:paramiko" diff --git a/meta-python/recipes-devtools/python/python3-parse_1.20.2.bb b/meta-python/recipes-devtools/python/python3-parse_1.20.2.bb deleted file mode 100644 index 6e7139bfbec..00000000000 --- a/meta-python/recipes-devtools/python/python3-parse_1.20.2.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Parse strings using a specification based on the Python format() syntax" -HOMEPAGE = "https://github.com/r1chardj0n3s/parse" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8ab458ad281b60e6f1b39b3feafbfc05" - -SRC_URI[sha256sum] = "b41d604d16503c79d81af5165155c0b20f6c8d6c559efa66b4b695c3e5a0a0ce" - -SRC_URI += " \ - file://run-ptest \ -" - -inherit pypi python_setuptools_build_meta ptest - -RDEPENDS:${PN} += "\ - python3-datetime \ - python3-logging \ - python3-numbers \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-pytest \ - python3-unittest-automake-output \ -" - -do_install_ptest() { - cp -f ${S}/tests/test*.py ${D}${PTEST_PATH}/ -} diff --git a/meta-python/recipes-devtools/python/python3-parse_1.21.1.bb b/meta-python/recipes-devtools/python/python3-parse_1.21.1.bb new file mode 100644 index 00000000000..3af0c0e27ec --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-parse_1.21.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Parse strings using a specification based on the Python format() syntax" +HOMEPAGE = "https://github.com/r1chardj0n3s/parse" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8ab458ad281b60e6f1b39b3feafbfc05" + +SRC_URI[sha256sum] = "825e1a88e9d9fb481b8d2ca709c6195558b6eaa97c559ad3a9a20aa2d12815a3" + +SRC_URI += " \ + file://run-ptest \ +" + +inherit pypi python_setuptools_build_meta ptest + +RDEPENDS:${PN} += "\ + python3-datetime \ + python3-logging \ + python3-numbers \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + cp -f ${S}/tests/test*.py ${D}${PTEST_PATH}/ +} diff --git a/meta-python/recipes-devtools/python/python3-parso_0.8.5.bb b/meta-python/recipes-devtools/python/python3-parso_0.8.5.bb deleted file mode 100644 index 2bde8c3f40d..00000000000 --- a/meta-python/recipes-devtools/python/python3-parso_0.8.5.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A Python Parser" -HOMEPAGE = "https://github.com/davidhalter/parso" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cbaa2675b2424d771451332a7a69503f" - -PYPI_PACKAGE = "parso" - -SRC_URI[sha256sum] = "034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a" - -CVE_PRODUCT = "parso" - -inherit setuptools3 pypi - -RDEPENDS:${PN} = " \ - python3-crypt \ - python3-difflib \ - python3-logging \ -" diff --git a/meta-python/recipes-devtools/python/python3-parso_0.8.6.bb b/meta-python/recipes-devtools/python/python3-parso_0.8.6.bb new file mode 100644 index 00000000000..1659f1babd3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-parso_0.8.6.bb @@ -0,0 +1,18 @@ +SUMMARY = "A Python Parser" +HOMEPAGE = "https://github.com/davidhalter/parso" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cbaa2675b2424d771451332a7a69503f" + +PYPI_PACKAGE = "parso" + +SRC_URI[sha256sum] = "2b9a0332696df97d454fa67b81618fd69c35a7b90327cbe6ba5c92d2c68a7bfd" + +CVE_PRODUCT = "parso" + +inherit setuptools3 pypi + +RDEPENDS:${PN} = " \ + python3-crypt \ + python3-difflib \ + python3-logging \ +" diff --git a/meta-python/recipes-devtools/python/python3-pikepdf_10.3.0.bb b/meta-python/recipes-devtools/python/python3-pikepdf_10.3.0.bb deleted file mode 100644 index b633cb94880..00000000000 --- a/meta-python/recipes-devtools/python/python3-pikepdf_10.3.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Read and write PDFs with Python, powered by qpdf" -HOMEPAGE = "https://github.com/pikepdf/pikepdf" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9741c346eef56131163e13b9db1241b3" - -SRC_URI[sha256sum] = "e2a64a5f1ebf8c411193126b9eeff7faf5739a40bce7441e579531422469fbb1" - -inherit pypi python_setuptools_build_meta - -PYPI_PACKAGE = "pikepdf" - -CVE_PRODUCT = "pikepdf" - -DEPENDS += " \ - python3-pybind11-native \ - qpdf \ -" - -RDEPENDS:${PN} += " \ - python3-pillow \ - python3-lxml \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pikepdf_10.5.1.bb b/meta-python/recipes-devtools/python/python3-pikepdf_10.5.1.bb new file mode 100644 index 00000000000..289a702e061 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pikepdf_10.5.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Read and write PDFs with Python, powered by qpdf" +HOMEPAGE = "https://github.com/pikepdf/pikepdf" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9741c346eef56131163e13b9db1241b3" + +SRC_URI[sha256sum] = "ffa6c7d0b77deb3af9735e0b0cae177c897431e10d342bb171b62e5527a622b7" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "pikepdf" + +CVE_PRODUCT = "pikepdf" + +DEPENDS += " \ + python3-pybind11-native \ + qpdf \ +" + +RDEPENDS:${PN} += " \ + python3-pillow \ + python3-lxml \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pillow_12.1.0.bb b/meta-python/recipes-devtools/python/python3-pillow_12.1.0.bb deleted file mode 100644 index 83231cad067..00000000000 --- a/meta-python/recipes-devtools/python/python3-pillow_12.1.0.bb +++ /dev/null @@ -1,67 +0,0 @@ -DESCRIPTION = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \ -Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \ -Contributors." -HOMEPAGE = "https://pillow.readthedocs.io" -LICENSE = "MIT-CMU" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a1b708da743e3fc0e5c35e92daac0bf8" - -SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=main;protocol=https;tag=${PV} \ - file://0001-support-cross-compiling.patch \ - " -SRCREV = "46f45f674d47b5d8bc54230dda8fe9e214598b87" - -inherit python_setuptools_build_meta ptest-python-pytest - -PTEST_PYTEST_DIR = "Tests" - -PEP517_BUILD_OPTS += " \ - -C platform-guessing=disable \ - -C zlib=enable \ - -C jpeg=enable \ - -C tiff=enable \ - -C freetype=enable \ - -C lcms=enable \ - -C jpeg2000=enable \ - -C webp=disable \ - -C webpmux=disable \ - -C imagequant=disable \ -" - -DEPENDS += " \ - zlib \ - jpeg \ - tiff \ - freetype \ - lcms \ - openjpeg \ - python3-pybind11-native \ -" - -RDEPENDS:${PN} += " \ - python3-misc \ - python3-logging \ - python3-numbers \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb', '', d)} \ -" -# python3-compile for filecmp module -RDEPENDS:${PN}-ptest += " \ - bash \ - ghostscript \ - jpeg-tools \ - libwebp \ - python3-compile \ - python3-core \ - python3-image \ - python3-mmap \ - python3-pytest-timeout \ - python3-resource \ - python3-unixadmin\ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'tk', '', d)} \ -" - -CVE_PRODUCT = "pillow" - - -RPROVIDES:${PN} += "python3-imaging" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pillow_12.2.0.bb b/meta-python/recipes-devtools/python/python3-pillow_12.2.0.bb new file mode 100644 index 00000000000..f3fcb2d3c1c --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pillow_12.2.0.bb @@ -0,0 +1,67 @@ +DESCRIPTION = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \ +Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \ +Contributors." +HOMEPAGE = "https://pillow.readthedocs.io" +LICENSE = "MIT-CMU" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f0ac3777cfc96ded1b825e32ae7c99" + +SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=main;protocol=https;tag=${PV} \ + file://0001-support-cross-compiling.patch \ + " +SRCREV = "3c41c095064200a02672d89cc5ff629eaf4b0d4f" + +inherit python_setuptools_build_meta ptest-python-pytest + +PTEST_PYTEST_DIR = "Tests" + +PEP517_BUILD_OPTS += " \ + -C platform-guessing=disable \ + -C zlib=enable \ + -C jpeg=enable \ + -C tiff=enable \ + -C freetype=enable \ + -C lcms=enable \ + -C jpeg2000=enable \ + -C webp=disable \ + -C webpmux=disable \ + -C imagequant=disable \ +" + +DEPENDS += " \ + zlib \ + jpeg \ + tiff \ + freetype \ + lcms \ + openjpeg \ + python3-pybind11-native \ +" + +RDEPENDS:${PN} += " \ + python3-misc \ + python3-logging \ + python3-numbers \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb', '', d)} \ +" +# python3-compile for filecmp module +RDEPENDS:${PN}-ptest += " \ + bash \ + ghostscript \ + jpeg-tools \ + libwebp \ + python3-compile \ + python3-core \ + python3-image \ + python3-mmap \ + python3-pytest-timeout \ + python3-resource \ + python3-unixadmin\ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'tk', '', d)} \ +" + +CVE_PRODUCT = "pillow" + + +RPROVIDES:${PN} += "python3-imaging" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pint_0.25.2.bb b/meta-python/recipes-devtools/python/python3-pint_0.25.2.bb deleted file mode 100644 index 97ee4b48bc9..00000000000 --- a/meta-python/recipes-devtools/python/python3-pint_0.25.2.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Physical quantities module" -DESCRIPTION = "Physical quantities Python module" -HOMEPAGE = "https://github.com/hgrecco/pint" -SECTION = "devel/python" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bccf824202692270a1e0829a62e3f47b" - -inherit pypi python_hatchling ptest-python-pytest python_setuptools_build_meta - -SRC_URI[sha256sum] = "85a45d1da8fe9c9f7477fed8aef59ad2b939af3d6611507e1a9cbdacdcd3450a" - -DEPENDS += "python3-setuptools-scm-native python3-hatch-vcs-native" - -BBCLASSEXTEND = "native nativesdk" - -PTEST_PYTEST_DIR = "pint" - -RDEPENDS:${PN} += " \ - python3-setuptools \ - python3-packaging \ - python3-platformdirs \ -" -# python3-misc for timeit.py -RDEPENDS:${PN}-ptest += " \ - python3-appdirs \ - python3-attrs \ - python3-flexcache \ - python3-flexparser \ - python3-misc \ - python3-pytest-benchmark \ - python3-pytest-subtests \ - python3-statistics \ -" - diff --git a/meta-python/recipes-devtools/python/python3-pint_0.25.3.bb b/meta-python/recipes-devtools/python/python3-pint_0.25.3.bb new file mode 100644 index 00000000000..fff2b083243 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pint_0.25.3.bb @@ -0,0 +1,35 @@ +SUMMARY = "Physical quantities module" +DESCRIPTION = "Physical quantities Python module" +HOMEPAGE = "https://github.com/hgrecco/pint" +SECTION = "devel/python" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bccf824202692270a1e0829a62e3f47b" + +inherit pypi python_hatchling ptest-python-pytest python_setuptools_build_meta + +SRC_URI[sha256sum] = "f8f5df6cf65314d74da1ade1bf96f8e3e4d0c41b51577ac53c49e7d44ca5acee" + +DEPENDS += "python3-setuptools-scm-native python3-hatch-vcs-native" + +BBCLASSEXTEND = "native nativesdk" + +PTEST_PYTEST_DIR = "pint" + +RDEPENDS:${PN} += " \ + python3-setuptools \ + python3-packaging \ + python3-platformdirs \ +" +# python3-misc for timeit.py +RDEPENDS:${PN}-ptest += " \ + python3-appdirs \ + python3-attrs \ + python3-flexcache \ + python3-flexparser \ + python3-misc \ + python3-pytest-benchmark \ + python3-pytest-subtests \ + python3-statistics \ +" + diff --git a/meta-python/recipes-devtools/python/python3-pkgconfig_1.5.5.bb b/meta-python/recipes-devtools/python/python3-pkgconfig_1.5.5.bb deleted file mode 100644 index 8f65d3d4c5b..00000000000 --- a/meta-python/recipes-devtools/python/python3-pkgconfig_1.5.5.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Python module to interface with the pkg-config command line too" -HOMEPAGE = "https://github.com/matze/pkgconfig" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=faa7f82be8f220bff6156be4790344fc" - -SRC_URI[sha256sum] = "deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899" - -RDEPENDS:${PN} = "pkgconfig \ - python3-shell \ - " - -inherit pypi python_poetry_core - -BBCLASSEXTEND = "native" - diff --git a/meta-python/recipes-devtools/python/python3-pkgconfig_1.6.0.bb b/meta-python/recipes-devtools/python/python3-pkgconfig_1.6.0.bb new file mode 100644 index 00000000000..e872c7a3149 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pkgconfig_1.6.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Python module to interface with the pkg-config command line too" +HOMEPAGE = "https://github.com/matze/pkgconfig" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=faa7f82be8f220bff6156be4790344fc" + +SRC_URI[sha256sum] = "4a5a6631ce937fafac457104a40d558785a658bbdca5c49b6295bc3fd651907f" + +RDEPENDS:${PN} = "pkgconfig \ + python3-shell \ + " + +inherit pypi python_poetry_core + +BBCLASSEXTEND = "native" + diff --git a/meta-python/recipes-devtools/python/python3-platformdirs_4.5.1.bb b/meta-python/recipes-devtools/python/python3-platformdirs_4.5.1.bb deleted file mode 100644 index 666ba6805e7..00000000000 --- a/meta-python/recipes-devtools/python/python3-platformdirs_4.5.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "A small Python module for determining appropriate platform-specific dirs" -HOMEPAGE = "https://github.com/platformdirs/platformdirs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a" - -SRC_URI[sha256sum] = "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda" - -inherit pypi python_hatchling ptest-python-pytest - -DEPENDS += " \ - python3-hatch-vcs-native \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-appdirs \ - python3-covdefaults \ - python3-pytest-cov \ - python3-pytest-mock \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-platformdirs_4.9.6.bb b/meta-python/recipes-devtools/python/python3-platformdirs_4.9.6.bb new file mode 100644 index 00000000000..6ca4a09bde6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-platformdirs_4.9.6.bb @@ -0,0 +1,21 @@ +SUMMARY = "A small Python module for determining appropriate platform-specific dirs" +HOMEPAGE = "https://github.com/platformdirs/platformdirs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a" + +SRC_URI[sha256sum] = "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" + +inherit pypi python_hatchling ptest-python-pytest + +DEPENDS += " \ + python3-hatch-vcs-native \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-appdirs \ + python3-covdefaults \ + python3-pytest-cov \ + python3-pytest-mock \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pre-commit_4.3.0.bb b/meta-python/recipes-devtools/python/python3-pre-commit_4.3.0.bb deleted file mode 100644 index f3116e6d0dc..00000000000 --- a/meta-python/recipes-devtools/python/python3-pre-commit_4.3.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "A framework for managing and maintaining multi-language pre-commit hooks." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b53a93744e3ff841e5fc9a934da8e1c8" - -PYPI_PACKAGE = "pre_commit" - -inherit pypi setuptools3 -SRC_URI[sha256sum] = "499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16" - -RDEPENDS:${PN} = " \ - python3-cfgv \ - python3-identify \ - python3-nodeenv \ - python3-pyyaml \ - python3-virtualenv \ -" diff --git a/meta-python/recipes-devtools/python/python3-pre-commit_4.5.1.bb b/meta-python/recipes-devtools/python/python3-pre-commit_4.5.1.bb new file mode 100644 index 00000000000..df4769c13ea --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pre-commit_4.5.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "A framework for managing and maintaining multi-language pre-commit hooks." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b53a93744e3ff841e5fc9a934da8e1c8" + +PYPI_PACKAGE = "pre_commit" + +inherit pypi setuptools3 +SRC_URI[sha256sum] = "eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61" + +RDEPENDS:${PN} = " \ + python3-cfgv \ + python3-identify \ + python3-nodeenv \ + python3-pyyaml \ + python3-virtualenv \ +" diff --git a/meta-python/recipes-devtools/python/python3-progress_1.6.1.bb b/meta-python/recipes-devtools/python/python3-progress_1.6.1.bb index 57c0748a5c0..9ec4ec2b669 100644 --- a/meta-python/recipes-devtools/python/python3-progress_1.6.1.bb +++ b/meta-python/recipes-devtools/python/python3-progress_1.6.1.bb @@ -7,7 +7,7 @@ SRC_URI[sha256sum] = "c1ba719f862ce885232a759eab47971fe74dfc7bb76ab8a51ef5940bad inherit pypi python_setuptools_build_meta -RDEPENDS:${PN}:class-target += " \ +RDEPENDS:${PN}:append:class-target = " \ python3-datetime \ python3-math \ " diff --git a/meta-python/recipes-devtools/python/python3-protobuf_6.33.5.bb b/meta-python/recipes-devtools/python/python3-protobuf_6.33.5.bb deleted file mode 100644 index af30165f815..00000000000 --- a/meta-python/recipes-devtools/python/python3-protobuf_6.33.5.bb +++ /dev/null @@ -1,50 +0,0 @@ -DESCRIPTION = "Protocol Buffers" -HOMEPAGE = "https://developers.google.com/protocol-buffers/" -SECTION = "devel/python" -# MIT license is from utf8_range although it's packaged without this information -# https://github.com/protocolbuffers/protobuf/blob/main/third_party/utf8_range/LICENSE -LICENSE = "BSD-3-Clause & MIT" -LIC_FILES_CHKSUM = " \ - file://PKG-INFO;beginline=9;endline=9;md5=53dbfa56f61b90215a9f8f0d527c043d \ - file://utf8_range/utf8_range.h;beginline=1;endline=2;md5=f05b3ef36cc354d7134597075a1af64f \ -" - -inherit pypi setuptools3 -SRC_URI[sha256sum] = "6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c" - -CVE_PRODUCT += "google:protobuf protobuf:protobuf google-protobuf protobuf-python" - -# http://errors.yoctoproject.org/Errors/Details/184715/ -# Can't find required file: ../src/google/protobuf/descriptor.proto -CLEANBROKEN = "1" - -DEPENDS += "protobuf" - -RDEPENDS:${PN} += " \ - python3-ctypes \ - python3-datetime \ - python3-json \ - python3-logging \ - python3-netclient \ - python3-numbers \ - python3-pkgutil \ - python3-unittest \ -" - -# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) -BBCLASSEXTEND = "native nativesdk" - -DISTUTILS_BUILD_ARGS += "--cpp_implementation" -DISTUTILS_INSTALL_ARGS += "--cpp_implementation" - -do_compile:prepend:class-native () { - export KOKORO_BUILD_NUMBER="1" -} - -do_install:append () { - # Remove useless and problematic .pth file. python3-protobuf is installed in the standard - # location of site packages. No need for such .pth file. - # NOTE: do not drop this removal until the following issue in upstream cpython is resolved: - # https://github.com/python/cpython/issues/122220 - rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/protobuf-*-nspkg.pth -} diff --git a/meta-python/recipes-devtools/python/python3-protobuf_6.33.6.bb b/meta-python/recipes-devtools/python/python3-protobuf_6.33.6.bb new file mode 100644 index 00000000000..0595ec2a470 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-protobuf_6.33.6.bb @@ -0,0 +1,52 @@ +DESCRIPTION = "Protocol Buffers" +HOMEPAGE = "https://developers.google.com/protocol-buffers/" +SECTION = "devel/python" +# MIT license is from utf8_range although it's packaged without this information +# https://github.com/protocolbuffers/protobuf/blob/main/third_party/utf8_range/LICENSE +LICENSE = "BSD-3-Clause & MIT" +LIC_FILES_CHKSUM = " \ + file://PKG-INFO;beginline=9;endline=9;md5=53dbfa56f61b90215a9f8f0d527c043d \ + file://utf8_range/utf8_range.h;beginline=1;endline=2;md5=f05b3ef36cc354d7134597075a1af64f \ +" + +inherit pypi setuptools3 +SRC_URI[sha256sum] = "a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135" + +CVE_PRODUCT += "google:protobuf protobuf:protobuf google-protobuf protobuf-python" +CVE_STATUS[CVE-2026-0994] = "fixed-version: it is fixed in 6.33.5" +CVE_STATUS[CVE-2026-6409] = "cpe-incorrect: the vulnerability affects only the php library" + +# http://errors.yoctoproject.org/Errors/Details/184715/ +# Can't find required file: ../src/google/protobuf/descriptor.proto +CLEANBROKEN = "1" + +DEPENDS += "protobuf" + +RDEPENDS:${PN} += " \ + python3-ctypes \ + python3-datetime \ + python3-json \ + python3-logging \ + python3-netclient \ + python3-numbers \ + python3-pkgutil \ + python3-unittest \ +" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native nativesdk" + +DISTUTILS_BUILD_ARGS += "--cpp_implementation" +DISTUTILS_INSTALL_ARGS += "--cpp_implementation" + +do_compile:prepend:class-native () { + export KOKORO_BUILD_NUMBER="1" +} + +do_install:append () { + # Remove useless and problematic .pth file. python3-protobuf is installed in the standard + # location of site packages. No need for such .pth file. + # NOTE: do not drop this removal until the following issue in upstream cpython is resolved: + # https://github.com/python/cpython/issues/122220 + rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/protobuf-*-nspkg.pth +} diff --git a/meta-python/recipes-devtools/python/python3-py7zr_1.1.2.bb b/meta-python/recipes-devtools/python/python3-py7zr_1.1.2.bb index 5a0fe86ebdd..b4c6c1672b0 100644 --- a/meta-python/recipes-devtools/python/python3-py7zr_1.1.2.bb +++ b/meta-python/recipes-devtools/python/python3-py7zr_1.1.2.bb @@ -23,7 +23,6 @@ RDEPENDS:${PN} += "\ python3-pybcj \ python3-inflate64 \ python3-pyppmd \ - python3-pyzstd \ python3-brotli \ python3-multiprocessing \ python3-datetime \ diff --git a/meta-python/recipes-devtools/python/python3-pyais_2.15.0.bb b/meta-python/recipes-devtools/python/python3-pyais_2.15.0.bb deleted file mode 100644 index 3f124a750dc..00000000000 --- a/meta-python/recipes-devtools/python/python3-pyais_2.15.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "AIS message decoding" -HOMEPAGE = "https://github.com/M0r13n/pyais" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=79d9e278b76e3e5b3358cd70b328173c" - -SRC_URI = "git://github.com/M0r13n/pyais;protocol=https;branch=master;tag=v${PV}" - -SRCREV = "7350f9db65ad715e582979bf389133bde07f5e10" - -inherit python_setuptools_build_meta ptest-python-pytest - -PYPI_PACKAGE = "pyais" - -do_install_ptest:append() { - install -d ${D}${PTEST_PATH}/examples/ - install -Dm 0644 ${S}/examples/*.py ${D}${PTEST_PATH}/examples/ - install -Dm 0644 ${S}/examples/*.nmea ${D}${PTEST_PATH}/examples/ - install -Dm 0644 ${S}/examples/*.ais ${D}${PTEST_PATH}/examples/ -} - -RDEPENDS:${PN} = "python3-attrs python3-bitarray" -RDEPENDS:${PN}-ptest += "\ - python3-coverage \ - python3-mypy \ - python3-pytest-cov \ - " diff --git a/meta-python/recipes-devtools/python/python3-pyais_3.0.0.bb b/meta-python/recipes-devtools/python/python3-pyais_3.0.0.bb new file mode 100644 index 00000000000..a8b8777821d --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyais_3.0.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "AIS message decoding" +HOMEPAGE = "https://github.com/M0r13n/pyais" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=79d9e278b76e3e5b3358cd70b328173c" + +SRC_URI = "git://github.com/M0r13n/pyais;protocol=https;branch=main;tag=v${PV}" + +SRCREV = "a88659ae381487e547fde3c18ab45cfe572b1094" + +inherit python_setuptools_build_meta ptest-python-pytest + +PYPI_PACKAGE = "pyais" + +do_install_ptest:append() { + install -d ${D}${PTEST_PATH}/examples/ + install -Dm 0644 ${S}/examples/*.py ${D}${PTEST_PATH}/examples/ + install -Dm 0644 ${S}/examples/*.nmea ${D}${PTEST_PATH}/examples/ + install -Dm 0644 ${S}/examples/*.ais ${D}${PTEST_PATH}/examples/ +} + +RDEPENDS:${PN} = "python3-attrs python3-bitarray" +RDEPENDS:${PN}-ptest += "\ + python3-coverage \ + python3-mypy \ + python3-pytest-cov \ + " diff --git a/meta-python/recipes-devtools/python/python3-pyatspi_2.46.1.bb b/meta-python/recipes-devtools/python/python3-pyatspi_2.46.1.bb deleted file mode 100644 index cb9b61bd662..00000000000 --- a/meta-python/recipes-devtools/python/python3-pyatspi_2.46.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Python bindings for DBus AT-SPI2 accessibility" -DESCRIPTION = "AT-SPI2 is a protocol over DBus, toolkit widgets use to provide content to screen readers such as Orca" -SECTION = "devel/python" -HOMEPAGE = "https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=db29218e6ba3794c56df7d4987dc7e4d \ - file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "python3-dbus-native glib-2.0 dbus-glib libxml2 atk gtk+ python3-pygobject" - -SRC_URI = "git://github.com/GNOME/pyatspi2.git;protocol=https;branch=master" -SRCREV = "8c69016b38d0e4caaf4c986938ea3410fb7351b6" - - -# Same restriction as gtk+ -inherit features_check setuptools3 -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" - -inherit pkgconfig autotools python3native - -FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/pyatspi/*" - -RDEPENDS:${PN} += "python3-pygobject" diff --git a/meta-python/recipes-devtools/python/python3-pyatspi_2.58.2.bb b/meta-python/recipes-devtools/python/python3-pyatspi_2.58.2.bb new file mode 100644 index 00000000000..404ff19a72d --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyatspi_2.58.2.bb @@ -0,0 +1,25 @@ +SUMMARY = "Python bindings for DBus AT-SPI2 accessibility" +DESCRIPTION = "AT-SPI2 is a protocol over DBus, toolkit widgets use to provide content to screen readers such as Orca" +SECTION = "devel/python" +HOMEPAGE = "https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=db29218e6ba3794c56df7d4987dc7e4d \ + file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "python3-dbus-native glib-2.0 dbus-glib libxml2 atk gtk+ python3-pygobject" + +SRC_URI = "git://github.com/GNOME/pyatspi2.git;protocol=https;branch=master;tag=${PV}" +SRCREV = "f2fb289a9d2e4dac65fca8db0f4d3d65607a0cf2" + + +# Same restriction as gtk+ +inherit features_check +ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" + +inherit pkgconfig python_setuptools_build_meta python_mesonpy + +DEPENDS += "python3-pygobject-native" + +FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/pyatspi/*" + +RDEPENDS:${PN} += "python3-pygobject" diff --git a/meta-python/recipes-devtools/python/python3-pychromecast/0001-bump-required-version-to-0.46.1-for-python3-wheel.patch b/meta-python/recipes-devtools/python/python3-pychromecast/0001-bump-required-version-to-0.46.1-for-python3-wheel.patch deleted file mode 100644 index 655b9c08c7a..00000000000 --- a/meta-python/recipes-devtools/python/python3-pychromecast/0001-bump-required-version-to-0.46.1-for-python3-wheel.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 672b0501526fc7c91725236fc37db82794096832 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 1 Jul 2025 23:14:08 -0700 -Subject: [PATCH] bump required version to 0.46.1 for python3-wheel - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - pyproject.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pyproject.toml b/pyproject.toml -index d5a518c..a6a159d 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -1,5 +1,5 @@ - [build-system] --requires = ["setuptools>=65.6,<81.0", "wheel>=0.37.1,<0.46.0"] -+requires = ["setuptools>=65.6,<81.0", "wheel>=0.37.1,<0.46.2"] - build-backend = "setuptools.build_meta" - - [project] diff --git a/meta-python/recipes-devtools/python/python3-pychromecast/0002-allow-newer-wheel.patch b/meta-python/recipes-devtools/python/python3-pychromecast/0002-allow-newer-wheel.patch deleted file mode 100644 index 456feb60109..00000000000 --- a/meta-python/recipes-devtools/python/python3-pychromecast/0002-allow-newer-wheel.patch +++ /dev/null @@ -1,22 +0,0 @@ -From e11eb34d1196a9dc35fef213aeffdfd8e6e29f44 Mon Sep 17 00:00:00 2001 -From: Tom Geelen -Date: Sun, 8 Feb 2026 19:14:09 +0100 -Subject: [PATCH] allow newer wheel - -Signed-off-by: Tom Geelen -Upstream-Status: Pending ---- - pyproject.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pyproject.toml b/pyproject.toml -index 4c98630..75a15da 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -1,5 +1,5 @@ - [build-system] --requires = ["setuptools>=65.6,<81.0", "wheel>=0.37.1,<0.46.2"] -+requires = ["setuptools>=65.6,<81.0", "wheel>=0.37.1,<0.46.4"] - build-backend = "setuptools.build_meta" - - [project] diff --git a/meta-python/recipes-devtools/python/python3-pychromecast_14.0.10.bb b/meta-python/recipes-devtools/python/python3-pychromecast_14.0.10.bb new file mode 100644 index 00000000000..cdd85a550f9 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pychromecast_14.0.10.bb @@ -0,0 +1,14 @@ +SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast." +HOMEPAGE = "https://github.com/balloob/pychromecast" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5" + +SRC_URI[sha256sum] = "f05a1c8d727d4f104c8c731688053033e05157f2ab81bc8eef50ec0c62f9373c" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += "\ + python3-zeroconf (>=0.131.0) \ + python3-protobuf (>=4.25.2) \ + python3-casttube (>=0.2.1) \ +" diff --git a/meta-python/recipes-devtools/python/python3-pychromecast_14.0.9.bb b/meta-python/recipes-devtools/python/python3-pychromecast_14.0.9.bb deleted file mode 100644 index 6f88684f8b8..00000000000 --- a/meta-python/recipes-devtools/python/python3-pychromecast_14.0.9.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast." -HOMEPAGE = "https://github.com/balloob/pychromecast" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5" - -SRC_URI += "file://0001-bump-required-version-to-0.46.1-for-python3-wheel.patch \ - file://0002-allow-newer-wheel.patch \ - " - -SRC_URI[sha256sum] = "fe78841b0b04aa107d08aed216e91ab9cfb54b11d089d382be4e987e3631d4a6" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} += "\ - python3-zeroconf (>=0.131.0) \ - python3-protobuf (>=4.25.2) \ - python3-casttube (>=0.2.1) \ -" diff --git a/meta-python/recipes-devtools/python/python3-pyee_13.0.0.bb b/meta-python/recipes-devtools/python/python3-pyee_13.0.0.bb deleted file mode 100644 index fba54324da2..00000000000 --- a/meta-python/recipes-devtools/python/python3-pyee_13.0.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "A rough port of Node.js's EventEmitter to Python with a few tricks of its own" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b2b1cc8797dff32cec5d783148fceab5" - -DEPENDS = "python3-setuptools-scm-native" -SRC_URI[sha256sum] = "b391e3c5a434d1f5118a25615001dbc8f669cf410ab67d04c4d4e07c55481c37" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -RDEPENDS:${PN} += "python3-typing-extensions" - -PYPI_PACKAGE = "pyee" diff --git a/meta-python/recipes-devtools/python/python3-pyee_13.0.1.bb b/meta-python/recipes-devtools/python/python3-pyee_13.0.1.bb new file mode 100644 index 00000000000..a5a9822cd30 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyee_13.0.1.bb @@ -0,0 +1,12 @@ +SUMMARY = "A rough port of Node.js's EventEmitter to Python with a few tricks of its own" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b2b1cc8797dff32cec5d783148fceab5" + +DEPENDS = "python3-setuptools-scm-native" +SRC_URI[sha256sum] = "0b931f7c14535667ed4c7e0d531716368715e860b988770fc7eb8578d1f67fc8" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +RDEPENDS:${PN} += "python3-typing-extensions" + +PYPI_PACKAGE = "pyee" diff --git a/meta-python/recipes-devtools/python/python3-pyfuse3_3.4.2.bb b/meta-python/recipes-devtools/python/python3-pyfuse3_3.4.2.bb new file mode 100644 index 00000000000..4b20c186a12 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyfuse3_3.4.2.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python bindings for libfuse3." + +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=622e3d340933e3857b7561f37a2f412b" + +inherit pypi python_setuptools_build_meta python_pep517 cython pkgconfig + +SRC_URI[sha256sum] = "0a59031969c4ba51a5ec1b67f3c5c24f641a6a3f8119a86edad56debcb9084d9" + +DEPENDS = " \ + fuse3 \ + python3-setuptools-native \ + python3-setuptools-scm-native \ +" + +RDEPENDS:${PN} += " \ + python3-ctypes \ + python3-logging \ + python3-pickle \ + python3-threading \ + python3-trio \ +" diff --git a/meta-python/recipes-devtools/python/python3-pyjwt_2.11.0.bb b/meta-python/recipes-devtools/python/python3-pyjwt_2.11.0.bb deleted file mode 100644 index 4e81efe45ff..00000000000 --- a/meta-python/recipes-devtools/python/python3-pyjwt_2.11.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "JSON Web Token implementation in Python" -DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\ - Original implementation was written by https://github.com/progrium" -HOMEPAGE = "https://github.com/jpadilla/pyjwt" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e4b56d2c9973d8cf54655555be06e551" - -SRC_URI[sha256sum] = "35f95c1f0fbe5d5ba6e43f00271c275f7a1a4db1dab27bf708073b75318ea623" - -PYPI_PACKAGE = "pyjwt" -CVE_PRODUCT = "pyjwt" -CVE_STATUS[CVE-2025-45768] = "disputed: vulnerability can be avoided if the library is used correctly" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} = "\ - python3-cryptography \ - python3-json \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pyjwt_2.12.1.bb b/meta-python/recipes-devtools/python/python3-pyjwt_2.12.1.bb new file mode 100644 index 00000000000..eb445f9c91e --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyjwt_2.12.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "JSON Web Token implementation in Python" +DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\ + Original implementation was written by https://github.com/progrium" +HOMEPAGE = "https://github.com/jpadilla/pyjwt" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e4b56d2c9973d8cf54655555be06e551" + +SRC_URI[sha256sum] = "c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b" + +PYPI_PACKAGE = "pyjwt" +CVE_PRODUCT = "pyjwt" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} = "\ + python3-cryptography \ + python3-json \ +" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-python/recipes-devtools/python/python3-pylint_4.0.4.bb b/meta-python/recipes-devtools/python/python3-pylint_4.0.4.bb deleted file mode 100644 index adee1d10c1f..00000000000 --- a/meta-python/recipes-devtools/python/python3-pylint_4.0.4.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "Pylint is a Python source code analyzer" -HOMEPAGE = "https://www.pylint.org/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9" - -SRCREV = "e16f942166511d6fb4427e503a734152fae0c4fe" -SRC_URI += "git://github.com/pylint-dev/pylint;branch=main;protocol=https;tag=v${PV} \ - file://0001-Adjust-test-expectations-for-ptest.patch \ - file://0002-pyproject.toml-Keep-tool.setuptools.license-files.patch \ - file://run-ptest \ - " - -inherit python_setuptools_build_meta ptest - - -RDEPENDS:${PN} += "\ - python3-astroid \ - python3-difflib \ - python3-dill \ - python3-isort \ - python3-json \ - python3-mccabe \ - python3-netserver \ - python3-numbers \ - python3-pkgutil \ - python3-platformdirs \ - python3-shell \ - python3-tomlkit \ - " -# python3-misc for timeit.py -RDEPENDS:${PN}-ptest += " \ - python3-core \ - python3-git \ - python3-misc \ - python3-py \ - python3-pytest \ - python3-pytest-benchmark \ - python3-pytest-runner \ - python3-pytest-timeout \ - python3-pytest-xdist \ - python3-requests \ - python3-statistics \ - python3-tomllib \ - python3-typing-extensions \ - python3-unittest-automake-output \ - " - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ - install -Dm 0644 ${S}/tests/.pylint_primer_tests/.gitkeep ${D}${PTEST_PATH}/tests/.pylint_primer_tests/.gitkeep - sed -i 's#/usr/bin/python$#/usr/bin/python3#g' ${D}${PTEST_PATH}/tests/data/a_script - # regression_distutil_import_error_73.py fails to run see - # https://lists.openembedded.org/g/openembedded-devel/topic/103181847 - rm ${D}${PTEST_PATH}/tests/functional/r/regression_02/regression_distutil_import_error_73.py -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pylint_4.0.5.bb b/meta-python/recipes-devtools/python/python3-pylint_4.0.5.bb new file mode 100644 index 00000000000..15d8c148063 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pylint_4.0.5.bb @@ -0,0 +1,58 @@ +SUMMARY = "Pylint is a Python source code analyzer" +HOMEPAGE = "https://www.pylint.org/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9" + +SRCREV = "88e1ab7545a4af4aea15c305a154c164a95ab842" +SRC_URI += "git://github.com/pylint-dev/pylint;branch=main;protocol=https;tag=v${PV} \ + file://0001-Adjust-test-expectations-for-ptest.patch \ + file://0002-pyproject.toml-Keep-tool.setuptools.license-files.patch \ + file://run-ptest \ + " + +inherit python_setuptools_build_meta ptest + + +RDEPENDS:${PN} += "\ + python3-astroid \ + python3-difflib \ + python3-dill \ + python3-isort \ + python3-json \ + python3-mccabe \ + python3-netserver \ + python3-numbers \ + python3-pkgutil \ + python3-platformdirs \ + python3-shell \ + python3-tomlkit \ + " +# python3-misc for timeit.py +RDEPENDS:${PN}-ptest += " \ + python3-core \ + python3-git \ + python3-misc \ + python3-py \ + python3-pytest \ + python3-pytest-benchmark \ + python3-pytest-runner \ + python3-pytest-timeout \ + python3-pytest-xdist \ + python3-requests \ + python3-statistics \ + python3-tomllib \ + python3-typing-extensions \ + python3-unittest-automake-output \ + " + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + install -Dm 0644 ${S}/tests/.pylint_primer_tests/.gitkeep ${D}${PTEST_PATH}/tests/.pylint_primer_tests/.gitkeep + sed -i 's#/usr/bin/python$#/usr/bin/python3#g' ${D}${PTEST_PATH}/tests/data/a_script + # regression_distutil_import_error_73.py fails to run see + # https://lists.openembedded.org/g/openembedded-devel/topic/103181847 + rm ${D}${PTEST_PATH}/tests/functional/r/regression_02/regression_distutil_import_error_73.py +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pymisp_2.5.32.bb b/meta-python/recipes-devtools/python/python3-pymisp_2.5.32.bb deleted file mode 100644 index 4c8bd5c50d1..00000000000 --- a/meta-python/recipes-devtools/python/python3-pymisp_2.5.32.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Python API for MISP" -HOMEPAGE = "https://github.com/MISP/PyMISP" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" - -SRC_URI[sha256sum] = "6d6cae6ff5756dc77f8a1a84175ed769c7bdc7b5c8250650bc238f6ad13d5d2d" - -inherit python_poetry_core pypi - -RDEPENDS:${PN} += " \ - python3-dateutil \ - python3-json \ - python3-jsonschema \ - python3-requests \ - python3-six \ - python3-deprecated \ - python3-wrapt \ -" - -# Fixes: python3-pymisp requires /bin/bash, but no -# providers found in RDEPENDS:python3-pymisp? [file-rdep] -RDEPENDS:${PN} += "bash" diff --git a/meta-python/recipes-devtools/python/python3-pymisp_2.5.33.1.bb b/meta-python/recipes-devtools/python/python3-pymisp_2.5.33.1.bb new file mode 100644 index 00000000000..4885dda8596 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pymisp_2.5.33.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Python API for MISP" +HOMEPAGE = "https://github.com/MISP/PyMISP" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" + +SRC_URI[sha256sum] = "b5cd9aac342596fbe2696b7c3ee02a2a221574557c0334451b0d4e21a4c5928f" + +inherit python_poetry_core pypi + +RDEPENDS:${PN} += " \ + python3-dateutil \ + python3-json \ + python3-jsonschema \ + python3-requests \ + python3-six \ + python3-deprecated \ + python3-wrapt \ +" + +# Fixes: python3-pymisp requires /bin/bash, but no +# providers found in RDEPENDS:python3-pymisp? [file-rdep] +RDEPENDS:${PN} += "bash" diff --git a/meta-python/recipes-devtools/python/python3-pymodbus_3.11.4.bb b/meta-python/recipes-devtools/python/python3-pymodbus_3.11.4.bb deleted file mode 100644 index 6d961fda1a4..00000000000 --- a/meta-python/recipes-devtools/python/python3-pymodbus_3.11.4.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "A fully featured modbus protocol stack in python" -HOMEPAGE = "https://github.com/riptideio/pymodbus/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=12a490c6cffa2e76a6df8aa1fa29e183" - -SRC_URI[sha256sum] = "6910e385cb6b2f983cd457e9ecee2ff580dbb23cf3d84aefec0845e71edd606a" - -inherit pypi python_setuptools_build_meta - -PACKAGECONFIG ??= "" -PACKAGECONFIG[repl] = ",,,python3-aiohttp python3-click python3-prompt-toolkit python3-pygments python3-pyserial-asyncio" -PACKAGECONFIG[asyncio] = ",,,python3-pyserial-asyncio" -PACKAGECONFIG[tornado] = ",,,python3-tornado" -PACKAGECONFIG[twisted] = ",,,python3-twisted-conch" -PACKAGECONFIG[redis] = ",,,python3-redis" -PACKAGECONFIG[sql] = ",,,python3-sqlalchemy" - -RDEPENDS:${PN} += " \ - python3-asyncio \ - python3-core \ - python3-io \ - python3-json \ - python3-logging \ - python3-math \ - python3-netserver \ -" - -RDEPENDS:${PN} += " \ - python3-pyserial \ - python3-six \ -" diff --git a/meta-python/recipes-devtools/python/python3-pymodbus_3.13.0.bb b/meta-python/recipes-devtools/python/python3-pymodbus_3.13.0.bb new file mode 100644 index 00000000000..c59e8870b7f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pymodbus_3.13.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "A fully featured modbus protocol stack in python" +HOMEPAGE = "https://github.com/riptideio/pymodbus/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=12a490c6cffa2e76a6df8aa1fa29e183" + +SRC_URI[sha256sum] = "da4c87afe772787620594c564cd8aa8a4c58ff9786382aba9550fe0ce8879f32" + +inherit pypi python_setuptools_build_meta + +PACKAGECONFIG ??= "" +PACKAGECONFIG[repl] = ",,,python3-aiohttp python3-click python3-prompt-toolkit python3-pygments python3-pyserial-asyncio" +PACKAGECONFIG[asyncio] = ",,,python3-pyserial-asyncio" +PACKAGECONFIG[tornado] = ",,,python3-tornado" +PACKAGECONFIG[twisted] = ",,,python3-twisted-conch" +PACKAGECONFIG[redis] = ",,,python3-redis" +PACKAGECONFIG[sql] = ",,,python3-sqlalchemy" + +RDEPENDS:${PN} += " \ + python3-asyncio \ + python3-core \ + python3-io \ + python3-json \ + python3-logging \ + python3-math \ + python3-netserver \ +" + +RDEPENDS:${PN} += " \ + python3-pyserial \ + python3-six \ +" diff --git a/meta-python/recipes-devtools/python/python3-pyperf_2.10.0.bb b/meta-python/recipes-devtools/python/python3-pyperf_2.10.0.bb new file mode 100644 index 00000000000..39b8ee84700 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyperf_2.10.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "A toolkit to write, run and analyze benchmarks" +DESCRIPTION = " \ +The Python pyperf module is a toolkit to write, run and analyze benchmarks. \ +Features: \ + * Simple API to run reliable benchmarks \ + * Automatically calibrate a benchmark for a time budget. \ + * Spawn multiple worker processes. \ + * Compute the mean and standard deviation. \ + * Detect if a benchmark result seems unstable. \ + * JSON format to store benchmark results. \ + * Support multiple units: seconds, bytes and integer. \ +" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8" + +SRC_URI[sha256sum] = "dd93ccfda79214725293e95f1fa6e00cb4a64adcf1326039486d4e1f91caaa62" + +DEPENDS += "python3-six-native" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += "python3-misc python3-statistics" diff --git a/meta-python/recipes-devtools/python/python3-pyperf_2.9.0.bb b/meta-python/recipes-devtools/python/python3-pyperf_2.9.0.bb deleted file mode 100644 index 810e65674a8..00000000000 --- a/meta-python/recipes-devtools/python/python3-pyperf_2.9.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "A toolkit to write, run and analyze benchmarks" -DESCRIPTION = " \ -The Python pyperf module is a toolkit to write, run and analyze benchmarks. \ -Features: \ - * Simple API to run reliable benchmarks \ - * Automatically calibrate a benchmark for a time budget. \ - * Spawn multiple worker processes. \ - * Compute the mean and standard deviation. \ - * Detect if a benchmark result seems unstable. \ - * JSON format to store benchmark results. \ - * Support multiple units: seconds, bytes and integer. \ -" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8" - -SRC_URI[sha256sum] = "dbe0feef8ec1a465df191bba2576149762d15a8c9985c9fea93ab625d875c362" - -DEPENDS += "python3-six-native" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} += "python3-misc python3-statistics" diff --git a/meta-python/recipes-devtools/python/python3-pyrad_2.5.2.bb b/meta-python/recipes-devtools/python/python3-pyrad_2.5.2.bb deleted file mode 100644 index 415a8a82124..00000000000 --- a/meta-python/recipes-devtools/python/python3-pyrad_2.5.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "RADIUS tools" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=53dbfa56f61b90215a9f8f0d527c043d" - -PYPI_PACKAGE = "pyrad" -SRC_URI[sha256sum] = "368e8d3cb7b9e2ca9e4357b343787238bf135edd3f3598cf26ccd65d32506ff9" - -inherit pypi python_poetry_core - -RDEPENDS:${PN} += " \ - python3-crypt \ - python3-io \ - python3-logging \ - python3-netaddr \ - python3-six \ -" - -CVE_PRODUCT = "pyrad" diff --git a/meta-python/recipes-devtools/python/python3-pyrad_2.5.4.bb b/meta-python/recipes-devtools/python/python3-pyrad_2.5.4.bb new file mode 100644 index 00000000000..404e26381be --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyrad_2.5.4.bb @@ -0,0 +1,19 @@ +SUMMARY = "RADIUS tools" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=53dbfa56f61b90215a9f8f0d527c043d" + +PYPI_PACKAGE = "pyrad" +SRC_URI[sha256sum] = "e039c48a026c988d49276bd7c75795f55e0e4c2788f7ddf09419ce0e191a154d" + +inherit pypi python_poetry_core + +RDEPENDS:${PN} += " \ + python3-crypt \ + python3-io \ + python3-logging \ + python3-netaddr \ + python3-six \ +" + +CVE_PRODUCT = "pyrad" diff --git a/meta-python/recipes-devtools/python/python3-pyroute2_0.9.5.bb b/meta-python/recipes-devtools/python/python3-pyroute2_0.9.5.bb index 8005d1275be..d5c95cf546b 100644 --- a/meta-python/recipes-devtools/python/python3-pyroute2_0.9.5.bb +++ b/meta-python/recipes-devtools/python/python3-pyroute2_0.9.5.bb @@ -19,6 +19,7 @@ RDEPENDS:${PN} += " \ python3-pkgutil \ python3-pprint \ python3-shell \ + python3-unittest \ python3-unixadmin \ " diff --git a/meta-python/recipes-devtools/python/python3-pystemd_0.15.1.bb b/meta-python/recipes-devtools/python/python3-pystemd_0.15.1.bb deleted file mode 100644 index 7698d6394d3..00000000000 --- a/meta-python/recipes-devtools/python/python3-pystemd_0.15.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Python bindings for interacting with systemd over DBus" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI[sha256sum] = "f217b5792f1e7c391ae46262f43566b6f83364507eaab5d5e73fcd05ab12d2bb" - -DEPENDS = "systemd" -RDEPENDS:${PN} += "\ - python3-xml \ - python3-lxml \ - python3-pprint \ - python3-core \ - python3-shell \ - python3-io \ -" -REQUIRED_DISTRO_FEATURES = "systemd" - -inherit pypi python_setuptools_build_meta features_check pkgconfig cython - -do_configure:prepend() { - rm -rf ${S}/pystemd/*.c -} - -BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-pystemd_0.15.3.bb b/meta-python/recipes-devtools/python/python3-pystemd_0.15.3.bb new file mode 100644 index 00000000000..b987007e391 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pystemd_0.15.3.bb @@ -0,0 +1,24 @@ +SUMMARY = "Python bindings for interacting with systemd over DBus" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI[sha256sum] = "3533f6d287a1ffe39dbfffcf2f547454bb8ef7a169ac6a24e81f446ddb258802" + +DEPENDS = "systemd" +RDEPENDS:${PN} += "\ + python3-xml \ + python3-lxml \ + python3-pprint \ + python3-core \ + python3-shell \ + python3-io \ +" +REQUIRED_DISTRO_FEATURES = "systemd" + +inherit pypi python_setuptools_build_meta features_check pkgconfig cython + +do_configure:prepend() { + rm -rf ${S}/pystemd/*.c +} + +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-pytest-codspeed_3.0.0.bb b/meta-python/recipes-devtools/python/python3-pytest-codspeed_3.0.0.bb deleted file mode 100644 index 0789e9f5482..00000000000 --- a/meta-python/recipes-devtools/python/python3-pytest-codspeed_3.0.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Pytest plugin to create CodSpeed benchmarks" -HOMEPAGE = "https://codspeed.io/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2856cbe664e8843cd4fd4c1d1d85c2c3" - -DEPENDS = "python3-hatchling-native" -SRC_URI[sha256sum] = "c5b80100ea32dd44079bb2db298288763eb8fe859eafa1650a8711bd2c32fd06" - -inherit pypi python_hatchling - -PYPI_PACKAGE = "pytest_codspeed" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -RDEPENDS:${PN} = "python3-cffi python3-filelock python3-pytest python3-rich python3-statistics" diff --git a/meta-python/recipes-devtools/python/python3-pytest-codspeed_4.3.0.bb b/meta-python/recipes-devtools/python/python3-pytest-codspeed_4.3.0.bb new file mode 100644 index 00000000000..3fc2715102f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pytest-codspeed_4.3.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Pytest plugin to create CodSpeed benchmarks" +HOMEPAGE = "https://codspeed.io/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2856cbe664e8843cd4fd4c1d1d85c2c3" + +DEPENDS = "python3-cffi-native" +SRC_URI[sha256sum] = "5230d9d65f39063a313ed1820df775166227ec5c20a1122968f85653d5efee48" + +inherit pypi python_hatchling + +PYPI_PACKAGE = "pytest_codspeed" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN} = "python3-cffi python3-filelock python3-pytest python3-rich python3-statistics" diff --git a/meta-python/recipes-devtools/python/python3-pytest-cov_7.0.0.bb b/meta-python/recipes-devtools/python/python3-pytest-cov_7.0.0.bb deleted file mode 100644 index 117767d1eef..00000000000 --- a/meta-python/recipes-devtools/python/python3-pytest-cov_7.0.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Pytest plugin for measuring coverage." -HOMEPAGE = "https://github.com/pytest-dev/pytest-cov" -LICENSE = "MIT" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=cbc4e25353c748c817db2daffe605e43 \ -" - -SRC_URI[sha256sum] = "33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1" - -inherit pypi python_setuptools_build_meta python_hatchling - -DEPENDS += "python3-setuptools-scm-native python3-hatch-fancy-pypi-readme-native" -RDEPENDS:${PN} += "python3-coverage python3-pytest python3-pluggy" - -PYPI_PACKAGE = "pytest_cov" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pytest-cov_7.1.0.bb b/meta-python/recipes-devtools/python/python3-pytest-cov_7.1.0.bb new file mode 100644 index 00000000000..5e767269091 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pytest-cov_7.1.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Pytest plugin for measuring coverage." +HOMEPAGE = "https://github.com/pytest-dev/pytest-cov" +LICENSE = "MIT" +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=cbc4e25353c748c817db2daffe605e43 \ +" + +SRC_URI[sha256sum] = "30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2" + +inherit pypi python_setuptools_build_meta python_hatchling + +DEPENDS += "python3-setuptools-scm-native python3-hatch-fancy-pypi-readme-native" +RDEPENDS:${PN} += "python3-coverage python3-pytest python3-pluggy" + +PYPI_PACKAGE = "pytest_cov" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pytest-env_1.2.0.bb b/meta-python/recipes-devtools/python/python3-pytest-env_1.2.0.bb deleted file mode 100644 index f7ab022894d..00000000000 --- a/meta-python/recipes-devtools/python/python3-pytest-env_1.2.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "pytest plugin that allows you to add environment variables." -HOMEPAGE = "https://github.com/pytest-dev/pytest-env" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b70ef84b3d8d608b13b0287ed49df651" -RECIPE_MAINTAINER = "Tom Geelen " - -DEPENDS = "python3-hatch-vcs-native python3-hatchling-native" -SRC_URI[sha256sum] = "475e2ebe8626cee01f491f304a74b12137742397d6c784ea4bc258f069232b80" - -inherit pypi python_hatchling ptest-python-pytest - -PYPI_PACKAGE = "pytest_env" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -RDEPENDS:${PN} = "python3-pytest python3-tomli" - -RDEPENDS:${PN}-ptest += " \ - python3-covdefaults \ - python3-coverage \ - python3-pytest-mock \ -" diff --git a/meta-python/recipes-devtools/python/python3-pytest-env_1.6.0.bb b/meta-python/recipes-devtools/python/python3-pytest-env_1.6.0.bb new file mode 100644 index 00000000000..860a534aaaa --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pytest-env_1.6.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "pytest plugin that allows you to add environment variables." +HOMEPAGE = "https://github.com/pytest-dev/pytest-env" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b70ef84b3d8d608b13b0287ed49df651" +RECIPE_MAINTAINER = "Tom Geelen " + +DEPENDS = "python3-hatch-vcs-native python3-hatchling-native" +SRC_URI[sha256sum] = "ac02d6fba16af54d61e311dd70a3c61024a4e966881ea844affc3c8f0bf207d3" + +inherit pypi python_hatchling ptest-python-pytest + +PYPI_PACKAGE = "pytest_env" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN} = "python3-pytest python3-tomli" + +RDEPENDS:${PN}-ptest += " \ + python3-covdefaults \ + python3-coverage \ + python3-pytest-mock \ +" diff --git a/meta-python/recipes-devtools/python/python3-pytest-httpx_0.36.0.bb b/meta-python/recipes-devtools/python/python3-pytest-httpx_0.36.0.bb deleted file mode 100644 index 1cdf3d3d23b..00000000000 --- a/meta-python/recipes-devtools/python/python3-pytest-httpx_0.36.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Send responses to httpx." -HOMEPAGE = "https://github.com/Colin-b/pytest_httpx" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8dcb0d82b1d402b6be745fc78dde254b" -RECIPE_MAINTAINER = "Tom Geelen " - -SRC_URI[sha256sum] = "9edb66a5fd4388ce3c343189bc67e7e1cb50b07c2e3fc83b97d511975e8a831b" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -DEPENDS += "python3-setuptools-scm-native" - -RDEPENDS:${PN} += "\ - python3-httpx (>=0.28) \ - python3-pytest (>=8) \ -" - -RDEPENDS:${PN}-ptest += "\ - python3-pytest-cov \ - python3-pytest-asyncio \ -" - -PYPI_PACKAGE = "pytest_httpx" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" diff --git a/meta-python/recipes-devtools/python/python3-pytest-httpx_0.36.2.bb b/meta-python/recipes-devtools/python/python3-pytest-httpx_0.36.2.bb new file mode 100644 index 00000000000..ac1a53d224c --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pytest-httpx_0.36.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "Send responses to httpx." +HOMEPAGE = "https://github.com/Colin-b/pytest_httpx" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b6746540997ba13df3f30783db069bc" +RECIPE_MAINTAINER = "Tom Geelen " + +SRC_URI[sha256sum] = "05a56527484f7f4e8c856419ea379b8dc359c36801c4992fdb330f294c690356" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} += "\ + python3-httpx (>=0.28) \ + python3-pytest (>=8) \ +" + +RDEPENDS:${PN}-ptest += "\ + python3-pytest-cov \ + python3-pytest-asyncio \ +" + +PYPI_PACKAGE = "pytest_httpx" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" diff --git a/meta-python/recipes-devtools/python/python3-pytest-runner/0001-Not-use-functions-from-pkg_resources-any-more.patch b/meta-python/recipes-devtools/python/python3-pytest-runner/0001-Not-use-functions-from-pkg_resources-any-more.patch new file mode 100644 index 00000000000..20c1c121fb4 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pytest-runner/0001-Not-use-functions-from-pkg_resources-any-more.patch @@ -0,0 +1,77 @@ +From 81b0218e390e36aa2c3d1bdaa124d8af175e9cbb Mon Sep 17 00:00:00 2001 +From: Li Zhou +Date: Thu, 2 Apr 2026 15:44:18 +0800 +Subject: [PATCH] Not use functions from pkg_resources any more + +The python3 setuptools 82 dropped pkg_resources module by now. +To avoid the failure "No module named 'pkg_resources'", replace the +functions from this module with other functions from modules +packaging and importlib.metadata. + +Upstream-Status: Inactive-Upstream [lastcommit: 2023] +Signed-off-by: Li Zhou +--- + ptr/__init__.py | 23 +++++++++++++---------- + 1 file changed, 13 insertions(+), 10 deletions(-) + +diff --git a/ptr/__init__.py b/ptr/__init__.py +index 41192fa..5186059 100644 +--- a/ptr/__init__.py ++++ b/ptr/__init__.py +@@ -10,10 +10,12 @@ import operator as _operator + import itertools as _itertools + import warnings as _warnings + +-import pkg_resources + import setuptools.command.test as orig + from setuptools import Distribution + ++from importlib.metadata import version ++from packaging.version import Version ++from packaging.markers import Marker, InvalidMarker + + @_contextlib.contextmanager + def _save_argv(repl=None): +@@ -121,7 +123,8 @@ class PyTest(orig.test): + instead of declaring the dependency in the package + metadata, assert the requirement at run time. + """ +- pkg_resources.require('setuptools>=27.3') ++ if Version(version('setuptools')) < Version('27.3'): ++ raise RuntimeError("setuptools >= 27.3 is required") + + def finalize_options(self): + if self.addopts: +@@ -133,11 +136,12 @@ class PyTest(orig.test): + Given an environment marker, return True if the marker is valid + and matches this environment. + """ +- return ( +- not marker +- or not pkg_resources.invalid_marker(marker) +- and pkg_resources.evaluate_marker(marker) +- ) ++ if not marker: ++ return True ++ try: ++ return Marker(marker).evaluate() ++ except InvalidMarker: ++ return False + + def install_dists(self, dist): + """ +@@ -175,9 +179,8 @@ class PyTest(orig.test): + "please upgrade to setuptools 30.4 or later or pin to " + "pytest-runner < 5." + ) +- ver_str = pkg_resources.get_distribution('setuptools').version +- ver = pkg_resources.parse_version(ver_str) +- if ver < pkg_resources.parse_version('30.4'): ++ ver = Version(version('setuptools')) ++ if ver < Version('30.4'): + _warnings.warn(msg) + + def run(self): +-- +2.34.1 + diff --git a/meta-python/recipes-devtools/python/python3-pytest-runner_6.0.1.bb b/meta-python/recipes-devtools/python/python3-pytest-runner_6.0.1.bb index e5e5e048bd4..dd3a8d0234d 100644 --- a/meta-python/recipes-devtools/python/python3-pytest-runner_6.0.1.bb +++ b/meta-python/recipes-devtools/python/python3-pytest-runner_6.0.1.bb @@ -5,6 +5,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6" SRC_URI[sha256sum] = "70d4739585a7008f37bf4933c013fdb327b8878a5a69fcbb3316c88882f0f49b" +SRC_URI += " \ + file://0001-Not-use-functions-from-pkg_resources-any-more.patch \ + " + inherit pypi python_setuptools_build_meta DEPENDS += " \ diff --git a/meta-python/recipes-devtools/python/python3-python-multipart_0.0.22.bb b/meta-python/recipes-devtools/python/python3-python-multipart_0.0.22.bb deleted file mode 100644 index b54fe5d3094..00000000000 --- a/meta-python/recipes-devtools/python/python3-python-multipart_0.0.22.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "A streaming multipart parser for Python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3d98f0d58b28321924a89ab60c82410e" - -SRC_URI[sha256sum] = "7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58" - -inherit pypi python_hatchling ptest-python-pytest - -PYPI_PACKAGE = "python_multipart" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" -CVE_PRODUCT = "python-multipart" - -RDEPENDS:${PN}-ptest += " \ - python3-pyyaml \ -" - diff --git a/meta-python/recipes-devtools/python/python3-python-multipart_0.0.26.bb b/meta-python/recipes-devtools/python/python3-python-multipart_0.0.26.bb new file mode 100644 index 00000000000..46046dc0509 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-python-multipart_0.0.26.bb @@ -0,0 +1,16 @@ +SUMMARY = "A streaming multipart parser for Python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[sha256sum] = "08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17" + +inherit pypi python_hatchling ptest-python-pytest + +PYPI_PACKAGE = "python_multipart" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" +CVE_PRODUCT = "python-multipart" + +RDEPENDS:${PN}-ptest += " \ + python3-pyyaml \ +" + diff --git a/meta-python/recipes-devtools/python/python3-pytokens_0.4.0.bb b/meta-python/recipes-devtools/python/python3-pytokens_0.4.0.bb deleted file mode 100644 index 1ec1e310862..00000000000 --- a/meta-python/recipes-devtools/python/python3-pytokens_0.4.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "A Fast, spec compliant Python 3.14+ tokenizer that runs on older Pythons." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=627dc9a75d5dcc4759b26bacf13a4c46" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "6b0b03e6ea7c9f9d47c5c61164b69ad30f4f0d70a5d9fe7eac4d19f24f77af2d" - -DEPENDS += "python3-mypy-native" diff --git a/meta-python/recipes-devtools/python/python3-pytokens_0.4.1.bb b/meta-python/recipes-devtools/python/python3-pytokens_0.4.1.bb new file mode 100644 index 00000000000..0772b48f357 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pytokens_0.4.1.bb @@ -0,0 +1,9 @@ +SUMMARY = "A Fast, spec compliant Python 3.14+ tokenizer that runs on older Pythons." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=627dc9a75d5dcc4759b26bacf13a4c46" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "292052fe80923aae2260c073f822ceba21f3872ced9a68bb7953b348e561179a" + +DEPENDS += "python3-mypy-native" diff --git a/meta-python/recipes-devtools/python/python3-redis_5.2.1.bb b/meta-python/recipes-devtools/python/python3-redis_5.2.1.bb deleted file mode 100644 index ba214f58697..00000000000 --- a/meta-python/recipes-devtools/python/python3-redis_5.2.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Python client for Redis key-value store" -DESCRIPTION = "The Python interface to the Redis key-value store." -HOMEPAGE = "https://github.com/andymccurdy/redis-py" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=609ded3add9111c4c6e102f1d421d3f8" - -# Prefix archive to avoid clashing with the main redis archives -PYPI_ARCHIVE_NAME_PREFIX = "pypi-" - -SRC_URI[sha256sum] = "16f2e22dff21d5125e8481515e386711a34cbec50f0e44413dd7d9c060a54e0f" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += " \ - python3-asyncio \ - python3-compression \ - python3-cryptography \ - python3-datetime \ - python3-json \ - python3-packaging \ -" - -CVE_PRODUCT = "redis-py" diff --git a/meta-python/recipes-devtools/python/python3-redis_7.4.0.bb b/meta-python/recipes-devtools/python/python3-redis_7.4.0.bb new file mode 100644 index 00000000000..5978ef51e11 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-redis_7.4.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Python client for Redis key-value store" +DESCRIPTION = "The Python interface to the Redis key-value store." +HOMEPAGE = "https://github.com/andymccurdy/redis-py" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=609ded3add9111c4c6e102f1d421d3f8" + +# Prefix archive to avoid clashing with the main redis archives +PYPI_ARCHIVE_NAME_PREFIX = "pypi-" + +SRC_URI[sha256sum] = "64a6ea7bf567ad43c964d2c30d82853f8df927c5c9017766c55a1d1ed95d18ad" + +inherit pypi python_hatchling + +RDEPENDS:${PN} += " \ + python3-asyncio \ + python3-compression \ + python3-cryptography \ + python3-datetime \ + python3-json \ + python3-packaging \ +" + +CVE_PRODUCT = "redis-py" diff --git a/meta-python/recipes-devtools/python/python3-regex_2026.1.15.bb b/meta-python/recipes-devtools/python/python3-regex_2026.1.15.bb deleted file mode 100644 index 9a623122ac9..00000000000 --- a/meta-python/recipes-devtools/python/python3-regex_2026.1.15.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Alternative regular expression module, to replace re." -HOMEPAGE = "https://bitbucket.org/mrabarnett/mrab-regex/src" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7b5751ddd6b643203c31ff873051d069" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "164759aa25575cbc0651bef59a0b18353e54300d79ace8084c818ad8ac72b7d5" - -RDEPENDS:${PN} += " \ - python3-stringold \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-regex_2026.4.4.bb b/meta-python/recipes-devtools/python/python3-regex_2026.4.4.bb new file mode 100644 index 00000000000..3d4d7a3e993 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-regex_2026.4.4.bb @@ -0,0 +1,14 @@ +SUMMARY = "Alternative regular expression module, to replace re." +HOMEPAGE = "https://bitbucket.org/mrabarnett/mrab-regex/src" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7b5751ddd6b643203c31ff873051d069" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "e08270659717f6973523ce3afbafa53515c4dc5dcad637dc215b6fd50f689423" + +RDEPENDS:${PN} += " \ + python3-stringold \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-reportlab_4.4.10.bb b/meta-python/recipes-devtools/python/python3-reportlab_4.4.10.bb new file mode 100644 index 00000000000..57e62893b33 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-reportlab_4.4.10.bb @@ -0,0 +1,13 @@ +SUMMARY = "The Reportlab Toolkit." +DESCRIPTION = "An Open Source Python library for generating PDFs and graphics." + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cf24392f451ff6710fca1e96cefa0424" + +SRC_URI[sha256sum] = "5cbbb34ac3546039d0086deb2938cdec06b12da3cdb836e813258eb33cd28487" + +CVE_PRODUCT = "reportlab" +CVE_STATUS[CVE-2020-28463] = "fixed-version: has been fixed since 3.5.55" +inherit pypi python_setuptools_build_meta + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-reportlab_4.4.9.bb b/meta-python/recipes-devtools/python/python3-reportlab_4.4.9.bb deleted file mode 100644 index bd8f33dd0a6..00000000000 --- a/meta-python/recipes-devtools/python/python3-reportlab_4.4.9.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "The Reportlab Toolkit." -DESCRIPTION = "An Open Source Python library for generating PDFs and graphics." - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=cf24392f451ff6710fca1e96cefa0424" - -SRC_URI[sha256sum] = "7cf487764294ee791a4781f5a157bebce262a666ae4bbb87786760a9676c9378" - -CVE_PRODUCT = "reportlab" -CVE_STATUS[CVE-2020-28463] = "fixed-version: has been fixed since 3.5.55" -inherit pypi python_setuptools_build_meta - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-responses_0.25.8.bb b/meta-python/recipes-devtools/python/python3-responses_0.25.8.bb deleted file mode 100644 index 2370a888432..00000000000 --- a/meta-python/recipes-devtools/python/python3-responses_0.25.8.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "A utility library for mocking out the requests Python library." -HOMEPAGE = "https://github.com/getsentry/responses" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0e601511a8517f4daf688a8eb95be7a2" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "9374d047a575c8f781b94454db5cab590b6029505f488d12899ddb10a4af1cf4" - -RDEPENDS:${PN} += " \ - python3-mock \ - python3-pyyaml \ - python3-requests \ - python3-urllib3 \ -" diff --git a/meta-python/recipes-devtools/python/python3-responses_0.26.0.bb b/meta-python/recipes-devtools/python/python3-responses_0.26.0.bb new file mode 100644 index 00000000000..4d1884225da --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-responses_0.26.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "A utility library for mocking out the requests Python library." +HOMEPAGE = "https://github.com/getsentry/responses" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0e601511a8517f4daf688a8eb95be7a2" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "c7f6923e6343ef3682816ba421c006626777893cb0d5e1434f674b649bac9eb4" + +RDEPENDS:${PN} += " \ + python3-mock \ + python3-pyyaml \ + python3-requests \ + python3-urllib3 \ +" diff --git a/meta-python/recipes-devtools/python/python3-rich-toolkit_0.15.1.bb b/meta-python/recipes-devtools/python/python3-rich-toolkit_0.15.1.bb deleted file mode 100644 index b649d415751..00000000000 --- a/meta-python/recipes-devtools/python/python3-rich-toolkit_0.15.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Rich toolkit for building command-line applications" -HOMEPAGE = "https://github.com/patrick91/rich-toolkit" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://pyproject.toml;md5=29c91c89ee62891477a1476375143bef;beginline=6;endline=6" - -SRC_URI[sha256sum] = "6f9630eb29f3843d19d48c3bd5706a086d36d62016687f9d0efa027ddc2dd08a" - -inherit pypi python_hatchling ptest-python-pytest - -PYPI_PACKAGE = "rich_toolkit" - -RDEPENDS:${PN} = "\ - python3-click \ - python3-rich \ - python3-typing-extensions \ - python3-inline-snapshot \ -" diff --git a/meta-python/recipes-devtools/python/python3-rich-toolkit_0.19.7.bb b/meta-python/recipes-devtools/python/python3-rich-toolkit_0.19.7.bb new file mode 100644 index 00000000000..26801293b58 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-rich-toolkit_0.19.7.bb @@ -0,0 +1,17 @@ +SUMMARY = "Rich toolkit for building command-line applications" +HOMEPAGE = "https://github.com/patrick91/rich-toolkit" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://pyproject.toml;md5=29c91c89ee62891477a1476375143bef;beginline=6;endline=6" + +SRC_URI[sha256sum] = "133c0915872da91d4c25d85342d5ec1dfacc69b63448af1a08a0d4b4f23ef46e" + +inherit pypi python_hatchling ptest-python-pytest + +PYPI_PACKAGE = "rich_toolkit" + +RDEPENDS:${PN} = "\ + python3-click \ + python3-rich \ + python3-typing-extensions \ + python3-inline-snapshot \ +" diff --git a/meta-python/recipes-devtools/python/python3-robotframework_7.3.2.bb b/meta-python/recipes-devtools/python/python3-robotframework_7.3.2.bb deleted file mode 100644 index df4b31312eb..00000000000 --- a/meta-python/recipes-devtools/python/python3-robotframework_7.3.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "A Python generic test automation framework" -DESCRIPTION = "Generic open source test atomation framework for acceptance\ -testing and acceptance test-driven development (ATDD). It has easy-to-use\ -tabular test data syntax and it utilizes the keyword-driven testing approach.\ -Its testing capabilities can be extended by test libraries implemented either\ -with Python or Java, and users can create new higher-level keywords from\ -existing ones using the same syntax that is used for creating test cases." -HOMEPAGE = "https://robotframework.org" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "3bb3e299831ecb1664f3d5082f6ff9f08ba82d61a745bef2227328ef3049e93a" - -RDEPENDS:${PN} += " \ - python3-shell \ - python3-pprint \ - python3-xml \ - python3-difflib \ - python3-threading \ - python3-html \ - python3-docutils \ - python3-ctypes \ - python3-logging \ - python3-numbers \ - python3-profile \ -" diff --git a/meta-python/recipes-devtools/python/python3-robotframework_7.4.2.bb b/meta-python/recipes-devtools/python/python3-robotframework_7.4.2.bb new file mode 100644 index 00000000000..5c83d923d41 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-robotframework_7.4.2.bb @@ -0,0 +1,28 @@ +SUMMARY = "A Python generic test automation framework" +DESCRIPTION = "Generic open source test atomation framework for acceptance\ +testing and acceptance test-driven development (ATDD). It has easy-to-use\ +tabular test data syntax and it utilizes the keyword-driven testing approach.\ +Its testing capabilities can be extended by test libraries implemented either\ +with Python or Java, and users can create new higher-level keywords from\ +existing ones using the same syntax that is used for creating test cases." +HOMEPAGE = "https://robotframework.org" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "1c934e7f43600de407860cd2bd2fdc41adad4a4a785d8b46b1ed485fdc0f6c9f" + +RDEPENDS:${PN} += " \ + python3-shell \ + python3-pprint \ + python3-xml \ + python3-difflib \ + python3-threading \ + python3-html \ + python3-docutils \ + python3-ctypes \ + python3-logging \ + python3-numbers \ + python3-profile \ +" diff --git a/meta-python/recipes-devtools/python/python3-scikit-build-core_0.11.6.bb b/meta-python/recipes-devtools/python/python3-scikit-build-core_0.11.6.bb deleted file mode 100644 index 93a83ead656..00000000000 --- a/meta-python/recipes-devtools/python/python3-scikit-build-core_0.11.6.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Build backend for CMake based projects" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b4e748e5f102e31c9390dcd6fa66f09" - -PYPI_PACKAGE = "scikit_build_core" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -DEPENDS = "python3-hatch-vcs-native" - -inherit pypi python_hatchling - -SRC_URI += " \ - file://0001-builder.py-Check-PYTHON_INCLUDE_DIR.patch \ - file://0001-Find-cmake-from-PATH-instead-of-CMAKE_BIN_DIR.patch \ -" -SRC_URI[sha256sum] = "5982ccd839735be99cfd3b92a8847c6c196692f476c215da84b79d2ad12f9f1b" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-scikit-build-core_0.12.2.bb b/meta-python/recipes-devtools/python/python3-scikit-build-core_0.12.2.bb new file mode 100644 index 00000000000..d7f8aacd978 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-scikit-build-core_0.12.2.bb @@ -0,0 +1,18 @@ +SUMMARY = "Build backend for CMake based projects" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b4e748e5f102e31c9390dcd6fa66f09" + +PYPI_PACKAGE = "scikit_build_core" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +DEPENDS = "python3-hatch-vcs-native" + +inherit pypi python_hatchling + +SRC_URI += " \ + file://0001-builder.py-Check-PYTHON_INCLUDE_DIR.patch \ + file://0001-Find-cmake-from-PATH-instead-of-CMAKE_BIN_DIR.patch \ +" +SRC_URI[sha256sum] = "562e0bbc9de1a354c87825ccf732080268d6582a0200f648e8c4a2dcb1e3736d" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-scikit-build_0.18.1.bb b/meta-python/recipes-devtools/python/python3-scikit-build_0.18.1.bb deleted file mode 100644 index 3b2e8b714e0..00000000000 --- a/meta-python/recipes-devtools/python/python3-scikit-build_0.18.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Improved build system generator for Python C/C++/Fortran/Cython extensions" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7c96d2b08b3cec6d3c67fb864d1fd8cc" - -DEPENDS = "python3-hatch-vcs-native python3-hatch-fancy-pypi-readme-native" - -PYPI_PACKAGE = "scikit_build" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -inherit pypi python_hatchling - -SRC_URI[sha256sum] = "a4152ac5a084d499c28a7797be0628d8366c336e2fb0e1a063eb32e55efcb8e7" - -RDEPENDS:${PN} = " \ - python3-distro \ - python3-packaging \ - python3-setuptools \ - python3-typing-extensions \ - python3-wheel \ - cmake \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-scikit-build_0.19.0.bb b/meta-python/recipes-devtools/python/python3-scikit-build_0.19.0.bb new file mode 100644 index 00000000000..78a9ee29a3c --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-scikit-build_0.19.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Improved build system generator for Python C/C++/Fortran/Cython extensions" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7c96d2b08b3cec6d3c67fb864d1fd8cc" + +DEPENDS = "python3-hatch-vcs-native python3-hatch-fancy-pypi-readme-native" + +PYPI_PACKAGE = "scikit_build" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi python_hatchling + +SRC_URI[sha256sum] = "46e1b2d71343d14e4c07d7e60902e673c78defb9a2c282b70ad80fb8502ade2e" + +RDEPENDS:${PN} = " \ + python3-distro \ + python3-packaging \ + python3-setuptools \ + python3-typing-extensions \ + python3-wheel \ + cmake \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch b/meta-python/recipes-devtools/python/python3-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch index 3678d46cf64..73950f4cd25 100644 --- a/meta-python/recipes-devtools/python/python3-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch +++ b/meta-python/recipes-devtools/python/python3-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch @@ -14,11 +14,11 @@ diff --git a/setup.py b/setup.py index 419a982..3f1fe52 100644 --- a/setup.py +++ b/setup.py -@@ -26,7 +26,6 @@ if sys.platform.startswith('linux'): - ('_FILE_OFFSET_BITS', '64'), +@@ -25,7 +25,6 @@ + # ("DEBUG", "1"), ] - libraries = ['crypto', 'rt'] -- includes = ['/usr/local/include', '/usr/include'] - CFLAGS.append('-O2') - elif sys.platform.startswith('win32') and os.environ.get('MSYSTEM'): - msys2_env = os.getenv('MSYSTEM') + libraries = ["crypto", "rt"] +- includes = ["/usr/local/include", "/usr/include"] + CFLAGS.append("-O2") + CFLAGS.append("-g") + CFLAGS.append("-Wall") diff --git a/meta-python/recipes-devtools/python/python3-scrypt_0.8.27.bb b/meta-python/recipes-devtools/python/python3-scrypt_0.8.27.bb deleted file mode 100644 index 4cbc4c06c49..00000000000 --- a/meta-python/recipes-devtools/python/python3-scrypt_0.8.27.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Bindings for the scrypt key derivation function library" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=05b5ac2824a7ae7489193b0f6a6f2cd1" -HOMEPAGE = "https://github.com/holgern/py-scrypt" - -SRC_URI += "file://0001-py-scrypt-remove-the-hard-coded-include-paths.patch" - -SRC_URI[sha256sum] = "a7b637848ed518c1ea2b31a9ecaaa3f49616598d8442de8706cf1f01fbabf0a7" - -inherit pypi ptest-python-pytest setuptools3 dos2unix - -RDEPENDS:${PN} += " \ - python3-ctypes \ -" - -do_install_ptest:append() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/scrypt/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-python/recipes-devtools/python/python3-scrypt_0.9.4.bb b/meta-python/recipes-devtools/python/python3-scrypt_0.9.4.bb new file mode 100644 index 00000000000..0a5a841a71d --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-scrypt_0.9.4.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Bindings for the scrypt key derivation function library" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=514fe4e05afed341c690c453fc87b10b" +HOMEPAGE = "https://github.com/holgern/py-scrypt" + +SRC_URI += "file://0001-py-scrypt-remove-the-hard-coded-include-paths.patch" + +SRC_URI[sha256sum] = "0d212010ba8c2e55475ba6258f30cee4da0432017514d8f6e855b7f1f8c55c77" + +inherit pypi ptest-python-pytest setuptools3 dos2unix + +RDEPENDS:${PN} += " \ + python3-ctypes \ +" + +do_install_ptest:append() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/scrypt/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-python/recipes-devtools/python/python3-sentry-sdk_1.45.1.bb b/meta-python/recipes-devtools/python/python3-sentry-sdk_1.45.1.bb deleted file mode 100644 index 10fdbce139f..00000000000 --- a/meta-python/recipes-devtools/python/python3-sentry-sdk_1.45.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "The new Python SDK for Sentry.io" -DESCRIPTION = "This is the next line of the Python SDK \ -for Sentry, intended to replace the raven package on PyPI." -HOMEPAGE = "https://github.com/getsentry/sentry-python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=03dc788d9a9486be5e6a1d99c2c1ce3a" - -RDEPENDS:${PN} += "\ - python3-urllib3 \ - python3-core \ - python3-json \ - python3-logging \ - python3-threading \ - python3-compression \ - python3-datetime \ -" - -SRC_URI[sha256sum] = "a16c997c0f4e3df63c0fc5e4207ccb1ab37900433e0f72fef88315d317829a26" - -PYPI_PACKAGE = "sentry_sdk" - -inherit pypi setuptools3 diff --git a/meta-python/recipes-devtools/python/python3-sentry-sdk_2.57.0.bb b/meta-python/recipes-devtools/python/python3-sentry-sdk_2.57.0.bb new file mode 100644 index 00000000000..94fc007b84b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-sentry-sdk_2.57.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "The new Python SDK for Sentry.io" +DESCRIPTION = "This is the next line of the Python SDK \ +for Sentry, intended to replace the raven package on PyPI." +HOMEPAGE = "https://github.com/getsentry/sentry-python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=03dc788d9a9486be5e6a1d99c2c1ce3a" + +RDEPENDS:${PN} += "\ + python3-urllib3 \ + python3-core \ + python3-json \ + python3-logging \ + python3-threading \ + python3-compression \ + python3-datetime \ +" + +SRC_URI[sha256sum] = "4be8d1e71c32fb27f79c577a337ac8912137bba4bcbc64a4ec1da4d6d8dc5199" + +PYPI_PACKAGE = "sentry_sdk" + +inherit pypi setuptools3 diff --git a/meta-python/recipes-devtools/python/python3-setuptools-git-versioning_2.1.0.bb b/meta-python/recipes-devtools/python/python3-setuptools-git-versioning_2.1.0.bb deleted file mode 100644 index 8206e8513de..00000000000 --- a/meta-python/recipes-devtools/python/python3-setuptools-git-versioning_2.1.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Use git repo data for building a version number according PEP-440" -HOMEPAGE = "https://setuptools-git-versioning.readthedocs.io" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=92e79e3a844e66731724600f3ac9c0d8" - -SRC_URI[sha256sum] = "6aef5b8bb1cfb953b6b343d27cbfc561d96cf2a2ee23c2e0dd3591042a059921" - -inherit pypi setuptools3 - -PACKAGECONFIG ?= "" -PACKAGECONFIG[python-version-smaller-3-dot-11] = ",,,python3-tomli" - -RDEPENDS:${PN} += "python3-core python3-datetime python3-logging \ - python3-packaging python3-pprint python3-setuptools \ - python3-tomllib" - -PYPI_PACKAGE = "setuptools_git_versioning" - -BBCLASSEXTEND += "native" diff --git a/meta-python/recipes-devtools/python/python3-setuptools-git-versioning_3.0.1.bb b/meta-python/recipes-devtools/python/python3-setuptools-git-versioning_3.0.1.bb new file mode 100644 index 00000000000..561f1d06c6b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-setuptools-git-versioning_3.0.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Use git repo data for building a version number according PEP-440" +HOMEPAGE = "https://setuptools-git-versioning.readthedocs.io" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=92e79e3a844e66731724600f3ac9c0d8" + +SRC_URI[sha256sum] = "c8a599bacf163b5d215552b5701faf5480ffc4d65426a5711a010b802e1590eb" + +inherit pypi python_setuptools_build_meta + +PACKAGECONFIG ?= "" +PACKAGECONFIG[python-version-smaller-3-dot-11] = ",,,python3-tomli" + +RDEPENDS:${PN} += "python3-core python3-datetime python3-logging \ + python3-packaging python3-pprint python3-setuptools \ + python3-tomllib" + +PYPI_PACKAGE = "setuptools_git_versioning" + +BBCLASSEXTEND += "native" diff --git a/meta-python/recipes-devtools/python/python3-simpleeval_1.0.3.bb b/meta-python/recipes-devtools/python/python3-simpleeval_1.0.3.bb deleted file mode 100644 index 39178d3efd9..00000000000 --- a/meta-python/recipes-devtools/python/python3-simpleeval_1.0.3.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A simple, safe single expression evaluator library" -HOMEPAGE = "https://pypi.org/project/simpleeval/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=83843c8f0f3beb18af2f282faecbdebe" - -SRC_URI[sha256sum] = "67bbf246040ac3b57c29cf048657b9cf31d4e7b9d6659684daa08ca8f1e45829" - -inherit pypi python_hatchling ptest-python-pytest - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS:${PN} += " \ - python3-math \ -" - -do_install_ptest:append() { - cp -f ${S}/test_simpleeval.py ${D}${PTEST_PATH}/ -} diff --git a/meta-python/recipes-devtools/python/python3-simpleeval_1.0.7.bb b/meta-python/recipes-devtools/python/python3-simpleeval_1.0.7.bb new file mode 100644 index 00000000000..5fb968edd5c --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-simpleeval_1.0.7.bb @@ -0,0 +1,18 @@ +SUMMARY = "A simple, safe single expression evaluator library" +HOMEPAGE = "https://pypi.org/project/simpleeval/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=aed013161b2a0bfa75e69eeb4e8a89e7" + +SRC_URI[sha256sum] = "1e10e5f9fec597814444e20c0892ed15162fa214c8a88f434b5b077cf2fef85b" + +inherit pypi python_hatchling ptest-python-pytest + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += " \ + python3-math \ +" + +do_install_ptest:append() { + cp -f ${S}/test_simpleeval.py ${D}${PTEST_PATH}/ +} diff --git a/meta-python/recipes-devtools/python/python3-smbus2_0.6.0.bb b/meta-python/recipes-devtools/python/python3-smbus2_0.6.0.bb deleted file mode 100644 index 33613d9abed..00000000000 --- a/meta-python/recipes-devtools/python/python3-smbus2_0.6.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Drop-in replacement for smbus-cffi/smbus-python in pure Python" -DESCRIPTION = "smbus2 is a drop-in replacement for smbus-cffi/smbus-python in pure Python" -HOMEPAGE = "https://github.com/kplindegaard/smbus2" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2a3eca2de44816126b3c6f33811a9fba" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "9b5ff1e998e114730f9dfe0c4babbef06c92468cfb61eaa684e30f225661b95b" - -CLEANBROKEN = "1" - -PYPI_PACKAGE = "smbus2" - -RDEPENDS:${PN} += "\ - python3-ctypes \ - python3-fcntl \ -" diff --git a/meta-python/recipes-devtools/python/python3-smbus2_0.6.1.bb b/meta-python/recipes-devtools/python/python3-smbus2_0.6.1.bb new file mode 100644 index 00000000000..1b9a8792345 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-smbus2_0.6.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "Drop-in replacement for smbus-cffi/smbus-python in pure Python" +DESCRIPTION = "smbus2 is a drop-in replacement for smbus-cffi/smbus-python in pure Python" +HOMEPAGE = "https://github.com/kplindegaard/smbus2" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2a3eca2de44816126b3c6f33811a9fba" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "2b043372abf8f6029a632c3aab36b641c5d5872b1cbad599fc68e17ac4fd90a5" + +CLEANBROKEN = "1" + +PYPI_PACKAGE = "smbus2" + +RDEPENDS:${PN} += "\ + python3-ctypes \ + python3-fcntl \ +" diff --git a/meta-python/recipes-devtools/python/python3-snagboot_2.5.bb b/meta-python/recipes-devtools/python/python3-snagboot_2.5.bb deleted file mode 100644 index fe496ffc2fd..00000000000 --- a/meta-python/recipes-devtools/python/python3-snagboot_2.5.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Snagboot intends to be an open-source replacement vendor-specific tools used to recover and/or reflash embedded platforms." - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI[sha256sum] = "64d114f743cf4d892a63bc35d6af45958e569030881154f9f2ffeac13cf9b664" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} += " \ - bash \ - python3-fcntl \ - python3-pyusb \ - python3-pyyaml \ - python3-setuptools \ - python3-six \ -" - -do_install:append() { - install -D -m 0644 ${S}/src/snagrecover/50-snagboot.rules ${D}${sysconfdir}/udev/rules.d/50-snagboot.rules -} diff --git a/meta-python/recipes-devtools/python/python3-snagboot_2.6.1.bb b/meta-python/recipes-devtools/python/python3-snagboot_2.6.1.bb new file mode 100644 index 00000000000..74e6df64a9b --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-snagboot_2.6.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "Snagboot intends to be an open-source replacement vendor-specific tools used to recover and/or reflash embedded platforms." + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI[sha256sum] = "9800562936d21972a212e8e7c6f0f79eff8faf7f1bfb534675875bd06666f28c" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += " \ + bash \ + python3-fcntl \ + python3-pyusb \ + python3-pyyaml \ + python3-setuptools \ + python3-six \ +" + +do_install:append() { + install -D -m 0644 ${S}/src/snagrecover/50-snagboot.rules ${D}${sysconfdir}/udev/rules.d/50-snagboot.rules +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-socketio_5.11.2.bb b/meta-python/recipes-devtools/python/python3-socketio_5.11.2.bb deleted file mode 100644 index 4251a81d6c5..00000000000 --- a/meta-python/recipes-devtools/python/python3-socketio_5.11.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Socket.IO server" -HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" - -inherit pypi python_setuptools_build_meta - -PYPI_PACKAGE = "python-socketio" - -SRC_URI[sha256sum] = "ae6a1de5c5209ca859dc574dccc8931c4be17ee003e74ce3b8d1306162bb4a37" - -PACKAGECONFIG ?= "asyncio_client client" -PACKAGECONFIG[asyncio_client] = ",,,python3-aiohttp python3-websockets" -PACKAGECONFIG[client] = ",,,python3-requests python3-websocket-client" - -RDEPENDS:${PN} += "\ - python3-engineio \ - python3-logging \ - python3-math \ - python3-pickle \ - python3-json \ - python3-threading \ - python3-six \ - python3-attrs \ - python3-bidict \ - " diff --git a/meta-python/recipes-devtools/python/python3-socketio_5.16.1.bb b/meta-python/recipes-devtools/python/python3-socketio_5.16.1.bb new file mode 100644 index 00000000000..10372e83ccf --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-socketio_5.16.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "Socket.IO server" +HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "python_socketio" + +SRC_URI[sha256sum] = "f863f98eacce81ceea2e742f6388e10ca3cdd0764be21d30d5196470edf5ea89" + +PACKAGECONFIG ?= "asyncio_client client" +PACKAGECONFIG[asyncio_client] = ",,,python3-aiohttp python3-websockets" +PACKAGECONFIG[client] = ",,,python3-requests python3-websocket-client" + +RDEPENDS:${PN} += "\ + python3-engineio \ + python3-logging \ + python3-math \ + python3-pickle \ + python3-json \ + python3-threading \ + python3-six \ + python3-attrs \ + python3-bidict \ + " diff --git a/meta-python/recipes-devtools/python/python3-soundcard_0.4.5.bb b/meta-python/recipes-devtools/python/python3-soundcard_0.4.5.bb deleted file mode 100644 index 5116892dadf..00000000000 --- a/meta-python/recipes-devtools/python/python3-soundcard_0.4.5.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Python library for accessing soundcards" -DESCRIPTION = "SoundCard is a library for playing and recording audio without resorting to a CPython extension" -HOMEPAGE = "https://github.com/bastibe/SoundCard" -SECTION = "devel/python" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e39df1540c06c17ca310ce87c36b042c" - -SRC_URI[sha256sum] = "07272ba927e32cafdf634e4a1ca53b9a3218321a60c7d2e08f54b832a56946aa" - -inherit pypi setuptools3 features_check - -REQUIRED_DISTRO_FEATURES = "pulseaudio" - -RDEPENDS:${PN} += " \ - libpulse \ - pulseaudio-server \ - python3-cffi \ - python3-numpy \ -" diff --git a/meta-python/recipes-devtools/python/python3-soundcard_0.4.6.bb b/meta-python/recipes-devtools/python/python3-soundcard_0.4.6.bb new file mode 100644 index 00000000000..17308a89651 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-soundcard_0.4.6.bb @@ -0,0 +1,20 @@ +SUMMARY = "Python library for accessing soundcards" +DESCRIPTION = "SoundCard is a library for playing and recording audio without resorting to a CPython extension" +HOMEPAGE = "https://github.com/bastibe/SoundCard" +SECTION = "devel/python" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e39df1540c06c17ca310ce87c36b042c" + +SRC_URI[sha256sum] = "9b46d64a26f97cd7d88bcfc385c97c069f97c5ec3404e4e7c23771598a8cf47b" + +inherit pypi setuptools3 features_check + +REQUIRED_DISTRO_FEATURES = "pulseaudio" + +RDEPENDS:${PN} += " \ + libpulse \ + pulseaudio-server \ + python3-cffi \ + python3-numpy \ +" diff --git a/meta-python/recipes-devtools/python/python3-soupsieve_2.8.2.bb b/meta-python/recipes-devtools/python/python3-soupsieve_2.8.2.bb deleted file mode 100644 index 63b5d3b2e72..00000000000 --- a/meta-python/recipes-devtools/python/python3-soupsieve_2.8.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "CSS selector library for python-beautifulsoup4" -HOMEPAGE = "https://github.com/facelessuser/soupsieve" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=74851a2f1e5c07496dcb452af6a6bf54" - -SRC_URI[sha256sum] = "78a66b0fdee2ab40b7199dc3e747ee6c6e231899feeaae0b9b98a353afd48fd8" - -inherit pypi python_hatchling ptest-python-pytest - -RDEPENDS:${PN} += " \ - python3-core \ - python3-datetime \ -" -RDEPENDS:${PN}:append:class-target = " \ - python3-beautifulsoup4 \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-beautifulsoup4 \ - python3-typing-extensions \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-soupsieve_2.8.3.bb b/meta-python/recipes-devtools/python/python3-soupsieve_2.8.3.bb new file mode 100644 index 00000000000..11a2b5e1032 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-soupsieve_2.8.3.bb @@ -0,0 +1,24 @@ +SUMMARY = "CSS selector library for python-beautifulsoup4" +HOMEPAGE = "https://github.com/facelessuser/soupsieve" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=74851a2f1e5c07496dcb452af6a6bf54" + +SRC_URI[sha256sum] = "3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349" + +inherit pypi python_hatchling ptest-python-pytest + +RDEPENDS:${PN} += " \ + python3-core \ + python3-datetime \ +" +RDEPENDS:${PN}:append:class-target = " \ + python3-beautifulsoup4 \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-beautifulsoup4 \ + python3-typing-extensions \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.46.bb b/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.46.bb deleted file mode 100644 index e7a831557a9..00000000000 --- a/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.46.bb +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ -application developers the full power and flexibility of SQL" -HOMEPAGE = "https://www.sqlalchemy.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=53a9111717b305b0fae0d704a24925c3" - -SRC_URI[sha256sum] = "cf36851ee7219c170bb0793dbc3da3e80c582e04a5437bc601bfe8c85c9216d7" - -inherit pypi python_setuptools_build_meta cython - -RDEPENDS:${PN} += " \ - python3-asyncio \ - python3-compression \ - python3-json \ - python3-logging \ - python3-netclient \ - python3-numbers \ - python3-pickle \ - python3-profile \ - python3-threading \ - python3-typing-extensions \ - python3-greenlet \ -" - -CVE_PRODUCT = "sqlalchemy" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.49.bb b/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.49.bb new file mode 100644 index 00000000000..ecc9099e305 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.49.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ +application developers the full power and flexibility of SQL" +HOMEPAGE = "https://www.sqlalchemy.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=53a9111717b305b0fae0d704a24925c3" + +SRC_URI[sha256sum] = "d15950a57a210e36dd4cec1aac22787e2a4d57ba9318233e2ef8b2daf9ff2d5f" + +inherit pypi python_setuptools_build_meta cython + +RDEPENDS:${PN} += " \ + python3-asyncio \ + python3-compression \ + python3-json \ + python3-logging \ + python3-netclient \ + python3-numbers \ + python3-pickle \ + python3-profile \ + python3-threading \ + python3-typing-extensions \ + python3-greenlet \ +" + +CVE_PRODUCT = "sqlalchemy" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-sqlparse_0.5.4.bb b/meta-python/recipes-devtools/python/python3-sqlparse_0.5.4.bb deleted file mode 100644 index 9f358d40f13..00000000000 --- a/meta-python/recipes-devtools/python/python3-sqlparse_0.5.4.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "Non-validating SQL parser module" -HOMEPAGE = "https://pypi.python.org/pypi/sqlparse" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2b136f573f5386001ea3b7b9016222fc" - -SRC_URI[sha256sum] = "4396a7d3cf1cd679c1be976cf3dc6e0a51d0111e87787e7a8d780e7d5a998f9e" - -CVE_PRODUCT = "sqlparse" - -export BUILD_SYS -export HOST_SYS - -inherit pypi ptest-python-pytest python_hatchling - -RDEPENDS:${PN}-ptest += "\ - python3-mypy \ - python3-unixadmin \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-sqlparse_0.5.5.bb b/meta-python/recipes-devtools/python/python3-sqlparse_0.5.5.bb new file mode 100644 index 00000000000..03c032c49e8 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-sqlparse_0.5.5.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Non-validating SQL parser module" +HOMEPAGE = "https://pypi.python.org/pypi/sqlparse" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2b136f573f5386001ea3b7b9016222fc" + +SRC_URI[sha256sum] = "e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e" + +CVE_PRODUCT = "sqlparse" + +export BUILD_SYS +export HOST_SYS + +inherit pypi ptest-python-pytest python_hatchling + +RDEPENDS:${PN}-ptest += "\ + python3-mypy \ + python3-unixadmin \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-starlette_0.52.1.bb b/meta-python/recipes-devtools/python/python3-starlette_0.52.1.bb deleted file mode 100644 index a06feb1b73e..00000000000 --- a/meta-python/recipes-devtools/python/python3-starlette_0.52.1.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Starlette is a lightweight ASGI framework/toolkit, which is ideal for building async web services in Python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=11e8c8dbfd5fa373c703de492140ff7a" - -SRC_URI[sha256sum] = "834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933" - -inherit pypi python_hatchling ptest - -PYPI_PACKAGE = "starlette" -CVE_PRODUCT = "starlette" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-attrs \ - python3-ctypes \ - python3-httpx \ - python3-itsdangerous \ - python3-jinja2 \ - python3-outcome \ - python3-pytest \ - python3-pytest-asyncio \ - python3-pytest-forked \ - python3-python-multipart \ - python3-sortedcontainers \ - python3-terminal \ - python3-trio \ - python3-typing-extensions \ - python3-unittest-automake-output \ - python3-pyyaml \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS:${PN} += " \ - python3-anyio \ -" diff --git a/meta-python/recipes-devtools/python/python3-starlette_1.0.0.bb b/meta-python/recipes-devtools/python/python3-starlette_1.0.0.bb new file mode 100644 index 00000000000..8f506788755 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-starlette_1.0.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Starlette is a lightweight ASGI framework/toolkit, which is ideal for building async web services in Python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=11e8c8dbfd5fa373c703de492140ff7a" + +SRC_URI[sha256sum] = "6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149" + +inherit pypi python_hatchling ptest + +PYPI_PACKAGE = "starlette" +CVE_PRODUCT = "starlette" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-attrs \ + python3-ctypes \ + python3-httpx \ + python3-itsdangerous \ + python3-jinja2 \ + python3-outcome \ + python3-pytest \ + python3-pytest-asyncio \ + python3-pytest-forked \ + python3-python-multipart \ + python3-sortedcontainers \ + python3-terminal \ + python3-trio \ + python3-typing-extensions \ + python3-unittest-automake-output \ + python3-pyyaml \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS:${PN} += " \ + python3-anyio \ +" diff --git a/meta-python/recipes-devtools/python/python3-stevedore_5.6.0.bb b/meta-python/recipes-devtools/python/python3-stevedore_5.6.0.bb deleted file mode 100644 index 634df7db37c..00000000000 --- a/meta-python/recipes-devtools/python/python3-stevedore_5.6.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Manage dynamic plugins for Python applications" -HOMEPAGE = "https://docs.openstack.org/stevedore/latest/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI[sha256sum] = "f22d15c6ead40c5bbfa9ca54aa7e7b4a07d59b36ae03ed12ced1a54cf0b51945" - -DEPENDS += "python3-pbr-native" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} += "python3-pbr python3-six" - -BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-stevedore_5.7.0.bb b/meta-python/recipes-devtools/python/python3-stevedore_5.7.0.bb new file mode 100644 index 00000000000..cb194b6c150 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-stevedore_5.7.0.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Manage dynamic plugins for Python applications" +HOMEPAGE = "https://docs.openstack.org/stevedore/latest/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[sha256sum] = "31dd6fe6b3cbe921e21dcefabc9a5f1cf848cf538a1f27543721b8ca09948aa3" + +DEPENDS += "python3-pbr-native" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += "python3-pbr python3-six" + +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-stopit/0001-Drop-the-deprecated-pkg_resources.patch b/meta-python/recipes-devtools/python/python3-stopit/0001-Drop-the-deprecated-pkg_resources.patch new file mode 100644 index 00000000000..42523863845 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-stopit/0001-Drop-the-deprecated-pkg_resources.patch @@ -0,0 +1,38 @@ +From b72825c89724c2c3b4c9c60d90c9d4ad597eead0 Mon Sep 17 00:00:00 2001 +From: "Bai, Haiqing" +Date: Thu, 2 Apr 2026 08:40:26 +0000 +Subject: [PATCH] Drop the deprecated pkg_resources + +pkg_resources is deprecated as an API. The pkg_resources package +is slated for removal, so the way of obtaining the version needs +to be updated. + +Upstream-Status: Inactive-Upstream [lastcommit: Jan/2024 lastrelease: Feb/2018] + +Signed-off-by: Bai, Haiqing +--- + src/stopit/__init__.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/stopit/__init__.py b/src/stopit/__init__.py +index 6ca0180..5ddfa4a 100644 +--- a/src/stopit/__init__.py ++++ b/src/stopit/__init__.py +@@ -7,7 +7,7 @@ stopit + Public resources from ``stopit`` + """ + +-import pkg_resources ++from importlib.metadata import version + + from .utils import LOG, TimeoutException + from .threadstop import ThreadingTimeout, async_raise, threading_timeoutable +@@ -15,7 +15,7 @@ from .signalstop import SignalTimeout, signal_timeoutable + + # PEP 396 style version marker + try: +- __version__ = pkg_resources.get_distribution(__name__).version ++ __version__ = version(__name__) + except: + LOG.warning("Could not get the package version from pkg_resources") + __version__ = 'unknown' diff --git a/meta-python/recipes-devtools/python/python3-stopit_1.1.2.bb b/meta-python/recipes-devtools/python/python3-stopit_1.1.2.bb index a9527226199..2cf7742a904 100644 --- a/meta-python/recipes-devtools/python/python3-stopit_1.1.2.bb +++ b/meta-python/recipes-devtools/python/python3-stopit_1.1.2.bb @@ -2,7 +2,6 @@ SUMMARY = "Raise asynchronous exceptions in other threads, control the timeout o HOMEPAGE = "https://pypi.org/project/stopit/" SECTION = "devel/python" -SRC_URI += " file://LICENSE " LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${UNPACKDIR}/LICENSE;md5=497c556f42b1355b64190da2f3d88f93" @@ -10,8 +9,9 @@ SRC_URI[sha256sum] = "f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e7 inherit pypi setuptools3 -RDEPENDS:${PN} += "\ - python3-setuptools \ - " +SRC_URI += "\ + file://LICENSE \ + file://0001-Drop-the-deprecated-pkg_resources.patch \ +" BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-tabulate_0.10.0.bb b/meta-python/recipes-devtools/python/python3-tabulate_0.10.0.bb new file mode 100644 index 00000000000..909f47268f8 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-tabulate_0.10.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Pretty-print tabular data" +HOMEPAGE = "https://github.com/astanin/python-tabulate" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6ad1430c0c4824ec6a5dbb9754b011d7" + +SRC_URI[sha256sum] = "e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d" + +inherit pypi python_setuptools_build_meta + +DEPENDS += " \ + python3-setuptools-scm-native \ + python3-toml-native \ +" + +RDEPENDS:${PN} += " \ + python3-html \ + python3-core \ + python3-io \ + python3-math \ + python3-profile \ +" diff --git a/meta-python/recipes-devtools/python/python3-tabulate_0.9.0.bb b/meta-python/recipes-devtools/python/python3-tabulate_0.9.0.bb deleted file mode 100644 index 75e97355f5b..00000000000 --- a/meta-python/recipes-devtools/python/python3-tabulate_0.9.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Pretty-print tabular data" -HOMEPAGE = "https://github.com/astanin/python-tabulate" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6ad1430c0c4824ec6a5dbb9754b011d7" - -SRC_URI[sha256sum] = "0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c" - -inherit pypi python_setuptools_build_meta - -DEPENDS += " \ - python3-setuptools-scm-native \ - python3-toml-native \ -" - -RDEPENDS:${PN} += " \ - python3-html \ - python3-core \ - python3-io \ - python3-math \ - python3-profile \ -" diff --git a/meta-python/recipes-devtools/python/python3-telnetlib3_2.0.8.bb b/meta-python/recipes-devtools/python/python3-telnetlib3_2.0.8.bb deleted file mode 100644 index 46f72b8f088..00000000000 --- a/meta-python/recipes-devtools/python/python3-telnetlib3_2.0.8.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Telnet server and client library based on asyncio" -HOMEPAGE = "https://github.com/jquast/telnetlib3" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b2cbfe1ec99d8830fa20d62c8f21d0e8" - -SRC_URI[sha256sum] = "08a2a7a3a6790f89617442b7d491da8b531d87706fffd6a33eeff57ac440b752" - -PYPI_PACKAGE = "telnetlib3" - -inherit pypi setuptools3 - -RDEPENDS:${PN} = "\ - python3-asyncio \ -" diff --git a/meta-python/recipes-devtools/python/python3-telnetlib3_2.6.0.bb b/meta-python/recipes-devtools/python/python3-telnetlib3_2.6.0.bb new file mode 100644 index 00000000000..bef533b39be --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-telnetlib3_2.6.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "Telnet server and client library based on asyncio" +HOMEPAGE = "https://github.com/jquast/telnetlib3" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=15abe157ad6f0b483975cc34bcc1aa99" + +SRC_URI[sha256sum] = "c231e790c626f5b6927a4a85e79bce18cde994c9424254d2193582b430972164" + +PYPI_PACKAGE = "telnetlib3" + +inherit pypi python_setuptools_build_meta python_hatchling + +RDEPENDS:${PN} = "\ + python3-asyncio \ + python3-wcwidth \ +" diff --git a/meta-python/recipes-devtools/python/python3-tenacity_9.1.2.bb b/meta-python/recipes-devtools/python/python3-tenacity_9.1.2.bb deleted file mode 100644 index 76d23aee400..00000000000 --- a/meta-python/recipes-devtools/python/python3-tenacity_9.1.2.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Retry code until it succeeds" -HOMEPAGE = "https://github.com/jd/tenacity" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" - -SRC_URI[sha256sum] = "1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb" - -SRC_URI:append = "file://0001-ptest-skip-a-test-that-does-not-pass-on-qemu.patch" - -DEPENDS += "python3-setuptools-scm-native" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -PYPI_PACKAGE = "tenacity" - -RDEPENDS:${PN}-ptest += "\ - python3-tornado \ - python3-typeguard \ -" diff --git a/meta-python/recipes-devtools/python/python3-tenacity_9.1.4.bb b/meta-python/recipes-devtools/python/python3-tenacity_9.1.4.bb new file mode 100644 index 00000000000..5200c4c0b5a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-tenacity_9.1.4.bb @@ -0,0 +1,19 @@ +SUMMARY = "Retry code until it succeeds" +HOMEPAGE = "https://github.com/jd/tenacity" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" + +SRC_URI[sha256sum] = "adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a" + +SRC_URI:append = "file://0001-ptest-skip-a-test-that-does-not-pass-on-qemu.patch" + +DEPENDS += "python3-setuptools-scm-native" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +PYPI_PACKAGE = "tenacity" + +RDEPENDS:${PN}-ptest += "\ + python3-tornado \ + python3-typeguard \ +" diff --git a/meta-python/recipes-devtools/python/python3-tomli_2.4.0.bb b/meta-python/recipes-devtools/python/python3-tomli_2.4.0.bb deleted file mode 100644 index 310052072d8..00000000000 --- a/meta-python/recipes-devtools/python/python3-tomli_2.4.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A lil' TOML parser" -DESCRIPTION = "Tomli is a Python library for parsing TOML. Tomli is fully \ -compatible with TOML v1.0.0." -HOMEPAGE = "https://github.com/hukkin/tomli" -BUGTRACKER = "https://github.com/hukkin/tomli/issues" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5" - -inherit pypi python_flit_core - -SRC_URI[sha256sum] = "aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c" - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS:${PN} += " \ - python3-datetime \ - python3-stringold \ -" diff --git a/meta-python/recipes-devtools/python/python3-tomli_2.4.1.bb b/meta-python/recipes-devtools/python/python3-tomli_2.4.1.bb new file mode 100644 index 00000000000..b95d208a821 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-tomli_2.4.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "A lil' TOML parser" +DESCRIPTION = "Tomli is a Python library for parsing TOML. Tomli is fully \ +compatible with TOML v1.0.0." +HOMEPAGE = "https://github.com/hukkin/tomli" +BUGTRACKER = "https://github.com/hukkin/tomli/issues" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5" + +inherit pypi python_flit_core + +SRC_URI[sha256sum] = "7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += " \ + python3-datetime \ + python3-stringold \ +" diff --git a/meta-python/recipes-devtools/python/python3-tornado_6.5.4.bb b/meta-python/recipes-devtools/python/python3-tornado_6.5.4.bb deleted file mode 100644 index 661ec039ceb..00000000000 --- a/meta-python/recipes-devtools/python/python3-tornado_6.5.4.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed." -DESCRIPTION = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. \ -By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long \ -polling, WebSockets, and other applications that require a long-lived connection to each user." -HOMEPAGE = "https://www.tornadoweb.org/en/stable/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI[sha256sum] = "a22fa9047405d03260b483980635f0b041989d8bcc9a313f8fe18b411d84b1d7" - -inherit pypi python_setuptools_build_meta - -# Requires _compression which is currently located in misc -RDEPENDS:${PN} += " \ - python3-asyncio \ - python3-certifi \ - python3-compression \ - python3-ctypes \ - python3-email \ - python3-html \ - python3-json \ - python3-misc \ - python3-multiprocessing \ - python3-numbers \ - python3-pkgutil \ - python3-pycurl \ - python3-threading \ - python3-unittest \ -" - -RDEPENDS:${PN}-test += "python3-unittest" - -PACKAGES =+ "\ - ${PN}-test \ -" - -FILES:${PN}-test = " \ - ${PYTHON_SITEPACKAGES_DIR}/*/test \ -" - -CVE_PRODUCT = "tornadoweb:tornado" - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-tornado_6.5.5.bb b/meta-python/recipes-devtools/python/python3-tornado_6.5.5.bb new file mode 100644 index 00000000000..fb9067c90ee --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-tornado_6.5.5.bb @@ -0,0 +1,43 @@ +SUMMARY = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed." +DESCRIPTION = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. \ +By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long \ +polling, WebSockets, and other applications that require a long-lived connection to each user." +HOMEPAGE = "https://www.tornadoweb.org/en/stable/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[sha256sum] = "192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9" + +inherit pypi python_setuptools_build_meta + +# Requires _compression which is currently located in misc +RDEPENDS:${PN} += " \ + python3-asyncio \ + python3-certifi \ + python3-compression \ + python3-ctypes \ + python3-email \ + python3-html \ + python3-json \ + python3-misc \ + python3-multiprocessing \ + python3-numbers \ + python3-pkgutil \ + python3-pycurl \ + python3-threading \ + python3-unittest \ +" + +RDEPENDS:${PN}-test += "python3-unittest" + +PACKAGES =+ "\ + ${PN}-test \ +" + +FILES:${PN}-test = " \ + ${PYTHON_SITEPACKAGES_DIR}/*/test \ +" + +CVE_PRODUCT = "tornadoweb:tornado" + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-tox_4.27.0.bb b/meta-python/recipes-devtools/python/python3-tox_4.27.0.bb deleted file mode 100644 index 4deacdb3d99..00000000000 --- a/meta-python/recipes-devtools/python/python3-tox_4.27.0.bb +++ /dev/null @@ -1,34 +0,0 @@ -# SPDX-License-Identifier: MIT -# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors - -SUMMARY = "Automate and standardize testing in Python. It is part of a larger vision of easing the packaging, testing and release process of Python software (alongside pytest and devpi)." -HOMEPAGE = "https://tox.readthedocs.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7" - -SRC_URI[sha256sum] = "b97d5ecc0c0d5755bcc5348387fef793e1bfa68eb33746412f4c60881d7f5f57" - -BBCLASSEXTEND = "native nativesdk" -inherit pypi python_hatchling - -DEPENDS += "\ - python3-hatch-vcs-native \ -" - -RDEPENDS:${PN} += "\ - python3-cachetools \ - python3-chardet \ - python3-colorama \ - python3-filelock \ - python3-packaging \ - python3-platformdirs \ - python3-pluggy \ - python3-pyproject-api \ - python3-tomli \ - python3-virtualenv \ -" - -# Install all built-in python3 modules, as the software tested with tox might -# depend on it. Tox will attempt to install all required dependencies -# in a virtualenv using pip, but this obviously does not include the built-in modules. -RDEPENDS:${PN} += "python3-modules" diff --git a/meta-python/recipes-devtools/python/python3-tox_4.52.1.bb b/meta-python/recipes-devtools/python/python3-tox_4.52.1.bb new file mode 100644 index 00000000000..dbac6deed8c --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-tox_4.52.1.bb @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: MIT +# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors + +SUMMARY = "Automate and standardize testing in Python. It is part of a larger vision of easing the packaging, testing and release process of Python software (alongside pytest and devpi)." +HOMEPAGE = "https://tox.readthedocs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7" + +SRC_URI[sha256sum] = "297e71ea0ae4ef3acc45cb5fdf080b74537e6ecb5eea7d4646fa7322ca10473e" + +BBCLASSEXTEND = "native nativesdk" +inherit pypi python_hatchling + +DEPENDS += "\ + python3-hatch-vcs-native \ + python3-docutils-native \ +" + +RDEPENDS:${PN} += "\ + python3-cachetools \ + python3-chardet \ + python3-colorama \ + python3-filelock \ + python3-packaging \ + python3-platformdirs \ + python3-pluggy \ + python3-pyproject-api \ + python3-tomli \ + python3-virtualenv \ +" + +# Install all built-in python3 modules, as the software tested with tox might +# depend on it. Tox will attempt to install all required dependencies +# in a virtualenv using pip, but this obviously does not include the built-in modules. +RDEPENDS:${PN} += "python3-modules" diff --git a/meta-python/recipes-devtools/python/python3-tqdm_4.67.2.bb b/meta-python/recipes-devtools/python/python3-tqdm_4.67.2.bb deleted file mode 100644 index f5ee2d3e4cd..00000000000 --- a/meta-python/recipes-devtools/python/python3-tqdm_4.67.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Fast, Extensible Progress Meter" -HOMEPAGE = "https://tqdm.github.io/" -SECTION = "devel/python" - -LICENSE = "MIT & MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENCE;md5=9a9bed097dea538bf341c8623c8f8852" - -SRC_URI[sha256sum] = "649aac53964b2cb8dec76a14b405a4c0d13612cb8933aae547dd144eacc99653" - -CVE_PRODUCT = "tqdm" - -inherit pypi python_setuptools_build_meta - -DEPENDS += "python3-setuptools-scm-native" - -RDEPENDS:${PN} += " \ - python3-logging \ - python3-numbers \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-tqdm_4.67.3.bb b/meta-python/recipes-devtools/python/python3-tqdm_4.67.3.bb new file mode 100644 index 00000000000..16370219999 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-tqdm_4.67.3.bb @@ -0,0 +1,21 @@ +SUMMARY = "Fast, Extensible Progress Meter" +HOMEPAGE = "https://tqdm.github.io/" +SECTION = "devel/python" + +LICENSE = "MIT & MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENCE;md5=9a9bed097dea538bf341c8623c8f8852" + +SRC_URI[sha256sum] = "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb" + +CVE_PRODUCT = "tqdm" + +inherit pypi python_setuptools_build_meta + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} += " \ + python3-logging \ + python3-numbers \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-trio_0.32.0.bb b/meta-python/recipes-devtools/python/python3-trio_0.32.0.bb deleted file mode 100644 index cc23d3070ea..00000000000 --- a/meta-python/recipes-devtools/python/python3-trio_0.32.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A friendly Python library for async concurrency and I/O" -HOMEPAGE = "https://github.com/python-trio/trio" -LICENSE = "Apache-2.0 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=447ea202d14d2aee40d8a2c26c865da9 \ - file://LICENSE.APACHE2;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://LICENSE.MIT;md5=5f229c828e5a6f0a2ce90c7d3c054721" - -SRC_URI[sha256sum] = "150f29ec923bcd51231e1d4c71c7006e65247d68759dd1c19af4ea815a25806b" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN} = " \ - python3-idna \ - python3-sniffio \ - python3-attrs \ - python3-outcome \ - python3-sortedcontainers \ -" diff --git a/meta-python/recipes-devtools/python/python3-trio_0.33.0.bb b/meta-python/recipes-devtools/python/python3-trio_0.33.0.bb new file mode 100644 index 00000000000..8bb45146492 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-trio_0.33.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "A friendly Python library for async concurrency and I/O" +HOMEPAGE = "https://github.com/python-trio/trio" +LICENSE = "Apache-2.0 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=447ea202d14d2aee40d8a2c26c865da9 \ + file://LICENSE.APACHE2;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://LICENSE.MIT;md5=5f229c828e5a6f0a2ce90c7d3c054721" + +SRC_URI[sha256sum] = "a29b92b73f09d4b48ed249acd91073281a7f1063f09caba5dc70465b5c7aa970" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} = " \ + python3-idna \ + python3-sniffio \ + python3-attrs \ + python3-outcome \ + python3-sortedcontainers \ +" diff --git a/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb b/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb index 01c069291ca..ef6c248e807 100644 --- a/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb +++ b/meta-python/recipes-devtools/python/python3-txdbus_1.1.2.bb @@ -8,4 +8,4 @@ SRC_URI[sha256sum] = "8375a5fb68a12054f0def91af800c821fb2232949337756ed975f88d8e inherit pypi setuptools3 -RDEPENDS:${PN} += "python3-twisted-core" +RDEPENDS:${PN} += "python3-twisted-core python3-six" diff --git a/meta-python/recipes-devtools/python/python3-typeguard_4.4.4.bb b/meta-python/recipes-devtools/python/python3-typeguard_4.4.4.bb deleted file mode 100644 index 812288881d9..00000000000 --- a/meta-python/recipes-devtools/python/python3-typeguard_4.4.4.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Run-time type checker for Python" -HOMEPAGE = "https://pypi.org/project/typeguard/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f0e423eea5c91e7aa21bdb70184b3e53" - -SRC_URI[sha256sum] = "3a7fd2dffb705d4d0efaed4306a704c89b9dee850b688f060a8b1615a79e5f74" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -RDEPENDS:${PN} += " \ - python3-core \ - python3-compression \ - python3-unittest \ - python3-typing-extensions \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-typing-extensions \ - python3-unixadmin \ - python3-mypy \ - python3-pathspec \ -" - -DEPENDS += "\ - python3-distutils-extra-native \ - python3-setuptools-scm-native \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-typeguard_4.5.1.bb b/meta-python/recipes-devtools/python/python3-typeguard_4.5.1.bb new file mode 100644 index 00000000000..1c62e076cdc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-typeguard_4.5.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "Run-time type checker for Python" +HOMEPAGE = "https://pypi.org/project/typeguard/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f0e423eea5c91e7aa21bdb70184b3e53" + +SRC_URI[sha256sum] = "f6f8ecbbc819c9bc749983cc67c02391e16a9b43b8b27f15dc70ed7c4a007274" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +RDEPENDS:${PN} += " \ + python3-core \ + python3-compression \ + python3-unittest \ + python3-typing-extensions \ + python3-json \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-typing-extensions \ + python3-unixadmin \ + python3-mypy \ + python3-pathspec \ +" + +DEPENDS += "\ + python3-distutils-extra-native \ + python3-setuptools-scm-native \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-typer_0.21.1.bb b/meta-python/recipes-devtools/python/python3-typer_0.21.1.bb deleted file mode 100644 index 0bf2c0ec4ff..00000000000 --- a/meta-python/recipes-devtools/python/python3-typer_0.21.1.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Typer, build great CLIs. Easy to code. Based on Python type hints." -DESCRIPTION = "\ - Typer is a library for building CLI applications that users will love using and developers will love creating. Based on Python type hints. \ - It's also a command line tool to run scripts, automatically converting them to CLI applications. \ -" -HOMEPAGE = "https://github.com/fastapi/typer" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=173d405eb704b1499218013178722617" - -SRC_URI[sha256sum] = "ea835607cd752343b6b2b7ce676893e5a0324082268b48f27aa058bdb7d2145d" - -inherit pypi python_pdm ptest - -SRC_URI:append = " \ - file://run-ptest \ -" - -PYPI_PACKAGE = "typer" - -RDEPENDS:${PN} += "\ - python3-click \ - python3-typing-extensions \ -" -# python3-misc for webbrowser module -RDEPENDS:${PN}-ptest += "\ - python3-coverage \ - python3-markdown-it-py \ - python3-misc \ - python3-mypy \ - python3-pluggy \ - python3-pytest \ - python3-pytest-cov \ - python3-pytest-sugar \ - python3-pytest-xdist \ - python3-rich \ - python3-shellingham \ - python3-toml \ - python3-unittest-automake-output \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-python/recipes-devtools/python/python3-typer_0.24.1.bb b/meta-python/recipes-devtools/python/python3-typer_0.24.1.bb new file mode 100644 index 00000000000..6538f16f0df --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-typer_0.24.1.bb @@ -0,0 +1,44 @@ +SUMMARY = "Typer, build great CLIs. Easy to code. Based on Python type hints." +DESCRIPTION = "\ + Typer is a library for building CLI applications that users will love using and developers will love creating. Based on Python type hints. \ + It's also a command line tool to run scripts, automatically converting them to CLI applications. \ +" +HOMEPAGE = "https://github.com/fastapi/typer" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=173d405eb704b1499218013178722617" + +SRC_URI[sha256sum] = "e39b4732d65fbdcde189ae76cf7cd48aeae72919dea1fdfc16593be016256b45" + +inherit pypi python_pdm ptest + +SRC_URI:append = " \ + file://run-ptest \ +" + +PYPI_PACKAGE = "typer" + +RDEPENDS:${PN} += "\ + python3-click \ + python3-typing-extensions \ +" +# python3-misc for webbrowser module +RDEPENDS:${PN}-ptest += "\ + python3-coverage \ + python3-markdown-it-py \ + python3-misc \ + python3-mypy \ + python3-pluggy \ + python3-pytest \ + python3-pytest-cov \ + python3-pytest-sugar \ + python3-pytest-xdist \ + python3-rich \ + python3-shellingham \ + python3-toml \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-python/recipes-devtools/python/python3-types-psutil_7.2.2.20260130.bb b/meta-python/recipes-devtools/python/python3-types-psutil_7.2.2.20260130.bb deleted file mode 100644 index 78e96b31220..00000000000 --- a/meta-python/recipes-devtools/python/python3-types-psutil_7.2.2.20260130.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Typing stubs for psutil" -HOMEPAGE = "https://github.com/python/typeshed" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ec038232ab86edd7354b091c54e190e2" - -PYPI_PACKAGE = "types_psutil" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -inherit pypi python_setuptools_build_meta - -SRC_URI[sha256sum] = "15b0ab69c52841cf9ce3c383e8480c620a4d13d6a8e22b16978ebddac5590950" - -BBCLASSEXTEND = "native" - -RDEPENDS:${PN} += "\ - python3-psutil \ -" diff --git a/meta-python/recipes-devtools/python/python3-types-psutil_7.2.2.20260408.bb b/meta-python/recipes-devtools/python/python3-types-psutil_7.2.2.20260408.bb new file mode 100644 index 00000000000..88fff6c83d1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-types-psutil_7.2.2.20260408.bb @@ -0,0 +1,17 @@ +SUMMARY = "Typing stubs for psutil" +HOMEPAGE = "https://github.com/python/typeshed" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ec038232ab86edd7354b091c54e190e2" + +PYPI_PACKAGE = "types_psutil" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "e8053450685965b8cd52afb62569073d00ea9967ae78bb45dff5f606847f97f2" + +BBCLASSEXTEND = "native" + +RDEPENDS:${PN} += "\ + python3-psutil \ +" diff --git a/meta-python/recipes-devtools/python/python3-tzdata_2025.3.bb b/meta-python/recipes-devtools/python/python3-tzdata_2025.3.bb deleted file mode 100644 index 1c313ea223c..00000000000 --- a/meta-python/recipes-devtools/python/python3-tzdata_2025.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Provider of IANA time zone data" -HOMEPAGE = "https://github.com/python/tzdata" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fca9fd5c15a28eb874ba38577a585d48 \ - file://licenses/LICENSE_APACHE;md5=86d3f3a95c324c9479bd8986968f4327" - -SRC_URI[sha256sum] = "de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -RDEPENDS:${PN}-ptest += "\ - python3-attrs \ - python3-pytest-subtests \ -" - -do_install_ptest:append() { - install ${S}/VERSION ${D}${PTEST_PATH}/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-tzdata_2026.1.bb b/meta-python/recipes-devtools/python/python3-tzdata_2026.1.bb new file mode 100644 index 00000000000..9a66460e762 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-tzdata_2026.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "Provider of IANA time zone data" +HOMEPAGE = "https://github.com/python/tzdata" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fca9fd5c15a28eb874ba38577a585d48 \ + file://licenses/LICENSE_APACHE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI[sha256sum] = "67658a1903c75917309e753fdc349ac0efd8c27db7a0cb406a25be4840f87f98" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +RDEPENDS:${PN}-ptest += "\ + python3-attrs \ + python3-pytest-subtests \ +" + +do_install_ptest:append() { + install ${S}/VERSION ${D}${PTEST_PATH}/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-uefi-firmware_1.12.bb b/meta-python/recipes-devtools/python/python3-uefi-firmware_1.12.bb deleted file mode 100644 index 09732fc8650..00000000000 --- a/meta-python/recipes-devtools/python/python3-uefi-firmware_1.12.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Various data structures and parsing tools for UEFI firmware." -DESCRIPTION = "This package contains Python UEFI firmware parser tool. The \ -UEFI firmware parser is a simple module and set of scripts for parsing, \ -extracting, and recreating UEFI firmware volumes. This includes parsing \ -modules for BIOS, OptionROM, Intel ME and other formats too." -HOMEPAGE = "https://github.com/theopolis/uefi-firmware-parser" -LICENSE = "BSD-2-Clause & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://setup.py;md5=5a59066a8676f17262ef7e691f8ef253" - -SRC_URI = "git://github.com/theopolis/uefi-firmware-parser;protocol=https;branch=master" - -SRCREV = "0c5fb74bcecc0e5c80625c38130fe948c2a3656e" - - -inherit setuptools3 - -RDEPENDS:${PN} += " \ - python3-ctypes \ - python3-logging \ -" diff --git a/meta-python/recipes-devtools/python/python3-uefi-firmware_1.13.bb b/meta-python/recipes-devtools/python/python3-uefi-firmware_1.13.bb new file mode 100644 index 00000000000..7fe92e31f2e --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-uefi-firmware_1.13.bb @@ -0,0 +1,19 @@ +SUMMARY = "Various data structures and parsing tools for UEFI firmware." +DESCRIPTION = "This package contains Python UEFI firmware parser tool. The \ +UEFI firmware parser is a simple module and set of scripts for parsing, \ +extracting, and recreating UEFI firmware volumes. This includes parsing \ +modules for BIOS, OptionROM, Intel ME and other formats too." +HOMEPAGE = "https://github.com/theopolis/uefi-firmware-parser" +LICENSE = "BSD-2-Clause & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://setup.py;md5=5a59066a8676f17262ef7e691f8ef253" + +SRC_URI = "git://github.com/theopolis/uefi-firmware-parser;protocol=https;branch=master;tag=v${PV}" + +SRCREV = "6d7cf5f0672c577028462ec175fec9fda95cc5f0" + +inherit setuptools3 + +RDEPENDS:${PN} += " \ + python3-ctypes \ + python3-logging \ +" diff --git a/meta-python/recipes-devtools/python/python3-ujson_5.11.0.bb b/meta-python/recipes-devtools/python/python3-ujson_5.11.0.bb deleted file mode 100644 index 95199de839e..00000000000 --- a/meta-python/recipes-devtools/python/python3-ujson_5.11.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Ultra fast JSON encoder and decoder for Python" -DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3." - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1e3768cfe2662fa77c49c9c2d3804d87" - -SRC_URI[sha256sum] = "e204ae6f909f099ba6b6b942131cee359ddda2b6e4ea39c12eb8b991fe2010e0" - -inherit pypi ptest-python-pytest python_setuptools_build_meta - -# let OE do the strip operation -export UJSON_BUILD_NO_STRIP = "1" - -DEPENDS += "python3-setuptools-scm-native" - -RDEPENDS:${PN} += "\ - python3-datetime \ - python3-numbers \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-json \ - python3-misc \ - python3-pytz \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-ujson_5.12.1.bb b/meta-python/recipes-devtools/python/python3-ujson_5.12.1.bb new file mode 100644 index 00000000000..8f8c6e23d44 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-ujson_5.12.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Ultra fast JSON encoder and decoder for Python" +DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3." + +LICENSE = "BSD-3-Clause & TCL" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1e3768cfe2662fa77c49c9c2d3804d87" + +SRC_URI[sha256sum] = "5b7e96406c301a1366534479a7352ec40ec68bb327c0c119091635acd5925e35" + +inherit pypi ptest-python-pytest python_setuptools_build_meta + +# let OE do the strip operation +export UJSON_BUILD_NO_STRIP = "1" + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} += "\ + python3-datetime \ + python3-numbers \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-json \ + python3-misc \ + python3-pytz \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-uswid_0.5.2.bb b/meta-python/recipes-devtools/python/python3-uswid_0.5.2.bb deleted file mode 100644 index 3e6ec88a8e8..00000000000 --- a/meta-python/recipes-devtools/python/python3-uswid_0.5.2.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A pure-python library for embedding CoSWID data" -HOMEPAGE = "https://github.com/hughsie/python-uswid" -SECTION = "devel/python" -LICENSE = "BSD-2-Clause-Patent" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f3636dfe71e94cc72918423cec0d1971" - -SRC_URI[sha256sum] = "1d6c53acf160edc9b42e4ba535343b3567f2f341d289b9e63ca6a84372c2c518" - -inherit setuptools3 python3native pypi - -DEPENDS += " python3-cbor2 python3-lxml python3-pefile" -RDEPENDS:${PN} += " \ - python3-cbor2 \ - python3-json \ - python3-lxml \ - python3-netclient \ - python3-pefile \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-uswid_0.6.0.bb b/meta-python/recipes-devtools/python/python3-uswid_0.6.0.bb new file mode 100644 index 00000000000..e5ee5166f05 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-uswid_0.6.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "A pure-python library for embedding CoSWID data" +HOMEPAGE = "https://github.com/hughsie/python-uswid" +SECTION = "devel/python" +LICENSE = "BSD-2-Clause-Patent" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f3636dfe71e94cc72918423cec0d1971" + +SRC_URI[sha256sum] = "98b04b2750aa7ca97fc83c65cb24808174c3cd5f7e99d96727161034963137bf" + +inherit setuptools3 python3native pypi + +DEPENDS += " python3-cbor2 python3-lxml python3-pefile" +RDEPENDS:${PN} += " \ + python3-cbor2 \ + python3-json \ + python3-lxml \ + python3-netclient \ + python3-pefile \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-uvicorn_0.40.0.bb b/meta-python/recipes-devtools/python/python3-uvicorn_0.40.0.bb deleted file mode 100644 index 227202b8cc7..00000000000 --- a/meta-python/recipes-devtools/python/python3-uvicorn_0.40.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "The lightning-fast ASGI server." -HOMEPAGE = "https://github.com/encode/uvicorn" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5c778842f66a649636561c423c0eec2e" -RECIPE_MAINTAINER = "Tom Geelen " - -SRC_URI[sha256sum] = "839676675e87e73694518b5574fd0f24c9d97b46bea16df7b8c05ea1a51071ea" - -SRC_URI += "file://0001-ptest-disable-failing-tests.patch" - -inherit pypi python_hatchling ptest-python-pytest - -PYPI_PACKAGE = "uvicorn" -CVE_PRODUCT = "encode:uvicorn" -CVE_STATUS[CVE-2020-7694] = "fixed-version: The vulnerability has been fixed since 0.11.7" - -RDEPENDS:${PN} = "\ - python3-click \ - python3-h11 (>=0.8) \ - python3-httptools \ - python3-multiprocessing \ - python3-python-dotenv \ - python3-websockets \ - python3-wsproto \ -" - -RDEPENDS:${PN}-ptest += "\ - python3-a2wsgi \ - python3-httpx \ - python3-pytest-mock \ - python3-pyyaml \ -" diff --git a/meta-python/recipes-devtools/python/python3-uvicorn_0.44.0.bb b/meta-python/recipes-devtools/python/python3-uvicorn_0.44.0.bb new file mode 100644 index 00000000000..ce92c96d8d3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-uvicorn_0.44.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "The lightning-fast ASGI server." +HOMEPAGE = "https://github.com/encode/uvicorn" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5c778842f66a649636561c423c0eec2e" +RECIPE_MAINTAINER = "Tom Geelen " + +SRC_URI[sha256sum] = "6c942071b68f07e178264b9152f1f16dfac5da85880c4ce06366a96d70d4f31e" + +SRC_URI += "file://0001-ptest-disable-failing-tests.patch" + +inherit pypi python_hatchling ptest-python-pytest + +PYPI_PACKAGE = "uvicorn" +CVE_PRODUCT = "encode:uvicorn" +CVE_STATUS[CVE-2020-7694] = "fixed-version: The vulnerability has been fixed since 0.11.7" + +RDEPENDS:${PN} = "\ + python3-click \ + python3-h11 (>=0.8) \ + python3-httptools \ + python3-multiprocessing \ + python3-python-dotenv \ + python3-websockets \ + python3-wsproto \ +" + +RDEPENDS:${PN}-ptest += "\ + python3-a2wsgi \ + python3-httpx \ + python3-pytest-mock \ + python3-pyyaml \ +" diff --git a/meta-python/recipes-devtools/python/python3-virtualenv_20.36.1.bb b/meta-python/recipes-devtools/python/python3-virtualenv_20.36.1.bb deleted file mode 100644 index d5fad314fdf..00000000000 --- a/meta-python/recipes-devtools/python/python3-virtualenv_20.36.1.bb +++ /dev/null @@ -1,28 +0,0 @@ -# SPDX-License-Identifier: MIT -# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors - -SUMMARY = "A tool for creating isolated virtual python environments." -HOMEPAGE = "https://github.com/pypa/virtualenv" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538" - -SRC_URI[sha256sum] = "8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba" - -BBCLASSEXTEND = "native nativesdk" -inherit pypi python_hatchling - -DEPENDS += "\ - python3-hatch-vcs-native \ -" - -RDEPENDS:${PN} += " \ - python3-compression \ - python3-distlib \ - python3-filelock \ - python3-json \ - python3-misc \ - python3-modules \ - python3-platformdirs \ -" - -CVE_PRODUCT = "virtualenv" diff --git a/meta-python/recipes-devtools/python/python3-virtualenv_21.2.1.bb b/meta-python/recipes-devtools/python/python3-virtualenv_21.2.1.bb new file mode 100644 index 00000000000..3ff03e43c7a --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-virtualenv_21.2.1.bb @@ -0,0 +1,28 @@ +# SPDX-License-Identifier: MIT +# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors + +SUMMARY = "A tool for creating isolated virtual python environments." +HOMEPAGE = "https://github.com/pypa/virtualenv" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538" + +SRC_URI[sha256sum] = "b66ffe81301766c0d5e2208fc3576652c59d44e7b731fc5f5ed701c9b537fa78" + +BBCLASSEXTEND = "native nativesdk" +inherit pypi python_hatchling + +DEPENDS += "\ + python3-hatch-vcs-native \ +" + +RDEPENDS:${PN} += " \ + python3-compression \ + python3-distlib \ + python3-filelock \ + python3-json \ + python3-misc \ + python3-modules \ + python3-platformdirs \ +" + +CVE_PRODUCT = "virtualenv" diff --git a/meta-python/recipes-devtools/python/python3-websocket-client_1.7.0.bb b/meta-python/recipes-devtools/python/python3-websocket-client_1.7.0.bb deleted file mode 100644 index fc73f1b0a53..00000000000 --- a/meta-python/recipes-devtools/python/python3-websocket-client_1.7.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "websocket client for python" -DESCRIPTION = "\ -websocket-client module is WebSocket client for python. \ -This provide the low level APIs for WebSocket. All APIs \ -are the synchronous functions." -HOMEPAGE = "https://github.com/websocket-client/websocket-client" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6eae3bb7247ccb2c3a087ea8de759c01" - -SRC_URI[sha256sum] = "10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6" - -inherit pypi setuptools3 - -RDEPENDS:${PN} = "\ - python3-six \ - python3-logging \ -" diff --git a/meta-python/recipes-devtools/python/python3-websocket-client_1.9.0.bb b/meta-python/recipes-devtools/python/python3-websocket-client_1.9.0.bb new file mode 100644 index 00000000000..87f25db0fc6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-websocket-client_1.9.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "websocket client for python" +DESCRIPTION = "\ +websocket-client module is WebSocket client for python. \ +This provide the low level APIs for WebSocket. All APIs \ +are the synchronous functions." +HOMEPAGE = "https://github.com/websocket-client/websocket-client" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b8d4a5e03977c68fad62beee8185704e" + +SRC_URI[sha256sum] = "9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98" + +PYPI_PACKAGE = "websocket_client" + +inherit pypi setuptools3 + +RDEPENDS:${PN} = "\ + python3-six \ + python3-logging \ +" diff --git a/meta-python/recipes-devtools/python/python3-werkzeug_3.1.5.bb b/meta-python/recipes-devtools/python/python3-werkzeug_3.1.5.bb deleted file mode 100644 index 1df88b78d06..00000000000 --- a/meta-python/recipes-devtools/python/python3-werkzeug_3.1.5.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "The comprehensive WSGI web application library" -DESCRIPTION = "\ -Werkzeug started as simple collection of various utilities for WSGI \ -applications and has become one of the most advanced WSGI utility modules. \ -It includes a powerful debugger, full featured request and response objects, \ -HTTP utilities to handle entity tags, cache control headers, HTTP dates, \ -cookie handling, file uploads, a powerful URL routing system and a bunch \ -of community contributed addon modules." -HOMEPAGE = "https://werkzeug.palletsprojects.com" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dc88300786f1c214c1e9827a5229462" - -SRC_URI[sha256sum] = "6a548b0e88955dd07ccb25539d7d0cc97417ee9e179677d22c7041c8f078ce67" - -CVE_PRODUCT = "werkzeug" - -inherit pypi python_flit_core - -RDEPENDS:${PN} += " \ - python3-markupsafe \ - python3-logging \ - python3-profile \ - python3-compression \ - python3-json \ - python3-difflib \ -" diff --git a/meta-python/recipes-devtools/python/python3-werkzeug_3.1.8.bb b/meta-python/recipes-devtools/python/python3-werkzeug_3.1.8.bb new file mode 100644 index 00000000000..4e1be5cb2ff --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-werkzeug_3.1.8.bb @@ -0,0 +1,26 @@ +SUMMARY = "The comprehensive WSGI web application library" +DESCRIPTION = "\ +Werkzeug started as simple collection of various utilities for WSGI \ +applications and has become one of the most advanced WSGI utility modules. \ +It includes a powerful debugger, full featured request and response objects, \ +HTTP utilities to handle entity tags, cache control headers, HTTP dates, \ +cookie handling, file uploads, a powerful URL routing system and a bunch \ +of community contributed addon modules." +HOMEPAGE = "https://werkzeug.palletsprojects.com" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dc88300786f1c214c1e9827a5229462" + +SRC_URI[sha256sum] = "9bad61a4268dac112f1c5cd4630a56ede601b6ed420300677a869083d70a4c44" + +CVE_PRODUCT = "werkzeug" + +inherit pypi python_flit_core + +RDEPENDS:${PN} += " \ + python3-markupsafe \ + python3-logging \ + python3-profile \ + python3-compression \ + python3-json \ + python3-difflib \ +" diff --git a/meta-python/recipes-devtools/python/python3-wheezy-template_3.2.4.bb b/meta-python/recipes-devtools/python/python3-wheezy-template_3.2.4.bb deleted file mode 100644 index 9386b0ca2fa..00000000000 --- a/meta-python/recipes-devtools/python/python3-wheezy-template_3.2.4.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "a lightweight template library" -HOMEPAGE = "https://github.com/akornatskyy/wheezy.template" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fa10554c46b94944529c6a886cf85631" - -PYPI_PACKAGE = "wheezy_template" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -SRC_URI[sha256sum] = "465b9ac52e1c38bc9fc30127ae90bd232ce8df07fc2ac53383cb784f238b144f" - -inherit pypi python_setuptools_build_meta - -BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-wheezy-template_3.2.5.bb b/meta-python/recipes-devtools/python/python3-wheezy-template_3.2.5.bb new file mode 100644 index 00000000000..a2125a0a0cb --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-wheezy-template_3.2.5.bb @@ -0,0 +1,13 @@ +SUMMARY = "a lightweight template library" +HOMEPAGE = "https://github.com/akornatskyy/wheezy.template" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fa10554c46b94944529c6a886cf85631" + +PYPI_PACKAGE = "wheezy_template" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +SRC_URI[sha256sum] = "c7c0bf85af0f70ca2ef4b6ea9a74ef372f73392aa17bea0d885dcba7356d0867" + +inherit pypi python_setuptools_build_meta + +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-whitenoise_6.11.0.bb b/meta-python/recipes-devtools/python/python3-whitenoise_6.11.0.bb deleted file mode 100644 index 142c10aa83a..00000000000 --- a/meta-python/recipes-devtools/python/python3-whitenoise_6.11.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Radically simplified static file serving for WSGI applications" -HOMEPAGE = "https://whitenoise.evans.io" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=aba4901cc64e401cea5a267eac2a2e1e" - -PYPI_PACKAGE = "whitenoise" - -SRC_URI[sha256sum] = "0f5bfce6061ae6611cd9396a8231e088722e4fc67bc13a111be74c738d99375f" - -inherit pypi python_setuptools_build_meta - -RDEPENDS:${PN}:append = " \ - python3-brotli \ - python3-coverage \ - python3-django \ - python3-pytest \ - python3-requests \ -" diff --git a/meta-python/recipes-devtools/python/python3-whitenoise_6.12.0.bb b/meta-python/recipes-devtools/python/python3-whitenoise_6.12.0.bb new file mode 100644 index 00000000000..dd8f189f982 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-whitenoise_6.12.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Radically simplified static file serving for WSGI applications" +HOMEPAGE = "https://whitenoise.evans.io" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=aba4901cc64e401cea5a267eac2a2e1e" + +PYPI_PACKAGE = "whitenoise" + +SRC_URI[sha256sum] = "f723ebb76a112e98816ff80fcea0a6c9b8ecde835f8ddda25df7a30a3c2db6ad" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN}:append = " \ + python3-brotli \ + python3-coverage \ + python3-django \ + python3-pytest \ + python3-requests \ +" diff --git a/meta-python/recipes-devtools/python/python3-wrapt_2.0.1.bb b/meta-python/recipes-devtools/python/python3-wrapt_2.0.1.bb deleted file mode 100644 index e2cdc960efd..00000000000 --- a/meta-python/recipes-devtools/python/python3-wrapt_2.0.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "A Python module for decorators, wrappers and monkey patching." -HOMEPAGE = "https://wrapt.readthedocs.org/" -LICENSE = "BSD-2-Clause" -SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=945f689eb1f8c581bb9d635baba5abb5" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -SRC_URI[sha256sum] = "9c9c635e78497cacb81e84f8b11b23e0aacac7a136e73b8e5b2109a1d9fc468f" - -# python3-misc for 'this' module -RDEPENDS:${PN}-ptest += " \ - python3-misc \ -" - -RDEPENDS:${PN}:class-target += "\ - python3-stringold \ - python3-threading \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-wrapt_2.1.2.bb b/meta-python/recipes-devtools/python/python3-wrapt_2.1.2.bb new file mode 100644 index 00000000000..ee57717a5c7 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-wrapt_2.1.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "A Python module for decorators, wrappers and monkey patching." +HOMEPAGE = "https://wrapt.readthedocs.org/" +LICENSE = "BSD-2-Clause" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://LICENSE;md5=63a78af2900bfcc5ce482f3b8d445898" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +SRC_URI[sha256sum] = "3996a67eecc2c68fd47b4e3c564405a5777367adfd9b8abb58387b63ee83b21e" + +# python3-misc for 'this' module +RDEPENDS:${PN}-ptest += " \ + python3-misc \ +" + +RDEPENDS:${PN}:append:class-target = " \ + python3-stringold \ + python3-threading \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python3-xmodem_0.4.7.bb b/meta-python/recipes-devtools/python/python3-xmodem_0.4.7.bb deleted file mode 100644 index e41afb56c04..00000000000 --- a/meta-python/recipes-devtools/python/python3-xmodem_0.4.7.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "XMODEM protocol implementation" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=90bc9522130d68de0dcbf33707bbf124" - -SRC_URI[sha256sum] = "2f1068aa8676f0d1d112498b5786c4f8ea4f89d8f25d07d3a0f293cd21db1c35" - -inherit pypi setuptools3 - -do_install:append() { - install -d ${D}${docdir}/${PN} - mv ${D}${prefix}/doc/* ${D}${docdir}/${PN}/ - rmdir ${D}${prefix}/doc -} - -RDEPENDS:${PN} += " \ - python3-logging \ -" -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-xmodem_0.5.0.bb b/meta-python/recipes-devtools/python/python3-xmodem_0.5.0.bb new file mode 100644 index 00000000000..55305c6cb95 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-xmodem_0.5.0.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "XMODEM protocol implementation" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=90bc9522130d68de0dcbf33707bbf124" + +SRC_URI[sha256sum] = "a1a818f31c29412f1cab0cd69deccd7be77bc1feb516723af990d00161f6fb6a" + +inherit pypi python_setuptools_build_meta + +do_install:append() { + install -d ${D}${docdir}/${PN} + mv ${D}${prefix}/doc/* ${D}${docdir}/${PN}/ + rmdir ${D}${prefix}/doc +} + +RDEPENDS:${PN} += " \ + python3-logging \ +" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.1.bb b/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.1.bb deleted file mode 100644 index 0562cc26718..00000000000 --- a/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "Font Awesome icons packaged for setuptools (easy_install) / pip." -HOMEPAGE = "https://pypi.python.org/pypi/XStatic-Font-Awesome" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=f1a2fe131dcb2fc6243c26cf05ecdb36" - -PYPI_PACKAGE = "XStatic-Font-Awesome" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -SRC_URI[sha256sum] = "f075871096128638f2e1539020d8227754c3d885dd68e7ee6de9a01235076828" - -DEPENDS += " \ - python3-xstatic \ - python3-pip \ -" - -inherit pypi setuptools3 diff --git a/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.2.bb b/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.2.bb new file mode 100644 index 00000000000..62311252376 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.2.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Font Awesome icons packaged for setuptools (easy_install) / pip." +HOMEPAGE = "https://pypi.python.org/pypi/XStatic-Font-Awesome" +SECTION = "devel/python" +LICENSE = "OFL-1.0 & MIT & CC-BY-4.0" +LIC_FILES_CHKSUM = "file://xstatic/pkg/font_awesome/data/LICENSE.txt;md5=57f9201afe70f877988912a7b233de47" + +PYPI_PACKAGE = "xstatic_font_awesome" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +SRC_URI[sha256sum] = "9f3cb2f038fad7d352722375d3f25af346da9ee093ed9dc2c8c46bd911ab1971" + +DEPENDS += " \ + python3-xstatic \ + python3-pip \ +" + +inherit pypi setuptools3 diff --git a/meta-python/recipes-devtools/python/python3-xstatic_1.0.3.bb b/meta-python/recipes-devtools/python/python3-xstatic_1.0.3.bb index f4a75c9b6c3..bf542aba5ab 100644 --- a/meta-python/recipes-devtools/python/python3-xstatic_1.0.3.bb +++ b/meta-python/recipes-devtools/python/python3-xstatic_1.0.3.bb @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://README.txt;md5=1418684272f85f400cebf1b1a255c5cd" PYPI_PACKAGE = "XStatic" UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" +SRC_URI += "file://0001-remove-pkg_resources-import.patch" SRC_URI[sha256sum] = "402544cc9e179489441054f09c807804e115ea246907de87c0355fb4f5a31268" DEPENDS += " \ diff --git a/meta-python/recipes-devtools/python/python3-yamlloader_1.6.0.bb b/meta-python/recipes-devtools/python/python3-yamlloader_1.6.0.bb index 4844e10de1f..281c73eec42 100644 --- a/meta-python/recipes-devtools/python/python3-yamlloader_1.6.0.bb +++ b/meta-python/recipes-devtools/python/python3-yamlloader_1.6.0.bb @@ -11,6 +11,6 @@ DEPENDS += "\ python3-hatch-vcs-native \ " -RDEPENDS:${PN}:class-target += "\ +RDEPENDS:${PN}:append:class-target = " \ python3-pyyaml \ " diff --git a/meta-python/recipes-devtools/python/python3-yappi/0001-test_functionality-convert-line-endings-to-Unix.patch b/meta-python/recipes-devtools/python/python3-yappi/0001-test_functionality-convert-line-endings-to-Unix.patch deleted file mode 100644 index 70d4607c296..00000000000 --- a/meta-python/recipes-devtools/python/python3-yappi/0001-test_functionality-convert-line-endings-to-Unix.patch +++ /dev/null @@ -1,3845 +0,0 @@ -From 0136ca731cba8b056b3f2ff0e7df3953b94f1e87 Mon Sep 17 00:00:00 2001 -From: Tim Orling -Date: Sun, 24 Dec 2023 09:41:57 -0800 -Subject: [PATCH 1/2] test_functionality: convert line endings to Unix - -Convert the Windows line endings with dos2unix to be like the -other files in tests/* - -Upstream-Status: Submitted [https://github.com/sumerc/yappi/pull/164] - -Signed-off-by: Tim Orling ---- - tests/test_functionality.py | 3822 +++++++++++++++++------------------ - 1 file changed, 1911 insertions(+), 1911 deletions(-) - -diff --git a/tests/test_functionality.py b/tests/test_functionality.py -index 0e99c47..38bbe67 100644 ---- a/tests/test_functionality.py -+++ b/tests/test_functionality.py -@@ -1,1911 +1,1911 @@ --import os --import sys --import time --import threading --import unittest --import yappi --import _yappi --import utils --import multiprocessing --import subprocess -- --_counter = 0 -- -- --class BasicUsage(utils.YappiUnitTestCase): -- -- def test_callback_function_int_return_overflow(self): -- # this test is just here to check if any errors are generated, as the err -- # is printed in C side, I did not include it here. THere are ways to test -- # this deterministically, I did not bother -- import ctypes -- -- def _unsigned_overflow_margin(): -- return 2**(ctypes.sizeof(ctypes.c_void_p) * 8) - 1 -- -- def foo(): -- pass -- -- #with utils.captured_output() as (out, err): -- yappi.set_context_id_callback(_unsigned_overflow_margin) -- yappi.set_tag_callback(_unsigned_overflow_margin) -- yappi.start() -- foo() -- -- def test_issue60(self): -- -- def foo(): -- buf = bytearray() -- buf += b't' * 200 -- view = memoryview(buf)[10:] -- view = view.tobytes() -- del buf[:10] # this throws exception -- return view -- -- yappi.start(builtins=True) -- foo() -- self.assertTrue( -- len( -- yappi.get_func_stats( -- filter_callback=lambda x: yappi. -- func_matches(x, [memoryview.tobytes]) -- ) -- ) > 0 -- ) -- yappi.stop() -- -- def test_issue54(self): -- -- def _tag_cbk(): -- global _counter -- _counter += 1 -- return _counter -- -- def a(): -- pass -- -- def b(): -- pass -- -- yappi.set_tag_callback(_tag_cbk) -- yappi.start() -- a() -- a() -- a() -- yappi.stop() -- stats = yappi.get_func_stats() -- self.assertEqual(stats.pop().ncall, 3) # aggregated if no tag is given -- stats = yappi.get_func_stats(tag=1) -- -- for i in range(1, 3): -- stats = yappi.get_func_stats(tag=i) -- stats = yappi.get_func_stats( -- tag=i, filter_callback=lambda x: yappi.func_matches(x, [a]) -- ) -- -- stat = stats.pop() -- self.assertEqual(stat.ncall, 1) -- -- yappi.set_tag_callback(None) -- yappi.clear_stats() -- yappi.start() -- b() -- b() -- stats = yappi.get_func_stats() -- self.assertEqual(len(stats), 1) -- stat = stats.pop() -- self.assertEqual(stat.ncall, 2) -- -- def test_filter(self): -- -- def a(): -- pass -- -- def b(): -- a() -- -- def c(): -- b() -- -- _TCOUNT = 5 -- -- ts = [] -- yappi.start() -- for i in range(_TCOUNT): -- t = threading.Thread(target=c) -- t.start() -- ts.append(t) -- -- for t in ts: -- t.join() -- -- yappi.stop() -- -- ctx_ids = [] -- for tstat in yappi.get_thread_stats(): -- if tstat.name == '_MainThread': -- main_ctx_id = tstat.id -- else: -- ctx_ids.append(tstat.id) -- -- fstats = yappi.get_func_stats(filter={"ctx_id": 9}) -- self.assertTrue(fstats.empty()) -- fstats = yappi.get_func_stats( -- filter={ -- "ctx_id": main_ctx_id, -- "name": "c" -- } -- ) # main thread -- self.assertTrue(fstats.empty()) -- -- for i in ctx_ids: -- fstats = yappi.get_func_stats( -- filter={ -- "ctx_id": i, -- "name": "a", -- "ncall": 1 -- } -- ) -- self.assertEqual(fstats.pop().ncall, 1) -- fstats = yappi.get_func_stats(filter={"ctx_id": i, "name": "b"}) -- self.assertEqual(fstats.pop().ncall, 1) -- fstats = yappi.get_func_stats(filter={"ctx_id": i, "name": "c"}) -- self.assertEqual(fstats.pop().ncall, 1) -- -- yappi.clear_stats() -- yappi.start(builtins=True) -- time.sleep(0.1) -- yappi.stop() -- fstats = yappi.get_func_stats(filter={"module": "time"}) -- self.assertEqual(len(fstats), 1) -- -- # invalid filters` -- self.assertRaises( -- Exception, yappi.get_func_stats, filter={'tag': "sss"} -- ) -- self.assertRaises( -- Exception, yappi.get_func_stats, filter={'ctx_id': "None"} -- ) -- -- def test_filter_callback(self): -- -- def a(): -- time.sleep(0.1) -- -- def b(): -- a() -- -- def c(): -- pass -- -- def d(): -- pass -- -- yappi.set_clock_type("wall") -- yappi.start(builtins=True) -- a() -- b() -- c() -- d() -- stats = yappi.get_func_stats( -- filter_callback=lambda x: yappi.func_matches(x, [a, b]) -- ) -- #stats.print_all() -- r1 = ''' -- tests/test_functionality.py:98 a 2 0.000000 0.200350 0.100175 -- tests/test_functionality.py:101 b 1 0.000000 0.120000 0.100197 -- ''' -- self.assert_traces_almost_equal(r1, stats) -- self.assertEqual(len(stats), 2) -- stats = yappi.get_func_stats( -- filter_callback=lambda x: yappi. -- module_matches(x, [sys.modules[__name__]]) -- ) -- r1 = ''' -- tests/test_functionality.py:98 a 2 0.000000 0.230130 0.115065 -- tests/test_functionality.py:101 b 1 0.000000 0.120000 0.109011 -- tests/test_functionality.py:104 c 1 0.000000 0.000002 0.000002 -- tests/test_functionality.py:107 d 1 0.000000 0.000001 0.000001 -- ''' -- self.assert_traces_almost_equal(r1, stats) -- self.assertEqual(len(stats), 4) -- -- stats = yappi.get_func_stats( -- filter_callback=lambda x: yappi.func_matches(x, [time.sleep]) -- ) -- self.assertEqual(len(stats), 1) -- r1 = ''' -- time.sleep 2 0.206804 0.220000 0.103402 -- ''' -- self.assert_traces_almost_equal(r1, stats) -- -- def test_print_formatting(self): -- -- def a(): -- pass -- -- def b(): -- a() -- -- func_cols = { -- 1: ("name", 48), -- 0: ("ncall", 5), -- 2: ("tsub", 8), -- } -- thread_cols = { -- 1: ("name", 48), -- 0: ("ttot", 8), -- } -- -- yappi.start() -- a() -- b() -- yappi.stop() -- fs = yappi.get_func_stats() -- cs = fs[1].children -- ts = yappi.get_thread_stats() -- #fs.print_all(out=sys.stderr, columns={1:("name", 70), }) -- #cs.print_all(out=sys.stderr, columns=func_cols) -- #ts.print_all(out=sys.stderr, columns=thread_cols) -- #cs.print_all(out=sys.stderr, columns={}) -- -- self.assertRaises( -- yappi.YappiError, fs.print_all, columns={1: ("namee", 9)} -- ) -- self.assertRaises( -- yappi.YappiError, cs.print_all, columns={1: ("dd", 0)} -- ) -- self.assertRaises( -- yappi.YappiError, ts.print_all, columns={1: ("tidd", 0)} -- ) -- -- def test_get_clock(self): -- yappi.set_clock_type('cpu') -- self.assertEqual('cpu', yappi.get_clock_type()) -- clock_info = yappi.get_clock_info() -- self.assertTrue('api' in clock_info) -- self.assertTrue('resolution' in clock_info) -- -- yappi.set_clock_type('wall') -- self.assertEqual('wall', yappi.get_clock_type()) -- -- t0 = yappi.get_clock_time() -- time.sleep(0.1) -- duration = yappi.get_clock_time() - t0 -- self.assertTrue(0.05 < duration < 0.3) -- -- def test_profile_decorator(self): -- -- def aggregate(func, stats): -- fname = f"tests/{func.__name__}.profile" -- try: -- stats.add(fname) -- except OSError: -- pass -- stats.save(fname) -- raise Exception("messing around") -- -- @yappi.profile(return_callback=aggregate) -- def a(x, y): -- if x + y == 25: -- raise Exception("") -- return x + y -- -- def b(): -- pass -- -- try: -- os.remove( -- "tests/a.profile" -- ) # remove the one from prev test, if available -- except: -- pass -- -- # global profile is on to mess things up -- yappi.start() -- b() -- -- # assert functionality and call function at same time -- try: -- self.assertEqual(a(1, 2), 3) -- except: -- pass -- try: -- self.assertEqual(a(2, 5), 7) -- except: -- pass -- try: -- a(4, 21) -- except: -- pass -- stats = yappi.get_func_stats().add("tests/a.profile") -- fsa = utils.find_stat_by_name(stats, 'a') -- self.assertEqual(fsa.ncall, 3) -- self.assertEqual(len(stats), 1) # b() should be cleared out. -- -- @yappi.profile(return_callback=aggregate) -- def count_down_rec(n): -- if n == 0: -- return -- count_down_rec(n - 1) -- -- try: -- os.remove( -- "tests/count_down_rec.profile" -- ) # remove the one from prev test, if available -- except: -- pass -- -- try: -- count_down_rec(4) -- except: -- pass -- try: -- count_down_rec(3) -- except: -- pass -- -- stats = yappi.YFuncStats("tests/count_down_rec.profile") -- fsrec = utils.find_stat_by_name(stats, 'count_down_rec') -- self.assertEqual(fsrec.ncall, 9) -- self.assertEqual(fsrec.nactualcall, 2) -- -- def test_strip_dirs(self): -- -- def a(): -- pass -- -- stats = utils.run_and_get_func_stats(a, ) -- stats.strip_dirs() -- fsa = utils.find_stat_by_name(stats, "a") -- self.assertEqual(fsa.module, os.path.basename(fsa.module)) -- -- @unittest.skipIf(os.name == "nt", "do not run on Windows") -- def test_run_as_script(self): -- import re -- p = subprocess.Popen( -- ['yappi', os.path.join('./tests', 'run_as_script.py')], -- stdout=subprocess.PIPE -- ) -- out, err = p.communicate() -- self.assertEqual(p.returncode, 0) -- func_stats, thread_stats = re.split( -- b'name\\s+id\\s+tid\\s+ttot\\s+scnt\\s*\n', out -- ) -- self.assertTrue(b'FancyThread' in thread_stats) -- -- def test_yappi_overhead(self): -- LOOP_COUNT = 100000 -- -- def a(): -- pass -- -- def b(): -- for i in range(LOOP_COUNT): -- a() -- -- t0 = time.time() -- yappi.start() -- b() -- yappi.stop() -- time_with_yappi = time.time() - t0 -- t0 = time.time() -- b() -- time_without_yappi = time.time() - t0 -- if time_without_yappi == 0: -- time_without_yappi = 0.000001 -- -- # in latest v0.82, I calculated this as close to "7.0" in my machine. -- # however, %83 of this overhead is coming from tickcount(). The other %17 -- # seems to have been evenly distributed to the internal bookkeeping -- # structures/algorithms which seems acceptable. Note that our test only -- # tests one function being profiled at-a-time in a short interval. -- # profiling high number of functions in a small time -- # is a different beast, (which is pretty unlikely in most applications) -- # So as a conclusion: I cannot see any optimization window for Yappi that -- # is worth implementing as we will only optimize %17 of the time. -- sys.stderr.write("\r\nYappi puts %0.1f times overhead to the profiled application in average.\r\n" % \ -- (time_with_yappi / time_without_yappi)) -- -- def test_clear_stats_while_running(self): -- -- def a(): -- pass -- -- yappi.start() -- a() -- yappi.clear_stats() -- a() -- stats = yappi.get_func_stats() -- fsa = utils.find_stat_by_name(stats, 'a') -- self.assertEqual(fsa.ncall, 1) -- -- def test_generator(self): -- -- def _gen(n): -- while (n > 0): -- yield n -- n -= 1 -- -- yappi.start() -- for x in _gen(5): -- pass -- self.assertTrue( -- yappi.convert2pstats(yappi.get_func_stats()) is not None -- ) -- -- def test_slice_child_stats_and_strip_dirs(self): -- -- def b(): -- for i in range(10000000): -- pass -- -- def a(): -- b() -- -- yappi.start(builtins=True) -- a() -- stats = yappi.get_func_stats() -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- self.assertTrue(fsa.children[0:1] is not None) -- prev_afullname = fsa.full_name -- prev_bchildfullname = fsa.children[fsb].full_name -- stats.strip_dirs() -- self.assertTrue(len(prev_afullname) > len(fsa.full_name)) -- self.assertTrue( -- len(prev_bchildfullname) > len(fsa.children[fsb].full_name) -- ) -- -- def test_children_stat_functions(self): -- _timings = {"a_1": 5, "b_1": 3, "c_1": 1} -- _yappi._set_test_timings(_timings) -- -- def b(): -- pass -- -- def c(): -- pass -- -- def a(): -- b() -- c() -- -- yappi.start() -- a() -- b() # non-child call -- c() # non-child call -- stats = yappi.get_func_stats() -- fsa = utils.find_stat_by_name(stats, 'a') -- childs_of_a = fsa.children.get().sort("tavg", "desc") -- prev_item = None -- for item in childs_of_a: -- if prev_item: -- self.assertTrue(prev_item.tavg > item.tavg) -- prev_item = item -- childs_of_a.sort("name", "desc") -- prev_item = None -- for item in childs_of_a: -- if prev_item: -- self.assertTrue(prev_item.name > item.name) -- prev_item = item -- childs_of_a.clear() -- self.assertTrue(childs_of_a.empty()) -- -- def test_no_stats_different_clock_type_load(self): -- -- def a(): -- pass -- -- yappi.start() -- a() -- yappi.stop() -- yappi.get_func_stats().save("tests/ystats1.ys") -- yappi.clear_stats() -- yappi.set_clock_type("WALL") -- yappi.start() -- yappi.stop() -- stats = yappi.get_func_stats().add("tests/ystats1.ys") -- fsa = utils.find_stat_by_name(stats, 'a') -- self.assertTrue(fsa is not None) -- -- def test_subsequent_profile(self): -- _timings = {"a_1": 1, "b_1": 1} -- _yappi._set_test_timings(_timings) -- -- def a(): -- pass -- -- def b(): -- pass -- -- yappi.start() -- a() -- yappi.stop() -- yappi.start() -- b() -- yappi.stop() -- stats = yappi.get_func_stats() -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- self.assertTrue(fsa is not None) -- self.assertTrue(fsb is not None) -- self.assertEqual(fsa.ttot, 1) -- self.assertEqual(fsb.ttot, 1) -- -- def test_lambda(self): -- f = lambda: time.sleep(0.3) -- yappi.set_clock_type("wall") -- yappi.start() -- f() -- stats = yappi.get_func_stats() -- fsa = utils.find_stat_by_name(stats, '') -- self.assertTrue(fsa.ttot > 0.1) -- -- def test_module_stress(self): -- self.assertEqual(yappi.is_running(), False) -- -- yappi.start() -- yappi.clear_stats() -- self.assertRaises(_yappi.error, yappi.set_clock_type, "wall") -- -- yappi.stop() -- yappi.clear_stats() -- yappi.set_clock_type("cpu") -- self.assertRaises(yappi.YappiError, yappi.set_clock_type, "dummy") -- self.assertEqual(yappi.is_running(), False) -- yappi.clear_stats() -- yappi.clear_stats() -- -- def test_stat_sorting(self): -- _timings = {"a_1": 13, "b_1": 10, "a_2": 6, "b_2": 1} -- _yappi._set_test_timings(_timings) -- -- self._ncall = 1 -- -- def a(): -- b() -- -- def b(): -- if self._ncall == 2: -- return -- self._ncall += 1 -- a() -- -- stats = utils.run_and_get_func_stats(a) -- stats = stats.sort("totaltime", "desc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.ttot >= stat.ttot) -- prev_stat = stat -- stats = stats.sort("totaltime", "asc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.ttot <= stat.ttot) -- prev_stat = stat -- stats = stats.sort("avgtime", "asc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.tavg <= stat.tavg) -- prev_stat = stat -- stats = stats.sort("name", "asc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.name <= stat.name) -- prev_stat = stat -- stats = stats.sort("subtime", "asc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.tsub <= stat.tsub) -- prev_stat = stat -- -- self.assertRaises( -- yappi.YappiError, stats.sort, "invalid_func_sorttype_arg" -- ) -- self.assertRaises( -- yappi.YappiError, stats.sort, "totaltime", -- "invalid_func_sortorder_arg" -- ) -- -- def test_start_flags(self): -- self.assertEqual(_yappi._get_start_flags(), None) -- yappi.start() -- -- def a(): -- pass -- -- a() -- self.assertEqual(_yappi._get_start_flags()["profile_builtins"], 0) -- self.assertEqual(_yappi._get_start_flags()["profile_multicontext"], 1) -- self.assertEqual(len(yappi.get_thread_stats()), 1) -- -- def test_builtin_profiling(self): -- -- def a(): -- time.sleep(0.4) # is a builtin function -- -- yappi.set_clock_type('wall') -- -- yappi.start(builtins=True) -- a() -- stats = yappi.get_func_stats() -- fsa = utils.find_stat_by_name(stats, 'sleep') -- self.assertTrue(fsa is not None) -- self.assertTrue(fsa.ttot > 0.3) -- yappi.stop() -- yappi.clear_stats() -- -- def a(): -- pass -- -- yappi.start() -- t = threading.Thread(target=a) -- t.start() -- t.join() -- stats = yappi.get_func_stats() -- -- def test_singlethread_profiling(self): -- yappi.set_clock_type('wall') -- -- def a(): -- time.sleep(0.2) -- -- class Worker1(threading.Thread): -- -- def a(self): -- time.sleep(0.3) -- -- def run(self): -- self.a() -- -- yappi.start(profile_threads=False) -- -- c = Worker1() -- c.start() -- c.join() -- a() -- stats = yappi.get_func_stats() -- fsa1 = utils.find_stat_by_name(stats, 'Worker1.a') -- fsa2 = utils.find_stat_by_name(stats, 'a') -- self.assertTrue(fsa1 is None) -- self.assertTrue(fsa2 is not None) -- self.assertTrue(fsa2.ttot > 0.1) -- -- def test_run(self): -- -- def profiled(): -- pass -- -- yappi.clear_stats() -- try: -- with yappi.run(): -- profiled() -- stats = yappi.get_func_stats() -- finally: -- yappi.clear_stats() -- -- self.assertIsNotNone(utils.find_stat_by_name(stats, 'profiled')) -- -- def test_run_recursive(self): -- -- def profiled(): -- pass -- -- def not_profiled(): -- pass -- -- yappi.clear_stats() -- try: -- with yappi.run(): -- with yappi.run(): -- profiled() -- # Profiling stopped here -- not_profiled() -- stats = yappi.get_func_stats() -- finally: -- yappi.clear_stats() -- -- self.assertIsNotNone(utils.find_stat_by_name(stats, 'profiled')) -- self.assertIsNone(utils.find_stat_by_name(stats, 'not_profiled')) -- -- --class StatSaveScenarios(utils.YappiUnitTestCase): -- -- def test_pstats_conversion(self): -- -- def pstat_id(fs): -- return (fs.module, fs.lineno, fs.name) -- -- def a(): -- d() -- -- def b(): -- d() -- -- def c(): -- pass -- -- def d(): -- pass -- -- _timings = {"a_1": 12, "b_1": 7, "c_1": 5, "d_1": 2} -- _yappi._set_test_timings(_timings) -- stats = utils.run_and_get_func_stats(a, ) -- stats.strip_dirs() -- stats.save("tests/a1.pstats", type="pstat") -- fsa_pid = pstat_id(utils.find_stat_by_name(stats, "a")) -- fsd_pid = pstat_id(utils.find_stat_by_name(stats, "d")) -- yappi.clear_stats() -- _yappi._set_test_timings(_timings) -- stats = utils.run_and_get_func_stats(a, ) -- stats.strip_dirs() -- stats.save("tests/a2.pstats", type="pstat") -- yappi.clear_stats() -- _yappi._set_test_timings(_timings) -- stats = utils.run_and_get_func_stats(b, ) -- stats.strip_dirs() -- stats.save("tests/b1.pstats", type="pstat") -- fsb_pid = pstat_id(utils.find_stat_by_name(stats, "b")) -- yappi.clear_stats() -- _yappi._set_test_timings(_timings) -- stats = utils.run_and_get_func_stats(c, ) -- stats.strip_dirs() -- stats.save("tests/c1.pstats", type="pstat") -- fsc_pid = pstat_id(utils.find_stat_by_name(stats, "c")) -- -- # merge saved stats and check pstats values are correct -- import pstats -- p = pstats.Stats( -- 'tests/a1.pstats', 'tests/a2.pstats', 'tests/b1.pstats', -- 'tests/c1.pstats' -- ) -- p.strip_dirs() -- # ct = ttot, tt = tsub -- (cc, nc, tt, ct, callers) = p.stats[fsa_pid] -- self.assertEqual(cc, nc, 2) -- self.assertEqual(tt, 20) -- self.assertEqual(ct, 24) -- (cc, nc, tt, ct, callers) = p.stats[fsd_pid] -- self.assertEqual(cc, nc, 3) -- self.assertEqual(tt, 6) -- self.assertEqual(ct, 6) -- self.assertEqual(len(callers), 2) -- (cc, nc, tt, ct) = callers[fsa_pid] -- self.assertEqual(cc, nc, 2) -- self.assertEqual(tt, 4) -- self.assertEqual(ct, 4) -- (cc, nc, tt, ct) = callers[fsb_pid] -- self.assertEqual(cc, nc, 1) -- self.assertEqual(tt, 2) -- self.assertEqual(ct, 2) -- -- def test_merge_stats(self): -- _timings = { -- "a_1": 15, -- "b_1": 14, -- "c_1": 12, -- "d_1": 10, -- "e_1": 9, -- "f_1": 7, -- "g_1": 6, -- "h_1": 5, -- "i_1": 1 -- } -- _yappi._set_test_timings(_timings) -- -- def a(): -- b() -- -- def b(): -- c() -- -- def c(): -- d() -- -- def d(): -- e() -- -- def e(): -- f() -- -- def f(): -- g() -- -- def g(): -- h() -- -- def h(): -- i() -- -- def i(): -- pass -- -- yappi.start() -- a() -- a() -- yappi.stop() -- stats = yappi.get_func_stats() -- self.assertRaises( -- NotImplementedError, stats.save, "", "INVALID_SAVE_TYPE" -- ) -- stats.save("tests/ystats2.ys") -- yappi.clear_stats() -- _yappi._set_test_timings(_timings) -- yappi.start() -- a() -- stats = yappi.get_func_stats().add("tests/ystats2.ys") -- fsa = utils.find_stat_by_name(stats, "a") -- fsb = utils.find_stat_by_name(stats, "b") -- fsc = utils.find_stat_by_name(stats, "c") -- fsd = utils.find_stat_by_name(stats, "d") -- fse = utils.find_stat_by_name(stats, "e") -- fsf = utils.find_stat_by_name(stats, "f") -- fsg = utils.find_stat_by_name(stats, "g") -- fsh = utils.find_stat_by_name(stats, "h") -- fsi = utils.find_stat_by_name(stats, "i") -- self.assertEqual(fsa.ttot, 45) -- self.assertEqual(fsa.ncall, 3) -- self.assertEqual(fsa.nactualcall, 3) -- self.assertEqual(fsa.tsub, 3) -- self.assertEqual(fsa.children[fsb].ttot, fsb.ttot) -- self.assertEqual(fsa.children[fsb].tsub, fsb.tsub) -- self.assertEqual(fsb.children[fsc].ttot, fsc.ttot) -- self.assertEqual(fsb.children[fsc].tsub, fsc.tsub) -- self.assertEqual(fsc.tsub, 6) -- self.assertEqual(fsc.children[fsd].ttot, fsd.ttot) -- self.assertEqual(fsc.children[fsd].tsub, fsd.tsub) -- self.assertEqual(fsd.children[fse].ttot, fse.ttot) -- self.assertEqual(fsd.children[fse].tsub, fse.tsub) -- self.assertEqual(fse.children[fsf].ttot, fsf.ttot) -- self.assertEqual(fse.children[fsf].tsub, fsf.tsub) -- self.assertEqual(fsf.children[fsg].ttot, fsg.ttot) -- self.assertEqual(fsf.children[fsg].tsub, fsg.tsub) -- self.assertEqual(fsg.ttot, 18) -- self.assertEqual(fsg.tsub, 3) -- self.assertEqual(fsg.children[fsh].ttot, fsh.ttot) -- self.assertEqual(fsg.children[fsh].tsub, fsh.tsub) -- self.assertEqual(fsh.ttot, 15) -- self.assertEqual(fsh.tsub, 12) -- self.assertEqual(fsh.tavg, 5) -- self.assertEqual(fsh.children[fsi].ttot, fsi.ttot) -- self.assertEqual(fsh.children[fsi].tsub, fsi.tsub) -- #stats.debug_print() -- -- def test_merge_multithreaded_stats(self): -- import _yappi -- timings = {"a_1": 2, "b_1": 1} -- _yappi._set_test_timings(timings) -- -- def a(): -- pass -- -- def b(): -- pass -- -- yappi.start() -- t = threading.Thread(target=a) -- t.start() -- t.join() -- t = threading.Thread(target=b) -- t.start() -- t.join() -- yappi.get_func_stats().save("tests/ystats1.ys") -- yappi.clear_stats() -- _yappi._set_test_timings(timings) -- self.assertEqual(len(yappi.get_func_stats()), 0) -- self.assertEqual(len(yappi.get_thread_stats()), 1) -- t = threading.Thread(target=a) -- t.start() -- t.join() -- -- self.assertEqual(_yappi._get_start_flags()["profile_builtins"], 0) -- self.assertEqual(_yappi._get_start_flags()["profile_multicontext"], 1) -- yappi.get_func_stats().save("tests/ystats2.ys") -- -- stats = yappi.YFuncStats([ -- "tests/ystats1.ys", -- "tests/ystats2.ys", -- ]) -- fsa = utils.find_stat_by_name(stats, "a") -- fsb = utils.find_stat_by_name(stats, "b") -- self.assertEqual(fsa.ncall, 2) -- self.assertEqual(fsb.ncall, 1) -- self.assertEqual(fsa.tsub, fsa.ttot, 4) -- self.assertEqual(fsb.tsub, fsb.ttot, 1) -- -- def test_merge_load_different_clock_types(self): -- yappi.start(builtins=True) -- -- def a(): -- b() -- -- def b(): -- c() -- -- def c(): -- pass -- -- t = threading.Thread(target=a) -- t.start() -- t.join() -- yappi.get_func_stats().sort("name", "asc").save("tests/ystats1.ys") -- yappi.stop() -- yappi.clear_stats() -- yappi.start(builtins=False) -- t = threading.Thread(target=a) -- t.start() -- t.join() -- yappi.get_func_stats().save("tests/ystats2.ys") -- yappi.stop() -- self.assertRaises(_yappi.error, yappi.set_clock_type, "wall") -- yappi.clear_stats() -- yappi.set_clock_type("wall") -- yappi.start() -- t = threading.Thread(target=a) -- t.start() -- t.join() -- yappi.get_func_stats().save("tests/ystats3.ys") -- self.assertRaises( -- yappi.YappiError, -- yappi.YFuncStats().add("tests/ystats1.ys").add, "tests/ystats3.ys" -- ) -- stats = yappi.YFuncStats(["tests/ystats1.ys", -- "tests/ystats2.ys"]).sort("name") -- fsa = utils.find_stat_by_name(stats, "a") -- fsb = utils.find_stat_by_name(stats, "b") -- fsc = utils.find_stat_by_name(stats, "c") -- self.assertEqual(fsa.ncall, 2) -- self.assertEqual(fsa.ncall, fsb.ncall, fsc.ncall) -- -- def test_merge_aabab_aabbc(self): -- _timings = { -- "a_1": 15, -- "a_2": 14, -- "b_1": 12, -- "a_3": 10, -- "b_2": 9, -- "c_1": 4 -- } -- _yappi._set_test_timings(_timings) -- -- def a(): -- if self._ncall == 1: -- self._ncall += 1 -- a() -- elif self._ncall == 5: -- self._ncall += 1 -- a() -- else: -- b() -- -- def b(): -- if self._ncall == 2: -- self._ncall += 1 -- a() -- elif self._ncall == 6: -- self._ncall += 1 -- b() -- elif self._ncall == 7: -- c() -- else: -- return -- -- def c(): -- pass -- -- self._ncall = 1 -- stats = utils.run_and_get_func_stats(a, ) -- stats.save("tests/ystats1.ys") -- yappi.clear_stats() -- _yappi._set_test_timings(_timings) -- #stats.print_all() -- -- self._ncall = 5 -- stats = utils.run_and_get_func_stats(a, ) -- stats.save("tests/ystats2.ys") -- -- #stats.print_all() -- -- def a(): # same name but another function(code object) -- pass -- -- yappi.start() -- a() -- stats = yappi.get_func_stats().add( -- ["tests/ystats1.ys", "tests/ystats2.ys"] -- ) -- #stats.print_all() -- self.assertEqual(len(stats), 4) -- -- fsa = None -- for stat in stats: -- if stat.name == "a" and stat.ttot == 45: -- fsa = stat -- break -- self.assertTrue(fsa is not None) -- -- self.assertEqual(fsa.ncall, 7) -- self.assertEqual(fsa.nactualcall, 3) -- self.assertEqual(fsa.ttot, 45) -- self.assertEqual(fsa.tsub, 10) -- fsb = utils.find_stat_by_name(stats, "b") -- fsc = utils.find_stat_by_name(stats, "c") -- self.assertEqual(fsb.ncall, 6) -- self.assertEqual(fsb.nactualcall, 3) -- self.assertEqual(fsb.ttot, 36) -- self.assertEqual(fsb.tsub, 27) -- self.assertEqual(fsb.tavg, 6) -- self.assertEqual(fsc.ttot, 8) -- self.assertEqual(fsc.tsub, 8) -- self.assertEqual(fsc.tavg, 4) -- self.assertEqual(fsc.nactualcall, fsc.ncall, 2) -- -- --class MultithreadedScenarios(utils.YappiUnitTestCase): -- -- def test_issue_32(self): -- ''' -- Start yappi from different thread and we get Internal Error(15) as -- the current_ctx_id() called while enumerating the threads in start() -- and as it does not swap to the enumerated ThreadState* the THreadState_GetDict() -- returns wrong object and thus sets an invalid id for the _ctx structure. -- -- When this issue happens multiple Threads have same tid as the internal ts_ptr -- will be same for different contexts. So, let's see if that happens -- ''' -- -- def foo(): -- time.sleep(0.2) -- -- def bar(): -- time.sleep(0.1) -- -- def thread_func(): -- yappi.set_clock_type("wall") -- yappi.start() -- -- bar() -- -- t = threading.Thread(target=thread_func) -- t.start() -- t.join() -- -- foo() -- -- yappi.stop() -- -- thread_ids = set() -- for tstat in yappi.get_thread_stats(): -- self.assertTrue(tstat.tid not in thread_ids) -- thread_ids.add(tstat.tid) -- -- def test_subsequent_profile(self): -- WORKER_COUNT = 5 -- -- def a(): -- pass -- -- def b(): -- pass -- -- def c(): -- pass -- -- _timings = { -- "a_1": 3, -- "b_1": 2, -- "c_1": 1, -- } -- -- yappi.start() -- -- def g(): -- pass -- -- g() -- yappi.stop() -- yappi.clear_stats() -- _yappi._set_test_timings(_timings) -- yappi.start() -- -- _dummy = [] -- for i in range(WORKER_COUNT): -- t = threading.Thread(target=a) -- t.start() -- t.join() -- for i in range(WORKER_COUNT): -- t = threading.Thread(target=b) -- t.start() -- _dummy.append(t) -- t.join() -- for i in range(WORKER_COUNT): -- t = threading.Thread(target=a) -- t.start() -- t.join() -- for i in range(WORKER_COUNT): -- t = threading.Thread(target=c) -- t.start() -- t.join() -- yappi.stop() -- yappi.start() -- -- def f(): -- pass -- -- f() -- stats = yappi.get_func_stats() -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- fsc = utils.find_stat_by_name(stats, 'c') -- self.assertEqual(fsa.ncall, 10) -- self.assertEqual(fsb.ncall, 5) -- self.assertEqual(fsc.ncall, 5) -- self.assertEqual(fsa.ttot, fsa.tsub, 30) -- self.assertEqual(fsb.ttot, fsb.tsub, 10) -- self.assertEqual(fsc.ttot, fsc.tsub, 5) -- -- # MACOSx optimizes by only creating one worker thread -- self.assertTrue(len(yappi.get_thread_stats()) >= 2) -- -- def test_basic(self): -- yappi.set_clock_type('wall') -- -- def dummy(): -- pass -- -- def a(): -- time.sleep(0.2) -- -- class Worker1(threading.Thread): -- -- def a(self): -- time.sleep(0.3) -- -- def run(self): -- self.a() -- -- yappi.start(builtins=False, profile_threads=True) -- -- c = Worker1() -- c.start() -- c.join() -- a() -- stats = yappi.get_func_stats() -- fsa1 = utils.find_stat_by_name(stats, 'Worker1.a') -- fsa2 = utils.find_stat_by_name(stats, 'a') -- self.assertTrue(fsa1 is not None) -- self.assertTrue(fsa2 is not None) -- self.assertTrue(fsa1.ttot > 0.2) -- self.assertTrue(fsa2.ttot > 0.1) -- tstats = yappi.get_thread_stats() -- self.assertEqual(len(tstats), 2) -- tsa = utils.find_stat_by_name(tstats, 'Worker1') -- tsm = utils.find_stat_by_name(tstats, '_MainThread') -- dummy() # call dummy to force ctx name to be retrieved again. -- self.assertTrue(tsa is not None) -- # TODO: I put dummy() to fix below, remove the comments after a while. -- self.assertTrue( # FIX: I see this fails sometimes? -- tsm is not None, -- f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(tstats))}") -- -- def test_ctx_stats(self): -- from threading import Thread -- DUMMY_WORKER_COUNT = 5 -- yappi.start() -- -- class DummyThread(Thread): -- pass -- -- def dummy(): -- pass -- -- def dummy_worker(): -- pass -- -- for i in range(DUMMY_WORKER_COUNT): -- t = DummyThread(target=dummy_worker) -- t.start() -- t.join() -- yappi.stop() -- stats = yappi.get_thread_stats() -- tsa = utils.find_stat_by_name(stats, "DummyThread") -- self.assertTrue(tsa is not None) -- yappi.clear_stats() -- time.sleep(1.0) -- _timings = { -- "a_1": 6, -- "b_1": 5, -- "c_1": 3, -- "d_1": 1, -- "a_2": 4, -- "b_2": 3, -- "c_2": 2, -- "d_2": 1 -- } -- _yappi._set_test_timings(_timings) -- -- class Thread1(Thread): -- pass -- -- class Thread2(Thread): -- pass -- -- def a(): -- b() -- -- def b(): -- c() -- -- def c(): -- d() -- -- def d(): -- time.sleep(0.6) -- -- yappi.set_clock_type("wall") -- yappi.start() -- t1 = Thread1(target=a) -- t1.start() -- t2 = Thread2(target=a) -- t2.start() -- t1.join() -- t2.join() -- stats = yappi.get_thread_stats() -- -- # the fist clear_stats clears the context table? -- tsa = utils.find_stat_by_name(stats, "DummyThread") -- self.assertTrue(tsa is None) -- -- tst1 = utils.find_stat_by_name(stats, "Thread1") -- tst2 = utils.find_stat_by_name(stats, "Thread2") -- tsmain = utils.find_stat_by_name(stats, "_MainThread") -- dummy() # call dummy to force ctx name to be retrieved again. -- self.assertTrue(len(stats) == 3) -- self.assertTrue(tst1 is not None) -- self.assertTrue(tst2 is not None) -- # TODO: I put dummy() to fix below, remove the comments after a while. -- self.assertTrue( # FIX: I see this fails sometimes -- tsmain is not None, -- f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(stats))}") -- self.assertTrue(1.0 > tst2.ttot >= 0.5) -- self.assertTrue(1.0 > tst1.ttot >= 0.5) -- -- # test sorting of the ctx stats -- stats = stats.sort("totaltime", "desc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.ttot >= stat.ttot) -- prev_stat = stat -- stats = stats.sort("totaltime", "asc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.ttot <= stat.ttot) -- prev_stat = stat -- stats = stats.sort("schedcount", "desc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.sched_count >= stat.sched_count) -- prev_stat = stat -- stats = stats.sort("name", "desc") -- prev_stat = None -- for stat in stats: -- if prev_stat: -- self.assertTrue(prev_stat.name.lower() >= stat.name.lower()) -- prev_stat = stat -- self.assertRaises( -- yappi.YappiError, stats.sort, "invalid_thread_sorttype_arg" -- ) -- self.assertRaises( -- yappi.YappiError, stats.sort, "invalid_thread_sortorder_arg" -- ) -- -- def test_ctx_stats_cpu(self): -- -- def get_thread_name(): -- try: -- return threading.current_thread().name -- except AttributeError: -- return "Anonymous" -- -- def burn_cpu(sec): -- t0 = yappi.get_clock_time() -- elapsed = 0 -- while (elapsed < sec): -- for _ in range(1000): -- pass -- elapsed = yappi.get_clock_time() - t0 -- -- def test(): -- -- ts = [] -- for i in (0.01, 0.05, 0.1): -- t = threading.Thread(target=burn_cpu, args=(i, )) -- t.name = f"burn_cpu-{str(i)}" -- t.start() -- ts.append(t) -- for t in ts: -- t.join() -- -- yappi.set_clock_type("cpu") -- yappi.set_context_name_callback(get_thread_name) -- -- yappi.start() -- -- test() -- -- yappi.stop() -- -- tstats = yappi.get_thread_stats() -- r1 = ''' -- burn_cpu-0.1 3 123145356058624 0.100105 8 -- burn_cpu-0.05 2 123145361313792 0.050149 8 -- burn_cpu-0.01 1 123145356058624 0.010127 2 -- MainThread 0 4321620864 0.001632 6 -- ''' -- self.assert_ctx_stats_almost_equal(r1, tstats) -- -- def test_producer_consumer_with_queues(self): -- # we currently just stress yappi, no functionality test is done here. -- yappi.start() -- from queue import Queue -- from threading import Thread -- WORKER_THREAD_COUNT = 50 -- WORK_ITEM_COUNT = 2000 -- -- def worker(): -- while True: -- item = q.get() -- # do the work with item -- q.task_done() -- -- q = Queue() -- for i in range(WORKER_THREAD_COUNT): -- t = Thread(target=worker) -- t.daemon = True -- t.start() -- -- for item in range(WORK_ITEM_COUNT): -- q.put(item) -- q.join() # block until all tasks are done -- #yappi.get_func_stats().sort("callcount").print_all() -- yappi.stop() -- -- def test_temporary_lock_waiting(self): -- yappi.start() -- _lock = threading.Lock() -- -- def worker(): -- _lock.acquire() -- try: -- time.sleep(1.0) -- finally: -- _lock.release() -- -- t1 = threading.Thread(target=worker) -- t2 = threading.Thread(target=worker) -- t1.start() -- t2.start() -- t1.join() -- t2.join() -- #yappi.get_func_stats().sort("callcount").print_all() -- yappi.stop() -- -- @unittest.skipIf(os.name != "posix", "requires Posix compliant OS") -- def test_signals_with_blocking_calls(self): -- import signal, os, time -- -- # just to verify if signal is handled correctly and stats/yappi are not corrupted. -- def handler(signum, frame): -- raise Exception("Signal handler executed!") -- -- yappi.start() -- signal.signal(signal.SIGALRM, handler) -- signal.alarm(1) -- self.assertRaises(Exception, time.sleep, 2) -- stats = yappi.get_func_stats() -- fsh = utils.find_stat_by_name(stats, "handler") -- self.assertTrue(fsh is not None) -- -- def test_concurrent_futures(self): -- yappi.start() -- from concurrent.futures import ThreadPoolExecutor -- with ThreadPoolExecutor(max_workers=5) as executor: -- f = executor.submit(pow, 5, 2) -- self.assertEqual(f.result(), 25) -- time.sleep(1.0) -- yappi.stop() -- -- def test_barrier(self): -- yappi.start() -- b = threading.Barrier(2, timeout=1) -- -- def worker(): -- try: -- b.wait() -- except threading.BrokenBarrierError: -- pass -- except Exception: -- raise Exception("BrokenBarrierError not raised") -- -- t1 = threading.Thread(target=worker) -- t1.start() -- #b.wait() -- t1.join() -- yappi.stop() -- -- --class NonRecursiveFunctions(utils.YappiUnitTestCase): -- -- def test_abcd(self): -- _timings = {"a_1": 6, "b_1": 5, "c_1": 3, "d_1": 1} -- _yappi._set_test_timings(_timings) -- -- def a(): -- b() -- -- def b(): -- c() -- -- def c(): -- d() -- -- def d(): -- pass -- -- stats = utils.run_and_get_func_stats(a) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- fsc = utils.find_stat_by_name(stats, 'c') -- fsd = utils.find_stat_by_name(stats, 'd') -- cfsab = fsa.children[fsb] -- cfsbc = fsb.children[fsc] -- cfscd = fsc.children[fsd] -- -- self.assertEqual(fsa.ttot, 6) -- self.assertEqual(fsa.tsub, 1) -- self.assertEqual(fsb.ttot, 5) -- self.assertEqual(fsb.tsub, 2) -- self.assertEqual(fsc.ttot, 3) -- self.assertEqual(fsc.tsub, 2) -- self.assertEqual(fsd.ttot, 1) -- self.assertEqual(fsd.tsub, 1) -- self.assertEqual(cfsab.ttot, 5) -- self.assertEqual(cfsab.tsub, 2) -- self.assertEqual(cfsbc.ttot, 3) -- self.assertEqual(cfsbc.tsub, 2) -- self.assertEqual(cfscd.ttot, 1) -- self.assertEqual(cfscd.tsub, 1) -- -- def test_stop_in_middle(self): -- _timings = {"a_1": 6, "b_1": 4} -- _yappi._set_test_timings(_timings) -- -- def a(): -- b() -- yappi.stop() -- -- def b(): -- time.sleep(0.2) -- -- yappi.start() -- a() -- stats = yappi.get_func_stats() -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- -- self.assertEqual(fsa.ncall, 1) -- self.assertEqual(fsa.nactualcall, 0) -- self.assertEqual(fsa.ttot, 0) # no call_leave called -- self.assertEqual(fsa.tsub, 0) # no call_leave called -- self.assertEqual(fsb.ttot, 4) -- -- --class RecursiveFunctions(utils.YappiUnitTestCase): -- -- def test_fibonacci(self): -- -- def fib(n): -- if n > 1: -- return fib(n - 1) + fib(n - 2) -- else: -- return n -- -- stats = utils.run_and_get_func_stats(fib, 22) -- fs = utils.find_stat_by_name(stats, 'fib') -- self.assertEqual(fs.ncall, 57313) -- self.assertEqual(fs.ttot, fs.tsub) -- -- def test_abcadc(self): -- _timings = { -- "a_1": 20, -- "b_1": 19, -- "c_1": 17, -- "a_2": 13, -- "d_1": 12, -- "c_2": 10, -- "a_3": 5 -- } -- _yappi._set_test_timings(_timings) -- -- def a(n): -- if n == 3: -- return -- if n == 1 + 1: -- d(n) -- else: -- b(n) -- -- def b(n): -- c(n) -- -- def c(n): -- a(n + 1) -- -- def d(n): -- c(n) -- -- stats = utils.run_and_get_func_stats(a, 1) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- fsc = utils.find_stat_by_name(stats, 'c') -- fsd = utils.find_stat_by_name(stats, 'd') -- self.assertEqual(fsa.ncall, 3) -- self.assertEqual(fsa.nactualcall, 1) -- self.assertEqual(fsa.ttot, 20) -- self.assertEqual(fsa.tsub, 7) -- self.assertEqual(fsb.ttot, 19) -- self.assertEqual(fsb.tsub, 2) -- self.assertEqual(fsc.ttot, 17) -- self.assertEqual(fsc.tsub, 9) -- self.assertEqual(fsd.ttot, 12) -- self.assertEqual(fsd.tsub, 2) -- cfsca = fsc.children[fsa] -- self.assertEqual(cfsca.nactualcall, 0) -- self.assertEqual(cfsca.ncall, 2) -- self.assertEqual(cfsca.ttot, 13) -- self.assertEqual(cfsca.tsub, 6) -- -- def test_aaaa(self): -- _timings = {"d_1": 9, "d_2": 7, "d_3": 3, "d_4": 2} -- _yappi._set_test_timings(_timings) -- -- def d(n): -- if n == 3: -- return -- d(n + 1) -- -- stats = utils.run_and_get_func_stats(d, 0) -- fsd = utils.find_stat_by_name(stats, 'd') -- self.assertEqual(fsd.ncall, 4) -- self.assertEqual(fsd.nactualcall, 1) -- self.assertEqual(fsd.ttot, 9) -- self.assertEqual(fsd.tsub, 9) -- cfsdd = fsd.children[fsd] -- self.assertEqual(cfsdd.ttot, 7) -- self.assertEqual(cfsdd.tsub, 7) -- self.assertEqual(cfsdd.ncall, 3) -- self.assertEqual(cfsdd.nactualcall, 0) -- -- def test_abcabc(self): -- _timings = { -- "a_1": 20, -- "b_1": 19, -- "c_1": 17, -- "a_2": 13, -- "b_2": 11, -- "c_2": 9, -- "a_3": 6 -- } -- _yappi._set_test_timings(_timings) -- -- def a(n): -- if n == 3: -- return -- else: -- b(n) -- -- def b(n): -- c(n) -- -- def c(n): -- a(n + 1) -- -- stats = utils.run_and_get_func_stats(a, 1) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- fsc = utils.find_stat_by_name(stats, 'c') -- self.assertEqual(fsa.ncall, 3) -- self.assertEqual(fsa.nactualcall, 1) -- self.assertEqual(fsa.ttot, 20) -- self.assertEqual(fsa.tsub, 9) -- self.assertEqual(fsb.ttot, 19) -- self.assertEqual(fsb.tsub, 4) -- self.assertEqual(fsc.ttot, 17) -- self.assertEqual(fsc.tsub, 7) -- cfsab = fsa.children[fsb] -- cfsbc = fsb.children[fsc] -- cfsca = fsc.children[fsa] -- self.assertEqual(cfsab.ttot, 19) -- self.assertEqual(cfsab.tsub, 4) -- self.assertEqual(cfsbc.ttot, 17) -- self.assertEqual(cfsbc.tsub, 7) -- self.assertEqual(cfsca.ttot, 13) -- self.assertEqual(cfsca.tsub, 8) -- -- def test_abcbca(self): -- _timings = {"a_1": 10, "b_1": 9, "c_1": 7, "b_2": 4, "c_2": 2, "a_2": 1} -- _yappi._set_test_timings(_timings) -- self._ncall = 1 -- -- def a(): -- if self._ncall == 1: -- b() -- else: -- return -- -- def b(): -- c() -- -- def c(): -- if self._ncall == 1: -- self._ncall += 1 -- b() -- else: -- a() -- -- stats = utils.run_and_get_func_stats(a) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- fsc = utils.find_stat_by_name(stats, 'c') -- cfsab = fsa.children[fsb] -- cfsbc = fsb.children[fsc] -- cfsca = fsc.children[fsa] -- self.assertEqual(fsa.ttot, 10) -- self.assertEqual(fsa.tsub, 2) -- self.assertEqual(fsb.ttot, 9) -- self.assertEqual(fsb.tsub, 4) -- self.assertEqual(fsc.ttot, 7) -- self.assertEqual(fsc.tsub, 4) -- self.assertEqual(cfsab.ttot, 9) -- self.assertEqual(cfsab.tsub, 2) -- self.assertEqual(cfsbc.ttot, 7) -- self.assertEqual(cfsbc.tsub, 4) -- self.assertEqual(cfsca.ttot, 1) -- self.assertEqual(cfsca.tsub, 1) -- self.assertEqual(cfsca.ncall, 1) -- self.assertEqual(cfsca.nactualcall, 0) -- -- def test_aabccb(self): -- _timings = { -- "a_1": 13, -- "a_2": 11, -- "b_1": 9, -- "c_1": 5, -- "c_2": 3, -- "b_2": 1 -- } -- _yappi._set_test_timings(_timings) -- self._ncall = 1 -- -- def a(): -- if self._ncall == 1: -- self._ncall += 1 -- a() -- else: -- b() -- -- def b(): -- if self._ncall == 3: -- return -- else: -- c() -- -- def c(): -- if self._ncall == 2: -- self._ncall += 1 -- c() -- else: -- b() -- -- stats = utils.run_and_get_func_stats(a) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- fsc = utils.find_stat_by_name(stats, 'c') -- cfsaa = fsa.children[fsa.index] -- cfsab = fsa.children[fsb] -- cfsbc = fsb.children[fsc.full_name] -- cfscc = fsc.children[fsc] -- cfscb = fsc.children[fsb] -- self.assertEqual(fsb.ttot, 9) -- self.assertEqual(fsb.tsub, 5) -- self.assertEqual(cfsbc.ttot, 5) -- self.assertEqual(cfsbc.tsub, 2) -- self.assertEqual(fsa.ttot, 13) -- self.assertEqual(fsa.tsub, 4) -- self.assertEqual(cfsab.ttot, 9) -- self.assertEqual(cfsab.tsub, 4) -- self.assertEqual(cfsaa.ttot, 11) -- self.assertEqual(cfsaa.tsub, 2) -- self.assertEqual(fsc.ttot, 5) -- self.assertEqual(fsc.tsub, 4) -- -- def test_abaa(self): -- _timings = {"a_1": 13, "b_1": 10, "a_2": 9, "a_3": 5} -- _yappi._set_test_timings(_timings) -- -- self._ncall = 1 -- -- def a(): -- if self._ncall == 1: -- b() -- elif self._ncall == 2: -- self._ncall += 1 -- a() -- else: -- return -- -- def b(): -- self._ncall += 1 -- a() -- -- stats = utils.run_and_get_func_stats(a) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- cfsaa = fsa.children[fsa] -- cfsba = fsb.children[fsa] -- self.assertEqual(fsb.ttot, 10) -- self.assertEqual(fsb.tsub, 1) -- self.assertEqual(fsa.ttot, 13) -- self.assertEqual(fsa.tsub, 12) -- self.assertEqual(cfsaa.ttot, 5) -- self.assertEqual(cfsaa.tsub, 5) -- self.assertEqual(cfsba.ttot, 9) -- self.assertEqual(cfsba.tsub, 4) -- -- def test_aabb(self): -- _timings = {"a_1": 13, "a_2": 10, "b_1": 9, "b_2": 5} -- _yappi._set_test_timings(_timings) -- -- self._ncall = 1 -- -- def a(): -- if self._ncall == 1: -- self._ncall += 1 -- a() -- elif self._ncall == 2: -- b() -- else: -- return -- -- def b(): -- if self._ncall == 2: -- self._ncall += 1 -- b() -- else: -- return -- -- stats = utils.run_and_get_func_stats(a) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- cfsaa = fsa.children[fsa] -- cfsab = fsa.children[fsb] -- cfsbb = fsb.children[fsb] -- self.assertEqual(fsa.ttot, 13) -- self.assertEqual(fsa.tsub, 4) -- self.assertEqual(fsb.ttot, 9) -- self.assertEqual(fsb.tsub, 9) -- self.assertEqual(cfsaa.ttot, 10) -- self.assertEqual(cfsaa.tsub, 1) -- self.assertEqual(cfsab.ttot, 9) -- self.assertEqual(cfsab.tsub, 4) -- self.assertEqual(cfsbb.ttot, 5) -- self.assertEqual(cfsbb.tsub, 5) -- -- def test_abbb(self): -- _timings = {"a_1": 13, "b_1": 10, "b_2": 6, "b_3": 1} -- _yappi._set_test_timings(_timings) -- -- self._ncall = 1 -- -- def a(): -- if self._ncall == 1: -- b() -- -- def b(): -- if self._ncall == 3: -- return -- self._ncall += 1 -- b() -- -- stats = utils.run_and_get_func_stats(a) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- cfsab = fsa.children[fsb] -- cfsbb = fsb.children[fsb] -- self.assertEqual(fsa.ttot, 13) -- self.assertEqual(fsa.tsub, 3) -- self.assertEqual(fsb.ttot, 10) -- self.assertEqual(fsb.tsub, 10) -- self.assertEqual(fsb.ncall, 3) -- self.assertEqual(fsb.nactualcall, 1) -- self.assertEqual(cfsab.ttot, 10) -- self.assertEqual(cfsab.tsub, 4) -- self.assertEqual(cfsbb.ttot, 6) -- self.assertEqual(cfsbb.tsub, 6) -- self.assertEqual(cfsbb.nactualcall, 0) -- self.assertEqual(cfsbb.ncall, 2) -- -- def test_aaab(self): -- _timings = {"a_1": 13, "a_2": 10, "a_3": 6, "b_1": 1} -- _yappi._set_test_timings(_timings) -- -- self._ncall = 1 -- -- def a(): -- if self._ncall == 3: -- b() -- return -- self._ncall += 1 -- a() -- -- def b(): -- return -- -- stats = utils.run_and_get_func_stats(a) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- cfsaa = fsa.children[fsa] -- cfsab = fsa.children[fsb] -- self.assertEqual(fsa.ttot, 13) -- self.assertEqual(fsa.tsub, 12) -- self.assertEqual(fsb.ttot, 1) -- self.assertEqual(fsb.tsub, 1) -- self.assertEqual(cfsaa.ttot, 10) -- self.assertEqual(cfsaa.tsub, 9) -- self.assertEqual(cfsab.ttot, 1) -- self.assertEqual(cfsab.tsub, 1) -- -- def test_abab(self): -- _timings = {"a_1": 13, "b_1": 10, "a_2": 6, "b_2": 1} -- _yappi._set_test_timings(_timings) -- -- self._ncall = 1 -- -- def a(): -- b() -- -- def b(): -- if self._ncall == 2: -- return -- self._ncall += 1 -- a() -- -- stats = utils.run_and_get_func_stats(a) -- fsa = utils.find_stat_by_name(stats, 'a') -- fsb = utils.find_stat_by_name(stats, 'b') -- cfsab = fsa.children[fsb] -- cfsba = fsb.children[fsa] -- self.assertEqual(fsa.ttot, 13) -- self.assertEqual(fsa.tsub, 8) -- self.assertEqual(fsb.ttot, 10) -- self.assertEqual(fsb.tsub, 5) -- self.assertEqual(cfsab.ttot, 10) -- self.assertEqual(cfsab.tsub, 5) -- self.assertEqual(cfsab.ncall, 2) -- self.assertEqual(cfsab.nactualcall, 1) -- self.assertEqual(cfsba.ttot, 6) -- self.assertEqual(cfsba.tsub, 5) -- -- --if __name__ == '__main__': -- # import sys;sys.argv = ['', 'BasicUsage.test_run_as_script'] -- # import sys;sys.argv = ['', 'MultithreadedScenarios.test_subsequent_profile'] -- unittest.main() -+import os -+import sys -+import time -+import threading -+import unittest -+import yappi -+import _yappi -+import utils -+import multiprocessing -+import subprocess -+ -+_counter = 0 -+ -+ -+class BasicUsage(utils.YappiUnitTestCase): -+ -+ def test_callback_function_int_return_overflow(self): -+ # this test is just here to check if any errors are generated, as the err -+ # is printed in C side, I did not include it here. THere are ways to test -+ # this deterministically, I did not bother -+ import ctypes -+ -+ def _unsigned_overflow_margin(): -+ return 2**(ctypes.sizeof(ctypes.c_void_p) * 8) - 1 -+ -+ def foo(): -+ pass -+ -+ #with utils.captured_output() as (out, err): -+ yappi.set_context_id_callback(_unsigned_overflow_margin) -+ yappi.set_tag_callback(_unsigned_overflow_margin) -+ yappi.start() -+ foo() -+ -+ def test_issue60(self): -+ -+ def foo(): -+ buf = bytearray() -+ buf += b't' * 200 -+ view = memoryview(buf)[10:] -+ view = view.tobytes() -+ del buf[:10] # this throws exception -+ return view -+ -+ yappi.start(builtins=True) -+ foo() -+ self.assertTrue( -+ len( -+ yappi.get_func_stats( -+ filter_callback=lambda x: yappi. -+ func_matches(x, [memoryview.tobytes]) -+ ) -+ ) > 0 -+ ) -+ yappi.stop() -+ -+ def test_issue54(self): -+ -+ def _tag_cbk(): -+ global _counter -+ _counter += 1 -+ return _counter -+ -+ def a(): -+ pass -+ -+ def b(): -+ pass -+ -+ yappi.set_tag_callback(_tag_cbk) -+ yappi.start() -+ a() -+ a() -+ a() -+ yappi.stop() -+ stats = yappi.get_func_stats() -+ self.assertEqual(stats.pop().ncall, 3) # aggregated if no tag is given -+ stats = yappi.get_func_stats(tag=1) -+ -+ for i in range(1, 3): -+ stats = yappi.get_func_stats(tag=i) -+ stats = yappi.get_func_stats( -+ tag=i, filter_callback=lambda x: yappi.func_matches(x, [a]) -+ ) -+ -+ stat = stats.pop() -+ self.assertEqual(stat.ncall, 1) -+ -+ yappi.set_tag_callback(None) -+ yappi.clear_stats() -+ yappi.start() -+ b() -+ b() -+ stats = yappi.get_func_stats() -+ self.assertEqual(len(stats), 1) -+ stat = stats.pop() -+ self.assertEqual(stat.ncall, 2) -+ -+ def test_filter(self): -+ -+ def a(): -+ pass -+ -+ def b(): -+ a() -+ -+ def c(): -+ b() -+ -+ _TCOUNT = 5 -+ -+ ts = [] -+ yappi.start() -+ for i in range(_TCOUNT): -+ t = threading.Thread(target=c) -+ t.start() -+ ts.append(t) -+ -+ for t in ts: -+ t.join() -+ -+ yappi.stop() -+ -+ ctx_ids = [] -+ for tstat in yappi.get_thread_stats(): -+ if tstat.name == '_MainThread': -+ main_ctx_id = tstat.id -+ else: -+ ctx_ids.append(tstat.id) -+ -+ fstats = yappi.get_func_stats(filter={"ctx_id": 9}) -+ self.assertTrue(fstats.empty()) -+ fstats = yappi.get_func_stats( -+ filter={ -+ "ctx_id": main_ctx_id, -+ "name": "c" -+ } -+ ) # main thread -+ self.assertTrue(fstats.empty()) -+ -+ for i in ctx_ids: -+ fstats = yappi.get_func_stats( -+ filter={ -+ "ctx_id": i, -+ "name": "a", -+ "ncall": 1 -+ } -+ ) -+ self.assertEqual(fstats.pop().ncall, 1) -+ fstats = yappi.get_func_stats(filter={"ctx_id": i, "name": "b"}) -+ self.assertEqual(fstats.pop().ncall, 1) -+ fstats = yappi.get_func_stats(filter={"ctx_id": i, "name": "c"}) -+ self.assertEqual(fstats.pop().ncall, 1) -+ -+ yappi.clear_stats() -+ yappi.start(builtins=True) -+ time.sleep(0.1) -+ yappi.stop() -+ fstats = yappi.get_func_stats(filter={"module": "time"}) -+ self.assertEqual(len(fstats), 1) -+ -+ # invalid filters` -+ self.assertRaises( -+ Exception, yappi.get_func_stats, filter={'tag': "sss"} -+ ) -+ self.assertRaises( -+ Exception, yappi.get_func_stats, filter={'ctx_id': "None"} -+ ) -+ -+ def test_filter_callback(self): -+ -+ def a(): -+ time.sleep(0.1) -+ -+ def b(): -+ a() -+ -+ def c(): -+ pass -+ -+ def d(): -+ pass -+ -+ yappi.set_clock_type("wall") -+ yappi.start(builtins=True) -+ a() -+ b() -+ c() -+ d() -+ stats = yappi.get_func_stats( -+ filter_callback=lambda x: yappi.func_matches(x, [a, b]) -+ ) -+ #stats.print_all() -+ r1 = ''' -+ tests/test_functionality.py:98 a 2 0.000000 0.200350 0.100175 -+ tests/test_functionality.py:101 b 1 0.000000 0.120000 0.100197 -+ ''' -+ self.assert_traces_almost_equal(r1, stats) -+ self.assertEqual(len(stats), 2) -+ stats = yappi.get_func_stats( -+ filter_callback=lambda x: yappi. -+ module_matches(x, [sys.modules[__name__]]) -+ ) -+ r1 = ''' -+ tests/test_functionality.py:98 a 2 0.000000 0.230130 0.115065 -+ tests/test_functionality.py:101 b 1 0.000000 0.120000 0.109011 -+ tests/test_functionality.py:104 c 1 0.000000 0.000002 0.000002 -+ tests/test_functionality.py:107 d 1 0.000000 0.000001 0.000001 -+ ''' -+ self.assert_traces_almost_equal(r1, stats) -+ self.assertEqual(len(stats), 4) -+ -+ stats = yappi.get_func_stats( -+ filter_callback=lambda x: yappi.func_matches(x, [time.sleep]) -+ ) -+ self.assertEqual(len(stats), 1) -+ r1 = ''' -+ time.sleep 2 0.206804 0.220000 0.103402 -+ ''' -+ self.assert_traces_almost_equal(r1, stats) -+ -+ def test_print_formatting(self): -+ -+ def a(): -+ pass -+ -+ def b(): -+ a() -+ -+ func_cols = { -+ 1: ("name", 48), -+ 0: ("ncall", 5), -+ 2: ("tsub", 8), -+ } -+ thread_cols = { -+ 1: ("name", 48), -+ 0: ("ttot", 8), -+ } -+ -+ yappi.start() -+ a() -+ b() -+ yappi.stop() -+ fs = yappi.get_func_stats() -+ cs = fs[1].children -+ ts = yappi.get_thread_stats() -+ #fs.print_all(out=sys.stderr, columns={1:("name", 70), }) -+ #cs.print_all(out=sys.stderr, columns=func_cols) -+ #ts.print_all(out=sys.stderr, columns=thread_cols) -+ #cs.print_all(out=sys.stderr, columns={}) -+ -+ self.assertRaises( -+ yappi.YappiError, fs.print_all, columns={1: ("namee", 9)} -+ ) -+ self.assertRaises( -+ yappi.YappiError, cs.print_all, columns={1: ("dd", 0)} -+ ) -+ self.assertRaises( -+ yappi.YappiError, ts.print_all, columns={1: ("tidd", 0)} -+ ) -+ -+ def test_get_clock(self): -+ yappi.set_clock_type('cpu') -+ self.assertEqual('cpu', yappi.get_clock_type()) -+ clock_info = yappi.get_clock_info() -+ self.assertTrue('api' in clock_info) -+ self.assertTrue('resolution' in clock_info) -+ -+ yappi.set_clock_type('wall') -+ self.assertEqual('wall', yappi.get_clock_type()) -+ -+ t0 = yappi.get_clock_time() -+ time.sleep(0.1) -+ duration = yappi.get_clock_time() - t0 -+ self.assertTrue(0.05 < duration < 0.3) -+ -+ def test_profile_decorator(self): -+ -+ def aggregate(func, stats): -+ fname = f"tests/{func.__name__}.profile" -+ try: -+ stats.add(fname) -+ except OSError: -+ pass -+ stats.save(fname) -+ raise Exception("messing around") -+ -+ @yappi.profile(return_callback=aggregate) -+ def a(x, y): -+ if x + y == 25: -+ raise Exception("") -+ return x + y -+ -+ def b(): -+ pass -+ -+ try: -+ os.remove( -+ "tests/a.profile" -+ ) # remove the one from prev test, if available -+ except: -+ pass -+ -+ # global profile is on to mess things up -+ yappi.start() -+ b() -+ -+ # assert functionality and call function at same time -+ try: -+ self.assertEqual(a(1, 2), 3) -+ except: -+ pass -+ try: -+ self.assertEqual(a(2, 5), 7) -+ except: -+ pass -+ try: -+ a(4, 21) -+ except: -+ pass -+ stats = yappi.get_func_stats().add("tests/a.profile") -+ fsa = utils.find_stat_by_name(stats, 'a') -+ self.assertEqual(fsa.ncall, 3) -+ self.assertEqual(len(stats), 1) # b() should be cleared out. -+ -+ @yappi.profile(return_callback=aggregate) -+ def count_down_rec(n): -+ if n == 0: -+ return -+ count_down_rec(n - 1) -+ -+ try: -+ os.remove( -+ "tests/count_down_rec.profile" -+ ) # remove the one from prev test, if available -+ except: -+ pass -+ -+ try: -+ count_down_rec(4) -+ except: -+ pass -+ try: -+ count_down_rec(3) -+ except: -+ pass -+ -+ stats = yappi.YFuncStats("tests/count_down_rec.profile") -+ fsrec = utils.find_stat_by_name(stats, 'count_down_rec') -+ self.assertEqual(fsrec.ncall, 9) -+ self.assertEqual(fsrec.nactualcall, 2) -+ -+ def test_strip_dirs(self): -+ -+ def a(): -+ pass -+ -+ stats = utils.run_and_get_func_stats(a, ) -+ stats.strip_dirs() -+ fsa = utils.find_stat_by_name(stats, "a") -+ self.assertEqual(fsa.module, os.path.basename(fsa.module)) -+ -+ @unittest.skipIf(os.name == "nt", "do not run on Windows") -+ def test_run_as_script(self): -+ import re -+ p = subprocess.Popen( -+ ['yappi', os.path.join('./tests', 'run_as_script.py')], -+ stdout=subprocess.PIPE -+ ) -+ out, err = p.communicate() -+ self.assertEqual(p.returncode, 0) -+ func_stats, thread_stats = re.split( -+ b'name\\s+id\\s+tid\\s+ttot\\s+scnt\\s*\n', out -+ ) -+ self.assertTrue(b'FancyThread' in thread_stats) -+ -+ def test_yappi_overhead(self): -+ LOOP_COUNT = 100000 -+ -+ def a(): -+ pass -+ -+ def b(): -+ for i in range(LOOP_COUNT): -+ a() -+ -+ t0 = time.time() -+ yappi.start() -+ b() -+ yappi.stop() -+ time_with_yappi = time.time() - t0 -+ t0 = time.time() -+ b() -+ time_without_yappi = time.time() - t0 -+ if time_without_yappi == 0: -+ time_without_yappi = 0.000001 -+ -+ # in latest v0.82, I calculated this as close to "7.0" in my machine. -+ # however, %83 of this overhead is coming from tickcount(). The other %17 -+ # seems to have been evenly distributed to the internal bookkeeping -+ # structures/algorithms which seems acceptable. Note that our test only -+ # tests one function being profiled at-a-time in a short interval. -+ # profiling high number of functions in a small time -+ # is a different beast, (which is pretty unlikely in most applications) -+ # So as a conclusion: I cannot see any optimization window for Yappi that -+ # is worth implementing as we will only optimize %17 of the time. -+ sys.stderr.write("\r\nYappi puts %0.1f times overhead to the profiled application in average.\r\n" % \ -+ (time_with_yappi / time_without_yappi)) -+ -+ def test_clear_stats_while_running(self): -+ -+ def a(): -+ pass -+ -+ yappi.start() -+ a() -+ yappi.clear_stats() -+ a() -+ stats = yappi.get_func_stats() -+ fsa = utils.find_stat_by_name(stats, 'a') -+ self.assertEqual(fsa.ncall, 1) -+ -+ def test_generator(self): -+ -+ def _gen(n): -+ while (n > 0): -+ yield n -+ n -= 1 -+ -+ yappi.start() -+ for x in _gen(5): -+ pass -+ self.assertTrue( -+ yappi.convert2pstats(yappi.get_func_stats()) is not None -+ ) -+ -+ def test_slice_child_stats_and_strip_dirs(self): -+ -+ def b(): -+ for i in range(10000000): -+ pass -+ -+ def a(): -+ b() -+ -+ yappi.start(builtins=True) -+ a() -+ stats = yappi.get_func_stats() -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ self.assertTrue(fsa.children[0:1] is not None) -+ prev_afullname = fsa.full_name -+ prev_bchildfullname = fsa.children[fsb].full_name -+ stats.strip_dirs() -+ self.assertTrue(len(prev_afullname) > len(fsa.full_name)) -+ self.assertTrue( -+ len(prev_bchildfullname) > len(fsa.children[fsb].full_name) -+ ) -+ -+ def test_children_stat_functions(self): -+ _timings = {"a_1": 5, "b_1": 3, "c_1": 1} -+ _yappi._set_test_timings(_timings) -+ -+ def b(): -+ pass -+ -+ def c(): -+ pass -+ -+ def a(): -+ b() -+ c() -+ -+ yappi.start() -+ a() -+ b() # non-child call -+ c() # non-child call -+ stats = yappi.get_func_stats() -+ fsa = utils.find_stat_by_name(stats, 'a') -+ childs_of_a = fsa.children.get().sort("tavg", "desc") -+ prev_item = None -+ for item in childs_of_a: -+ if prev_item: -+ self.assertTrue(prev_item.tavg > item.tavg) -+ prev_item = item -+ childs_of_a.sort("name", "desc") -+ prev_item = None -+ for item in childs_of_a: -+ if prev_item: -+ self.assertTrue(prev_item.name > item.name) -+ prev_item = item -+ childs_of_a.clear() -+ self.assertTrue(childs_of_a.empty()) -+ -+ def test_no_stats_different_clock_type_load(self): -+ -+ def a(): -+ pass -+ -+ yappi.start() -+ a() -+ yappi.stop() -+ yappi.get_func_stats().save("tests/ystats1.ys") -+ yappi.clear_stats() -+ yappi.set_clock_type("WALL") -+ yappi.start() -+ yappi.stop() -+ stats = yappi.get_func_stats().add("tests/ystats1.ys") -+ fsa = utils.find_stat_by_name(stats, 'a') -+ self.assertTrue(fsa is not None) -+ -+ def test_subsequent_profile(self): -+ _timings = {"a_1": 1, "b_1": 1} -+ _yappi._set_test_timings(_timings) -+ -+ def a(): -+ pass -+ -+ def b(): -+ pass -+ -+ yappi.start() -+ a() -+ yappi.stop() -+ yappi.start() -+ b() -+ yappi.stop() -+ stats = yappi.get_func_stats() -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ self.assertTrue(fsa is not None) -+ self.assertTrue(fsb is not None) -+ self.assertEqual(fsa.ttot, 1) -+ self.assertEqual(fsb.ttot, 1) -+ -+ def test_lambda(self): -+ f = lambda: time.sleep(0.3) -+ yappi.set_clock_type("wall") -+ yappi.start() -+ f() -+ stats = yappi.get_func_stats() -+ fsa = utils.find_stat_by_name(stats, '') -+ self.assertTrue(fsa.ttot > 0.1) -+ -+ def test_module_stress(self): -+ self.assertEqual(yappi.is_running(), False) -+ -+ yappi.start() -+ yappi.clear_stats() -+ self.assertRaises(_yappi.error, yappi.set_clock_type, "wall") -+ -+ yappi.stop() -+ yappi.clear_stats() -+ yappi.set_clock_type("cpu") -+ self.assertRaises(yappi.YappiError, yappi.set_clock_type, "dummy") -+ self.assertEqual(yappi.is_running(), False) -+ yappi.clear_stats() -+ yappi.clear_stats() -+ -+ def test_stat_sorting(self): -+ _timings = {"a_1": 13, "b_1": 10, "a_2": 6, "b_2": 1} -+ _yappi._set_test_timings(_timings) -+ -+ self._ncall = 1 -+ -+ def a(): -+ b() -+ -+ def b(): -+ if self._ncall == 2: -+ return -+ self._ncall += 1 -+ a() -+ -+ stats = utils.run_and_get_func_stats(a) -+ stats = stats.sort("totaltime", "desc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.ttot >= stat.ttot) -+ prev_stat = stat -+ stats = stats.sort("totaltime", "asc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.ttot <= stat.ttot) -+ prev_stat = stat -+ stats = stats.sort("avgtime", "asc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.tavg <= stat.tavg) -+ prev_stat = stat -+ stats = stats.sort("name", "asc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.name <= stat.name) -+ prev_stat = stat -+ stats = stats.sort("subtime", "asc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.tsub <= stat.tsub) -+ prev_stat = stat -+ -+ self.assertRaises( -+ yappi.YappiError, stats.sort, "invalid_func_sorttype_arg" -+ ) -+ self.assertRaises( -+ yappi.YappiError, stats.sort, "totaltime", -+ "invalid_func_sortorder_arg" -+ ) -+ -+ def test_start_flags(self): -+ self.assertEqual(_yappi._get_start_flags(), None) -+ yappi.start() -+ -+ def a(): -+ pass -+ -+ a() -+ self.assertEqual(_yappi._get_start_flags()["profile_builtins"], 0) -+ self.assertEqual(_yappi._get_start_flags()["profile_multicontext"], 1) -+ self.assertEqual(len(yappi.get_thread_stats()), 1) -+ -+ def test_builtin_profiling(self): -+ -+ def a(): -+ time.sleep(0.4) # is a builtin function -+ -+ yappi.set_clock_type('wall') -+ -+ yappi.start(builtins=True) -+ a() -+ stats = yappi.get_func_stats() -+ fsa = utils.find_stat_by_name(stats, 'sleep') -+ self.assertTrue(fsa is not None) -+ self.assertTrue(fsa.ttot > 0.3) -+ yappi.stop() -+ yappi.clear_stats() -+ -+ def a(): -+ pass -+ -+ yappi.start() -+ t = threading.Thread(target=a) -+ t.start() -+ t.join() -+ stats = yappi.get_func_stats() -+ -+ def test_singlethread_profiling(self): -+ yappi.set_clock_type('wall') -+ -+ def a(): -+ time.sleep(0.2) -+ -+ class Worker1(threading.Thread): -+ -+ def a(self): -+ time.sleep(0.3) -+ -+ def run(self): -+ self.a() -+ -+ yappi.start(profile_threads=False) -+ -+ c = Worker1() -+ c.start() -+ c.join() -+ a() -+ stats = yappi.get_func_stats() -+ fsa1 = utils.find_stat_by_name(stats, 'Worker1.a') -+ fsa2 = utils.find_stat_by_name(stats, 'a') -+ self.assertTrue(fsa1 is None) -+ self.assertTrue(fsa2 is not None) -+ self.assertTrue(fsa2.ttot > 0.1) -+ -+ def test_run(self): -+ -+ def profiled(): -+ pass -+ -+ yappi.clear_stats() -+ try: -+ with yappi.run(): -+ profiled() -+ stats = yappi.get_func_stats() -+ finally: -+ yappi.clear_stats() -+ -+ self.assertIsNotNone(utils.find_stat_by_name(stats, 'profiled')) -+ -+ def test_run_recursive(self): -+ -+ def profiled(): -+ pass -+ -+ def not_profiled(): -+ pass -+ -+ yappi.clear_stats() -+ try: -+ with yappi.run(): -+ with yappi.run(): -+ profiled() -+ # Profiling stopped here -+ not_profiled() -+ stats = yappi.get_func_stats() -+ finally: -+ yappi.clear_stats() -+ -+ self.assertIsNotNone(utils.find_stat_by_name(stats, 'profiled')) -+ self.assertIsNone(utils.find_stat_by_name(stats, 'not_profiled')) -+ -+ -+class StatSaveScenarios(utils.YappiUnitTestCase): -+ -+ def test_pstats_conversion(self): -+ -+ def pstat_id(fs): -+ return (fs.module, fs.lineno, fs.name) -+ -+ def a(): -+ d() -+ -+ def b(): -+ d() -+ -+ def c(): -+ pass -+ -+ def d(): -+ pass -+ -+ _timings = {"a_1": 12, "b_1": 7, "c_1": 5, "d_1": 2} -+ _yappi._set_test_timings(_timings) -+ stats = utils.run_and_get_func_stats(a, ) -+ stats.strip_dirs() -+ stats.save("tests/a1.pstats", type="pstat") -+ fsa_pid = pstat_id(utils.find_stat_by_name(stats, "a")) -+ fsd_pid = pstat_id(utils.find_stat_by_name(stats, "d")) -+ yappi.clear_stats() -+ _yappi._set_test_timings(_timings) -+ stats = utils.run_and_get_func_stats(a, ) -+ stats.strip_dirs() -+ stats.save("tests/a2.pstats", type="pstat") -+ yappi.clear_stats() -+ _yappi._set_test_timings(_timings) -+ stats = utils.run_and_get_func_stats(b, ) -+ stats.strip_dirs() -+ stats.save("tests/b1.pstats", type="pstat") -+ fsb_pid = pstat_id(utils.find_stat_by_name(stats, "b")) -+ yappi.clear_stats() -+ _yappi._set_test_timings(_timings) -+ stats = utils.run_and_get_func_stats(c, ) -+ stats.strip_dirs() -+ stats.save("tests/c1.pstats", type="pstat") -+ fsc_pid = pstat_id(utils.find_stat_by_name(stats, "c")) -+ -+ # merge saved stats and check pstats values are correct -+ import pstats -+ p = pstats.Stats( -+ 'tests/a1.pstats', 'tests/a2.pstats', 'tests/b1.pstats', -+ 'tests/c1.pstats' -+ ) -+ p.strip_dirs() -+ # ct = ttot, tt = tsub -+ (cc, nc, tt, ct, callers) = p.stats[fsa_pid] -+ self.assertEqual(cc, nc, 2) -+ self.assertEqual(tt, 20) -+ self.assertEqual(ct, 24) -+ (cc, nc, tt, ct, callers) = p.stats[fsd_pid] -+ self.assertEqual(cc, nc, 3) -+ self.assertEqual(tt, 6) -+ self.assertEqual(ct, 6) -+ self.assertEqual(len(callers), 2) -+ (cc, nc, tt, ct) = callers[fsa_pid] -+ self.assertEqual(cc, nc, 2) -+ self.assertEqual(tt, 4) -+ self.assertEqual(ct, 4) -+ (cc, nc, tt, ct) = callers[fsb_pid] -+ self.assertEqual(cc, nc, 1) -+ self.assertEqual(tt, 2) -+ self.assertEqual(ct, 2) -+ -+ def test_merge_stats(self): -+ _timings = { -+ "a_1": 15, -+ "b_1": 14, -+ "c_1": 12, -+ "d_1": 10, -+ "e_1": 9, -+ "f_1": 7, -+ "g_1": 6, -+ "h_1": 5, -+ "i_1": 1 -+ } -+ _yappi._set_test_timings(_timings) -+ -+ def a(): -+ b() -+ -+ def b(): -+ c() -+ -+ def c(): -+ d() -+ -+ def d(): -+ e() -+ -+ def e(): -+ f() -+ -+ def f(): -+ g() -+ -+ def g(): -+ h() -+ -+ def h(): -+ i() -+ -+ def i(): -+ pass -+ -+ yappi.start() -+ a() -+ a() -+ yappi.stop() -+ stats = yappi.get_func_stats() -+ self.assertRaises( -+ NotImplementedError, stats.save, "", "INVALID_SAVE_TYPE" -+ ) -+ stats.save("tests/ystats2.ys") -+ yappi.clear_stats() -+ _yappi._set_test_timings(_timings) -+ yappi.start() -+ a() -+ stats = yappi.get_func_stats().add("tests/ystats2.ys") -+ fsa = utils.find_stat_by_name(stats, "a") -+ fsb = utils.find_stat_by_name(stats, "b") -+ fsc = utils.find_stat_by_name(stats, "c") -+ fsd = utils.find_stat_by_name(stats, "d") -+ fse = utils.find_stat_by_name(stats, "e") -+ fsf = utils.find_stat_by_name(stats, "f") -+ fsg = utils.find_stat_by_name(stats, "g") -+ fsh = utils.find_stat_by_name(stats, "h") -+ fsi = utils.find_stat_by_name(stats, "i") -+ self.assertEqual(fsa.ttot, 45) -+ self.assertEqual(fsa.ncall, 3) -+ self.assertEqual(fsa.nactualcall, 3) -+ self.assertEqual(fsa.tsub, 3) -+ self.assertEqual(fsa.children[fsb].ttot, fsb.ttot) -+ self.assertEqual(fsa.children[fsb].tsub, fsb.tsub) -+ self.assertEqual(fsb.children[fsc].ttot, fsc.ttot) -+ self.assertEqual(fsb.children[fsc].tsub, fsc.tsub) -+ self.assertEqual(fsc.tsub, 6) -+ self.assertEqual(fsc.children[fsd].ttot, fsd.ttot) -+ self.assertEqual(fsc.children[fsd].tsub, fsd.tsub) -+ self.assertEqual(fsd.children[fse].ttot, fse.ttot) -+ self.assertEqual(fsd.children[fse].tsub, fse.tsub) -+ self.assertEqual(fse.children[fsf].ttot, fsf.ttot) -+ self.assertEqual(fse.children[fsf].tsub, fsf.tsub) -+ self.assertEqual(fsf.children[fsg].ttot, fsg.ttot) -+ self.assertEqual(fsf.children[fsg].tsub, fsg.tsub) -+ self.assertEqual(fsg.ttot, 18) -+ self.assertEqual(fsg.tsub, 3) -+ self.assertEqual(fsg.children[fsh].ttot, fsh.ttot) -+ self.assertEqual(fsg.children[fsh].tsub, fsh.tsub) -+ self.assertEqual(fsh.ttot, 15) -+ self.assertEqual(fsh.tsub, 12) -+ self.assertEqual(fsh.tavg, 5) -+ self.assertEqual(fsh.children[fsi].ttot, fsi.ttot) -+ self.assertEqual(fsh.children[fsi].tsub, fsi.tsub) -+ #stats.debug_print() -+ -+ def test_merge_multithreaded_stats(self): -+ import _yappi -+ timings = {"a_1": 2, "b_1": 1} -+ _yappi._set_test_timings(timings) -+ -+ def a(): -+ pass -+ -+ def b(): -+ pass -+ -+ yappi.start() -+ t = threading.Thread(target=a) -+ t.start() -+ t.join() -+ t = threading.Thread(target=b) -+ t.start() -+ t.join() -+ yappi.get_func_stats().save("tests/ystats1.ys") -+ yappi.clear_stats() -+ _yappi._set_test_timings(timings) -+ self.assertEqual(len(yappi.get_func_stats()), 0) -+ self.assertEqual(len(yappi.get_thread_stats()), 1) -+ t = threading.Thread(target=a) -+ t.start() -+ t.join() -+ -+ self.assertEqual(_yappi._get_start_flags()["profile_builtins"], 0) -+ self.assertEqual(_yappi._get_start_flags()["profile_multicontext"], 1) -+ yappi.get_func_stats().save("tests/ystats2.ys") -+ -+ stats = yappi.YFuncStats([ -+ "tests/ystats1.ys", -+ "tests/ystats2.ys", -+ ]) -+ fsa = utils.find_stat_by_name(stats, "a") -+ fsb = utils.find_stat_by_name(stats, "b") -+ self.assertEqual(fsa.ncall, 2) -+ self.assertEqual(fsb.ncall, 1) -+ self.assertEqual(fsa.tsub, fsa.ttot, 4) -+ self.assertEqual(fsb.tsub, fsb.ttot, 1) -+ -+ def test_merge_load_different_clock_types(self): -+ yappi.start(builtins=True) -+ -+ def a(): -+ b() -+ -+ def b(): -+ c() -+ -+ def c(): -+ pass -+ -+ t = threading.Thread(target=a) -+ t.start() -+ t.join() -+ yappi.get_func_stats().sort("name", "asc").save("tests/ystats1.ys") -+ yappi.stop() -+ yappi.clear_stats() -+ yappi.start(builtins=False) -+ t = threading.Thread(target=a) -+ t.start() -+ t.join() -+ yappi.get_func_stats().save("tests/ystats2.ys") -+ yappi.stop() -+ self.assertRaises(_yappi.error, yappi.set_clock_type, "wall") -+ yappi.clear_stats() -+ yappi.set_clock_type("wall") -+ yappi.start() -+ t = threading.Thread(target=a) -+ t.start() -+ t.join() -+ yappi.get_func_stats().save("tests/ystats3.ys") -+ self.assertRaises( -+ yappi.YappiError, -+ yappi.YFuncStats().add("tests/ystats1.ys").add, "tests/ystats3.ys" -+ ) -+ stats = yappi.YFuncStats(["tests/ystats1.ys", -+ "tests/ystats2.ys"]).sort("name") -+ fsa = utils.find_stat_by_name(stats, "a") -+ fsb = utils.find_stat_by_name(stats, "b") -+ fsc = utils.find_stat_by_name(stats, "c") -+ self.assertEqual(fsa.ncall, 2) -+ self.assertEqual(fsa.ncall, fsb.ncall, fsc.ncall) -+ -+ def test_merge_aabab_aabbc(self): -+ _timings = { -+ "a_1": 15, -+ "a_2": 14, -+ "b_1": 12, -+ "a_3": 10, -+ "b_2": 9, -+ "c_1": 4 -+ } -+ _yappi._set_test_timings(_timings) -+ -+ def a(): -+ if self._ncall == 1: -+ self._ncall += 1 -+ a() -+ elif self._ncall == 5: -+ self._ncall += 1 -+ a() -+ else: -+ b() -+ -+ def b(): -+ if self._ncall == 2: -+ self._ncall += 1 -+ a() -+ elif self._ncall == 6: -+ self._ncall += 1 -+ b() -+ elif self._ncall == 7: -+ c() -+ else: -+ return -+ -+ def c(): -+ pass -+ -+ self._ncall = 1 -+ stats = utils.run_and_get_func_stats(a, ) -+ stats.save("tests/ystats1.ys") -+ yappi.clear_stats() -+ _yappi._set_test_timings(_timings) -+ #stats.print_all() -+ -+ self._ncall = 5 -+ stats = utils.run_and_get_func_stats(a, ) -+ stats.save("tests/ystats2.ys") -+ -+ #stats.print_all() -+ -+ def a(): # same name but another function(code object) -+ pass -+ -+ yappi.start() -+ a() -+ stats = yappi.get_func_stats().add( -+ ["tests/ystats1.ys", "tests/ystats2.ys"] -+ ) -+ #stats.print_all() -+ self.assertEqual(len(stats), 4) -+ -+ fsa = None -+ for stat in stats: -+ if stat.name == "a" and stat.ttot == 45: -+ fsa = stat -+ break -+ self.assertTrue(fsa is not None) -+ -+ self.assertEqual(fsa.ncall, 7) -+ self.assertEqual(fsa.nactualcall, 3) -+ self.assertEqual(fsa.ttot, 45) -+ self.assertEqual(fsa.tsub, 10) -+ fsb = utils.find_stat_by_name(stats, "b") -+ fsc = utils.find_stat_by_name(stats, "c") -+ self.assertEqual(fsb.ncall, 6) -+ self.assertEqual(fsb.nactualcall, 3) -+ self.assertEqual(fsb.ttot, 36) -+ self.assertEqual(fsb.tsub, 27) -+ self.assertEqual(fsb.tavg, 6) -+ self.assertEqual(fsc.ttot, 8) -+ self.assertEqual(fsc.tsub, 8) -+ self.assertEqual(fsc.tavg, 4) -+ self.assertEqual(fsc.nactualcall, fsc.ncall, 2) -+ -+ -+class MultithreadedScenarios(utils.YappiUnitTestCase): -+ -+ def test_issue_32(self): -+ ''' -+ Start yappi from different thread and we get Internal Error(15) as -+ the current_ctx_id() called while enumerating the threads in start() -+ and as it does not swap to the enumerated ThreadState* the THreadState_GetDict() -+ returns wrong object and thus sets an invalid id for the _ctx structure. -+ -+ When this issue happens multiple Threads have same tid as the internal ts_ptr -+ will be same for different contexts. So, let's see if that happens -+ ''' -+ -+ def foo(): -+ time.sleep(0.2) -+ -+ def bar(): -+ time.sleep(0.1) -+ -+ def thread_func(): -+ yappi.set_clock_type("wall") -+ yappi.start() -+ -+ bar() -+ -+ t = threading.Thread(target=thread_func) -+ t.start() -+ t.join() -+ -+ foo() -+ -+ yappi.stop() -+ -+ thread_ids = set() -+ for tstat in yappi.get_thread_stats(): -+ self.assertTrue(tstat.tid not in thread_ids) -+ thread_ids.add(tstat.tid) -+ -+ def test_subsequent_profile(self): -+ WORKER_COUNT = 5 -+ -+ def a(): -+ pass -+ -+ def b(): -+ pass -+ -+ def c(): -+ pass -+ -+ _timings = { -+ "a_1": 3, -+ "b_1": 2, -+ "c_1": 1, -+ } -+ -+ yappi.start() -+ -+ def g(): -+ pass -+ -+ g() -+ yappi.stop() -+ yappi.clear_stats() -+ _yappi._set_test_timings(_timings) -+ yappi.start() -+ -+ _dummy = [] -+ for i in range(WORKER_COUNT): -+ t = threading.Thread(target=a) -+ t.start() -+ t.join() -+ for i in range(WORKER_COUNT): -+ t = threading.Thread(target=b) -+ t.start() -+ _dummy.append(t) -+ t.join() -+ for i in range(WORKER_COUNT): -+ t = threading.Thread(target=a) -+ t.start() -+ t.join() -+ for i in range(WORKER_COUNT): -+ t = threading.Thread(target=c) -+ t.start() -+ t.join() -+ yappi.stop() -+ yappi.start() -+ -+ def f(): -+ pass -+ -+ f() -+ stats = yappi.get_func_stats() -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ fsc = utils.find_stat_by_name(stats, 'c') -+ self.assertEqual(fsa.ncall, 10) -+ self.assertEqual(fsb.ncall, 5) -+ self.assertEqual(fsc.ncall, 5) -+ self.assertEqual(fsa.ttot, fsa.tsub, 30) -+ self.assertEqual(fsb.ttot, fsb.tsub, 10) -+ self.assertEqual(fsc.ttot, fsc.tsub, 5) -+ -+ # MACOSx optimizes by only creating one worker thread -+ self.assertTrue(len(yappi.get_thread_stats()) >= 2) -+ -+ def test_basic(self): -+ yappi.set_clock_type('wall') -+ -+ def dummy(): -+ pass -+ -+ def a(): -+ time.sleep(0.2) -+ -+ class Worker1(threading.Thread): -+ -+ def a(self): -+ time.sleep(0.3) -+ -+ def run(self): -+ self.a() -+ -+ yappi.start(builtins=False, profile_threads=True) -+ -+ c = Worker1() -+ c.start() -+ c.join() -+ a() -+ stats = yappi.get_func_stats() -+ fsa1 = utils.find_stat_by_name(stats, 'Worker1.a') -+ fsa2 = utils.find_stat_by_name(stats, 'a') -+ self.assertTrue(fsa1 is not None) -+ self.assertTrue(fsa2 is not None) -+ self.assertTrue(fsa1.ttot > 0.2) -+ self.assertTrue(fsa2.ttot > 0.1) -+ tstats = yappi.get_thread_stats() -+ self.assertEqual(len(tstats), 2) -+ tsa = utils.find_stat_by_name(tstats, 'Worker1') -+ tsm = utils.find_stat_by_name(tstats, '_MainThread') -+ dummy() # call dummy to force ctx name to be retrieved again. -+ self.assertTrue(tsa is not None) -+ # TODO: I put dummy() to fix below, remove the comments after a while. -+ self.assertTrue( # FIX: I see this fails sometimes? -+ tsm is not None, -+ f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(tstats))}") -+ -+ def test_ctx_stats(self): -+ from threading import Thread -+ DUMMY_WORKER_COUNT = 5 -+ yappi.start() -+ -+ class DummyThread(Thread): -+ pass -+ -+ def dummy(): -+ pass -+ -+ def dummy_worker(): -+ pass -+ -+ for i in range(DUMMY_WORKER_COUNT): -+ t = DummyThread(target=dummy_worker) -+ t.start() -+ t.join() -+ yappi.stop() -+ stats = yappi.get_thread_stats() -+ tsa = utils.find_stat_by_name(stats, "DummyThread") -+ self.assertTrue(tsa is not None) -+ yappi.clear_stats() -+ time.sleep(1.0) -+ _timings = { -+ "a_1": 6, -+ "b_1": 5, -+ "c_1": 3, -+ "d_1": 1, -+ "a_2": 4, -+ "b_2": 3, -+ "c_2": 2, -+ "d_2": 1 -+ } -+ _yappi._set_test_timings(_timings) -+ -+ class Thread1(Thread): -+ pass -+ -+ class Thread2(Thread): -+ pass -+ -+ def a(): -+ b() -+ -+ def b(): -+ c() -+ -+ def c(): -+ d() -+ -+ def d(): -+ time.sleep(0.6) -+ -+ yappi.set_clock_type("wall") -+ yappi.start() -+ t1 = Thread1(target=a) -+ t1.start() -+ t2 = Thread2(target=a) -+ t2.start() -+ t1.join() -+ t2.join() -+ stats = yappi.get_thread_stats() -+ -+ # the fist clear_stats clears the context table? -+ tsa = utils.find_stat_by_name(stats, "DummyThread") -+ self.assertTrue(tsa is None) -+ -+ tst1 = utils.find_stat_by_name(stats, "Thread1") -+ tst2 = utils.find_stat_by_name(stats, "Thread2") -+ tsmain = utils.find_stat_by_name(stats, "_MainThread") -+ dummy() # call dummy to force ctx name to be retrieved again. -+ self.assertTrue(len(stats) == 3) -+ self.assertTrue(tst1 is not None) -+ self.assertTrue(tst2 is not None) -+ # TODO: I put dummy() to fix below, remove the comments after a while. -+ self.assertTrue( # FIX: I see this fails sometimes -+ tsmain is not None, -+ f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(stats))}") -+ self.assertTrue(1.0 > tst2.ttot >= 0.5) -+ self.assertTrue(1.0 > tst1.ttot >= 0.5) -+ -+ # test sorting of the ctx stats -+ stats = stats.sort("totaltime", "desc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.ttot >= stat.ttot) -+ prev_stat = stat -+ stats = stats.sort("totaltime", "asc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.ttot <= stat.ttot) -+ prev_stat = stat -+ stats = stats.sort("schedcount", "desc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.sched_count >= stat.sched_count) -+ prev_stat = stat -+ stats = stats.sort("name", "desc") -+ prev_stat = None -+ for stat in stats: -+ if prev_stat: -+ self.assertTrue(prev_stat.name.lower() >= stat.name.lower()) -+ prev_stat = stat -+ self.assertRaises( -+ yappi.YappiError, stats.sort, "invalid_thread_sorttype_arg" -+ ) -+ self.assertRaises( -+ yappi.YappiError, stats.sort, "invalid_thread_sortorder_arg" -+ ) -+ -+ def test_ctx_stats_cpu(self): -+ -+ def get_thread_name(): -+ try: -+ return threading.current_thread().name -+ except AttributeError: -+ return "Anonymous" -+ -+ def burn_cpu(sec): -+ t0 = yappi.get_clock_time() -+ elapsed = 0 -+ while (elapsed < sec): -+ for _ in range(1000): -+ pass -+ elapsed = yappi.get_clock_time() - t0 -+ -+ def test(): -+ -+ ts = [] -+ for i in (0.01, 0.05, 0.1): -+ t = threading.Thread(target=burn_cpu, args=(i, )) -+ t.name = f"burn_cpu-{str(i)}" -+ t.start() -+ ts.append(t) -+ for t in ts: -+ t.join() -+ -+ yappi.set_clock_type("cpu") -+ yappi.set_context_name_callback(get_thread_name) -+ -+ yappi.start() -+ -+ test() -+ -+ yappi.stop() -+ -+ tstats = yappi.get_thread_stats() -+ r1 = ''' -+ burn_cpu-0.1 3 123145356058624 0.100105 8 -+ burn_cpu-0.05 2 123145361313792 0.050149 8 -+ burn_cpu-0.01 1 123145356058624 0.010127 2 -+ MainThread 0 4321620864 0.001632 6 -+ ''' -+ self.assert_ctx_stats_almost_equal(r1, tstats) -+ -+ def test_producer_consumer_with_queues(self): -+ # we currently just stress yappi, no functionality test is done here. -+ yappi.start() -+ from queue import Queue -+ from threading import Thread -+ WORKER_THREAD_COUNT = 50 -+ WORK_ITEM_COUNT = 2000 -+ -+ def worker(): -+ while True: -+ item = q.get() -+ # do the work with item -+ q.task_done() -+ -+ q = Queue() -+ for i in range(WORKER_THREAD_COUNT): -+ t = Thread(target=worker) -+ t.daemon = True -+ t.start() -+ -+ for item in range(WORK_ITEM_COUNT): -+ q.put(item) -+ q.join() # block until all tasks are done -+ #yappi.get_func_stats().sort("callcount").print_all() -+ yappi.stop() -+ -+ def test_temporary_lock_waiting(self): -+ yappi.start() -+ _lock = threading.Lock() -+ -+ def worker(): -+ _lock.acquire() -+ try: -+ time.sleep(1.0) -+ finally: -+ _lock.release() -+ -+ t1 = threading.Thread(target=worker) -+ t2 = threading.Thread(target=worker) -+ t1.start() -+ t2.start() -+ t1.join() -+ t2.join() -+ #yappi.get_func_stats().sort("callcount").print_all() -+ yappi.stop() -+ -+ @unittest.skipIf(os.name != "posix", "requires Posix compliant OS") -+ def test_signals_with_blocking_calls(self): -+ import signal, os, time -+ -+ # just to verify if signal is handled correctly and stats/yappi are not corrupted. -+ def handler(signum, frame): -+ raise Exception("Signal handler executed!") -+ -+ yappi.start() -+ signal.signal(signal.SIGALRM, handler) -+ signal.alarm(1) -+ self.assertRaises(Exception, time.sleep, 2) -+ stats = yappi.get_func_stats() -+ fsh = utils.find_stat_by_name(stats, "handler") -+ self.assertTrue(fsh is not None) -+ -+ def test_concurrent_futures(self): -+ yappi.start() -+ from concurrent.futures import ThreadPoolExecutor -+ with ThreadPoolExecutor(max_workers=5) as executor: -+ f = executor.submit(pow, 5, 2) -+ self.assertEqual(f.result(), 25) -+ time.sleep(1.0) -+ yappi.stop() -+ -+ def test_barrier(self): -+ yappi.start() -+ b = threading.Barrier(2, timeout=1) -+ -+ def worker(): -+ try: -+ b.wait() -+ except threading.BrokenBarrierError: -+ pass -+ except Exception: -+ raise Exception("BrokenBarrierError not raised") -+ -+ t1 = threading.Thread(target=worker) -+ t1.start() -+ #b.wait() -+ t1.join() -+ yappi.stop() -+ -+ -+class NonRecursiveFunctions(utils.YappiUnitTestCase): -+ -+ def test_abcd(self): -+ _timings = {"a_1": 6, "b_1": 5, "c_1": 3, "d_1": 1} -+ _yappi._set_test_timings(_timings) -+ -+ def a(): -+ b() -+ -+ def b(): -+ c() -+ -+ def c(): -+ d() -+ -+ def d(): -+ pass -+ -+ stats = utils.run_and_get_func_stats(a) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ fsc = utils.find_stat_by_name(stats, 'c') -+ fsd = utils.find_stat_by_name(stats, 'd') -+ cfsab = fsa.children[fsb] -+ cfsbc = fsb.children[fsc] -+ cfscd = fsc.children[fsd] -+ -+ self.assertEqual(fsa.ttot, 6) -+ self.assertEqual(fsa.tsub, 1) -+ self.assertEqual(fsb.ttot, 5) -+ self.assertEqual(fsb.tsub, 2) -+ self.assertEqual(fsc.ttot, 3) -+ self.assertEqual(fsc.tsub, 2) -+ self.assertEqual(fsd.ttot, 1) -+ self.assertEqual(fsd.tsub, 1) -+ self.assertEqual(cfsab.ttot, 5) -+ self.assertEqual(cfsab.tsub, 2) -+ self.assertEqual(cfsbc.ttot, 3) -+ self.assertEqual(cfsbc.tsub, 2) -+ self.assertEqual(cfscd.ttot, 1) -+ self.assertEqual(cfscd.tsub, 1) -+ -+ def test_stop_in_middle(self): -+ _timings = {"a_1": 6, "b_1": 4} -+ _yappi._set_test_timings(_timings) -+ -+ def a(): -+ b() -+ yappi.stop() -+ -+ def b(): -+ time.sleep(0.2) -+ -+ yappi.start() -+ a() -+ stats = yappi.get_func_stats() -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ -+ self.assertEqual(fsa.ncall, 1) -+ self.assertEqual(fsa.nactualcall, 0) -+ self.assertEqual(fsa.ttot, 0) # no call_leave called -+ self.assertEqual(fsa.tsub, 0) # no call_leave called -+ self.assertEqual(fsb.ttot, 4) -+ -+ -+class RecursiveFunctions(utils.YappiUnitTestCase): -+ -+ def test_fibonacci(self): -+ -+ def fib(n): -+ if n > 1: -+ return fib(n - 1) + fib(n - 2) -+ else: -+ return n -+ -+ stats = utils.run_and_get_func_stats(fib, 22) -+ fs = utils.find_stat_by_name(stats, 'fib') -+ self.assertEqual(fs.ncall, 57313) -+ self.assertEqual(fs.ttot, fs.tsub) -+ -+ def test_abcadc(self): -+ _timings = { -+ "a_1": 20, -+ "b_1": 19, -+ "c_1": 17, -+ "a_2": 13, -+ "d_1": 12, -+ "c_2": 10, -+ "a_3": 5 -+ } -+ _yappi._set_test_timings(_timings) -+ -+ def a(n): -+ if n == 3: -+ return -+ if n == 1 + 1: -+ d(n) -+ else: -+ b(n) -+ -+ def b(n): -+ c(n) -+ -+ def c(n): -+ a(n + 1) -+ -+ def d(n): -+ c(n) -+ -+ stats = utils.run_and_get_func_stats(a, 1) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ fsc = utils.find_stat_by_name(stats, 'c') -+ fsd = utils.find_stat_by_name(stats, 'd') -+ self.assertEqual(fsa.ncall, 3) -+ self.assertEqual(fsa.nactualcall, 1) -+ self.assertEqual(fsa.ttot, 20) -+ self.assertEqual(fsa.tsub, 7) -+ self.assertEqual(fsb.ttot, 19) -+ self.assertEqual(fsb.tsub, 2) -+ self.assertEqual(fsc.ttot, 17) -+ self.assertEqual(fsc.tsub, 9) -+ self.assertEqual(fsd.ttot, 12) -+ self.assertEqual(fsd.tsub, 2) -+ cfsca = fsc.children[fsa] -+ self.assertEqual(cfsca.nactualcall, 0) -+ self.assertEqual(cfsca.ncall, 2) -+ self.assertEqual(cfsca.ttot, 13) -+ self.assertEqual(cfsca.tsub, 6) -+ -+ def test_aaaa(self): -+ _timings = {"d_1": 9, "d_2": 7, "d_3": 3, "d_4": 2} -+ _yappi._set_test_timings(_timings) -+ -+ def d(n): -+ if n == 3: -+ return -+ d(n + 1) -+ -+ stats = utils.run_and_get_func_stats(d, 0) -+ fsd = utils.find_stat_by_name(stats, 'd') -+ self.assertEqual(fsd.ncall, 4) -+ self.assertEqual(fsd.nactualcall, 1) -+ self.assertEqual(fsd.ttot, 9) -+ self.assertEqual(fsd.tsub, 9) -+ cfsdd = fsd.children[fsd] -+ self.assertEqual(cfsdd.ttot, 7) -+ self.assertEqual(cfsdd.tsub, 7) -+ self.assertEqual(cfsdd.ncall, 3) -+ self.assertEqual(cfsdd.nactualcall, 0) -+ -+ def test_abcabc(self): -+ _timings = { -+ "a_1": 20, -+ "b_1": 19, -+ "c_1": 17, -+ "a_2": 13, -+ "b_2": 11, -+ "c_2": 9, -+ "a_3": 6 -+ } -+ _yappi._set_test_timings(_timings) -+ -+ def a(n): -+ if n == 3: -+ return -+ else: -+ b(n) -+ -+ def b(n): -+ c(n) -+ -+ def c(n): -+ a(n + 1) -+ -+ stats = utils.run_and_get_func_stats(a, 1) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ fsc = utils.find_stat_by_name(stats, 'c') -+ self.assertEqual(fsa.ncall, 3) -+ self.assertEqual(fsa.nactualcall, 1) -+ self.assertEqual(fsa.ttot, 20) -+ self.assertEqual(fsa.tsub, 9) -+ self.assertEqual(fsb.ttot, 19) -+ self.assertEqual(fsb.tsub, 4) -+ self.assertEqual(fsc.ttot, 17) -+ self.assertEqual(fsc.tsub, 7) -+ cfsab = fsa.children[fsb] -+ cfsbc = fsb.children[fsc] -+ cfsca = fsc.children[fsa] -+ self.assertEqual(cfsab.ttot, 19) -+ self.assertEqual(cfsab.tsub, 4) -+ self.assertEqual(cfsbc.ttot, 17) -+ self.assertEqual(cfsbc.tsub, 7) -+ self.assertEqual(cfsca.ttot, 13) -+ self.assertEqual(cfsca.tsub, 8) -+ -+ def test_abcbca(self): -+ _timings = {"a_1": 10, "b_1": 9, "c_1": 7, "b_2": 4, "c_2": 2, "a_2": 1} -+ _yappi._set_test_timings(_timings) -+ self._ncall = 1 -+ -+ def a(): -+ if self._ncall == 1: -+ b() -+ else: -+ return -+ -+ def b(): -+ c() -+ -+ def c(): -+ if self._ncall == 1: -+ self._ncall += 1 -+ b() -+ else: -+ a() -+ -+ stats = utils.run_and_get_func_stats(a) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ fsc = utils.find_stat_by_name(stats, 'c') -+ cfsab = fsa.children[fsb] -+ cfsbc = fsb.children[fsc] -+ cfsca = fsc.children[fsa] -+ self.assertEqual(fsa.ttot, 10) -+ self.assertEqual(fsa.tsub, 2) -+ self.assertEqual(fsb.ttot, 9) -+ self.assertEqual(fsb.tsub, 4) -+ self.assertEqual(fsc.ttot, 7) -+ self.assertEqual(fsc.tsub, 4) -+ self.assertEqual(cfsab.ttot, 9) -+ self.assertEqual(cfsab.tsub, 2) -+ self.assertEqual(cfsbc.ttot, 7) -+ self.assertEqual(cfsbc.tsub, 4) -+ self.assertEqual(cfsca.ttot, 1) -+ self.assertEqual(cfsca.tsub, 1) -+ self.assertEqual(cfsca.ncall, 1) -+ self.assertEqual(cfsca.nactualcall, 0) -+ -+ def test_aabccb(self): -+ _timings = { -+ "a_1": 13, -+ "a_2": 11, -+ "b_1": 9, -+ "c_1": 5, -+ "c_2": 3, -+ "b_2": 1 -+ } -+ _yappi._set_test_timings(_timings) -+ self._ncall = 1 -+ -+ def a(): -+ if self._ncall == 1: -+ self._ncall += 1 -+ a() -+ else: -+ b() -+ -+ def b(): -+ if self._ncall == 3: -+ return -+ else: -+ c() -+ -+ def c(): -+ if self._ncall == 2: -+ self._ncall += 1 -+ c() -+ else: -+ b() -+ -+ stats = utils.run_and_get_func_stats(a) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ fsc = utils.find_stat_by_name(stats, 'c') -+ cfsaa = fsa.children[fsa.index] -+ cfsab = fsa.children[fsb] -+ cfsbc = fsb.children[fsc.full_name] -+ cfscc = fsc.children[fsc] -+ cfscb = fsc.children[fsb] -+ self.assertEqual(fsb.ttot, 9) -+ self.assertEqual(fsb.tsub, 5) -+ self.assertEqual(cfsbc.ttot, 5) -+ self.assertEqual(cfsbc.tsub, 2) -+ self.assertEqual(fsa.ttot, 13) -+ self.assertEqual(fsa.tsub, 4) -+ self.assertEqual(cfsab.ttot, 9) -+ self.assertEqual(cfsab.tsub, 4) -+ self.assertEqual(cfsaa.ttot, 11) -+ self.assertEqual(cfsaa.tsub, 2) -+ self.assertEqual(fsc.ttot, 5) -+ self.assertEqual(fsc.tsub, 4) -+ -+ def test_abaa(self): -+ _timings = {"a_1": 13, "b_1": 10, "a_2": 9, "a_3": 5} -+ _yappi._set_test_timings(_timings) -+ -+ self._ncall = 1 -+ -+ def a(): -+ if self._ncall == 1: -+ b() -+ elif self._ncall == 2: -+ self._ncall += 1 -+ a() -+ else: -+ return -+ -+ def b(): -+ self._ncall += 1 -+ a() -+ -+ stats = utils.run_and_get_func_stats(a) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ cfsaa = fsa.children[fsa] -+ cfsba = fsb.children[fsa] -+ self.assertEqual(fsb.ttot, 10) -+ self.assertEqual(fsb.tsub, 1) -+ self.assertEqual(fsa.ttot, 13) -+ self.assertEqual(fsa.tsub, 12) -+ self.assertEqual(cfsaa.ttot, 5) -+ self.assertEqual(cfsaa.tsub, 5) -+ self.assertEqual(cfsba.ttot, 9) -+ self.assertEqual(cfsba.tsub, 4) -+ -+ def test_aabb(self): -+ _timings = {"a_1": 13, "a_2": 10, "b_1": 9, "b_2": 5} -+ _yappi._set_test_timings(_timings) -+ -+ self._ncall = 1 -+ -+ def a(): -+ if self._ncall == 1: -+ self._ncall += 1 -+ a() -+ elif self._ncall == 2: -+ b() -+ else: -+ return -+ -+ def b(): -+ if self._ncall == 2: -+ self._ncall += 1 -+ b() -+ else: -+ return -+ -+ stats = utils.run_and_get_func_stats(a) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ cfsaa = fsa.children[fsa] -+ cfsab = fsa.children[fsb] -+ cfsbb = fsb.children[fsb] -+ self.assertEqual(fsa.ttot, 13) -+ self.assertEqual(fsa.tsub, 4) -+ self.assertEqual(fsb.ttot, 9) -+ self.assertEqual(fsb.tsub, 9) -+ self.assertEqual(cfsaa.ttot, 10) -+ self.assertEqual(cfsaa.tsub, 1) -+ self.assertEqual(cfsab.ttot, 9) -+ self.assertEqual(cfsab.tsub, 4) -+ self.assertEqual(cfsbb.ttot, 5) -+ self.assertEqual(cfsbb.tsub, 5) -+ -+ def test_abbb(self): -+ _timings = {"a_1": 13, "b_1": 10, "b_2": 6, "b_3": 1} -+ _yappi._set_test_timings(_timings) -+ -+ self._ncall = 1 -+ -+ def a(): -+ if self._ncall == 1: -+ b() -+ -+ def b(): -+ if self._ncall == 3: -+ return -+ self._ncall += 1 -+ b() -+ -+ stats = utils.run_and_get_func_stats(a) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ cfsab = fsa.children[fsb] -+ cfsbb = fsb.children[fsb] -+ self.assertEqual(fsa.ttot, 13) -+ self.assertEqual(fsa.tsub, 3) -+ self.assertEqual(fsb.ttot, 10) -+ self.assertEqual(fsb.tsub, 10) -+ self.assertEqual(fsb.ncall, 3) -+ self.assertEqual(fsb.nactualcall, 1) -+ self.assertEqual(cfsab.ttot, 10) -+ self.assertEqual(cfsab.tsub, 4) -+ self.assertEqual(cfsbb.ttot, 6) -+ self.assertEqual(cfsbb.tsub, 6) -+ self.assertEqual(cfsbb.nactualcall, 0) -+ self.assertEqual(cfsbb.ncall, 2) -+ -+ def test_aaab(self): -+ _timings = {"a_1": 13, "a_2": 10, "a_3": 6, "b_1": 1} -+ _yappi._set_test_timings(_timings) -+ -+ self._ncall = 1 -+ -+ def a(): -+ if self._ncall == 3: -+ b() -+ return -+ self._ncall += 1 -+ a() -+ -+ def b(): -+ return -+ -+ stats = utils.run_and_get_func_stats(a) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ cfsaa = fsa.children[fsa] -+ cfsab = fsa.children[fsb] -+ self.assertEqual(fsa.ttot, 13) -+ self.assertEqual(fsa.tsub, 12) -+ self.assertEqual(fsb.ttot, 1) -+ self.assertEqual(fsb.tsub, 1) -+ self.assertEqual(cfsaa.ttot, 10) -+ self.assertEqual(cfsaa.tsub, 9) -+ self.assertEqual(cfsab.ttot, 1) -+ self.assertEqual(cfsab.tsub, 1) -+ -+ def test_abab(self): -+ _timings = {"a_1": 13, "b_1": 10, "a_2": 6, "b_2": 1} -+ _yappi._set_test_timings(_timings) -+ -+ self._ncall = 1 -+ -+ def a(): -+ b() -+ -+ def b(): -+ if self._ncall == 2: -+ return -+ self._ncall += 1 -+ a() -+ -+ stats = utils.run_and_get_func_stats(a) -+ fsa = utils.find_stat_by_name(stats, 'a') -+ fsb = utils.find_stat_by_name(stats, 'b') -+ cfsab = fsa.children[fsb] -+ cfsba = fsb.children[fsa] -+ self.assertEqual(fsa.ttot, 13) -+ self.assertEqual(fsa.tsub, 8) -+ self.assertEqual(fsb.ttot, 10) -+ self.assertEqual(fsb.tsub, 5) -+ self.assertEqual(cfsab.ttot, 10) -+ self.assertEqual(cfsab.tsub, 5) -+ self.assertEqual(cfsab.ncall, 2) -+ self.assertEqual(cfsab.nactualcall, 1) -+ self.assertEqual(cfsba.ttot, 6) -+ self.assertEqual(cfsba.tsub, 5) -+ -+ -+if __name__ == '__main__': -+ # import sys;sys.argv = ['', 'BasicUsage.test_run_as_script'] -+ # import sys;sys.argv = ['', 'MultithreadedScenarios.test_subsequent_profile'] -+ unittest.main() --- -2.34.1 - diff --git a/meta-python/recipes-devtools/python/python3-yappi_1.7.3.bb b/meta-python/recipes-devtools/python/python3-yappi_1.7.3.bb deleted file mode 100644 index 3e735f71249..00000000000 --- a/meta-python/recipes-devtools/python/python3-yappi_1.7.3.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Yet Another Python Profiler" -HOMEPAGE = "https://github.com/sumerc/yappi" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=71c208c9a4fd864385eb69ad4caa3bee" - -SRC_URI[sha256sum] = "bef71ad0595b600261668dcb1e18b935a7117a724c04d7be60d9d246e32d0928" - -SRC_URI += " \ - file://0001-test_functionality-convert-line-endings-to-Unix.patch \ - file://0002-Fix-import-of-tests.utils-to-enable-pytest.patch \ - " - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -RDEPENDS:${PN} += "\ - python3-datetime \ - python3-pickle \ - python3-threading \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-gevent \ - python3-multiprocessing \ - python3-pytest \ - python3-profile \ - python3-unittest-automake-output \ - python3-zopeinterface \ -" - -do_install_ptest:append() { - cp -f ${S}/run_tests.py ${D}${PTEST_PATH} -} - diff --git a/meta-python/recipes-devtools/python/python3-yappi_1.7.6.bb b/meta-python/recipes-devtools/python/python3-yappi_1.7.6.bb new file mode 100644 index 00000000000..fefed051ab6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-yappi_1.7.6.bb @@ -0,0 +1,33 @@ +SUMMARY = "Yet Another Python Profiler" +HOMEPAGE = "https://github.com/sumerc/yappi" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=71c208c9a4fd864385eb69ad4caa3bee" + +SRC_URI[sha256sum] = "c94281936af77c00c6ac2306a0e7f85a67e354d717120df85fcc5dfb9243d4dd" + +SRC_URI += " \ + file://0002-Fix-import-of-tests.utils-to-enable-pytest.patch \ + " + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +RDEPENDS:${PN} += "\ + python3-datetime \ + python3-pickle \ + python3-threading \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-gevent \ + python3-multiprocessing \ + python3-pytest \ + python3-profile \ + python3-unittest-automake-output \ + python3-zopeinterface \ +" + +do_install_ptest:append() { + cp -f ${S}/run_tests.py ${D}${PTEST_PATH} +} + diff --git a/meta-python/recipes-devtools/python/python3-yarl/0001-build-wheel-in-place.patch b/meta-python/recipes-devtools/python/python3-yarl/0001-build-wheel-in-place.patch deleted file mode 100644 index 84f81da7755..00000000000 --- a/meta-python/recipes-devtools/python/python3-yarl/0001-build-wheel-in-place.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 606843ad079d9d0dac1172533d42b5a2327b99ed Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Wed, 17 Sep 2025 15:41:09 +0800 -Subject: [PATCH] build wheel in place - -In order to make the generated library be reproducible, build wheel -in source dir other than tmp dir (/tmp/xxxxxx), then yocto toolchain's -option -fdebug-prefix-map could work as expected - -Upstream-Status: Pending -Signed-off-by: Hongxu Jia ---- - packaging/pep517_backend/_backend.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/packaging/pep517_backend/_backend.py b/packaging/pep517_backend/_backend.py -index 61cad34..d5d839e 100644 ---- a/packaging/pep517_backend/_backend.py -+++ b/packaging/pep517_backend/_backend.py -@@ -316,7 +316,7 @@ def build_wheel( - """ - with maybe_prebuild_c_extensions( - line_trace_cython_when_unset=False, -- build_inplace=False, -+ build_inplace=True, - config_settings=config_settings, - ): - return _setuptools_build_wheel( --- -2.34.1 - diff --git a/meta-python/recipes-devtools/python/python3-yarl_1.22.0.bb b/meta-python/recipes-devtools/python/python3-yarl_1.22.0.bb deleted file mode 100644 index 6c2e2259b79..00000000000 --- a/meta-python/recipes-devtools/python/python3-yarl_1.22.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "The module provides handy URL class for url parsing and changing" -HOMEPAGE = "https://github.com/aio-libs/yarl/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI[sha256sum] = "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71" - -PYPI_PACKAGE = "yarl" - -inherit pypi ptest-python-pytest python_setuptools_build_meta cython - -SRC_URI += " \ - file://0001-build-wheel-in-place.patch \ -" - -DEPENDS += " \ - python3-expandvars-native \ -" - -RDEPENDS:${PN} = "\ - python3-multidict \ - python3-idna \ - python3-io \ - python3-propcache \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-hypothesis \ - python3-image \ - python3-pytest \ - python3-pytest-codspeed \ - python3-rich \ - python3-unittest-automake-output \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-yarl_1.23.0.bb b/meta-python/recipes-devtools/python/python3-yarl_1.23.0.bb new file mode 100644 index 00000000000..6a973f9acbe --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-yarl_1.23.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "The module provides handy URL class for url parsing and changing" +HOMEPAGE = "https://github.com/aio-libs/yarl/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[sha256sum] = "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5" + +PYPI_PACKAGE = "yarl" + +inherit pypi ptest-python-pytest python_setuptools_build_meta cython + +PEP517_BUILD_OPTS = "--config-setting=build-inplace=true" + + +DEPENDS += " \ + python3-expandvars-native \ +" + +RDEPENDS:${PN} = "\ + python3-multidict \ + python3-idna \ + python3-io \ + python3-propcache \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-hypothesis \ + python3-image \ + python3-pytest \ + python3-pytest-codspeed \ + python3-rich \ + python3-unittest-automake-output \ +" + +INSANE_SKIP:${PN} = "already-stripped" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-zopeinterface/0001-Allow-using-setuptools-74.patch b/meta-python/recipes-devtools/python/python3-zopeinterface/0001-Allow-using-setuptools-74.patch deleted file mode 100644 index a01247fe5ae..00000000000 --- a/meta-python/recipes-devtools/python/python3-zopeinterface/0001-Allow-using-setuptools-74.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 5060ecfe6cff5110cbfbc781fc7342ad08fc6f90 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 23 Nov 2024 18:30:40 -0800 -Subject: [PATCH] Allow using setuptools > 74 - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - pyproject.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pyproject.toml b/pyproject.toml -index 17da486..7906a37 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -3,7 +3,7 @@ - # https://github.com/zopefoundation/meta/tree/master/config/c-code - - [build-system] --requires = ["setuptools<74"] -+requires = ["setuptools"] - build-backend = "setuptools.build_meta" - - [tool.coverage.run] diff --git a/meta-python/recipes-devtools/python/python3-zopeinterface_7.1.1.bb b/meta-python/recipes-devtools/python/python3-zopeinterface_7.1.1.bb deleted file mode 100644 index 79e00ce23e1..00000000000 --- a/meta-python/recipes-devtools/python/python3-zopeinterface_7.1.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Interface definitions for Zope products" -LICENSE = "ZPL-2.1" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46" - -PYPI_PACKAGE = "zope.interface" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -inherit pypi python_setuptools_build_meta -SRC_URI += "file://0001-Allow-using-setuptools-74.patch" -SRC_URI[sha256sum] = "4284d664ef0ff7b709836d4de7b13d80873dc5faeffc073abdb280058bfac5e3" -PACKAGES =. "${PN}-test " - -RPROVIDES:${PN} += "zope-interfaces" - -RDEPENDS:${PN}:class-target += "python3-datetime" -RDEPENDS:${PN}-test += "python3-unittest python3-doctest" - -FILES:${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" -FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" -FILES:${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" -FILES:${PN}-test += " \ - ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ - ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ -" diff --git a/meta-python/recipes-devtools/python/python3-zopeinterface_8.3.bb b/meta-python/recipes-devtools/python/python3-zopeinterface_8.3.bb new file mode 100644 index 00000000000..2dc586a3ab5 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-zopeinterface_8.3.bb @@ -0,0 +1,23 @@ +SUMMARY = "Interface definitions for Zope products" +LICENSE = "ZPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=78ccb3640dc841e1baecb3e27a6966b2" + +PYPI_PACKAGE = "zope_interface" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +inherit pypi python_setuptools_build_meta +SRC_URI[sha256sum] = "e1a9de7d0b5b5c249a73b91aebf4598ce05e334303af6aa94865893283e9ff10" +PACKAGES =. "${PN}-test " + +RPROVIDES:${PN} += "zope-interfaces" + +RDEPENDS:${PN}:append:class-target = " python3-datetime" +RDEPENDS:${PN}-test += "python3-unittest python3-doctest" + +FILES:${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" +FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" +FILES:${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" +FILES:${PN}-test += " \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ +" diff --git a/meta-python/recipes-devtools/python/tftpy_0.8.6.bb b/meta-python/recipes-devtools/python/tftpy_0.8.6.bb deleted file mode 100644 index 74889c28410..00000000000 --- a/meta-python/recipes-devtools/python/tftpy_0.8.6.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Tftpy is a TFTP library for the Python programming language. It includes client and server classes, with sample implementations." -DESCRIPTION = "Tftpy is a TFTP library for the Python programming language. It \ -includes client and server classes, with sample implementations. Hooks are \ -included for easy inclusion in a UI for populating progress indicators. It \ -supports RFCs 1350, 2347, 2348 and the tsize option from RFC 2349." - -HOMEPAGE = "https://github.com/msoulier/tftpy" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=22770e72ae03c61f5bcc4e333b61368d" - -SRC_URI[sha256sum] = "f616f6a43a36d481c266573608597b9dd3c7c63818415d72aa04f1d1795480ea" - -inherit pypi python_setuptools_build_meta diff --git a/meta-python/recipes-devtools/python/tftpy_0.8.7.bb b/meta-python/recipes-devtools/python/tftpy_0.8.7.bb new file mode 100644 index 00000000000..7bb1ebeb579 --- /dev/null +++ b/meta-python/recipes-devtools/python/tftpy_0.8.7.bb @@ -0,0 +1,13 @@ +SUMMARY = "Tftpy is a TFTP library for the Python programming language. It includes client and server classes, with sample implementations." +DESCRIPTION = "Tftpy is a TFTP library for the Python programming language. It \ +includes client and server classes, with sample implementations. Hooks are \ +included for easy inclusion in a UI for populating progress indicators. It \ +supports RFCs 1350, 2347, 2348 and the tsize option from RFC 2349." + +HOMEPAGE = "https://github.com/msoulier/tftpy" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=22770e72ae03c61f5bcc4e333b61368d" + +SRC_URI[sha256sum] = "e8a5aa092dab2e1cbb9b94392036827b808dc37eb6cf1b1ab33c81957b3f5fe2" + +inherit pypi python_setuptools_build_meta diff --git a/meta-python/recipes-devtools/python3-mlcommons-loadgen/files/source-date-epoch.patch b/meta-python/recipes-devtools/python3-mlcommons-loadgen/files/source-date-epoch.patch index 32e529d4831..3eac44e738b 100644 --- a/meta-python/recipes-devtools/python3-mlcommons-loadgen/files/source-date-epoch.patch +++ b/meta-python/recipes-devtools/python3-mlcommons-loadgen/files/source-date-epoch.patch @@ -1,6 +1,6 @@ -From dd7925397b84c2a327cd4594edba9f7ca5acef61 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Fri, 26 Sep 2025 14:02:23 +0800 +From 99dfd88de60dd55bd3b5e7c0516b3882a8e56698 Mon Sep 17 00:00:00 2001 +From: Liu Yiding +Date: Wed, 15 Apr 2026 06:09:37 +0000 Subject: [PATCH] Honor the SOURCE_DATE_EPOCH variable Implement the SOURCE_DATE_EPOCH specification[1] for reproducible @@ -12,30 +12,33 @@ current time. Upstream-Status: Submitted [https://github.com/mlcommons/inference/pull/2345] Signed-off-by: Hongxu Jia + +Update for 6.0.14 +Signed-off-by: Liu Yiding --- version_generator.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/version_generator.py b/version_generator.py -index 2e75243..5202da9 100644 +index b88ae8e..b083eec 100644 --- a/version_generator.py +++ b/version_generator.py -@@ -110,8 +110,13 @@ def generate_loadgen_version_definitions(cc_filename, loadgen_root): - # Write the version into the function definition - ofile.write(func_def("Version", f"\"{version_contents}\"")) - -- date_time_now_local = datetime.datetime.now().isoformat() -- date_time_now_utc = datetime.datetime.utcnow().isoformat() -+ if os.environ.get('SOURCE_DATE_EPOCH', False): -+ source_date_epoch = int(os.environ['SOURCE_DATE_EPOCH']) -+ date_time_now_local = datetime.datetime.fromtimestamp(source_date_epoch).isoformat() -+ date_time_now_utc = datetime.datetime.fromtimestamp(source_date_epoch, tz=datetime.timezone.utc).isoformat() -+ else: -+ date_time_now_local = datetime.datetime.now().isoformat() -+ date_time_now_utc = datetime.datetime.utcnow().isoformat() - ofile.write(func_def("BuildDateLocal", '"' + date_time_now_local + '"')) - ofile.write(func_def("BuildDateUtc", '"' + date_time_now_utc + '"')) +@@ -113,8 +113,13 @@ def generate_loadgen_version_definitions(cc_filename, loadgen_root): + # Write the version into the function definition + ofile.write(func_def("Version", f"\"{version_contents}\"")) +- date_time_now_local = datetime.datetime.now().isoformat() +- date_time_now_utc = datetime.datetime.utcnow().isoformat() ++ if os.environ.get('SOURCE_DATE_EPOCH', False): ++ source_date_epoch = int(os.environ['SOURCE_DATE_EPOCH']) ++ date_time_now_local = datetime.datetime.fromtimestamp(source_date_epoch).isoformat() ++ date_time_now_utc = datetime.datetime.fromtimestamp(source_date_epoch, tz=datetime.timezone.utc).isoformat() ++ else: ++ date_time_now_local = datetime.datetime.now().isoformat() ++ date_time_now_utc = datetime.datetime.utcnow().isoformat() + ofile.write( + func_def( + "BuildDateLocal", -- -2.34.1 +2.43.0 diff --git a/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_5.1.2.bb b/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_5.1.2.bb deleted file mode 100644 index 79687290f55..00000000000 --- a/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_5.1.2.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "MLPerf Inference LoadGen python bindings" -DESCRIPTION = "The LoadGen is a reusable module that efficiently and fairly \ - measures the performance of inference systems. It generates \ - traffic for scenarios as formulated by a diverse set of experts \ - in the MLCommons working group, to emulate the workloads seen in \ - mobile devices, autonomous vehicles, robotics, and cloud-based \ - setups." -HOMEPAGE = "https://mlcommons.org/" -BUGTRACKER = "https://github.com/mlcommons/inference/issues" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://setup.py;beginline=1;endline=14;md5=2c6e34309ef8d57d59ce119f63bc1b76" - -DEPENDS = "python3-pybind11-native" - -inherit setuptools3 pypi - -SRC_URI += " \ - file://source-date-epoch.patch \ -" - -PYPI_PACKAGE = "mlcommons_loadgen" -UPSTREAM_CHECK_PYPI_PACKAGE = "mlcommons_loadgen" - -SRC_URI[sha256sum] = "cd686a6223c978d1056e38a417e4807bfa21c855189f7882d24c8313174bca74" - -# Because the pyproject.toml contains invalid requirements. -INSANE_SKIP += "pep517-backend" diff --git a/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_6.0.14.bb b/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_6.0.14.bb new file mode 100644 index 00000000000..3299f25080e --- /dev/null +++ b/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_6.0.14.bb @@ -0,0 +1,27 @@ +SUMMARY = "MLPerf Inference LoadGen python bindings" +DESCRIPTION = "The LoadGen is a reusable module that efficiently and fairly \ + measures the performance of inference systems. It generates \ + traffic for scenarios as formulated by a diverse set of experts \ + in the MLCommons working group, to emulate the workloads seen in \ + mobile devices, autonomous vehicles, robotics, and cloud-based \ + setups." +HOMEPAGE = "https://mlcommons.org/" +BUGTRACKER = "https://github.com/mlcommons/inference/issues" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://setup.py;beginline=1;endline=14;md5=2c6e34309ef8d57d59ce119f63bc1b76" + +DEPENDS = "python3-pybind11-native" + +inherit setuptools3 pypi + +SRC_URI += " \ + file://source-date-epoch.patch \ +" + +PYPI_PACKAGE = "mlcommons_loadgen" +UPSTREAM_CHECK_PYPI_PACKAGE = "mlcommons_loadgen" + +SRC_URI[sha256sum] = "9a56e361b4614938acdb6a601cc9c57ce551809f831023401bbac6dd7eb00970" + +# Because the pyproject.toml contains invalid requirements. +INSANE_SKIP += "pep517-backend" diff --git a/meta-python/recipes-devtools/python3-nltk/python3-nltk_3.9.2.bb b/meta-python/recipes-devtools/python3-nltk/python3-nltk_3.9.2.bb deleted file mode 100644 index 43c23254d91..00000000000 --- a/meta-python/recipes-devtools/python3-nltk/python3-nltk_3.9.2.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Natural Language Toolkit" -DESCRIPTION = "NLTK is a leading platform for building Python programs to work \ - with human language data. It provides easy-to-use interfaces to \ - over 50 corpora and lexical resources such as WordNet" -HOMEPAGE = "https://www.nltk.org" -BUGTRACKER = "https://github.com/nltk/nltk/issues" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -CVE_PRODUCT = "nltk" - -RDEPENDS:${PN} = "\ - python3-click \ - python3-joblib \ - python3-tqdm \ - python3-regex \ - python3-xmlschema \ -" - -RRECOMMENDS:${PN} = "\ - python3-numpy \ -" - -inherit setuptools3 pypi - -SRC_URI[sha256sum] = "0f409e9b069ca4177c1903c3e843eef90c7e92992fa4931ae607da6de49e1419" diff --git a/meta-python/recipes-devtools/python3-nltk/python3-nltk_3.9.4.bb b/meta-python/recipes-devtools/python3-nltk/python3-nltk_3.9.4.bb new file mode 100644 index 00000000000..50c751ba981 --- /dev/null +++ b/meta-python/recipes-devtools/python3-nltk/python3-nltk_3.9.4.bb @@ -0,0 +1,27 @@ +SUMMARY = "Natural Language Toolkit" +DESCRIPTION = "NLTK is a leading platform for building Python programs to work \ + with human language data. It provides easy-to-use interfaces to \ + over 50 corpora and lexical resources such as WordNet" +HOMEPAGE = "https://www.nltk.org" +BUGTRACKER = "https://github.com/nltk/nltk/issues" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +CVE_PRODUCT = "nltk" +CVE_STATUS[CVE-2026-0846] = "fixed-version: fixed in 3.9.3" + +RDEPENDS:${PN} = "\ + python3-click \ + python3-joblib \ + python3-tqdm \ + python3-regex \ + python3-xmlschema \ +" + +RRECOMMENDS:${PN} = "\ + python3-numpy \ +" + +inherit setuptools3 pypi + +SRC_URI[sha256sum] = "ed03bc098a40481310320808b2db712d95d13ca65b27372f8a403949c8b523d0" diff --git a/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.4.bb b/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.4.bb deleted file mode 100644 index 2899f6909e5..00000000000 --- a/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.4.bb +++ /dev/null @@ -1,40 +0,0 @@ -DESCRIPTION = "Python3 interface to the wxWidgets Cross-platform C++ GUI toolkit." -HOMEPAGE = "https://www.wxpython.org" - -LICENSE = "LGPL-2.0-only & WXwindows & BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=102f37a0d23aa258e59e4cc8b5380b35" - -DEPENDS = "python3-attrdict3-native python3-six-native wxwidgets-native \ - python3-requests-native wxwidgets \ - " - -PYPI_PACKAGE = "wxpython" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -SRC_URI += "file://add-back-option-build-base.patch \ - file://wxgtk-fixup-build-scripts.patch \ - file://not-overwrite-cflags-cxxflags.patch \ - file://0001-sip-Conditionally-use-GetAssertStackTrace-under-USE_.patch \ - " -SRC_URI[sha256sum] = "2eb123979c87bcb329e8a2452269d60ff8f9f651e9bf25c67579e53c4ebbae3c" - -inherit pypi setuptools3 cython pkgconfig features_check - -S = "${UNPACKDIR}/wxPython-${PV}" - -REQUIRED_DISTRO_FEATURES = "x11" - -export WX_CONFIG = "'${RECIPE_SYSROOT_NATIVE}${bindir}/wx-config --prefix=${STAGING_EXECPREFIXDIR} --baselib=${baselib}'" - -RDEPENDS:${PN} = "\ - python3-difflib \ - python3-image \ - python3-numpy \ - python3-pillow \ - python3-pip \ - python3-pprint \ - python3-pycairo \ - python3-six \ - python3-xml \ - python3-cairocffi \ -" diff --git a/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.5.bb b/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.5.bb new file mode 100644 index 00000000000..857d8e46fa8 --- /dev/null +++ b/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.5.bb @@ -0,0 +1,38 @@ +DESCRIPTION = "Python3 interface to the wxWidgets Cross-platform C++ GUI toolkit." +HOMEPAGE = "https://www.wxpython.org" + +LICENSE = "LGPL-2.0-only & WXwindows & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=102f37a0d23aa258e59e4cc8b5380b35" + +DEPENDS = "python3-attrdict3-native python3-six-native wxwidgets-native \ + python3-requests-native wxwidgets \ + " + +PYPI_PACKAGE = "wxpython" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +SRC_URI += "file://add-back-option-build-base.patch \ + file://wxgtk-fixup-build-scripts.patch \ + file://not-overwrite-cflags-cxxflags.patch \ + file://0001-sip-Conditionally-use-GetAssertStackTrace-under-USE_.patch \ + " +SRC_URI[sha256sum] = "44e836d1bccd99c38790bb034b6ecf70d9060f6734320560f7c4b0d006144793" + +inherit pypi setuptools3 cython pkgconfig features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +export WX_CONFIG = "'${RECIPE_SYSROOT_NATIVE}${bindir}/wx-config --prefix=${STAGING_EXECPREFIXDIR} --baselib=${baselib}'" + +RDEPENDS:${PN} = "\ + python3-difflib \ + python3-image \ + python3-numpy \ + python3-pillow \ + python3-pip \ + python3-pprint \ + python3-pycairo \ + python3-six \ + python3-xml \ + python3-cairocffi \ +" diff --git a/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch b/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch deleted file mode 100644 index d3ab8f85260..00000000000 --- a/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6a85945c060154581f5a129a6a946258bf9333c4 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Mon, 8 May 2017 03:54:12 -0400 -Subject: [PATCH 08/11] use oe variable to replace hardcoded dir - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia - -Rebase for python3-blivet 3.4.0. - -Signed-off-by: Kai Kang ---- - setup.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/setup.py b/setup.py -index e6bb3f3..700085b 100644 ---- a/setup.py -+++ b/setup.py -@@ -73,10 +73,10 @@ class blivet_sdist(sdist): - - - data_files = [ -- ('/etc/dbus-1/system.d', ['dbus/blivet.conf']), -- ('/usr/share/dbus-1/system-services', ['dbus/com.redhat.Blivet0.service']), -- ('/usr/libexec', ['dbus/blivetd']), -- ('/usr/lib/systemd/system', ['dbus/blivet.service']) -+ (os.environ.get('sysconfdir')+'/dbus-1/system.d', ['dbus/blivet.conf']), -+ (os.environ.get('datadir')+'/dbus-1/system-services', ['dbus/com.redhat.Blivet0.service']), -+ (os.environ.get('libexecdir'), ['dbus/blivetd']), -+ (os.environ.get('systemd_system_unitdir'), ['dbus/blivet.service']) - ] - - diff --git a/meta-python/recipes-extended/python-blivet/python3-blivet_3.12.1.bb b/meta-python/recipes-extended/python-blivet/python3-blivet_3.12.1.bb deleted file mode 100644 index bf492b3d57f..00000000000 --- a/meta-python/recipes-extended/python-blivet/python3-blivet_3.12.1.bb +++ /dev/null @@ -1,36 +0,0 @@ -DESCRIPTION = "A python module for system storage configuration" -HOMEPAGE = "https://fedoraproject.org/wiki/blivet" -LICENSE = "LGPL-2.0-or-later" -SECTION = "devel/python" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI += "\ - file://0002-run_program-support-timeout.patch \ - file://0003-support-infinit-timeout.patch \ - file://0005-fix-incorrect-timeout-while-system-time-changed.patch \ - file://0006-tweak-btrfs-packages.patch \ - file://0007-invoking-mount-with-infinite-timeout.patch \ - file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \ - file://0009-invoking-fsck-with-infinite-timeout.patch \ - file://0010-invoking-mkfs-with-infinite-timeout.patch \ - file://0011-invoking-dd-with-infinite-timeout.patch \ -" -SRC_URI[sha256sum] = "54775ba212d1574b1b0750ce147f0d3cf3b5d73aaf040d172283edb57db4ba15" - -inherit pypi features_check systemd setuptools3_legacy - -REQUIRED_DISTRO_FEATURES = "systemd" - -RDEPENDS:${PN} += "python3-pykickstart python3-pyudev \ - parted python3-pyparted multipath-tools \ - lsof cryptsetup libblockdev libblockdev-bin \ - libbytesize \ -" - -FILES:${PN} += " \ - ${datadir}/dbus-1/system-services \ -" - -SYSTEMD_AUTO_ENABLE = "disable" -SYSTEMD_SERVICE:${PN} = "blivet.service" diff --git a/meta-python/recipes-extended/python-blivet/python3-blivet_3.13.2.bb b/meta-python/recipes-extended/python-blivet/python3-blivet_3.13.2.bb new file mode 100644 index 00000000000..69ec8c04873 --- /dev/null +++ b/meta-python/recipes-extended/python-blivet/python3-blivet_3.13.2.bb @@ -0,0 +1,47 @@ +DESCRIPTION = "A python module for system storage configuration" +HOMEPAGE = "https://fedoraproject.org/wiki/blivet" +LICENSE = "LGPL-2.0-or-later" +SECTION = "devel/python" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI += "\ + file://0002-run_program-support-timeout.patch \ + file://0003-support-infinit-timeout.patch \ + file://0005-fix-incorrect-timeout-while-system-time-changed.patch \ + file://0006-tweak-btrfs-packages.patch \ + file://0007-invoking-mount-with-infinite-timeout.patch \ + file://0009-invoking-fsck-with-infinite-timeout.patch \ + file://0010-invoking-mkfs-with-infinite-timeout.patch \ + file://0011-invoking-dd-with-infinite-timeout.patch \ +" +SRC_URI[sha256sum] = "6d8374d05eeab513b2a26cf01267e853df7b31e13ad1a1ba7d73a856190d0518" + +inherit pypi features_check systemd python_setuptools_build_meta + +REQUIRED_DISTRO_FEATURES = "systemd" + +RDEPENDS:${PN} += "python3-dasbus python3-pygobject python3-pykickstart python3-pyudev \ + parted python3-pyparted multipath-tools \ + lsof cryptsetup libblockdev libblockdev-bin \ + libbytesize \ + util-linux \ +" + +do_install:append() { + install -d ${D}${sysconfdir}/dbus-1/system.d + install -m 644 ${S}/dbus/blivet.conf ${D}${sysconfdir}/dbus-1/system.d/blivet.conf + install -d ${D}${datadir}/dbus-1/system-services + install -m 644 ${S}/dbus/com.redhat.Blivet0.service ${D}${datadir}/dbus-1/system-services/com.redhat.Blivet0.service + install -d ${D}${libexecdir} + install -m 755 ${S}/dbus/blivetd ${D}${libexecdir}/blivetd + install -d ${D}${systemd_system_unitdir} + install -m 644 ${S}/dbus/blivet.service ${D}${systemd_system_unitdir}/blivet.service +} + +FILES:${PN} += " \ + ${datadir}/dbus-1/system-services \ +" + +SYSTEMD_AUTO_ENABLE = "disable" +SYSTEMD_SERVICE:${PN} = "blivet.service" diff --git a/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.2.1.bb b/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.2.1.bb new file mode 100644 index 00000000000..bc4267ac87d --- /dev/null +++ b/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.2.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "PyEphem astronomical calculations" +HOMEPAGE = "https://rhodesmill.org/pyephem/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9c930b395b435b00bb13ec83b0c99f40" + +SRC_URI[sha256sum] = "920cb30369c79fde1088c2060d555ea5f8a50fdc80a9265832fd5bf195cf147f" + +PYPI_PACKAGE = "ephem" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + python3-datetime \ + python3-math \ + " diff --git a/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.2.bb b/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.2.bb deleted file mode 100644 index 0817bc732ab..00000000000 --- a/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "PyEphem astronomical calculations" -HOMEPAGE = "https://rhodesmill.org/pyephem/" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9c930b395b435b00bb13ec83b0c99f40" - -SRC_URI[sha256sum] = "3c4fd64f453e8f40cf862420a70da95a71b6487ace75e8e0cf85d73707db6065" - -PYPI_PACKAGE = "ephem" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "\ - python3-datetime \ - python3-math \ - " diff --git a/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.63.bb b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.63.bb deleted file mode 100644 index 830e46a63cb..00000000000 --- a/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.63.bb +++ /dev/null @@ -1,39 +0,0 @@ -DESCRIPTION = "A python library for manipulating kickstart files" -HOMEPAGE = "https://fedoraproject.org/wiki/pykickstart" -LICENSE = "GPL-2.0-or-later" - -LIC_FILES_CHKSUM = "file://COPYING;md5=81bcece21748c91ba9992349a91ec11d" - -inherit python_setuptools_build_meta ptest - -RDEPENDS:${PN} = "python3 \ - python3-requests \ - python3-six \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-pytest \ - python3-unittest-automake-output \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests - for file in `grep -Rl unittest.main ${D}${PTEST_PATH}/tests/`; do - dirname=`dirname $file` - basename=`basename $file` - [ $basename != "__init__.py" ] && mv $file ${dirname}/test_${basename} - done -} - -SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=master;tag=r${PV} \ - file://0001-support-authentication-for-kickstart.patch \ - file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \ - file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \ - file://0004-load.py-retry-to-invoke-request-with-timeout.patch \ - file://run-ptest \ - " -SRCREV = "6e0d1238cb4696a9040072a5a28a706e5775c552" - -UPSTREAM_CHECK_GITTAGREGEX = "r(?P\d+(\.\d+)+(-\d+)*)" - diff --git a/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.69.bb b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.69.bb new file mode 100644 index 00000000000..c566f5a0e61 --- /dev/null +++ b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.69.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "A python library for manipulating kickstart files" +HOMEPAGE = "https://fedoraproject.org/wiki/pykickstart" +LICENSE = "GPL-2.0-or-later" + +LIC_FILES_CHKSUM = "file://COPYING;md5=81bcece21748c91ba9992349a91ec11d" + +inherit python_setuptools_build_meta ptest + +RDEPENDS:${PN} = "python3 \ + python3-requests \ + python3-six \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests + for file in `grep -Rl unittest.main ${D}${PTEST_PATH}/tests/`; do + dirname=`dirname $file` + basename=`basename $file` + [ $basename != "__init__.py" ] && mv $file ${dirname}/test_${basename} + done +} + +SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=master;tag=r${PV} \ + file://0001-support-authentication-for-kickstart.patch \ + file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \ + file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \ + file://0004-load.py-retry-to-invoke-request-with-timeout.patch \ + file://run-ptest \ + " +SRCREV = "601ec2d2f254909f56e2ee961d2056e0d5bc4a97" + +UPSTREAM_CHECK_GITTAGREGEX = "r(?P\d+(\.\d+)+(-\d+)*)" + diff --git a/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.13.0.bb b/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.13.0.bb index 0f7065f5aef..ab0fe8c6029 100644 --- a/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.13.0.bb +++ b/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.13.0.bb @@ -15,7 +15,7 @@ inherit pkgconfig pypi setuptools3 DEPENDS += "parted" -RDEPENDS:${PN}:class-target += " \ +RDEPENDS:${PN}:append:class-target = " \ parted (>= 2.3) \ python3-codecs \ python3-math \ diff --git a/meta-python/recipes-extended/python-pytesseract/pytesseract_0.3.13.bb b/meta-python/recipes-extended/python-pytesseract/pytesseract_0.3.13.bb index 0d8cfcb408c..034568251b7 100644 --- a/meta-python/recipes-extended/python-pytesseract/pytesseract_0.3.13.bb +++ b/meta-python/recipes-extended/python-pytesseract/pytesseract_0.3.13.bb @@ -5,7 +5,7 @@ HOMEPAGE = "https://github.com/madmaze/pytesseract" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -SRC_URI[md5sum] = "73f9645e59b437f064d05882b95832ce" +SRC_URI[sha256sum] = "4bf5f880c99406f52a3cfc2633e42d9dc67615e69d8a509d74867d3baddb5db9" RDEPENDS:${PN}:append = " python3-packaging tesseract" diff --git a/meta-python/recipes-extended/python-rich/python3-rich_14.3.2.bb b/meta-python/recipes-extended/python-rich/python3-rich_14.3.2.bb deleted file mode 100644 index 302b1fb862c..00000000000 --- a/meta-python/recipes-extended/python-rich/python3-rich_14.3.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Rich is a Python library for rich text and beautiful formatting in the terminal" -DESCRIPTION = "The Rich API makes it easy to add color and style to terminal output. \ -Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, \ -tracebacks, and more." -HOMEPAGE = "https://github.com/Textualize/rich" -SECTION = "devel/python" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303" - -SRC_URI[sha256sum] = "e712f11c1a562a11843306f5ed999475f09ac31ffb64281f73ab29ffdda8b3b8" - -inherit pypi python_poetry_core - -RDEPENDS:${PN} = "python3-html \ - python3-image \ - python3-pygments \ - python3-unixadmin \ - " - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-extended/python-rich/python3-rich_15.0.0.bb b/meta-python/recipes-extended/python-rich/python3-rich_15.0.0.bb new file mode 100644 index 00000000000..2ab3b2fdbc2 --- /dev/null +++ b/meta-python/recipes-extended/python-rich/python3-rich_15.0.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Rich is a Python library for rich text and beautiful formatting in the terminal" +DESCRIPTION = "The Rich API makes it easy to add color and style to terminal output. \ +Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, \ +tracebacks, and more." +HOMEPAGE = "https://github.com/Textualize/rich" +SECTION = "devel/python" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303" + +SRC_URI[sha256sum] = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" + +inherit pypi python_poetry_core + +RDEPENDS:${PN} = "python3-html \ + python3-image \ + python3-pygments \ + python3-unixadmin \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_1.3.1.bb b/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_1.3.1.bb index f02c96e4058..83156cfddfd 100644 --- a/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_1.3.1.bb +++ b/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_1.3.1.bb @@ -8,7 +8,7 @@ SRC_URI[sha256sum] = "7fb1c32e358d55c2c6966a071c8ecc0ca81de3d32944a67cc646c57b1a inherit pypi setuptools3 -RDEPENDS:${PN}:class-target += "\ +RDEPENDS:${PN}:append:class-target = " \ python3-ply \ python3-pyyaml \ python3-six \ diff --git a/meta-python/recipes-extended/send2trash/python3-send2trash/0001-add-missing-conftest.py.patch b/meta-python/recipes-extended/send2trash/python3-send2trash/0001-add-missing-conftest.py.patch deleted file mode 100644 index 1592fd661c0..00000000000 --- a/meta-python/recipes-extended/send2trash/python3-send2trash/0001-add-missing-conftest.py.patch +++ /dev/null @@ -1,52 +0,0 @@ -From ed6d20884108fd7e681baf7278e38ac4800fb5c1 Mon Sep 17 00:00:00 2001 -From: Gyorgy Sarvari -Date: Fri, 9 Jan 2026 18:04:08 +0100 -Subject: [PATCH] add missing conftest.py - -Conftest.py is missing from the source dictribution of v2.0.0, -making the tests to fail. - -The issue is already solved by upstream, but not tagged yet. -This patch can be removed with the next release. - -Upstream-Status: Inappropriate [workaround until https://github.com/arsenetar/send2trash/commit/f8a40143f696da41f81cae87e1c7f9a345cd4003 is tagged] - -Signed-off-by: Gyorgy Sarvari ---- - tests/conftest.py | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - create mode 100644 tests/conftest.py - -diff --git a/tests/conftest.py b/tests/conftest.py -new file mode 100644 -index 0000000..0753384 ---- /dev/null -+++ b/tests/conftest.py -@@ -0,0 +1,27 @@ -+# encoding: utf-8 -+import sys -+import os -+from tempfile import NamedTemporaryFile -+import pytest -+ -+# Only import HOMETRASH on supported platforms -+if sys.platform != "win32": -+ from send2trash.plat_other import HOMETRASH -+ -+ -+@pytest.fixture(name="test_file") -+def fixture_test_file(): -+ file = NamedTemporaryFile(dir=os.path.expanduser("~"), prefix="send2trash_test", delete=False) -+ file.close() -+ # Verify file was actually created -+ assert os.path.exists(file.name) is True -+ yield file.name -+ # Cleanup trash files on supported platforms -+ if sys.platform != "win32": -+ name = os.path.basename(file.name) -+ # Remove trash files if they exist -+ if os.path.exists(os.path.join(HOMETRASH, "files", name)): -+ os.remove(os.path.join(HOMETRASH, "files", name)) -+ os.remove(os.path.join(HOMETRASH, "info", name + ".trashinfo")) -+ if os.path.exists(file.name): -+ os.remove(file.name) diff --git a/meta-python/recipes-extended/send2trash/python3-send2trash_2.0.0.bb b/meta-python/recipes-extended/send2trash/python3-send2trash_2.0.0.bb deleted file mode 100644 index 48dc8e793f6..00000000000 --- a/meta-python/recipes-extended/send2trash/python3-send2trash_2.0.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Send file to trash natively under Mac OS X, Windows and Linux" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a02659c2d5f4cc626e4dcf6504b865eb" - -inherit pypi python_setuptools_build_meta ptest-python-pytest - -SRC_URI += "file://0001-add-missing-conftest.py.patch \ - file://run-ptest" -SRC_URI[sha256sum] = "1761421da3f9930bfe51ed7c45343948573383ad4c27e3acebc91be324e7770d" - -PYPI_PACKAGE = "send2trash" -UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" - -RDEPENDS:${PN} += "\ - python3-io \ - python3-datetime \ -" diff --git a/meta-python/recipes-extended/send2trash/python3-send2trash_2.1.0.bb b/meta-python/recipes-extended/send2trash/python3-send2trash_2.1.0.bb new file mode 100644 index 00000000000..147603a45b0 --- /dev/null +++ b/meta-python/recipes-extended/send2trash/python3-send2trash_2.1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Send file to trash natively under Mac OS X, Windows and Linux" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a02659c2d5f4cc626e4dcf6504b865eb" + +inherit pypi python_setuptools_build_meta ptest-python-pytest + +SRC_URI += "file://run-ptest" +SRC_URI[sha256sum] = "1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459" + +PYPI_PACKAGE = "send2trash" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN} += "\ + python3-io \ + python3-datetime \ +" diff --git a/meta-webserver/conf/layer.conf b/meta-webserver/conf/layer.conf index dcaae5cca8d..0c48efc4659 100644 --- a/meta-webserver/conf/layer.conf +++ b/meta-webserver/conf/layer.conf @@ -17,7 +17,7 @@ LAYERVERSION_webserver = "1" LAYERDEPENDS_webserver = "core openembedded-layer" -LAYERSERIES_COMPAT_webserver = "walnascar whinlatter" +LAYERSERIES_COMPAT_webserver = "whinlatter wrynose" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.30.3.bb b/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.30.3.bb deleted file mode 100644 index 3d152e15ad2..00000000000 --- a/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.30.3.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Visually render documentation for an API defined with the OpenAPI" -DESCRIPTION = "\ - Swagger UI allows anyone — be it your development team or your end consumers — to visualize and \ - interact with the API’s resources without having any of the implementation logic in place. \ - It’s automatically generated from your OpenAPI (formerly known as Swagger) Specification, \ - with the visual documentation making it easy for back end implementation and client side consumption. \ - " -HOMEPAGE = "https://github.com/swagger-api/swagger-ui" -SECTION = "net" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI = "git://github.com/swagger-api/swagger-ui;branch=master;protocol=https;tag=v${PV}" - -SRCREV = "199761a94d03753ec62c23bb4ba162bb73c3cfc7" - -CVE_STATUS[CVE-2016-1000229] = "fixed-version: fixed since 2.2.1" - - -do_install() { - install -d ${D}${localstatedir}/www/openapi/static - cp -r ${S}/dist/* ${D}${localstatedir}/www/openapi/static -} diff --git a/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.32.2.bb b/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.32.2.bb new file mode 100644 index 00000000000..7684b1dccc0 --- /dev/null +++ b/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.32.2.bb @@ -0,0 +1,23 @@ +SUMMARY = "Visually render documentation for an API defined with the OpenAPI" +DESCRIPTION = "\ + Swagger UI allows anyone — be it your development team or your end consumers — to visualize and \ + interact with the API’s resources without having any of the implementation logic in place. \ + It’s automatically generated from your OpenAPI (formerly known as Swagger) Specification, \ + with the visual documentation making it easy for back end implementation and client side consumption. \ + " +HOMEPAGE = "https://github.com/swagger-api/swagger-ui" +SECTION = "net" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = "git://github.com/swagger-api/swagger-ui;branch=master;protocol=https;tag=v${PV}" + +SRCREV = "d02a2df106961d8cb6bceb6b4b3aa8d9f6faaf4a" + +CVE_STATUS[CVE-2016-1000229] = "fixed-version: fixed since 2.2.1" + + +do_install() { + install -d ${D}${localstatedir}/www/openapi/static + cp -r ${S}/dist/* ${D}${localstatedir}/www/openapi/static +} diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.66.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.66.bb deleted file mode 100644 index 630c6f3b1bd..00000000000 --- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.66.bb +++ /dev/null @@ -1,264 +0,0 @@ -DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \ -extensible web server." -SUMMARY = "Apache HTTP Server" -HOMEPAGE = "http://httpd.apache.org/" -SECTION = "net" -LICENSE = "Apache-2.0" - -SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \ - file://0001-configure-use-pkg-config-for-PCRE-detection.patch \ - file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \ - file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \ - file://0004-apache2-log-the-SELinux-context-at-startup.patch \ - file://0005-replace-lynx-to-curl-in-apachectl-script.patch \ - file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \ - file://0007-apache2-allow-to-disable-selinux-support.patch \ - file://0008-Fix-perl-install-directory-to-usr-bin.patch \ - file://0009-support-apxs.in-force-destdir-to-be-empty-string.patch \ - file://0001-make_exports.awk-not-expose-the-path.patch \ - " - -SRC_URI:append:class-target = " \ - file://0010-apache2-do-not-use-relative-path-for-gen_test_char.patch \ - file://init \ - file://apache2-volatile.conf \ - file://apache2.service \ - file://volatiles.04_apache2 \ - " - -LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3" -SRC_URI[sha256sum] = "94d7ff2b42acbb828e870ba29e4cbad48e558a79c623ad3596e4116efcfea25a" - -S = "${UNPACKDIR}/httpd-${PV}" - -inherit autotools update-rc.d pkgconfig systemd multilib_script multilib_header - -DEPENDS = "openssl expat pcre apr apr-util apache2-native " - -CVE_PRODUCT = "apache:http_server" - -CVE_STATUS[CVE-1999-0289] = "not-applicable-platform: The current version is not affected. It only applies for Windows" -CVE_STATUS[CVE-1999-0678] = "not-applicable-platform: this CVE is for Debian packaging configuration" -CVE_STATUS[CVE-1999-1237] = "cpe-incorrect: This is vulnerability of Apache AuthenSmb module, fixed in 0.9" -CVE_STATUS[CVE-1999-1412] = "not-applicable-platform: this CVE is for MAC OS X specific problem" -CVE_STATUS[CVE-2007-0086] = "disputed: this CVE is officially disputed by Redhat" -CVE_STATUS[CVE-2007-0450] = "not-applicable-platform: The current version is not affected. It only applies for Windows." -CVE_STATUS[CVE-2007-6421] = "cpe-incorrect: The current version is not affected by the CVE which affects versions from 2.2 (incl.) to 2.2.8 (excl.)" -CVE_STATUS[CVE-2007-6422] = "cpe-incorrect: The current version is not affected by the CVE which affects versions from 2.2 (incl.) to 2.2.8 (excl.)" -CVE_STATUS[CVE-2007-6423] = "cpe-incorrect: The current version is not affected by the CVE which affects versions from 2.2.x to 2.2.7-dev" -CVE_STATUS[CVE-2008-2168] = "cpe-incorrect: The current version is not affected by the CVE which affects versions up to 2.2.6 (excl.)" -CVE_STATUS[CVE-2010-0425] = "not-applicable-platform: The current version is not affected. It only applies for Windows." -CVE_STATUS[CVE-2025-3891] = "cpe-incorrect: The CVE is for a 3rd party module, which is not part of the Apache source distribution" - -SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" -PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap" -PACKAGECONFIG[zlib] = "--enable-deflate --with-zlib=${STAGING_LIBDIR}/../,,zlib,zlib" - -CFLAGS:append = " -DPATH_MAX=4096" - -EXTRA_OECONF:class-target = "\ - --enable-layout=Debian \ - --prefix=${base_prefix} \ - --exec_prefix=${exec_prefix} \ - --includedir=${includedir}/${BPN} \ - --sysconfdir=${sysconfdir}/${BPN} \ - --datadir=${datadir}/${BPN} \ - --libdir=${libdir} \ - --libexecdir=${libexecdir}/${BPN}/modules \ - --localstatedir=${localstatedir} \ - --enable-ssl \ - --with-dbm=sdbm \ - --with-gdbm=no \ - --with-ndbm=no \ - --with-berkeley-db=no \ - --enable-info \ - --enable-rewrite \ - --with-mpm=prefork \ - --enable-mpms-shared \ - ap_cv_void_ptr_lt_long=no \ - ac_cv_have_threadsafe_pollset=no \ - " - -EXTRA_OECONF:class-native = "\ - --prefix=${prefix} \ - --includedir=${includedir}/${BPN} \ - --sysconfdir=${sysconfdir}/${BPN} \ - --datadir=${datadir}/${BPN} \ - --libdir=${libdir} \ - --libexecdir=${libdir}/${BPN}/modules \ - --localstatedir=${localstatedir} \ - " - -do_configure:prepend() { - sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' \ - -e 's#\(installbuilddir:\s*\).*#\1${libexecdir}/${PN}/build#' \ - ${S}/config.layout -} - -do_install:append:class-target() { - install -d ${D}/${sysconfdir}/init.d - - cat ${UNPACKDIR}/init | \ - sed -e 's,/usr/sbin/,${sbindir}/,g' \ - -e 's,/usr/bin/,${bindir}/,g' \ - -e 's,/usr/lib/,${libdir}/,g' \ - -e 's,/etc/,${sysconfdir}/,g' \ - -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN} - - chmod 755 ${D}/${sysconfdir}/init.d/${BPN} - - # Remove the goofy original files... - rm -rf ${D}/${sysconfdir}/${BPN}/original - - install -d ${D}${sysconfdir}/${BPN}/conf.d - install -d ${D}${sysconfdir}/${BPN}/modules.d - - # Ensure configuration file pulls in conf.d and modules.d - printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf - printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf - printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf - - # Match with that is in init script - printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf - - # Set 'ServerName' to fix error messages when restart apache service - sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf - - sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf - - sed -i -e 's,${STAGING_DIR_TARGET},,g' \ - -e 's,${DEBUG_PREFIX_MAP},,g' \ - -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-ffile-prefix-map[^ ]*,,g' \ - -e 's,${HOSTTOOLS_DIR}/,,g' \ - -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ - -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${libexecdir}/${PN}/build/config_vars.mk - - sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's,${DEBUG_PREFIX_MAP},,g' \ - -e 's,${RECIPE_SYSROOT},,g' \ - -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-ffile-prefix-map[^ ]*,,g' \ - -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ - -e 's,${WORKDIR}/recipe-sysroot/,,g' \ - -e 's,".*/configure","configure",g' ${D}${libexecdir}/${PN}/build/config.nice - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d/ - install -m 0644 ${UNPACKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/apache2.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service - elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${UNPACKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2 - fi - - rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars* - chown -R root:root ${D} - - oe_multilib_header apache2/ap_config_layout.h -} - -do_install:append:class-native() { - install -d ${D}${bindir} ${D}${libdir} - install -m 755 server/gen_test_char ${D}${bindir} -} - -SYSROOT_PREPROCESS_FUNCS:append:class-target = " apache_sysroot_preprocess" - -SYSROOT_DIRS += "${libexecdir}/${PN}/build" - -apache_sysroot_preprocess() { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} - install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts} - install -d ${SYSROOT_DESTDIR}${sbindir} - install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir} - sed -i 's!\(my $installbuilddir = \)"\(.*\)"!\1"${STAGING_DIR_HOST}\2"!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs - - sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk - sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk - sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk - sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk - sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk - sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk - sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk -} - -# Implications - used by update-rc.d scripts -INITSCRIPT_NAME = "apache2" -INITSCRIPT_PARAMS = "defaults 91 20" - -SYSTEMD_SERVICE:${PN} = "apache2.service" -SYSTEMD_AUTO_ENABLE:${PN} = "enable" - -ALTERNATIVE:${PN} = "httpd" -ALTERNATIVE_LINK_NAME[httpd] = "${sbindir}/httpd" -ALTERNATIVE_PRIORITY[httpd] = "60" - -ALTERNATIVE:${PN}-doc = "htpasswd.1" -ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" - -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apxs" - -PACKAGES = "${PN}-utils ${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" - -CONFFILES:${PN} = "${sysconfdir}/${BPN}/httpd.conf \ - ${sysconfdir}/${BPN}/magic \ - ${sysconfdir}/${BPN}/mime.types \ - ${sysconfdir}/${BPN}/extra/*" - -FILES:${PN}-utils = "${bindir}/ab \ - ${bindir}/htdbm \ - ${bindir}/htdigest \ - ${bindir}/htpasswd \ - ${bindir}/logresolve \ - ${bindir}/httxt2dbm \ - ${sbindir}/htcacheclean \ - ${sbindir}/fcgistarter \ - ${sbindir}/checkgid \ - ${sbindir}/rotatelogs \ - " - -# We override here rather than append so that .so links are -# included in the runtime package rather than here (-dev) -# and to get build, icons, error into the -dev package -FILES:${PN}-dev = "${libexecdir}/${PN}/build \ - ${datadir}/${BPN}/icons \ - ${datadir}/${BPN}/error \ - ${includedir}/${BPN} \ - ${bindir}/apxs \ - " - -# Add the manual to -doc -FILES:${PN}-doc += " ${datadir}/${BPN}/manual" - -FILES:${PN}-scripts += "${bindir}/dbmmanage" - -# Override this too - here is the default, less datadir -FILES:${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \ - ${sysconfdir} ${libdir}/${BPN}" - -# We want htdocs and cgi-bin to go with the binary -FILES:${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin" - -FILES:${PN}-dbg += "${libdir}/${BPN}/modules/.debug" - -RDEPENDS:${PN} += "openssl libgcc ${PN}-utils" -RDEPENDS:${PN}-scripts += "perl ${PN}" -RDEPENDS:${PN}-dev = "perl" - -BBCLASSEXTEND = "native" - -pkg_postinst:${PN}() { - if [ -z "$D" ]; then - if type systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi - fi -} diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.67.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.67.bb new file mode 100644 index 00000000000..082f533c85e --- /dev/null +++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.67.bb @@ -0,0 +1,264 @@ +DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \ +extensible web server." +SUMMARY = "Apache HTTP Server" +HOMEPAGE = "http://httpd.apache.org/" +SECTION = "net" +LICENSE = "Apache-2.0" + +SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \ + file://0001-configure-use-pkg-config-for-PCRE-detection.patch \ + file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \ + file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \ + file://0004-apache2-log-the-SELinux-context-at-startup.patch \ + file://0005-replace-lynx-to-curl-in-apachectl-script.patch \ + file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \ + file://0007-apache2-allow-to-disable-selinux-support.patch \ + file://0008-Fix-perl-install-directory-to-usr-bin.patch \ + file://0009-support-apxs.in-force-destdir-to-be-empty-string.patch \ + file://0001-make_exports.awk-not-expose-the-path.patch \ + " + +SRC_URI:append:class-target = " \ + file://0010-apache2-do-not-use-relative-path-for-gen_test_char.patch \ + file://init \ + file://apache2-volatile.conf \ + file://apache2.service \ + file://volatiles.04_apache2 \ + " + +LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3" +SRC_URI[sha256sum] = "66cd206637b0d5c446fa7dabe75fe03525da8fb55855876c46288cd88b136aa4" + +S = "${UNPACKDIR}/httpd-${PV}" + +inherit autotools update-rc.d pkgconfig systemd multilib_script multilib_header + +DEPENDS = "openssl expat pcre apr apr-util apache2-native " + +CVE_PRODUCT = "apache:http_server" + +CVE_STATUS[CVE-1999-0289] = "not-applicable-platform: The current version is not affected. It only applies for Windows" +CVE_STATUS[CVE-1999-0678] = "not-applicable-platform: this CVE is for Debian packaging configuration" +CVE_STATUS[CVE-1999-1237] = "cpe-incorrect: This is vulnerability of Apache AuthenSmb module, fixed in 0.9" +CVE_STATUS[CVE-1999-1412] = "not-applicable-platform: this CVE is for MAC OS X specific problem" +CVE_STATUS[CVE-2007-0086] = "disputed: this CVE is officially disputed by Redhat" +CVE_STATUS[CVE-2007-0450] = "not-applicable-platform: The current version is not affected. It only applies for Windows." +CVE_STATUS[CVE-2007-6421] = "cpe-incorrect: The current version is not affected by the CVE which affects versions from 2.2 (incl.) to 2.2.8 (excl.)" +CVE_STATUS[CVE-2007-6422] = "cpe-incorrect: The current version is not affected by the CVE which affects versions from 2.2 (incl.) to 2.2.8 (excl.)" +CVE_STATUS[CVE-2007-6423] = "cpe-incorrect: The current version is not affected by the CVE which affects versions from 2.2.x to 2.2.7-dev" +CVE_STATUS[CVE-2008-2168] = "cpe-incorrect: The current version is not affected by the CVE which affects versions up to 2.2.6 (excl.)" +CVE_STATUS[CVE-2010-0425] = "not-applicable-platform: The current version is not affected. It only applies for Windows." +CVE_STATUS[CVE-2025-3891] = "cpe-incorrect: The CVE is for a 3rd party module, which is not part of the Apache source distribution" + +SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" +PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap" +PACKAGECONFIG[zlib] = "--enable-deflate --with-zlib=${STAGING_LIBDIR}/../,,zlib,zlib" + +CFLAGS:append = " -DPATH_MAX=4096" + +EXTRA_OECONF:class-target = "\ + --enable-layout=Debian \ + --prefix=${base_prefix} \ + --exec_prefix=${exec_prefix} \ + --includedir=${includedir}/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --datadir=${datadir}/${BPN} \ + --libdir=${libdir} \ + --libexecdir=${libexecdir}/${BPN}/modules \ + --localstatedir=${localstatedir} \ + --enable-ssl \ + --with-dbm=sdbm \ + --with-gdbm=no \ + --with-ndbm=no \ + --with-berkeley-db=no \ + --enable-info \ + --enable-rewrite \ + --with-mpm=prefork \ + --enable-mpms-shared \ + ap_cv_void_ptr_lt_long=no \ + ac_cv_have_threadsafe_pollset=no \ + " + +EXTRA_OECONF:class-native = "\ + --prefix=${prefix} \ + --includedir=${includedir}/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --datadir=${datadir}/${BPN} \ + --libdir=${libdir} \ + --libexecdir=${libdir}/${BPN}/modules \ + --localstatedir=${localstatedir} \ + " + +do_configure:prepend() { + sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' \ + -e 's#\(installbuilddir:\s*\).*#\1${libexecdir}/${PN}/build#' \ + ${S}/config.layout +} + +do_install:append:class-target() { + install -d ${D}/${sysconfdir}/init.d + + cat ${UNPACKDIR}/init | \ + sed -e 's,/usr/sbin/,${sbindir}/,g' \ + -e 's,/usr/bin/,${bindir}/,g' \ + -e 's,/usr/lib/,${libdir}/,g' \ + -e 's,/etc/,${sysconfdir}/,g' \ + -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN} + + chmod 755 ${D}/${sysconfdir}/init.d/${BPN} + + # Remove the goofy original files... + rm -rf ${D}/${sysconfdir}/${BPN}/original + + install -d ${D}${sysconfdir}/${BPN}/conf.d + install -d ${D}${sysconfdir}/${BPN}/modules.d + + # Ensure configuration file pulls in conf.d and modules.d + printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + + # Match with that is in init script + printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + + # Set 'ServerName' to fix error messages when restart apache service + sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf + + sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf + + sed -i -e 's,${STAGING_DIR_TARGET},,g' \ + -e 's,${DEBUG_PREFIX_MAP},,g' \ + -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-ffile-prefix-map[^ ]*,,g' \ + -e 's,${HOSTTOOLS_DIR}/,,g' \ + -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ + -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${libexecdir}/${PN}/build/config_vars.mk + + sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's,${DEBUG_PREFIX_MAP},,g' \ + -e 's,${RECIPE_SYSROOT},,g' \ + -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-ffile-prefix-map[^ ]*,,g' \ + -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ + -e 's,${WORKDIR}/recipe-sysroot/,,g' \ + -e 's,".*/configure","configure",g' ${D}${libexecdir}/${PN}/build/config.nice + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 0644 ${UNPACKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/apache2.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service + elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${UNPACKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2 + fi + + rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars* + chown -R root:root ${D} + + oe_multilib_header apache2/ap_config_layout.h +} + +do_install:append:class-native() { + install -d ${D}${bindir} ${D}${libdir} + install -m 755 server/gen_test_char ${D}${bindir} +} + +SYSROOT_PREPROCESS_FUNCS:append:class-target = " apache_sysroot_preprocess" + +SYSROOT_DIRS += "${libexecdir}/${PN}/build" + +apache_sysroot_preprocess() { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} + install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts} + install -d ${SYSROOT_DESTDIR}${sbindir} + install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir} + sed -i 's!\(my $installbuilddir = \)"\(.*\)"!\1"${STAGING_DIR_HOST}\2"!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs + + sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk +} + +# Implications - used by update-rc.d scripts +INITSCRIPT_NAME = "apache2" +INITSCRIPT_PARAMS = "defaults 91 20" + +SYSTEMD_SERVICE:${PN} = "apache2.service" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" + +ALTERNATIVE:${PN} = "httpd" +ALTERNATIVE_LINK_NAME[httpd] = "${sbindir}/httpd" +ALTERNATIVE_PRIORITY[httpd] = "60" + +ALTERNATIVE:${PN}-doc = "htpasswd.1" +ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" + +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apxs" + +PACKAGES = "${PN}-utils ${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" + +CONFFILES:${PN} = "${sysconfdir}/${BPN}/httpd.conf \ + ${sysconfdir}/${BPN}/magic \ + ${sysconfdir}/${BPN}/mime.types \ + ${sysconfdir}/${BPN}/extra/*" + +FILES:${PN}-utils = "${bindir}/ab \ + ${bindir}/htdbm \ + ${bindir}/htdigest \ + ${bindir}/htpasswd \ + ${bindir}/logresolve \ + ${bindir}/httxt2dbm \ + ${sbindir}/htcacheclean \ + ${sbindir}/fcgistarter \ + ${sbindir}/checkgid \ + ${sbindir}/rotatelogs \ + " + +# We override here rather than append so that .so links are +# included in the runtime package rather than here (-dev) +# and to get build, icons, error into the -dev package +FILES:${PN}-dev = "${libexecdir}/${PN}/build \ + ${datadir}/${BPN}/icons \ + ${datadir}/${BPN}/error \ + ${includedir}/${BPN} \ + ${bindir}/apxs \ + " + +# Add the manual to -doc +FILES:${PN}-doc += " ${datadir}/${BPN}/manual" + +FILES:${PN}-scripts += "${bindir}/dbmmanage" + +# Override this too - here is the default, less datadir +FILES:${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \ + ${sysconfdir} ${libdir}/${BPN}" + +# We want htdocs and cgi-bin to go with the binary +FILES:${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin" + +FILES:${PN}-dbg += "${libdir}/${BPN}/modules/.debug" + +RDEPENDS:${PN} += "openssl libgcc ${PN}-utils" +RDEPENDS:${PN}-scripts += "perl ${PN}" +RDEPENDS:${PN}-dev = "perl" + +BBCLASSEXTEND = "native" + +pkg_postinst:${PN}() { + if [ -z "$D" ]; then + if type systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} diff --git a/meta-webserver/recipes-httpd/hiawatha/hiawatha_11.8.bb b/meta-webserver/recipes-httpd/hiawatha/hiawatha_11.8.bb deleted file mode 100644 index 720c292026a..00000000000 --- a/meta-webserver/recipes-httpd/hiawatha/hiawatha_11.8.bb +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "Lightweight secure web server" -HOMEPAGE = "https://hiawatha.leisink.net/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "libxml2 libxslt virtual/crypt" - -SECTION = "net" - -SRC_URI = "https://hiawatha.leisink.net/files/hiawatha-${PV}.tar.gz \ - file://hiawatha-init \ - file://hiawatha.service \ - " - -SRC_URI[sha256sum] = "1376763750fb9a88a780bac6aba8707bc2a78f8ee089c62d433e50216a5183bd" - -INITSCRIPT_NAME = "hiawatha" -INITSCRIPT_PARAMS = "defaults 70" - -SYSTEMD_SERVICE:${PN} = "hiawatha.service" - -inherit cmake update-rc.d systemd - - -CFLAGS += "-std=gnu17" - -EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \ - -DENABLE_CACHE=OFF \ - -DENABLE_DEBUG=OFF \ - -DENABLE_TOOLKIT=OFF \ - -DENABLE_CHROOT=OFF \ - -DENABLE_XSLT=ON \ - -DENABLE_TOMAHAWK=OFF \ - -DCMAKE_INSTALL_MANDIR=${mandir} \ - -DCMAKE_INSTALL_BINDIR=${bindir} \ - -DCMAKE_INSTALL_SBINDIR=${sbindir} \ - -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \ - -DCMAKE_INSTALL_LIBDIR=${libdir} \ - -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir} \ - -DENABLE_TLS=ON \ - -DCMAKE_POLICY_VERSION_MINIMUM=3.5" - -do_install:append() { - # Copy over init script and sed in the correct sbin path - sed -i 's,sed_sbin_path,${sbindir},' ${UNPACKDIR}/hiawatha-init - mkdir -p ${D}${sysconfdir}/init.d - install -m 0755 ${UNPACKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha - - # configure php-fcgi to have a working configuration - # by default if php is installed - echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}/${systemd_unitdir}/system - install -m 644 ${UNPACKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system - fi - - # /var/log/hiawatha and /var/lib/hiawatha needs to be created in runtime. - # Use rmdir to catch if upstream stops creating these dirs, or adds - # something else in /var/log. - rmdir ${D}${localstatedir}/log/${BPN} ${D}${localstatedir}/log - rmdir ${D}${localstatedir}/run - rmdir --ignore-fail-on-non-empty ${D}${localstatedir} - - # Create /var/log/hiawatha at runtime. - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then - install -d ${D}${nonarch_libdir}/tmpfiles.d - echo "d ${localstatedir}/log/${BPN} - - - -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf - fi - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then - install -d ${D}${sysconfdir}/default/volatiles - echo "d root root 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} - fi - -} - -CONFFILES:${PN} = " \ - ${sysconfdir}/hiawatha/cgi-wrapper.conf \ - ${sysconfdir}/hiawatha/hiawatha.conf \ - ${sysconfdir}/hiawatha/index.xslt \ - ${sysconfdir}/hiawatha/mimetype.conf \ - ${sysconfdir}/hiawatha/php-fcgi.conf \ -" - -PACKAGES =+ "${PN}-letsencrypt" - -FILES:${PN}-letsencrypt += "${sbindir}/lefh ${libdir}/hiawatha/letsencrypt" - -FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" -FILES:${PN}-dev += "${libdir}/hiawatha/*${SOLIBSDEV}" - -RDEPENDS:${PN}-letsencrypt += "php-cli" diff --git a/meta-webserver/recipes-httpd/hiawatha/hiawatha_12.1.bb b/meta-webserver/recipes-httpd/hiawatha/hiawatha_12.1.bb new file mode 100644 index 00000000000..8299e58263a --- /dev/null +++ b/meta-webserver/recipes-httpd/hiawatha/hiawatha_12.1.bb @@ -0,0 +1,91 @@ +SUMMARY = "Lightweight secure web server" +HOMEPAGE = "https://hiawatha.leisink.net/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "libxml2 libxslt virtual/crypt" + +SECTION = "net" + +SRC_URI = "https://hiawatha.leisink.net/files/download/hiawatha-${PV}.tar.gz \ + file://hiawatha-init \ + file://hiawatha.service \ + " + +SRC_URI[sha256sum] = "e93e5964e69d98061d366fa4a0ec7b5d33d3e92e6c02efa8b291a79c646006b1" + +INITSCRIPT_NAME = "hiawatha" +INITSCRIPT_PARAMS = "defaults 70" + +SYSTEMD_SERVICE:${PN} = "hiawatha.service" + +inherit cmake update-rc.d systemd + + +CFLAGS += "-std=gnu17" + +EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \ + -DENABLE_CACHE=OFF \ + -DENABLE_DEBUG=OFF \ + -DENABLE_TOOLKIT=OFF \ + -DENABLE_CHROOT=OFF \ + -DENABLE_XSLT=ON \ + -DENABLE_TOMAHAWK=OFF \ + -DCMAKE_INSTALL_MANDIR=${mandir} \ + -DCMAKE_INSTALL_BINDIR=${bindir} \ + -DCMAKE_INSTALL_SBINDIR=${sbindir} \ + -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \ + -DCMAKE_INSTALL_LIBDIR=${libdir} \ + -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir} \ + -DENABLE_TLS=ON \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5" + +do_install:append() { + # Copy over init script and sed in the correct sbin path + sed -i 's,sed_sbin_path,${sbindir},' ${UNPACKDIR}/hiawatha-init + mkdir -p ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha + + # configure php-fcgi to have a working configuration + # by default if php is installed + echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${UNPACKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system + fi + + # /var/log/hiawatha and /var/lib/hiawatha needs to be created in runtime. + # Use rmdir to catch if upstream stops creating these dirs, or adds + # something else in /var/log. + rmdir ${D}${localstatedir}/log/${BPN} ${D}${localstatedir}/log + rmdir ${D}${localstatedir}/run + rmdir --ignore-fail-on-non-empty ${D}${localstatedir} + + # Create /var/log/hiawatha at runtime. + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then + install -d ${D}${nonarch_libdir}/tmpfiles.d + echo "d ${localstatedir}/log/${BPN} - - - -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf + fi + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then + install -d ${D}${sysconfdir}/default/volatiles + echo "d root root 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} + fi + +} + +CONFFILES:${PN} = " \ + ${sysconfdir}/hiawatha/cgi-wrapper.conf \ + ${sysconfdir}/hiawatha/hiawatha.conf \ + ${sysconfdir}/hiawatha/index.xslt \ + ${sysconfdir}/hiawatha/mimetype.conf \ + ${sysconfdir}/hiawatha/php-fcgi.conf \ +" + +PACKAGES =+ "${PN}-letsencrypt" + +FILES:${PN}-letsencrypt += "${sbindir}/lefh ${libdir}/hiawatha/letsencrypt" + +FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" +FILES:${PN}-dev += "${libdir}/hiawatha/*${SOLIBSDEV}" + +RDEPENDS:${PN}-letsencrypt += "php-cli" diff --git a/meta-webserver/recipes-httpd/monkey/files/0001-server-http-fix-malformed-request-crash-paths.patch b/meta-webserver/recipes-httpd/monkey/files/0001-server-http-fix-malformed-request-crash-paths.patch new file mode 100644 index 00000000000..b57d7ac2190 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0001-server-http-fix-malformed-request-crash-paths.patch @@ -0,0 +1,160 @@ +From 839620179e2b4e5982c53d8956d92e690d82960c Mon Sep 17 00:00:00 2001 +From: Eduardo Silva +Date: Thu, 9 Apr 2026 12:11:52 -0600 +Subject: [PATCH] server: http: fix malformed request crash paths + +Fix the reproducible malformed-request crash paths in the HTTP +request lifecycle. + +Handle missing Host data in directory redirects, reject malformed +range delimiters before substring parsing, and avoid reusing invalid +request state while advancing pipelined requests. + +Verified by rebuilding with cmake --build build and replaying the +reported crash-inducing request fixtures against build/bin/monkey. + +Signed-off-by: Eduardo Silva + +This patch is part of https://github.com/monkey/monkey/pull/434, +containing assorted CVE fixes. + +Upstream-Status: Backport [https://github.com/monkey/monkey/commit/1570f41231888ae8c7fbd719704e2486a952e45d] +Signed-off-by: Gyorgy Sarvari +--- + mk_core/mk_memory.c | 10 ++++++++++ + mk_server/mk_http.c | 46 +++++++++++++++++++++++++++++++++++++++++---- + 2 files changed, 52 insertions(+), 4 deletions(-) + +diff --git a/mk_core/mk_memory.c b/mk_core/mk_memory.c +index c4073e23..008f7ac6 100644 +--- a/mk_core/mk_memory.c ++++ b/mk_core/mk_memory.c +@@ -52,6 +52,16 @@ char *mk_ptr_to_buf(mk_ptr_t p) + { + char *buf; + ++ if (!p.data || p.len == 0) { ++ buf = mk_mem_alloc(1); ++ if (!buf) { ++ return NULL; ++ } ++ ++ buf[0] = '\0'; ++ return buf; ++ } ++ + buf = mk_mem_alloc(p.len + 1); + if (!buf) return NULL; + +diff --git a/mk_server/mk_http.c b/mk_server/mk_http.c +index ad12a74a..f2f12554 100644 +--- a/mk_server/mk_http.c ++++ b/mk_server/mk_http.c +@@ -457,6 +457,10 @@ static int mk_http_range_parse(struct mk_http_request *sr) + if ((sep_pos = mk_string_char_search(sr->range.data, '-', sr->range.len)) < 0) + return -1; + ++ if (sep_pos < eq_pos) { ++ return -1; ++ } ++ + len = sr->range.len; + sh = &sr->headers; + +@@ -476,10 +480,16 @@ static int mk_http_range_parse(struct mk_http_request *sr) + /* =yyy-xxx */ + if ((eq_pos + 1 != sep_pos) && (len > sep_pos + 1)) { + buffer = mk_string_copy_substr(sr->range.data, eq_pos + 1, sep_pos); ++ if (!buffer) { ++ return -1; ++ } + sh->ranges[0] = (unsigned long) atol(buffer); + mk_mem_free(buffer); + + buffer = mk_string_copy_substr(sr->range.data, sep_pos + 1, len); ++ if (!buffer) { ++ return -1; ++ } + sh->ranges[1] = (unsigned long) atol(buffer); + mk_mem_free(buffer); + +@@ -493,6 +503,9 @@ static int mk_http_range_parse(struct mk_http_request *sr) + /* =yyy- */ + if ((eq_pos + 1 != sep_pos) && (len == sep_pos + 1)) { + buffer = mk_string_copy_substr(sr->range.data, eq_pos + 1, len); ++ if (!buffer) { ++ return -1; ++ } + sr->headers.ranges[0] = (unsigned long) atol(buffer); + mk_mem_free(buffer); + +@@ -522,7 +535,16 @@ static int mk_http_directory_redirect_check(struct mk_http_session *cs, + return 0; + } + ++ if (!sr->host.data || sr->host.len <= 0) { ++ mk_http_error(MK_CLIENT_BAD_REQUEST, cs, sr, server); ++ return -1; ++ } ++ + host = mk_ptr_to_buf(sr->host); ++ if (!host) { ++ mk_http_error(MK_CLIENT_BAD_REQUEST, cs, sr, server); ++ return -1; ++ } + + /* + * Add ending slash to the location string +@@ -588,6 +610,9 @@ static inline char *mk_http_index_lookup(mk_ptr_t *path_base, + } + + off = path_base->len; ++ if ((size_t) off >= buf_size) { ++ return NULL; ++ } + memcpy(buf, path_base->data, off); + + mk_list_foreach(head, server->index_files) { +@@ -1138,15 +1163,27 @@ int mk_http_request_end(struct mk_http_session *cs, struct mk_server *server) + ret = mk_http_parser_more(&cs->parser, cs->body_length); + if (ret == MK_TRUE) { + /* Our pipeline request limit is the same that our keepalive limit */ ++ if (cs->parser.i < 0 || ++ (unsigned int) (cs->parser.i + 1) >= cs->body_length) { ++ goto shutdown; ++ } ++ + cs->counter_connections++; + len = (cs->body_length - cs->parser.i) -1; ++ if (len <= 0) { ++ goto shutdown; ++ } + memmove(cs->body, + cs->body + cs->parser.i + 1, + len); + cs->body_length = len; + + /* Prepare for next one */ +- sr = mk_list_entry_first(&cs->request_list, struct mk_http_request, _head); ++ if (mk_list_is_empty(&cs->request_list) == 0) { ++ cs->close_now = MK_TRUE; ++ goto shutdown; ++ } ++ sr = &cs->sr_fixed; + mk_http_request_free(sr, server); + mk_http_request_init(cs, sr, server); + mk_http_parser_init(&cs->parser); +@@ -1626,9 +1663,10 @@ int mk_http_sched_done(struct mk_sched_conn *conn, + struct mk_http_request *sr; + + session = mk_http_session_get(conn); +- sr = mk_list_entry_first(&session->request_list, +- struct mk_http_request, _head); +- mk_plugin_stage_run_40(session, sr, server); ++ if (mk_list_is_empty(&session->request_list) != 0) { ++ sr = &session->sr_fixed; ++ mk_plugin_stage_run_40(session, sr, server); ++ } + + return mk_http_request_end(session, server); + } diff --git a/meta-webserver/recipes-httpd/monkey/files/0002-server-scheduler-guard-protocol-close-callback.patch b/meta-webserver/recipes-httpd/monkey/files/0002-server-scheduler-guard-protocol-close-callback.patch new file mode 100644 index 00000000000..c731db0919d --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0002-server-scheduler-guard-protocol-close-callback.patch @@ -0,0 +1,51 @@ +From 82fb537e74e9b801d196b76efaf735ee50cd86c6 Mon Sep 17 00:00:00 2001 +From: Eduardo Silva +Date: Thu, 9 Apr 2026 12:43:31 -0600 +Subject: [PATCH] server: scheduler: guard protocol close callback + +Avoid calling a null cb_close handler from the scheduler close +and timeout paths. + +This fixes the HTTP/2 upgrade case where the protocol handler can be +switched to mk_http2_handler even though that handler does not +implement cb_close. + +Verified by rebuilding with cmake --build build. + +Signed-off-by: Eduardo Silva + +This patch is part of https://github.com/monkey/monkey/pull/434, +containing assorted CVE fixes. + +Upstream-Status: Backport [https://github.com/monkey/monkey/commit/fc1d68fb38044df08cb43c7d9af0f68714388efc] +Signed-off-by: Gyorgy Sarvari +--- + mk_server/mk_scheduler.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/mk_server/mk_scheduler.c b/mk_server/mk_scheduler.c +index a680d3cd..3cf0ba40 100644 +--- a/mk_server/mk_scheduler.c ++++ b/mk_server/mk_scheduler.c +@@ -598,8 +598,10 @@ int mk_sched_check_timeouts(struct mk_sched_worker *sched, + MK_TRACE("Scheduler, closing fd %i due TIMEOUT", + conn->event.fd); + MK_LT_SCHED(conn->event.fd, "TIMEOUT_CONN_PENDING"); +- conn->protocol->cb_close(conn, sched, MK_SCHED_CONN_TIMEOUT, +- server); ++ if (conn->protocol->cb_close) { ++ conn->protocol->cb_close(conn, sched, MK_SCHED_CONN_TIMEOUT, ++ server); ++ } + mk_sched_drop_connection(conn, sched, server); + } + } +@@ -749,7 +751,7 @@ int mk_sched_event_close(struct mk_sched_conn *conn, + MK_TRACE("[FD %i] Connection Handler, closed", conn->event.fd); + mk_event_del(sched->loop, &conn->event); + +- if (type != MK_EP_SOCKET_DONE) { ++ if (type != MK_EP_SOCKET_DONE && conn->protocol->cb_close) { + conn->protocol->cb_close(conn, sched, type, server); + } + /* diff --git a/meta-webserver/recipes-httpd/monkey/files/0003-server-parser-harden-boundary-checks.patch b/meta-webserver/recipes-httpd/monkey/files/0003-server-parser-harden-boundary-checks.patch new file mode 100644 index 00000000000..1e56893c652 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0003-server-parser-harden-boundary-checks.patch @@ -0,0 +1,108 @@ +From b9f24a2968fa62de4a6ecf070fa0389ce10e7729 Mon Sep 17 00:00:00 2001 +From: Eduardo Silva +Date: Thu, 9 Apr 2026 12:11:57 -0600 +Subject: [PATCH] server: parser: harden boundary checks + +Tighten parser and helper validation around explicit lengths and +buffer boundaries. + +Require exact header literal matches, validate chunk length tokens, +and guard helper routines that previously trusted inconsistent +pointer or length state. + +Verified by rebuilding with cmake --build build and replaying the +reported malformed request fixtures against build/bin/monkey. + +Signed-off-by: Eduardo Silva + +This patch is part of https://github.com/monkey/monkey/pull/434, +containing assorted CVE fixes. + +Upstream-Status: Backport [https://github.com/monkey/monkey/commit/ffe0d0ed1b074ea6f3965c37bb754e9f19130a82] +Signed-off-by: Gyorgy Sarvari +--- + include/monkey/mk_http_parser.h | 6 +++++- + mk_server/mk_http_parser.c | 13 +++++++++++++ + mk_server/mk_mimetype.c | 7 ++++++- + mk_server/mk_user.c | 2 +- + 4 files changed, 25 insertions(+), 3 deletions(-) + +diff --git a/include/monkey/mk_http_parser.h b/include/monkey/mk_http_parser.h +index 9e3b365e..465ea0e4 100644 +--- a/include/monkey/mk_http_parser.h ++++ b/include/monkey/mk_http_parser.h +@@ -389,7 +389,11 @@ int mk_http_parser_chunked_decode_buf(struct mk_http_parser *p, + + static inline int mk_http_parser_more(struct mk_http_parser *p, int len) + { +- if (abs(len - p->i) - 1 > 0) { ++ if (len <= 0 || p->i < 0) { ++ return MK_FALSE; ++ } ++ ++ if ((p->i + 1) < len) { + return MK_TRUE; + } + +diff --git a/mk_server/mk_http_parser.c b/mk_server/mk_http_parser.c +index 9413528a..3c831f29 100644 +--- a/mk_server/mk_http_parser.c ++++ b/mk_server/mk_http_parser.c +@@ -173,6 +173,16 @@ static inline void request_set(mk_ptr_t *ptr, struct mk_http_parser *p, char *bu + static inline int header_cmp(const char *expected, char *value, int len) + { + int i = 0; ++ size_t expected_len; ++ ++ if (len < 0) { ++ return -1; ++ } ++ ++ expected_len = strlen(expected); ++ if ((size_t) len != expected_len) { ++ return -1; ++ } + + if (len >= 8) { + if (expected[0] != tolower(value[0])) return -1; +@@ -535,6 +545,9 @@ parse_more: + (errno != 0)) { + return MK_HTTP_PARSER_ERROR; + } ++ if (ptr == tmp || *ptr != '\0') { ++ return MK_HTTP_PARSER_ERROR; ++ } + + if (chunk_len < 0) { + return MK_HTTP_PARSER_ERROR; +diff --git a/mk_server/mk_mimetype.c b/mk_server/mk_mimetype.c +index b86b4ef1..5462ea5c 100644 +--- a/mk_server/mk_mimetype.c ++++ b/mk_server/mk_mimetype.c +@@ -197,7 +197,12 @@ struct mk_mimetype *mk_mimetype_find(struct mk_server *server, mk_ptr_t *filenam + { + int j, len; + +- j = len = filename->len; ++ if (!filename->data || filename->len <= 0) { ++ return NULL; ++ } ++ ++ len = filename->len; ++ j = len - 1; + + /* looking for extension */ + while (j >= 0 && filename->data[j] != '.') { +diff --git a/mk_server/mk_user.c b/mk_server/mk_user.c +index 7200ff08..716331ac 100644 +--- a/mk_server/mk_user.c ++++ b/mk_server/mk_user.c +@@ -46,7 +46,7 @@ int mk_user_init(struct mk_http_session *cs, struct mk_http_request *sr, + } + + limit = mk_string_char_search(sr->uri_processed.data + offset, '/', +- sr->uri_processed.len); ++ sr->uri_processed.len - offset); + + if (limit == -1) { + limit = (sr->uri_processed.len) - offset; diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.8.4.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.8.4.bb deleted file mode 100644 index 126a2a6fa55..00000000000 --- a/meta-webserver/recipes-httpd/monkey/monkey_1.8.4.bb +++ /dev/null @@ -1,86 +0,0 @@ -SUMMARY = "Fast and Lightweight HTTP Server for Linux" -HOMEPAGE = "https://github.com/monkey/monkey/issues/414" -BUGTRACKER = "https://github.com/monkey/monkey/issues" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" - -SECTION = "net" - -SRC_URI = "git://github.com/monkey/monkey;branch=master;protocol=https \ - file://0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch \ - file://0001-include-Fix-location-of-mk_core.h-etal.patch \ - file://monkey.service \ - file://monkey.init" - -SRCREV = "94af273244369e1a8426d0d1f6376475aff90db9" - -UPSTREAM_CHECK_COMMITS = "1" - -EXTRA_OECMAKE = "-DMK_PATH_LOG=${localstatedir}/log/monkey/ \ - -DPID_FILE=/run/monkey.pid \ - -DMK_PATH_CONF=${sysconfdir}/monkey/ \ - -DWITH_PLUGINS=* \ - -DWITHOUT_PLUGINS=mbedtls \ - -DWITH_DEBUG=1 \ - -DDEFAULT_USER='www-data' \ - -DWITH_SYSTEM_MALLOC=1 \ - " - -EXTRA_OECMAKE:append:libc-musl = " -DWITH_MUSL=1 " - -DISABLE_STATIC = "" - -inherit cmake pkgconfig update-rc.d systemd - -do_configure:append() { - sed -i -e 's|${STAGING_BINDIR_TOOLCHAIN}/||g' ${B}/include/monkey/mk_env.h -} - -do_install:append() { - install -Dm 0755 ${UNPACKDIR}/monkey.init ${D}${sysconfdir}/init.d/monkey - # Create /var/log/monkey in runtime. - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then - install -d ${D}${nonarch_libdir}/tmpfiles.d - echo "d ${localstatedir}/log/${BPN} 0755 ${BPN} ${BPN} -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf - fi - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then - install -d ${D}${sysconfdir}/default/volatiles - echo "d ${BPN} ${BPN} 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} - fi - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -Dm 644 ${UNPACKDIR}/monkey.service ${D}/${systemd_unitdir}/system/monkey.service - fi -} - -INITSCRIPT_NAME = "monkey" -INITSCRIPT_PARAMS = "defaults 70" - -SYSTEMD_SERVICE:${PN} = "monkey.service" - -PACKAGES += "${PN}-plugins" - -FILES:${PN}-plugins = "${libdir}/monkey-*.so" - -FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" - -CONFFILES:${PN} = "${sysconfdir}/monkey/monkey.conf \ - ${sysconfdir}/monkey/sites/default \ - ${sysconfdir}/monkey/monkey.mime \ - ${sysconfdir}/monkey/plugins.load \ - ${sysconfdir}/monkey/plugins/proxy_reverse/proxy_reverse.conf \ - ${sysconfdir}/monkey/plugins/mandril/mandril.conf \ - ${sysconfdir}/monkey/plugins/fastcgi/fastcgi.conf \ - ${sysconfdir}/monkey/plugins/logger/logger.conf \ - ${sysconfdir}/monkey/plugins/cgi/cgi.conf \ - ${sysconfdir}/monkey/plugins/cheetah/cheetah.conf \ - ${sysconfdir}/monkey/plugins/dirlisting/dirhtml.conf \ - ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/header.theme \ - ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/footer.theme \ - ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/entry.theme \ - ${sysconfdir}/monkey/plugins/auth/README \ - ${sysconfdir}/monkey/plugins/auth/monkey.users \ - " - -CVE_STATUS[CVE-2013-2183] = "cpe-incorrect: Current version (1.6.9) is not affected. Issue was addressed in version 1.3.0" -CVE_STATUS[CVE-2013-1771] = "not-applicable-platform: this is gentoo specific CVE" diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.8.7.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.8.7.bb new file mode 100644 index 00000000000..a9bea8f767c --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.8.7.bb @@ -0,0 +1,94 @@ +SUMMARY = "Fast and Lightweight HTTP Server for Linux" +HOMEPAGE = "https://github.com/monkey/monkey/issues/414" +BUGTRACKER = "https://github.com/monkey/monkey/issues" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" + +SECTION = "net" + +SRC_URI = "git://github.com/monkey/monkey;branch=master;protocol=https;tag=v${PV} \ + file://0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch \ + file://0001-include-Fix-location-of-mk_core.h-etal.patch \ + file://monkey.service \ + file://monkey.init \ + file://0001-server-http-fix-malformed-request-crash-paths.patch \ + file://0002-server-scheduler-guard-protocol-close-callback.patch \ + file://0003-server-parser-harden-boundary-checks.patch \ + " + +SRCREV = "0fd3bbd657c6d6339315709ef068493c572b973c" + +UPSTREAM_CHECK_COMMITS = "1" + +EXTRA_OECMAKE = "-DMK_PATH_LOG=${localstatedir}/log/monkey/ \ + -DPID_FILE=/run/monkey.pid \ + -DMK_PATH_CONF=${sysconfdir}/monkey/ \ + -DWITH_PLUGINS=* \ + -DWITHOUT_PLUGINS=mbedtls \ + -DWITH_DEBUG=1 \ + -DDEFAULT_USER='www-data' \ + -DWITH_SYSTEM_MALLOC=1 \ + " + +EXTRA_OECMAKE:append:libc-musl = " -DWITH_MUSL=1 " + +DISABLE_STATIC = "" + +inherit cmake pkgconfig update-rc.d systemd + +do_configure:append() { + sed -i -e 's|${STAGING_BINDIR_TOOLCHAIN}/||g' ${B}/include/monkey/mk_env.h +} + +do_install:append() { + install -Dm 0755 ${UNPACKDIR}/monkey.init ${D}${sysconfdir}/init.d/monkey + # Create /var/log/monkey in runtime. + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then + install -d ${D}${nonarch_libdir}/tmpfiles.d + echo "d ${localstatedir}/log/${BPN} 0755 ${BPN} ${BPN} -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf + fi + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then + install -d ${D}${sysconfdir}/default/volatiles + echo "d ${BPN} ${BPN} 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} + fi + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -Dm 644 ${UNPACKDIR}/monkey.service ${D}/${systemd_unitdir}/system/monkey.service + fi + + # QA Issue: monkey installs files in /var/volatile, but it is expected to be empty [empty-dirs] + # these folders are supposed to be recreated at runtime + find ${D}/var -type d -empty -delete +} + +INITSCRIPT_NAME = "monkey" +INITSCRIPT_PARAMS = "defaults 70" + +SYSTEMD_SERVICE:${PN} = "monkey.service" + +PACKAGES += "${PN}-plugins" + +FILES:${PN}-plugins = "${libdir}/monkey-*.so" + +FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" + +CONFFILES:${PN} = "${sysconfdir}/monkey/monkey.conf \ + ${sysconfdir}/monkey/sites/default \ + ${sysconfdir}/monkey/monkey.mime \ + ${sysconfdir}/monkey/plugins.load \ + ${sysconfdir}/monkey/plugins/proxy_reverse/proxy_reverse.conf \ + ${sysconfdir}/monkey/plugins/mandril/mandril.conf \ + ${sysconfdir}/monkey/plugins/fastcgi/fastcgi.conf \ + ${sysconfdir}/monkey/plugins/logger/logger.conf \ + ${sysconfdir}/monkey/plugins/cgi/cgi.conf \ + ${sysconfdir}/monkey/plugins/cheetah/cheetah.conf \ + ${sysconfdir}/monkey/plugins/dirlisting/dirhtml.conf \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/header.theme \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/footer.theme \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/entry.theme \ + ${sysconfdir}/monkey/plugins/auth/README \ + ${sysconfdir}/monkey/plugins/auth/monkey.users \ + " + +CVE_STATUS[CVE-2013-2183] = "cpe-incorrect: Current version (1.6.9) is not affected. Issue was addressed in version 1.3.0" +CVE_STATUS[CVE-2013-1771] = "not-applicable-platform: this is gentoo specific CVE" diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.28.2.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.28.2.bb deleted file mode 100644 index 9699b7189d1..00000000000 --- a/meta-webserver/recipes-httpd/nginx/nginx_1.28.2.bb +++ /dev/null @@ -1,7 +0,0 @@ -require nginx.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=3dc49537b08b14c8b66ad247bb4c4593" - -SRC_URI[sha256sum] = "20e5e0f2c917acfb51120eec2fba9a4ba4e1e10fd28465067cc87a7d81a829a3" - -CVE_STATUS[CVE-2025-53859] = "cpe-stable-backport: Fix is included in 1.28.1" diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.28.3.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.28.3.bb new file mode 100644 index 00000000000..9872a6de3b8 --- /dev/null +++ b/meta-webserver/recipes-httpd/nginx/nginx_1.28.3.bb @@ -0,0 +1,7 @@ +require nginx.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=3dc49537b08b14c8b66ad247bb4c4593" + +SRC_URI[sha256sum] = "2c96a946bfb0882a21744ed429770a2123ae1828c7c48665092993ddee91a918" + +CVE_STATUS[CVE-2025-53859] = "cpe-stable-backport: Fix is included in 1.28.1" diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.29.5.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.29.5.bb deleted file mode 100644 index 4536dc018de..00000000000 --- a/meta-webserver/recipes-httpd/nginx/nginx_1.29.5.bb +++ /dev/null @@ -1,10 +0,0 @@ -require nginx.inc - -# 1.28.x branch is the current stable branch, the recommended default -# 1.29.x is the current mainline branches containing all new features -DEFAULT_PREFERENCE = "-1" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=79da1c70d587d3a199af9255ad393f99" - -SRC_URI[sha256sum] = "6744768a4114880f37b13a0443244e731bcb3130c0a065d7e37d8fd589ade374" - diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.29.7.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.29.7.bb new file mode 100644 index 00000000000..4d884fcbb31 --- /dev/null +++ b/meta-webserver/recipes-httpd/nginx/nginx_1.29.7.bb @@ -0,0 +1,10 @@ +require nginx.inc + +# 1.28.x branch is the current stable branch, the recommended default +# 1.29.x is the current mainline branches containing all new features +DEFAULT_PREFERENCE = "-1" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=79da1c70d587d3a199af9255ad393f99" + +SRC_URI[sha256sum] = "673f8fb8c0961c44fbd9410d6161831453609b44063d3f2948253fc2b5692139" + diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb index 9ff1772531a..33543071ba4 100644 --- a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb +++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb @@ -19,6 +19,8 @@ UPSTREAM_CHECK_REGEX = "v(?P\d+(\.\d+)+).tar.gz" inherit autotools update-rc.d systemd update-alternatives +CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" + ALTERNATIVE_PRIORITY = "100" ALTERNATIVE:${PN}-doc = "htpasswd.1" ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" @@ -56,5 +58,3 @@ SYSTEMD_SERVICE:${PN} = "thttpd.service" FILES:${PN} += "${SRV_DIR}" FILES:${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug" - -CVE_STATUS[CVE-2017-10671] = "fixed-version: No action required. The current version (2.27.1) is not affected by the CVE." diff --git a/meta-webserver/recipes-php/xdebug/xdebug_3.5.0.bb b/meta-webserver/recipes-php/xdebug/xdebug_3.5.0.bb deleted file mode 100644 index b07546d5211..00000000000 --- a/meta-webserver/recipes-php/xdebug/xdebug_3.5.0.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Debugging and profiling extension for PHP" -LICENSE = "Xdebug" -LIC_FILES_CHKSUM = "file://LICENSE;md5=afd6ce4aa04fdc346e5b3c6e634bd75c" - -DEPENDS = "php re2c-native" - -SRC_URI = "https://xdebug.org/files/xdebug-${PV}.tgz" - -SRC_URI[sha256sum] = "f6daf55a5c7adadb07dd2af25ff78b1cc9b1c58d6cc442a463eba015b678aabf" - -UPSTREAM_CHECK_URI = "https://github.com/xdebug/xdebug/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/(?P\d+(\.\d+)+)$" - -inherit autotools - -EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config" - -do_configure() { - cd ${S} - ${STAGING_BINDIR_CROSS}/phpize - cd ${B} - - # Running autoreconf as autotools_do_configure would do here - # breaks the libtool configuration resulting in a failure later - # in do_compile. It's possible this may be fixable, however the - # easiest course of action for the moment is to avoid doing that. - oe_runconf -} - -do_install() { - oe_runmake install INSTALL_ROOT=${D} -} - -FILES:${PN} += "${libdir}/php*/extensions/*/*.so" -FILES:${PN}-dbg += "${libdir}/php*/extensions/*/.debug" diff --git a/meta-webserver/recipes-php/xdebug/xdebug_3.5.1.bb b/meta-webserver/recipes-php/xdebug/xdebug_3.5.1.bb new file mode 100644 index 00000000000..4c2c6538b52 --- /dev/null +++ b/meta-webserver/recipes-php/xdebug/xdebug_3.5.1.bb @@ -0,0 +1,36 @@ +SUMMARY = "Debugging and profiling extension for PHP" +HOMEPAGE = "https://xdebug.org/" +LICENSE = "Xdebug" +LIC_FILES_CHKSUM = "file://LICENSE;md5=afd6ce4aa04fdc346e5b3c6e634bd75c" + +DEPENDS = "php re2c-native" + +SRC_URI = "https://xdebug.org/files/xdebug-${PV}.tgz" + +SRC_URI[sha256sum] = "0f26849a5edf3d9120edc100219854599d54f923a8a4d1cb4fe4403520e49678" + +UPSTREAM_CHECK_URI = "https://github.com/xdebug/xdebug/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/(?P\d+(\.\d+)+)$" + +inherit autotools + +EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config" + +do_configure() { + cd ${S} + ${STAGING_BINDIR_CROSS}/phpize + cd ${B} + + # Running autoreconf as autotools_do_configure would do here + # breaks the libtool configuration resulting in a failure later + # in do_compile. It's possible this may be fixable, however the + # easiest course of action for the moment is to avoid doing that. + oe_runconf +} + +do_install() { + oe_runmake install INSTALL_ROOT=${D} +} + +FILES:${PN} += "${libdir}/php*/extensions/*/*.so" +FILES:${PN}-dbg += "${libdir}/php*/extensions/*/.debug" diff --git a/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.5.bb b/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.5.bb deleted file mode 100644 index 307919f7755..00000000000 --- a/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.5.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "spawn-fcgi is used to spawn FastCGI applications" -HOMEPAGE = "http://redmine.lighttpd.net/projects/spawn-fcgi" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579" - -SRC_URI = "http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-${PV}.tar.gz" - -SRC_URI[sha256sum] = "a72d7bf7fb6d1a0acda89c93d4f060bf77a2dba97ddcfecd00f11e708f592c40" - -inherit autotools - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.6.bb b/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.6.bb new file mode 100644 index 00000000000..5ad93ebc691 --- /dev/null +++ b/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.6.bb @@ -0,0 +1,14 @@ +SUMMARY = "spawn-fcgi is used to spawn FastCGI applications" +HOMEPAGE = "http://redmine.lighttpd.net/projects/spawn-fcgi" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579" + +SRC_URI = "http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-${PV}.tar.gz" + +SRC_URI[sha256sum] = "4ffe2e9763cf71ca52c3d642a7bfe20d6be292ba0f2ec07a5900c3110d0e5a85" + +inherit meson + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false," diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_2.501.bb b/meta-webserver/recipes-webadmin/webmin/webmin_2.501.bb deleted file mode 100644 index 2c807947e47..00000000000 --- a/meta-webserver/recipes-webadmin/webmin/webmin_2.501.bb +++ /dev/null @@ -1,166 +0,0 @@ -SUMMARY = "Web-based administration interface" -HOMEPAGE = "https://www.webmin.com" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENCE;md5=0a6446108c96d0819d21e40b48109507" - -SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \ - file://setup.sh \ - file://init-exclude.patch \ - file://net-generic.patch \ - file://remove-startup-option.patch \ - file://disable-version-check.patch \ - file://nfs-export.patch \ - file://exports-lib.pl.patch \ - file://mount-excludefs.patch \ - file://samba-config-fix.patch \ - file://proftpd-config-fix.patch \ - file://net-lib.pl.patch \ - file://media-tomb.patch \ - file://mysql-config-fix.patch \ - file://webmin.service \ - " -SRC_URI[sha256sum] = "0f2772a582d4c4cf24085993729cfc94df2a64d619cefede5400c24b02efb08f" -UPSTREAM_CHECK_URI = "http://www.webmin.com/download.html" -UPSTREAM_CHECK_REGEX = "webmin-(?P\d+(\.\d+)+).tar.gz" - -inherit perlnative update-rc.d systemd - -do_configure() { - # Remove binaries and plugins for other platforms - rm -rf acl/Authen-SolarisRBAC-0.1* - rm -rf format bsdexports hpuxexports sgiexports - rm -rf zones rbac smf ipfw ipfilter dfsadmin - rm -f mount/freebsd-mounts* mount/netbsd-mounts* - rm -f mount/openbsd-mounts* mount/macos-mounts* - - # Remove some plugins for the moment - rm -rf lilo frox wuftpd telnet pserver cpan shorewall webalizer cfengine fsdump pap - rm -rf majordomo fetchmail sendmail mailboxes procmail filter mailcap dovecot exim spam qmailadmin postfix - rm -rf stunnel squid sarg pptp-client pptp-server jabber openslp sentry cluster-* vgetty burner heartbeat - - # Adjust configs - [ -f init/config-debian-linux ] && mv init/config-debian-linux init/config-generic-linux - sed -i "s/shutdown_command=.*/shutdown_command=poweroff/" init/config-generic-linux - echo "exclude=bootmisc.sh,single,halt,reboot,hostname.sh,modutils.sh,mountall.sh,mountnfs.sh,networking,populate-volatile.sh,rmnologin.sh,save-rtc.sh,umountfs,umountnfs.sh,hwclock.sh,checkroot.sh,banner.sh,udev,udev-cache,devpts.sh,psplash.sh,sendsigs,fbsetup,bootlogd,stop-bootlogd,sysfs.sh,syslog,syslog.busybox,urandom,webmin,functions.initscripts,read-only-rootfs-hook.sh" >> init/config-generic-linux - echo "excludefs=devpts,devtmpfs,usbdevfs,proc,tmpfs,sysfs,debugfs" >> mount/config-generic-linux - - [ -f exports/config-debian-linux ] && mv exports/config-debian-linux exports/config-generic-linux - sed -i "s/killall -HUP rpc.nfsd && //" exports/config-generic-linux - sed -i "s/netstd_nfs/nfsserver/g" exports/config-generic-linux - - # Fix insane naming that causes problems at packaging time (must be done before deleting below) - find . -name "*\**" | while read from - do - to=`echo "$from" | sed "s/*/ALL/"` - mv "$from" "$to" - done - - # Remove some other files we don't need - find . -name "config-*" -a \! -name "config-generic-linux" -a \! -name "config-ALL-linux" -a \! -name "*.pl" -delete - find . -regextype posix-extended -regex ".*/(openserver|aix|osf1|osf|openbsd|netbsd|freebsd|unixware|solaris|macos|irix|hpux|cygwin|windows)-lib\.pl" -delete - rm -f webmin-gentoo-init webmin-caldera-init webmin-debian-pam webmin-pam - - # Don't need these at runtime (and we have our own setup script) - rm -f setup.sh - rm -f setup.pl - - # Use pidof for finding PIDs - sed -i "s/find_pid_command=.*/find_pid_command=pidof NAME/" config-generic-linux -} - -WEBMIN_LOGIN ?= "admin" -WEBMIN_PASSWORD ?= "password" - -do_install() { - install -d ${D}${sysconfdir} - install -d ${D}${sysconfdir}/webmin - install -d ${D}${sysconfdir}/init.d - install -m 0755 webmin-init ${D}${sysconfdir}/init.d/webmin - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${UNPACKDIR}/webmin.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - ${D}${systemd_unitdir}/system/webmin.service - - install -d ${D}${localstatedir} - install -d ${D}${localstatedir}/webmin - - install -d ${D}${libexecdir}/webmin - cd ${S} || exit 1 - tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \ - | tar --no-same-owner -xpf - -C ${D}${libexecdir}/webmin - - rm -f ${D}${libexecdir}/webmin/webmin-init - rm -f ${D}${libexecdir}/webmin/ajaxterm/ajaxterm/configure.initd.gentoo - rm -rf ${D}${libexecdir}/webmin/patches - - # Run setup script - export perl=perl - export perl_runtime=${bindir}/perl - export prefix=${D} - export tempdir=${S}/install_tmp - export wadir=${libexecdir}/webmin - export config_dir=${sysconfdir}/webmin - export var_dir=${localstatedir}/webmin - export os_type=generic-linux - export os_version=0 - export real_os_type="${DISTRO_NAME}" - export real_os_version="${DISTRO_VERSION}" - export port=10000 - export login=${WEBMIN_LOGIN} - export password=${WEBMIN_PASSWORD} - export ssl=0 - export atboot=1 - export no_pam=1 - mkdir -p $tempdir - ${UNPACKDIR}/setup.sh - - # Ensure correct PERLLIB path - sed -i -e 's#${D}##g' ${D}${sysconfdir}/webmin/start -} - -INITSCRIPT_NAME = "webmin" -INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ." - -SYSTEMD_SERVICE:${PN} = "webmin.service" -SYSTEMD_AUTO_ENABLE:${PN} = "disable" - -# FIXME: some of this should be figured out automatically -RDEPENDS:${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict" -RDEPENDS:${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader" -RDEPENDS:${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant" -RDEPENDS:${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm-file perl-module-feature" - -PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*" -RRECOMMENDS:${PN} += "webmin-module-system-status" - -PACKAGES += "${PN}-module-proc ${PN}-module-raid ${PN}-module-exports ${PN}-module-fdisk ${PN}-module-lvm" -RDEPENDS:${PN}-module-proc = "procps" -RDEPENDS:${PN}-module-raid = "mdadm" -RDEPENDS:${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix" -RRECOMMENDS:${PN}-module-fdisk = "parted" -RRECOMMENDS:${PN}-module-lvm = "lvm2" - -python populate_packages:prepend() { - import os, os.path - - wadir = bb.data.expand('${libexecdir}/webmin', d) - wadir_image = bb.data.expand('${D}', d) + wadir - modules = [] - themes = [] - for mod in os.listdir(wadir_image): - modinfo = os.path.join(wadir_image, mod, "module.info") - themeinfo = os.path.join(wadir_image, mod, "theme.info") - if os.path.exists(modinfo): - modules.append(mod) - elif os.path.exists(themeinfo): - themes.append(mod) - - do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', extra_depends='perl', allow_dirs=True, prepend=True) - do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', extra_depends='perl', allow_dirs=True, prepend=True) -} - -# Time-savers -package_do_pkgconfig() { - : -} diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_2.630.bb b/meta-webserver/recipes-webadmin/webmin/webmin_2.630.bb new file mode 100644 index 00000000000..6a627e1f0ef --- /dev/null +++ b/meta-webserver/recipes-webadmin/webmin/webmin_2.630.bb @@ -0,0 +1,166 @@ +SUMMARY = "Web-based administration interface" +HOMEPAGE = "https://www.webmin.com" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENCE;md5=0a6446108c96d0819d21e40b48109507" + +SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \ + file://setup.sh \ + file://init-exclude.patch \ + file://net-generic.patch \ + file://remove-startup-option.patch \ + file://disable-version-check.patch \ + file://nfs-export.patch \ + file://exports-lib.pl.patch \ + file://mount-excludefs.patch \ + file://samba-config-fix.patch \ + file://proftpd-config-fix.patch \ + file://net-lib.pl.patch \ + file://media-tomb.patch \ + file://mysql-config-fix.patch \ + file://webmin.service \ + " +SRC_URI[sha256sum] = "47e25daeefeb98598f4b3f3d99e5093fe618b96eb1b952e938ba6356806be20c" +UPSTREAM_CHECK_URI = "http://www.webmin.com/download.html" +UPSTREAM_CHECK_REGEX = "webmin-(?P\d+(\.\d+)+).tar.gz" + +inherit perlnative update-rc.d systemd + +do_configure() { + # Remove binaries and plugins for other platforms + rm -rf acl/Authen-SolarisRBAC-0.1* + rm -rf format bsdexports hpuxexports sgiexports + rm -rf zones rbac smf ipfw ipfilter dfsadmin + rm -f mount/freebsd-mounts* mount/netbsd-mounts* + rm -f mount/openbsd-mounts* mount/macos-mounts* + + # Remove some plugins for the moment + rm -rf lilo frox wuftpd telnet pserver cpan shorewall webalizer cfengine fsdump pap + rm -rf majordomo fetchmail sendmail mailboxes procmail filter mailcap dovecot exim spam qmailadmin postfix + rm -rf stunnel squid sarg pptp-client pptp-server jabber openslp sentry cluster-* vgetty burner heartbeat + + # Adjust configs + [ -f init/config-debian-linux ] && mv init/config-debian-linux init/config-generic-linux + sed -i "s/shutdown_command=.*/shutdown_command=poweroff/" init/config-generic-linux + echo "exclude=bootmisc.sh,single,halt,reboot,hostname.sh,modutils.sh,mountall.sh,mountnfs.sh,networking,populate-volatile.sh,rmnologin.sh,save-rtc.sh,umountfs,umountnfs.sh,hwclock.sh,checkroot.sh,banner.sh,udev,udev-cache,devpts.sh,psplash.sh,sendsigs,fbsetup,bootlogd,stop-bootlogd,sysfs.sh,syslog,syslog.busybox,urandom,webmin,functions.initscripts,read-only-rootfs-hook.sh" >> init/config-generic-linux + echo "excludefs=devpts,devtmpfs,usbdevfs,proc,tmpfs,sysfs,debugfs" >> mount/config-generic-linux + + [ -f exports/config-debian-linux ] && mv exports/config-debian-linux exports/config-generic-linux + sed -i "s/killall -HUP rpc.nfsd && //" exports/config-generic-linux + sed -i "s/netstd_nfs/nfsserver/g" exports/config-generic-linux + + # Fix insane naming that causes problems at packaging time (must be done before deleting below) + find . -name "*\**" | while read from + do + to=`echo "$from" | sed "s/*/ALL/"` + mv "$from" "$to" + done + + # Remove some other files we don't need + find . -name "config-*" -a \! -name "config-generic-linux" -a \! -name "config-ALL-linux" -a \! -name "*.pl" -delete + find . -regextype posix-extended -regex ".*/(openserver|aix|osf1|osf|openbsd|netbsd|freebsd|unixware|solaris|macos|irix|hpux|cygwin|windows)-lib\.pl" -delete + rm -f webmin-gentoo-init webmin-caldera-init webmin-debian-pam webmin-pam + + # Don't need these at runtime (and we have our own setup script) + rm -f setup.sh + rm -f setup.pl + + # Use pidof for finding PIDs + sed -i "s/find_pid_command=.*/find_pid_command=pidof NAME/" config-generic-linux +} + +WEBMIN_LOGIN ?= "admin" +WEBMIN_PASSWORD ?= "password" + +do_install() { + install -d ${D}${sysconfdir} + install -d ${D}${sysconfdir}/webmin + install -d ${D}${sysconfdir}/init.d + install -m 0755 webmin-init ${D}${sysconfdir}/init.d/webmin + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/webmin.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${systemd_unitdir}/system/webmin.service + + install -d ${D}${localstatedir} + install -d ${D}${localstatedir}/webmin + + install -d ${D}${libexecdir}/webmin + cd ${S} || exit 1 + tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \ + | tar --no-same-owner -xpf - -C ${D}${libexecdir}/webmin + + rm -f ${D}${libexecdir}/webmin/webmin-init + rm -f ${D}${libexecdir}/webmin/ajaxterm/ajaxterm/configure.initd.gentoo + rm -rf ${D}${libexecdir}/webmin/patches + + # Run setup script + export perl=perl + export perl_runtime=${bindir}/perl + export prefix=${D} + export tempdir=${S}/install_tmp + export wadir=${libexecdir}/webmin + export config_dir=${sysconfdir}/webmin + export var_dir=${localstatedir}/webmin + export os_type=generic-linux + export os_version=0 + export real_os_type="${DISTRO_NAME}" + export real_os_version="${DISTRO_VERSION}" + export port=10000 + export login=${WEBMIN_LOGIN} + export password=${WEBMIN_PASSWORD} + export ssl=0 + export atboot=1 + export no_pam=1 + mkdir -p $tempdir + ${UNPACKDIR}/setup.sh + + # Ensure correct PERLLIB path + sed -i -e 's#${D}##g' ${D}${sysconfdir}/webmin/start +} + +INITSCRIPT_NAME = "webmin" +INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ." + +SYSTEMD_SERVICE:${PN} = "webmin.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" + +# FIXME: some of this should be figured out automatically +RDEPENDS:${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict" +RDEPENDS:${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader" +RDEPENDS:${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant" +RDEPENDS:${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm-file perl-module-feature" + +PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*" +RRECOMMENDS:${PN} += "webmin-module-system-status" + +PACKAGES += "${PN}-module-proc ${PN}-module-raid ${PN}-module-exports ${PN}-module-fdisk ${PN}-module-lvm" +RDEPENDS:${PN}-module-proc = "procps" +RDEPENDS:${PN}-module-raid = "mdadm" +RDEPENDS:${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix" +RRECOMMENDS:${PN}-module-fdisk = "parted" +RRECOMMENDS:${PN}-module-lvm = "lvm2" + +python populate_packages:prepend() { + import os, os.path + + wadir = bb.data.expand('${libexecdir}/webmin', d) + wadir_image = bb.data.expand('${D}', d) + wadir + modules = [] + themes = [] + for mod in os.listdir(wadir_image): + modinfo = os.path.join(wadir_image, mod, "module.info") + themeinfo = os.path.join(wadir_image, mod, "theme.info") + if os.path.exists(modinfo): + modules.append(mod) + elif os.path.exists(themeinfo): + themes.append(mod) + + do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', extra_depends='perl', allow_dirs=True, prepend=True) + do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', extra_depends='perl', allow_dirs=True, prepend=True) +} + +# Time-savers +package_do_pkgconfig() { + : +} diff --git a/meta-xfce/README.md b/meta-xfce/README.md index 0d0077783ed..564590ff394 100644 --- a/meta-xfce/README.md +++ b/meta-xfce/README.md @@ -15,7 +15,7 @@ BBMASK = "meta-xfce/recipes-multimedia" Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce]' in the subject' -When sending single patches, please using something like: +When sending single patches, please use something like: git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-xfce][PATCH' Layer maintainer: Kai Kang diff --git a/meta-xfce/classes/thunar-plugin.bbclass b/meta-xfce/classes/thunar-plugin.bbclass index 39b03043279..f38996d26e5 100644 --- a/meta-xfce/classes/thunar-plugin.bbclass +++ b/meta-xfce/classes/thunar-plugin.bbclass @@ -1,8 +1,4 @@ -inherit xfce features_check - -# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. -# cairo would at least needed to be built with xlib. -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +inherit xfce DEPENDS += "thunar" diff --git a/meta-xfce/conf/layer.conf b/meta-xfce/conf/layer.conf index e8109725d39..a8b96969b18 100644 --- a/meta-xfce/conf/layer.conf +++ b/meta-xfce/conf/layer.conf @@ -19,7 +19,7 @@ LAYERDEPENDS_xfce-layer += "multimedia-layer" LAYERDEPENDS_xfce-layer += "meta-python" LAYERDEPENDS_xfce-layer += "networking-layer" -LAYERSERIES_COMPAT_xfce-layer = "walnascar whinlatter" +LAYERSERIES_COMPAT_xfce-layer = "whinlatter wrynose" SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ openzone->gdk-pixbuf \ diff --git a/meta-xfce/recipes-apps/mousepad/mousepad_0.6.1.bb b/meta-xfce/recipes-apps/mousepad/mousepad_0.6.1.bb deleted file mode 100644 index dc75a4b220a..00000000000 --- a/meta-xfce/recipes-apps/mousepad/mousepad_0.6.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A simple text editor for Xfce" -SECTION = "x11/application" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "gtk+3 gtksourceview4 xfconf xfce4-dev-tools-native" - -inherit xfce-app gsettings mime-xdg - -SRC_URI[sha256sum] = "560c5436c7bc7de33fbf3e9f6cc545280772ad898dfb73257d86533880ffff36" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[spell] = "--enable-plugin-gspell,--disable-plugin-gspell,gspell" - -FILES:${PN} += " \ - ${datadir}/glib-2.0/schemas \ - ${datadir}/metainfo \ - ${datadir}/polkit-1 \ -" diff --git a/meta-xfce/recipes-apps/mousepad/mousepad_0.7.0.bb b/meta-xfce/recipes-apps/mousepad/mousepad_0.7.0.bb new file mode 100644 index 00000000000..68e84dd3c4d --- /dev/null +++ b/meta-xfce/recipes-apps/mousepad/mousepad_0.7.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "A simple text editor for Xfce" +SECTION = "x11/application" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "gtk+3 gtksourceview4 xfconf xfce4-dev-tools-native" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce-app gsettings mime-xdg + +SRC_URI[sha256sum] = "e86c59feb08126d4cace368432c16b2dee8e519aaca8a9d2b409ae1cdd200802" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[spell] = "-Dgspell-plugin=enabled,-Dgspell-plugin=disabled,gspell" + +FILES:${PN} += " \ + ${datadir}/glib-2.0/schemas \ + ${datadir}/metainfo \ + ${datadir}/polkit-1 \ +" diff --git a/meta-xfce/recipes-apps/orage/orage_4.20.2.bb b/meta-xfce/recipes-apps/orage/orage_4.20.2.bb deleted file mode 100644 index 461e4711468..00000000000 --- a/meta-xfce/recipes-apps/orage/orage_4.20.2.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Xfce Calender" -HOMEPAGE = "https://docs.xfce.org/apps/orage/start" -SECTION = "x11/application" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "gtk+ xfce4-panel libical popt" - -inherit xfce-app mime-xdg - -SRC_URI[sha256sum] = "6bfd3da084c2977fb5cee26c8e94bf55e358da8e86dd2a83c6fa9174f24672a1" - -PACKAGECONFIG ??= "notify" -PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify" - -PACKAGES =+ "xfce4-orageclock-plugin" -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/themes \ -" -FILES:xfce4-orageclock-plugin = "${libdir}/xfce4/panel/plugins/*.so ${datadir}/xfce4/panel/plugins" -FILES:${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" diff --git a/meta-xfce/recipes-apps/orage/orage_4.20.3.bb b/meta-xfce/recipes-apps/orage/orage_4.20.3.bb new file mode 100644 index 00000000000..d3727f25df4 --- /dev/null +++ b/meta-xfce/recipes-apps/orage/orage_4.20.3.bb @@ -0,0 +1,22 @@ +SUMMARY = "Xfce Calender" +HOMEPAGE = "https://docs.xfce.org/apps/orage/start" +SECTION = "x11/application" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "gtk+ xfce4-panel libical popt" + +inherit xfce-app mime-xdg + +SRC_URI[sha256sum] = "d9f6a3bcd1fdcd83d8277bc1996684a02d06ef60492b69c2404815f3314d640e" + +PACKAGECONFIG ??= "notify" +PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify" + +PACKAGES =+ "xfce4-orageclock-plugin" +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/themes \ +" +FILES:xfce4-orageclock-plugin = "${libdir}/xfce4/panel/plugins/*.so ${datadir}/xfce4/panel/plugins" +FILES:${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" diff --git a/meta-xfce/recipes-apps/ristretto/ristretto_0.13.3.bb b/meta-xfce/recipes-apps/ristretto/ristretto_0.13.3.bb deleted file mode 100644 index 71756906943..00000000000 --- a/meta-xfce/recipes-apps/ristretto/ristretto_0.13.3.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Tiny image-viewer" -HOMEPAGE = "https://docs.xfce.org/apps/ristretto/start" -SECTION = "x11/application" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=35d145429ad3cbf5308d1dc93f66376b" - -DEPENDS = "exo libexif libxfce4ui libxfce4util xfconf cairo file glib-2.0-native python3-packaging-native" - -inherit xfce-app mime-xdg python3native - -RRECOMMENDS:${PN} += "tumbler" - -SRC_URI[sha256sum] = "5b9172ef704ae192a5338df6bee4e91a59edc65618c375bb4433ffb38e2126cb" - -FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-xfce/recipes-apps/ristretto/ristretto_0.14.0.bb b/meta-xfce/recipes-apps/ristretto/ristretto_0.14.0.bb new file mode 100644 index 00000000000..d223fa5b9b3 --- /dev/null +++ b/meta-xfce/recipes-apps/ristretto/ristretto_0.14.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Tiny image-viewer" +HOMEPAGE = "https://docs.xfce.org/apps/ristretto/start" +SECTION = "x11/application" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=35d145429ad3cbf5308d1dc93f66376b" + +DEPENDS = "exo libexif libxfce4ui libxfce4util xfconf cairo file glib-2.0-native python3-packaging-native" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce-app mime-xdg python3native + +RRECOMMENDS:${PN} += "tumbler" + +SRC_URI[sha256sum] = "502cf1577de14b38132dc89e56884c5e10f86f6a028d8dde379a8839110fda55" + +FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-xfce/recipes-apps/xfce-polkit/files/0001-configure.ac-add-missing-direct-dependency-on-gtk-3.patch b/meta-xfce/recipes-apps/xfce-polkit/files/0001-configure.ac-add-missing-direct-dependency-on-gtk-3.patch new file mode 100644 index 00000000000..bc20d2f8547 --- /dev/null +++ b/meta-xfce/recipes-apps/xfce-polkit/files/0001-configure.ac-add-missing-direct-dependency-on-gtk-3.patch @@ -0,0 +1,52 @@ +From a89bd475c3cf7dc39618bcc9979fc618d7acd537 Mon Sep 17 00:00:00 2001 +From: Zhang Peng +Date: Mon, 23 Mar 2026 16:52:58 +0800 +Subject: [PATCH] configure.ac: add missing direct dependency on gtk+-3.0 + +xfce-polkit sources directly call GTK+ symbols (gtk_combo_box_set_model, +gtk_widget_show, etc.), but only libxfce4ui-2 was listed as a dependency. +Since libxfce4ui-2 correctly places gtk+-3.0 in Requires.private, the +client must declare its own direct dependency on gtk+-3.0. + +See https://people.freedesktop.org/~dbn/pkg-config-guide.html#writing + +Upstream-Status: Submitted [https://github.com/ncopa/xfce-polkit/pull/14] + +Signed-off-by: Zhang Peng +--- + configure.ac | 1 + + src/Makefile.am | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 88f2432..15c09c9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4,6 +4,7 @@ AC_PROG_CC + + PKG_CHECK_MODULES([GLIB], [glib-2.0]) + PKG_CHECK_MODULES([LIBXFCE4UI], [libxfce4ui-2]) ++PKG_CHECK_MODULES([GTK3], [gtk+-3.0]) + PKG_CHECK_MODULES([POLKIT_AGENT], [polkit-agent-1]) + + AC_CONFIG_FILES([ +diff --git a/src/Makefile.am b/src/Makefile.am +index 514605a..f13e4cb 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -10,11 +10,13 @@ xfce_polkit_SOURCES = \ + + xfce_polkit_CFLAGS = @GLIB_CFLAGS@ \ + @LIBXFCE4UI_CFLAGS@ \ ++ @GTK3_CFLAGS@ \ + @POLKIT_AGENT_CFLAGS@ + + + xfce_polkit_LDADD = @GLIB_LIBS@ \ + @LIBXFCE4UI_LIBS@ \ ++ @GTK3_LIBS@ \ + @POLKIT_AGENT_LIBS@ + + +-- +2.50.0 diff --git a/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.3.bb b/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.3.bb index 880e73849ce..167cc538b99 100644 --- a/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.3.bb +++ b/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.3.bb @@ -7,7 +7,8 @@ DEPENDS = "libxfce4ui polkit" inherit xfce-app features_check REQUIRED_DISTRO_FEATURES = "polkit" -SRC_URI = " \ - git://github.com/ncopa/${BPN}.git;branch=master;protocol=https \ -" +SRC_URI = "\ + git://github.com/ncopa/${BPN}.git;branch=master;protocol=https \ + file://0001-configure.ac-add-missing-direct-dependency-on-gtk-3.patch \ + " SRCREV = "6d3282cc1734c305850d48f5bf4b4d94e88885e9" diff --git a/meta-xfce/recipes-apps/xfce4-datetime-setter/files/0001-build-add-missing-direct-dependencies-to-fix-link-fa.patch b/meta-xfce/recipes-apps/xfce4-datetime-setter/files/0001-build-add-missing-direct-dependencies-to-fix-link-fa.patch new file mode 100644 index 00000000000..c86e4188006 --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-datetime-setter/files/0001-build-add-missing-direct-dependencies-to-fix-link-fa.patch @@ -0,0 +1,35 @@ +From 57fc1ba0b433f2f95cd9eb011cf64a4f28b281b4 Mon Sep 17 00:00:00 2001 +From: Zhang Peng +Date: Mon, 23 Mar 2026 16:44:28 +0800 +Subject: [PATCH] build: add missing direct dependencies to fix link failures + +xfce/ sources directly call symbols from libxfce4util (xfce_textdomain) +and gtk+-3.0 (gtk_builder_*, gtk_combo_box_*, gtk_widget_*), but only +libxfce4ui-2 was listed as a dependency. Since libxfce4ui-2 correctly +places these in Requires.private, the client must declare its own direct +dependencies. + +Upstream-Status: Submitted [https://github.com/schnitzeltony/xfce4-datetime-setter/pull/4] + +Signed-off-by: Zhang Peng +--- + xfce/meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/xfce/meson.build b/xfce/meson.build +index 2acab2f..f1386a5 100644 +--- a/xfce/meson.build ++++ b/xfce/meson.build +@@ -7,8 +7,9 @@ xfce_datetime_c_args = [ + '-DHAVE_CONFIG_H', + ] + +-xfce_datetime_deps = [ ++xfce_datetime_deps = common_deps + [ + libxfce4ui_dep, ++ dependency('libxfce4util-1.0'), + ] + + resource_data = files( +-- +2.50.0 diff --git a/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb b/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb index 308da40c34e..356c55e47b2 100644 --- a/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb +++ b/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb @@ -6,10 +6,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" DEPENDS = "glib-2.0-native libxfce4ui" -SRC_URI = "git://github.com/schnitzeltony/xfce4-datetime-setter.git;protocol=https;branch=master \ +SRC_URI = "\ + git://github.com/schnitzeltony/xfce4-datetime-setter.git;protocol=https;branch=master \ file://fix-inner-dependency.patch \ file://0001-Fix-build-with-meson-0.61.patch \ -" + file://0001-build-add-missing-direct-dependencies-to-fix-link-fa.patch \ + " SRCREV = "5c7a73a3824b03b91719e05e2604b97c7a72d50f" diff --git a/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.9.4.bb b/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.9.4.bb deleted file mode 100644 index 987735e763c..00000000000 --- a/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.9.4.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Easily themable notification daemon with transparency effects" -HOMEPAGE = "https://docs.xfce.org/apps/notifyd/start" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = " \ - glib-2.0-native \ - libnotify \ - libxfce4util \ - libxfce4ui \ - xfconf \ - xfce4-panel \ - python3-packaging-native \ -" - -inherit xfce-app -inherit python3native - -SRC_URI[sha256sum] = "ae6c128c055c44bd07202f73ae69ad833c5e4754f3530696965136e4d9ea7818" - -# Avoid trouble with other desktops e.g KDE which also ships dbus service named -# org.freedesktop.Notifications -EXTRA_OECONF = "--disable-dbus-start-daemon \ - GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen \ - GLIB_COMPILE_RESOURCES=${STAGING_BINDIR_NATIVE}/glib-compile-resources \ - GLIB_GENMARSHAL=${STAGING_BINDIR_NATIVE}/glib-genmarshal \ - GLIB_MKENUMS=${STAGING_BINDIR_NATIVE}/glib-mkenums \ - " - -do_compile:prepend() { - mkdir -p xfce4-notifyd xfce4-notifyd-config -} - -FILES:${PN} += " \ - ${systemd_user_unitdir} \ - ${datadir}/xfce4 \ - ${datadir}/themes \ - ${datadir}/dbus-1 \ - ${libdir}/xfce4 \ -" diff --git a/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.9.7.bb b/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.9.7.bb new file mode 100644 index 00000000000..60f09d9db77 --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.9.7.bb @@ -0,0 +1,40 @@ +SUMMARY = "Easily themable notification daemon with transparency effects" +HOMEPAGE = "https://docs.xfce.org/apps/notifyd/start" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = " \ + glib-2.0-native \ + libnotify \ + libxfce4util \ + libxfce4ui \ + xfconf \ + xfce4-panel \ + python3-packaging-native \ +" + +inherit xfce-app +inherit python3native + +SRC_URI[sha256sum] = "170d18fd5f40cce823ffc7ae3d7e21644007c3f45808ab4835f0401d21b3516a" + +# Avoid trouble with other desktops e.g KDE which also ships dbus service named +# org.freedesktop.Notifications +EXTRA_OECONF = "--disable-dbus-start-daemon \ + GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen \ + GLIB_COMPILE_RESOURCES=${STAGING_BINDIR_NATIVE}/glib-compile-resources \ + GLIB_GENMARSHAL=${STAGING_BINDIR_NATIVE}/glib-genmarshal \ + GLIB_MKENUMS=${STAGING_BINDIR_NATIVE}/glib-mkenums \ + " + +do_compile:prepend() { + mkdir -p xfce4-notifyd xfce4-notifyd-config +} + +FILES:${PN} += " \ + ${systemd_user_unitdir} \ + ${datadir}/xfce4 \ + ${datadir}/themes \ + ${datadir}/dbus-1 \ + ${libdir}/xfce4 \ +" diff --git a/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.15.bb b/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.15.bb deleted file mode 100644 index 7eeaf80a67d..00000000000 --- a/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.15.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Backup, restore, import, and export panel layouts" -HOMEPAGE = "https://docs.xfce.org/apps/xfce4-panel-profiles/start" -SECTION = "x11/application" -LICENSE = "GPL-3.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -inherit python3native gettext gtk-icon-cache features_check - -REQUIRED_DISTRO_FEATURES = "x11 gobject-introspection-data" - -DEPENDS += "intltool-native" - -SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BP}.tar.bz2" -SRC_URI[sha256sum] = "56cce1a27e88a18a282d568cbc601547a5dd704f0449a75bc284f0171aebaf3b" - -do_configure() { - # special configure - no autotools... - ./configure --prefix=${prefix} -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles -} - -FILES:${PN} += "${datadir}/metainfo" - -RDEPENDS:${PN} += "python3-pygobject python3-pexpect" diff --git a/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.1.1.bb b/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.1.1.bb new file mode 100644 index 00000000000..24c96ea788c --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.1.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "Backup, restore, import, and export panel layouts" +HOMEPAGE = "https://docs.xfce.org/apps/xfce4-panel-profiles/start" +SECTION = "x11/application" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit python3native gettext gtk-icon-cache features_check + +REQUIRED_DISTRO_FEATURES = "x11 gobject-introspection-data" + +DEPENDS += "intltool-native" + +SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.1/${BP}.tar.xz" +SRC_URI[sha256sum] = "0126373a03778bb4894afa151de28d36bfc563ddab96d3bd7c63962350d34ba2" + +do_configure() { + # special configure - no autotools... + ./configure --prefix=${prefix} +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles +} + +FILES:${PN} += "${datadir}/metainfo" + +RDEPENDS:${PN} += "python3-pygobject python3-pexpect python3-psutil" diff --git a/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch b/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch deleted file mode 100644 index eabcaaae691..00000000000 --- a/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch +++ /dev/null @@ -1,64 +0,0 @@ -It adds '-I$includedir' to CPPFLAGS and adds '-L$libdir' to LDFLAGS in -configure.ac which causes 'configure-unsafe' QA error. Don't add them for cross -compile to avoid the QA issues. - -Upstream-Status: Inappropriate [cross compile specific] - -Signed-off-by: Kai Kang - ---- - configure.ac | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 6f149bb..3890677 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -237,9 +237,9 @@ dnl --------------------------------------------------------------------------- - # - AC_DEFUN([AC_CHECK_X_HEADER], [ - ac_save_CPPFLAGS="$CPPFLAGS" -- if test \! -z "$includedir" ; then -- CPPFLAGS="$CPPFLAGS -I$includedir" -- fi -+# if test \! -z "$includedir" ; then -+# CPPFLAGS="$CPPFLAGS -I$includedir" -+# fi - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - AC_CHECK_HEADER([$1],[$2],[$3],[$4]) - CPPFLAGS="$ac_save_CPPFLAGS"]) -@@ -248,9 +248,9 @@ AC_DEFUN([AC_CHECK_X_HEADER], [ - # - AC_DEFUN([AC_TRY_X_COMPILE], [ - ac_save_CPPFLAGS="$CPPFLAGS" -- if test \! -z "$includedir" ; then -- CPPFLAGS="$CPPFLAGS -I$includedir" -- fi -+# if test \! -z "$includedir" ; then -+# CPPFLAGS="$CPPFLAGS -I$includedir" -+# fi - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$1]], [[$2]])], [$3], [$4]) - CPPFLAGS="$ac_save_CPPFLAGS"]) -@@ -264,15 +264,15 @@ AC_DEFUN([AC_CHECK_X_LIB], [ - ac_save_LDFLAGS="$LDFLAGS" - # ac_save_LIBS="$LIBS" - -- if test \! -z "$includedir" ; then -- CPPFLAGS="$CPPFLAGS -I$includedir" -- fi -+# if test \! -z "$includedir" ; then -+# CPPFLAGS="$CPPFLAGS -I$includedir" -+# fi - # note: $X_CFLAGS includes $x_includes - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - -- if test \! -z "$libdir" ; then -- LDFLAGS="$LDFLAGS -L$libdir" -- fi -+# if test \! -z "$libdir" ; then -+# LDFLAGS="$LDFLAGS -L$libdir" -+# fi - # note: $X_LIBS includes $x_libraries - LDFLAGS="$LDFLAGS $ALL_X_LIBS" - diff --git a/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_4.18.4.bb b/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_4.18.4.bb deleted file mode 100644 index 7322dedc29b..00000000000 --- a/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_4.18.4.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Xfce screensaver Application" -DESCRIPTION = "Xfce screensaver is a screen saver and locker that aims to have simple, sane, secure defaults and be well integrated with the desktop." -HOMEPAGE = "https://git.xfce.org/apps/xfce4-screensaver/about/" -SECTION = "x11/application" - -LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later " -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ - " - -DEPENDS = "dbus-glib garcon gtk+3 libxklavier libxscrnsaver virtual/libx11 xfconf libwnck3" - -inherit xfce-app - -SRC_URI:append = " file://fix-cross-compile.patch" -SRC_URI[sha256sum] = "cf717d032d2d0555978c479299da992af6dc3363ae7e758af9515c7166eac170" - -do_install:append() { - install -D -m 0644 ${S}/data/xfce4-screensaver.common-auth ${D}${sysconfdir}/pam.d/xfce4-screensaver -} - -FILES:${PN} += "${datadir}/dbus-1 ${datadir}/desktop-directories" - -RDEPENDS:${PN} += "python3-core" diff --git a/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_4.20.2.bb b/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_4.20.2.bb new file mode 100644 index 00000000000..2136892c4ee --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_4.20.2.bb @@ -0,0 +1,31 @@ +SUMMARY = "Xfce screensaver Application" +DESCRIPTION = "Xfce screensaver is a screen saver and locker that aims to have simple, sane, secure defaults and be well integrated with the desktop." +HOMEPAGE = "https://git.xfce.org/apps/xfce4-screensaver/about/" +SECTION = "x11/application" + +LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later " +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ + " +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +DEPENDS = "dbus-glib garcon gtk+3 libxklavier libxscrnsaver virtual/libx11 xfconf libwnck3" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'authentication-scheme', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'session-manager', '', d)} \ +" +PACKAGECONFIG[authentication-scheme] = ", -Dauthentication-scheme=none, libpam," +PACKAGECONFIG[session-manager] = ", -Dsession-manager=none, systemd," + +inherit xfce-app + +SRC_URI[sha256sum] = "5032f60a31df5e50a80512e301b595be5ea6a6bd762cdd95cacc24cbd29a01d7" + +do_install:append() { + install -D -m 0644 ${S}/data/xfce4-screensaver.common-auth ${D}${sysconfdir}/pam.d/xfce4-screensaver +} + +FILES:${PN} += "${datadir}/dbus-1 ${datadir}/desktop-directories" + +RDEPENDS:${PN} += "python3-core" diff --git a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.8.bb b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.8.bb deleted file mode 100644 index 6490e087fb1..00000000000 --- a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.8.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Easy to use task manager" -HOMEPAGE = "https://docs.xfce.org/apps/xfce4-taskmanager/start" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -inherit xfce-app - -DEPENDS += "gtk+3 cairo libwnck libxfce4ui libxmu xfce4-dev-tools-native" - -SRC_URI[sha256sum] = "14b9d68b8feb88a642a9885b8549efe7fc9e6c155f638003f2a4a58d9eb2baab" diff --git a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.6.0.bb b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.6.0.bb new file mode 100644 index 00000000000..e367326db95 --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.6.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Easy to use task manager" +HOMEPAGE = "https://docs.xfce.org/apps/xfce4-taskmanager/start" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce-app + +DEPENDS += "gtk+3 cairo libwnck libxfce4ui libxmu" + +SRC_URI[sha256sum] = "29bdc7840ab8b9025f6c0e456a83a31090d1c9fd9e26b359baa4a4010cfb0b90" diff --git a/meta-xfce/recipes-apps/xfce4-terminal/files/0001-build-Do-not-display-full-path-in-generated-headers.patch b/meta-xfce/recipes-apps/xfce4-terminal/files/0001-build-Do-not-display-full-path-in-generated-headers.patch new file mode 100644 index 00000000000..ef4052af51f --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-terminal/files/0001-build-Do-not-display-full-path-in-generated-headers.patch @@ -0,0 +1,36 @@ +From c1b15e5249fa975308c75f5f9791a444a44f05bc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Mon, 16 Mar 2026 16:48:25 +0100 +Subject: [PATCH] build: Do not display full path in generated headers + +Upstream-Status: Backport [https://gitlab.xfce.org/apps/xfce4-terminal/-/commit/c1b15e5249fa975308c75f5f9791a444a44f05bc] + +Signed-off-by: Zhang Peng +--- + terminal/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/terminal/meson.build b/terminal/meson.build +index e0e109f7..5ff7b1ee 100644 +--- a/terminal/meson.build ++++ b/terminal/meson.build +@@ -50,7 +50,7 @@ terminal_sources += gnome.mkenums( + install_header: false, + sources: 'terminal-preferences.h', + fhead: '#ifndef TERMINAL_ENUM_TYPES_H\n#define TERMINAL_ENUM_TYPES_H\n#include \nG_BEGIN_DECLS\n', +- fprod: '/* enumerations from "@filename@" */\n', ++ fprod: '/* enumerations from "@basename@" */\n', + vhead: 'GType @enum_name@_get_type (void);\n#define TERMINAL_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n', + ftail: 'G_END_DECLS\n\n#endif /* !TERMINAL_ENUM_TYPES_H */', + ) +@@ -59,7 +59,7 @@ terminal_sources += gnome.mkenums( + install_header: false, + sources: 'terminal-preferences.h', + fhead: '#include "terminal-enum-types.h"\n#include "terminal-app.h"\n#include "terminal-preferences.h"', +- fprod: ' \n/* enumerations from "@filename@" */', ++ fprod: ' \n/* enumerations from "@basename@" */', + vhead: 'GType\n@enum_name@_get_type (void)\n{\n\tstatic GType type = 0;\n\tif (type == 0) {\n\tstatic const G@Type@Value values[] = {', + vprod: ' \t{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },', + vtail: ' \t{ 0, NULL, NULL }\n\t};\n\ttype = g_@type@_register_static ("@EnumName@", values);\n }\n\treturn type;\n}\n', +-- +2.51.2 diff --git a/meta-xfce/recipes-apps/xfce4-terminal/files/0001-build-Properly-guard-wayland-code.patch b/meta-xfce/recipes-apps/xfce4-terminal/files/0001-build-Properly-guard-wayland-code.patch new file mode 100644 index 00000000000..4f46e8a8d77 --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-terminal/files/0001-build-Properly-guard-wayland-code.patch @@ -0,0 +1,35 @@ +From b07d9546a08a3cd70b7e9aaad7a86256fbe32b8b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Sun, 8 Mar 2026 22:23:34 +0100 +Subject: [PATCH] build: Properly guard wayland code + +Closes: #383 +Fixes: ab0136ac39d1eb0849dcfca84bbd91e8562a7176 + +Upstream-Status: Backport [https://gitlab.xfce.org/apps/xfce4-terminal/-/commit/b07d9546a08a3cd70b7e9aaad7a86256fbe32b8b] + +Signed-off-by: Zhang Peng +--- + terminal/terminal-window-dropdown.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/terminal/terminal-window-dropdown.c b/terminal/terminal-window-dropdown.c +index 6f9e3b48..074a6ce0 100644 +--- a/terminal/terminal-window-dropdown.c ++++ b/terminal/terminal-window-dropdown.c +@@ -567,11 +567,13 @@ terminal_window_dropdown_finalize (GObject *object) + if (dropdown->animation_timeout_id != 0) + g_source_remove (dropdown->animation_timeout_id); + ++#ifdef HAVE_GTK_LAYER_SHELL + if (dropdown->set_monitor_idle_id != 0) + g_source_remove (dropdown->set_monitor_idle_id); + + if (dropdown->monitor_removed_idle_id != 0) + g_source_remove (dropdown->monitor_removed_idle_id); ++#endif + + if (dropdown->status_icon != NULL) + g_object_unref (G_OBJECT (dropdown->status_icon)); +-- +2.51.2 diff --git a/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_1.1.4.bb b/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_1.1.4.bb deleted file mode 100644 index 50adacbcb11..00000000000 --- a/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_1.1.4.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Terminal emulator for the Xfce desktop environment" -HOMEPAGE = "https://docs.xfce.org/apps/xfce4-terminal/start" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui gtk-doc-native" - -inherit xfce-app - -FILES:${PN} += " \ - ${datadir}/xfce4 \ - ${datadir}/gnome-control-center \ -" - -SRC_URI[sha256sum] = "873c921da1f4b986ffb459d4960789c9c063af98648c9f0ca146dc6f6f5b71b7" - -RRECOMMENDS:${PN} += "vte-prompt" diff --git a/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_1.2.0.bb b/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_1.2.0.bb new file mode 100644 index 00000000000..bf31ae516e4 --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_1.2.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Terminal emulator for the Xfce desktop environment" +HOMEPAGE = "https://docs.xfce.org/apps/xfce4-terminal/start" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui libxslt-native docbook-xsl-stylesheets-native gtk-doc-native" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce-app + +SRC_URI += "\ + file://0001-build-Properly-guard-wayland-code.patch \ + file://0001-build-Do-not-display-full-path-in-generated-headers.patch \ + " +SRC_URI[sha256sum] = "6874c7b975cc3dc3bd636d57ffec723de7458202defe65377593d3a7e0734b94" + +FILES:${PN} += " \ + ${datadir}/xfce4 \ + ${datadir}/gnome-control-center \ +" + +RRECOMMENDS:${PN} += "vte-prompt" diff --git a/meta-xfce/recipes-extended/imsettings/imsettings/0001-remove-man-page.patch b/meta-xfce/recipes-extended/imsettings/imsettings/0001-remove-man-page.patch index a2fe0451b07..e2ade1aa6cd 100644 --- a/meta-xfce/recipes-extended/imsettings/imsettings/0001-remove-man-page.patch +++ b/meta-xfce/recipes-extended/imsettings/imsettings/0001-remove-man-page.patch @@ -45,9 +45,9 @@ index b492532..2236257 100644 -SUFFIXES = .1.xml + - ## - # Local Rules -@@ -50,12 +42,6 @@ bin_PROGRAMS = \ + # + imsettings_boot_in = imsettings-boot.sh.in +@@ -59,12 +51,6 @@ bin_PROGRAMS = \ libexec_PROGRAMS = \ imsettings-check \ $(NULL) @@ -60,7 +60,7 @@ index b492532..2236257 100644 # autostartdir = $(sysconfdir)/xdg/autostart # -@@ -64,13 +50,6 @@ autostart_in_files = \ +@@ -73,13 +59,6 @@ autostart_in_files = \ $(NULL) autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) # diff --git a/meta-xfce/recipes-extended/imsettings/imsettings_1.8.10.bb b/meta-xfce/recipes-extended/imsettings/imsettings_1.8.10.bb deleted file mode 100644 index 6daf1f57b14..00000000000 --- a/meta-xfce/recipes-extended/imsettings/imsettings_1.8.10.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Delivery framework for general Input Method configuration" -DESCRIPTION = "IMSettings is a framework that delivers Input Method \ -settings and applies the changes so they take effect \ -immediately without any need to restart applications \ -or the desktop. \ -This package contains the core DBus services and some utilities." -HOMEPAGE = "http://code.google.com/p/imsettings/" -SECTION = "Applications/System" - -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" - -inherit autotools gettext gtk-doc gobject-introspection features_check - -DEPENDS = "autoconf-archive-native gtk+3 libnotify" - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "git://gitlab.com/tagoh/imsettings.git;protocol=https;branch=main \ - file://imsettings-gcc10.patch \ - file://0001-remove-man-page.patch \ - " -SRCREV = "27d84c88831ef76397a15891ba0738ce9a83902a" - - -do_configure:prepend() { - cp ${STAGING_DATADIR_NATIVE}/gettext/ABOUT-NLS ${AUTOTOOLS_AUXDIR}/ -} - -EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \ - --disable-static \ - " - -CFLAGS:append:toolchain-clang = " -Wno-error=unused-function -Wno-error=single-bit-bitfield-constant-conversion" -PACKAGECONFIG ??= "xfce" -PACKAGECONFIG[xfce] = ",,xfconf" -PACKAGECONFIG[xim] = ",,libgxim" - -RDEPENDS:${PN} += "bash" - -FILES:${PN} += "${datadir}/dbus-1/*" diff --git a/meta-xfce/recipes-extended/imsettings/imsettings_1.8.11.bb b/meta-xfce/recipes-extended/imsettings/imsettings_1.8.11.bb new file mode 100644 index 00000000000..e3fe0241b36 --- /dev/null +++ b/meta-xfce/recipes-extended/imsettings/imsettings_1.8.11.bb @@ -0,0 +1,41 @@ +SUMMARY = "Delivery framework for general Input Method configuration" +DESCRIPTION = "IMSettings is a framework that delivers Input Method \ +settings and applies the changes so they take effect \ +immediately without any need to restart applications \ +or the desktop. \ +This package contains the core DBus services and some utilities." +HOMEPAGE = "http://code.google.com/p/imsettings/" +SECTION = "Applications/System" + +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +inherit autotools gettext gtk-doc gobject-introspection features_check + +DEPENDS = "autoconf-archive-native gtk+3 libnotify" + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = "git://gitlab.com/tagoh/imsettings.git;protocol=https;branch=main;tag=${PV} \ + file://imsettings-gcc10.patch \ + file://0001-remove-man-page.patch \ + " +SRCREV = "7fadd84fcbfe6c321dbe1c97b50cbb70efe20155" + + +do_configure:prepend() { + cp ${STAGING_DATADIR_NATIVE}/gettext/ABOUT-NLS ${AUTOTOOLS_AUXDIR}/ +} + +EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \ + --disable-static \ + " + +CFLAGS:append:toolchain-clang = " -Wno-error=unused-function -Wno-error=single-bit-bitfield-constant-conversion" +PACKAGECONFIG ??= "xfce" +PACKAGECONFIG[xfce] = ",,xfconf" +PACKAGECONFIG[xim] = ",,libgxim" + +RDEPENDS:${PN} += "bash" + +FILES:${PN} += "${datadir}/dbus-1/*" diff --git a/meta-xfce/recipes-multimedia/parole/files/0001-Makefile.am-fix-compile-failure.patch b/meta-xfce/recipes-multimedia/parole/files/0001-Makefile.am-fix-compile-failure.patch new file mode 100644 index 00000000000..f84f6e53882 --- /dev/null +++ b/meta-xfce/recipes-multimedia/parole/files/0001-Makefile.am-fix-compile-failure.patch @@ -0,0 +1,31 @@ +From 34ff86795396c320a9e19641d9d226190b7fdfc6 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Sun, 12 Apr 2026 19:30:23 +0800 +Subject: [PATCH] Makefile.am: fix compile failure + +Fix build failure: +/build/tmp/work/x86-64-v3-poky-linux/parole/4.18.2/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-ld: parole-conf.o: undefined reference to symbol 'xfce_rc_close' +/build/tmp/work/x86-64-v3-poky-linux/parole/4.18.2/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-ld: /build/tmp/work/x86-64-v3-poky-linux/parole/4.18.2/recipe-sysroot/usr/lib/libxfce4util.so.7: error adding symbols: DSO missing from command line + +Upstream-Status: Submitted [https://gitlab.xfce.org/apps/parole/-/issues/146] + +Signed-off-by: Changqing Li +--- + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 920b708..244c14c 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -90,6 +90,7 @@ parole_LDADD = \ + $(GMODULE_LIBS) \ + $(DBUS_GLIB_LIBS) \ + $(LIBXFCE4UI_LIBS) \ ++ $(LIBXFCE4UTIL_LIBS) \ + $(XFCONF_LIBS) \ + $(GST_VIDEO_LIBS) \ + $(TAGLIBC_LIBS) \ +-- +2.34.1 + diff --git a/meta-xfce/recipes-multimedia/parole/parole_4.18.2.bb b/meta-xfce/recipes-multimedia/parole/parole_4.18.2.bb index 7787196fdd7..1d2c858a2da 100644 --- a/meta-xfce/recipes-multimedia/parole/parole_4.18.2.bb +++ b/meta-xfce/recipes-multimedia/parole/parole_4.18.2.bb @@ -11,11 +11,12 @@ DEPENDS += " \ libxfce4util \ libxfce4ui \ xfconf \ - \ gstreamer1.0-plugins-base \ taglib \ " +SRC_URI += "file://0001-Makefile.am-fix-compile-failure.patch" + SRC_URI[sha256sum] = "6625288b760d38a15c295051ecf66c556fcad21dd1516d6d661c2a582421ee0e" RDEPENDS:${PN} += "gstreamer1.0-plugins-good" diff --git a/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.3.bb b/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.3.bb index f025edd4c58..b5837f9e513 100644 --- a/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.3.bb +++ b/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.3.bb @@ -5,4 +5,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" inherit xfce-panel-plugin +CFLAGS += "-DLIBXFCE4PANEL_COMPILATION" + SRC_URI[sha256sum] = "6b2eeb79fb586868737426cbd2a4cd43c7f8c58507d8a2f578e0150187cc00b0" diff --git a/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.4.5.bb b/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.4.5.bb deleted file mode 100644 index d283684aa20..00000000000 --- a/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.4.5.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Sensors plugin for the Xfce Panel" -HOMEPAGE = "https://docs.xfce.org/panel-plugins/xfce4-sensors-plugin/start" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -inherit xfce-panel-plugin - -SRC_URI += "file://0001-Do-not-check-for-sys-class-power_supply-we-are-cross.patch" -SRC_URI[sha256sum] = "f69fdf79b7f76d2a81724828124a6fce76803a9122a4c82de8f3dfa3efbb179a" - -EXTRA_OECONF = " \ - --disable-procacpi \ - --disable-xnvctrl \ -" - -LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd', '', d)}" - -do_configure:prepend() { - sed -i 's:LIBSENSORS_CFLAGS=.*:LIBSENSORS_CFLAGS=-I${STAGING_INCDIR}:g' ${S}/configure.ac -} - -PACKAGECONFIG ??= "libnotify" -PACKAGECONFIG[libsensors] = "--enable-libsensors,--disable-libsensors, lmsensors" -PACKAGECONFIG[hddtemp] = "--enable-hddtemp,--disable-hddtemp, hddtemp" -PACKAGECONFIG[netcat] = "--enable-netcat --disable-pathchecks,--disable-netcat, netcat" -PACKAGECONFIG[libnotify] = "--enable-notification,--disable-notification, libnotify" - -FILES_SOLIBSDEV = "${libdir}/xfce4/modules/lib*${SOLIBSDEV}" diff --git a/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.5.0.bb b/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.5.0.bb new file mode 100644 index 00000000000..1d9f7c205a9 --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/sensors/xfce4-sensors-plugin_1.5.0.bb @@ -0,0 +1,30 @@ +SUMMARY = "Sensors plugin for the Xfce Panel" +HOMEPAGE = "https://docs.xfce.org/panel-plugins/xfce4-sensors-plugin/start" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +XFCE_COMPRESS_TYPE = "xz" + +inherit xfce-panel-plugin + +SRC_URI += "file://0001-Do-not-check-for-sys-class-power_supply-we-are-cross.patch" +SRC_URI[sha256sum] = "840442b87fdddcd8595bd9f83ea8b81f771fe296bb9d2abf0e1979e208727ae9" + +EXTRA_OECONF = " \ + --disable-procacpi \ + --disable-xnvctrl \ +" + +LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=bfd', '', d)}" + +do_configure:prepend() { + sed -i 's:LIBSENSORS_CFLAGS=.*:LIBSENSORS_CFLAGS=-I${STAGING_INCDIR}:g' ${S}/configure.ac +} + +PACKAGECONFIG ??= "libnotify" +PACKAGECONFIG[libsensors] = "--enable-libsensors,--disable-libsensors, lmsensors" +PACKAGECONFIG[hddtemp] = "--enable-hddtemp,--disable-hddtemp, hddtemp" +PACKAGECONFIG[netcat] = "--enable-netcat --disable-pathchecks,--disable-netcat, netcat" +PACKAGECONFIG[libnotify] = "--enable-notification,--disable-notification, libnotify" + +FILES_SOLIBSDEV = "${libdir}/xfce4/modules/lib*${SOLIBSDEV}" diff --git a/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.10.0.bb b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.10.0.bb deleted file mode 100644 index 59f4bc92034..00000000000 --- a/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.10.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "An alternate menu for the Xfce desktop environment" -HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -XFCE_COMPRESS_TYPE = "xz" -XFCEBASEBUILDCLASS = "meson" - -inherit xfce-panel-plugin cmake - -SRC_URI[sha256sum] = "c2efb3782816d44d421dcbee2900b9513bdb2469b695b776641f495601f33a10" diff --git a/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.10.1.bb b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.10.1.bb new file mode 100644 index 00000000000..6d17c7596ac --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.10.1.bb @@ -0,0 +1,11 @@ +SUMMARY = "An alternate menu for the Xfce desktop environment" +HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce-panel-plugin cmake + +SRC_URI[sha256sum] = "8b5a777a5d9df1f1c39b109ba8b2d045cb2cc02c41a9a297aa00dcb2a4520530" diff --git a/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.5.0.bb b/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.5.0.bb index 3b4f38da026..b270ad0838f 100644 --- a/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.5.0.bb +++ b/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.5.0.bb @@ -1,4 +1,5 @@ SUMMARY = "Quickly share a folder using Samba from Thunar" +HOMEPAGE = "https://docs.xfce.org/xfce/thunar/thunar-shares-plugin" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" diff --git a/meta-xfce/recipes-xfce/garcon/garcon_4.20.0.bb b/meta-xfce/recipes-xfce/garcon/garcon_4.20.0.bb deleted file mode 100644 index 5d7282ecbf7..00000000000 --- a/meta-xfce/recipes-xfce/garcon/garcon_4.20.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "Xfce Menu Library" -HOMEPAGE = "https://docs.xfce.org/xfce/garcon/start" -SECTION = "x11/libs" -LICENSE = "LGPL-2.0-only & GFDL-1.1-no-invariants-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b" -DEPENDS = "xfce4-dev-tools-native libxfce4ui intltool-native" - -inherit xfce gtk-doc gobject-introspection features_check - -# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. -# cairo would at least needed to be built with xlib. -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch" -SRC_URI[sha256sum] = "7fb8517c12309ca4ddf8b42c34bc0c315e38ea077b5442bfcc4509415feada8f" - -EXTRA_OECONF = "--disable-gtk-doc" - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/garcon/.libs" -} - -FILES:${PN} += "${datadir}/desktop-directories" diff --git a/meta-xfce/recipes-xfce/garcon/garcon_4.21.0.bb b/meta-xfce/recipes-xfce/garcon/garcon_4.21.0.bb new file mode 100644 index 00000000000..06ad0b9fbcd --- /dev/null +++ b/meta-xfce/recipes-xfce/garcon/garcon_4.21.0.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "Xfce Menu Library" +HOMEPAGE = "https://docs.xfce.org/xfce/garcon/start" +SECTION = "x11/libs" +LICENSE = "LGPL-2.0-only & GFDL-1.1-no-invariants-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b" +DEPENDS = "xfce4-dev-tools-native libxfce4ui intltool-native" + +XFCE_COMPRESS_TYPE = "xz" + +inherit xfce gtk-doc gobject-introspection features_check + +# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. +# cairo would at least needed to be built with xlib. +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch" +SRC_URI[sha256sum] = "3acc3f6b81059199f4e6646da7b6ca39edf84ea90dd3ff87088ffca6aa108269" + +EXTRA_OECONF = "--disable-gtk-doc" + +do_compile:prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/garcon/.libs" + # g-ir-scanner needs garcon/garcon-config.h but it's generated in ${B}/garcon/ + mkdir -p ${B}/garcon/garcon ${B}/garcon-gtk/garcon + ln -sf ${B}/garcon/garcon-config.h ${B}/garcon/garcon/ + ln -sf ${B}/garcon/garcon-config.h ${B}/garcon-gtk/garcon/ +} + +FILES:${PN} += "${datadir}/desktop-directories" diff --git a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui/0001-build-Do-not-display-full-path-in-generated-headers.patch b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui/0001-build-Do-not-display-full-path-in-generated-headers.patch new file mode 100644 index 00000000000..c7ea1e6fe97 --- /dev/null +++ b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui/0001-build-Do-not-display-full-path-in-generated-headers.patch @@ -0,0 +1,38 @@ +From b8bf147d621739a1b8a4d1cc8398d1c90288e9d6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Mon, 16 Mar 2026 16:21:51 +0100 +Subject: [PATCH] build: Do not display full path in generated headers + +Fixes: #144 + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/libxfce4ui/-/commit/b8bf147d621739a1b8a4d1cc8398d1c90288e9d6] + +Signed-off-by: Zhang Peng +--- + libxfce4ui/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libxfce4ui/meson.build b/libxfce4ui/meson.build +index 8cac84eb..ca5ac927 100644 +--- a/libxfce4ui/meson.build ++++ b/libxfce4ui/meson.build +@@ -102,7 +102,7 @@ libxfce4ui_enums += gnome.mkenums( + install_dir: libxfce4ui_install_dir, + sources: libxfce4ui_enum_headers, + fhead: '#if !defined(_LIBXFCE4UI_INSIDE_LIBXFCE4UI_H) && !defined(LIBXFCE4UI_COMPILATION)\n#error "Only can be included directly, this file is not part of the public API."\n#endif\n\n#ifndef __LIBXFCE4UI_ENUM_TYPES_H__\n#define __LIBXFCE4UI_ENUM_TYPES_H__\n#include \n\nG_BEGIN_DECLS\n\n', +- fprod: '/* enumerations from "@filename@" */\n\n', ++ fprod: '/* enumerations from "@basename@" */\n\n', + vhead: 'GType @enum_name@_get_type(void) G_GNUC_CONST;\n#define XFCE_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n\n', + ftail: 'G_END_DECLS\n\n#endif /* !__LIBXFCE4UI_ENUM_TYPES_H__ */', + ) +@@ -111,7 +111,7 @@ libxfce4ui_enums += gnome.mkenums( + install_header: false, + sources: libxfce4ui_enum_headers, + fhead: '#include "libxfce4ui-enums.h"\n#include "xfce-gtk-extensions.h"\n#include "libxfce4ui-enum-types.h"\n#include "libxfce4ui-visibility.h"\n\n', +- fprod: '/* enumerations from "@filename@" */\n\n', ++ fprod: '/* enumerations from "@basename@" */\n\n', + vhead: 'GType\n@enum_name@_get_type(void)\n{\n static GType type = 0;\n\n if(!type) {\n static const G@Type@Value values[] = {', + vprod: ' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },', + vtail: ' { 0, NULL, NULL }\n\t};\n\ttype = g_@type@_register_static("@EnumName@", values);\n }\n\n return type;\n}\n\n', +-- +2.34.1 diff --git a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.20.2.bb b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.20.2.bb deleted file mode 100644 index d485abc19a9..00000000000 --- a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.20.2.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Xfce4 Widget library and X Window System interaction" -HOMEPAGE = "https://docs.xfce.org/xfce/libxfce4ui/start" -SECTION = "x11/libs" -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db" -DEPENDS = "intltool-native perl-native gtk+3 libxfce4util xfce4-dev-tools xfconf" - -inherit xfce gtk-doc gobject-introspection features_check - -# xfce4 depends on libwnck3. gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. -# cairo would at least needed to be built with xlib. -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -# TODO: Check if 0001-... can go -SRC_URI += "file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch" -SRC_URI[sha256sum] = "5d3d67b1244a10cee0e89b045766c05fe1035f7938f0410ac6a3d8222b5df907" - -EXTRA_OECONF += "--with-vendor-info=${DISTRO}" -EXTRA_OECONF += "--disable-vala" - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl','x11', "", d)} \ -" -PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade" -PACKAGECONFIG[x11] = "--enable-startup-notification,--disable-startup-notification,libepoxy libice libsm startup-notification" - - -PACKAGES += "${PN}-glade" -FILES:${PN}-glade = " \ - ${libdir}/glade \ - ${datadir}/glade \ -" diff --git a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.21.7.bb b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.21.7.bb new file mode 100644 index 00000000000..9c86da48e6a --- /dev/null +++ b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.21.7.bb @@ -0,0 +1,31 @@ +SUMMARY = "Xfce4 Widget library and X Window System interaction" +HOMEPAGE = "https://docs.xfce.org/xfce/libxfce4ui/start" +SECTION = "x11/libs" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db" +DEPENDS = "intltool-native perl-native gtk+3 libxfce4util xfce4-dev-tools xfconf gdk-pixbuf" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce gtk-doc gobject-introspection features_check + +# libxfce4ui uses 'gtk-doc' instead of 'docs' for meson option +GTKDOC_MESON_OPTION = "gtk-doc" + +# xfce4 depends on libwnck3. gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. +# cairo would at least needed to be built with xlib. +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','opengl', "", d)}" + +# TODO: Check if 0001-... can go +SRC_URI += "file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \ + file://0001-build-Do-not-display-full-path-in-generated-headers.patch \ + " +SRC_URI[sha256sum] = "a72a7af39cf183819bcfb61b1747d425261e966ccb172b2fc28f1494f524bd17" + +EXTRA_OEMESON = "-Dvala=disabled -Dvendor-info=${DISTRO}" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG[x11] = "-Dsession-management=enabled -Dstartup-notification=enabled,-Dsession-management=disabled -Dstartup-notification=disabled,libepoxy libice libsm startup-notification" +PACKAGECONFIG[wayland] = "-Dwayland=enabled, -Dwayland=disabled," diff --git a/meta-xfce/recipes-xfce/thunar/files/0001-Properly-guard-gdkx.h-include.patch b/meta-xfce/recipes-xfce/thunar/files/0001-Properly-guard-gdkx.h-include.patch new file mode 100644 index 00000000000..9d4afc7167e --- /dev/null +++ b/meta-xfce/recipes-xfce/thunar/files/0001-Properly-guard-gdkx.h-include.patch @@ -0,0 +1,37 @@ +From dd7fbf4540891053a4083228aac2485e6c469199 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Sat, 11 Apr 2026 18:07:05 +0200 +Subject: [PATCH] Properly guard gdkx.h include + +Fixes: #1820 + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/thunar/-/commit/201f8ca0c3bc7b5e651201526fc3006a130718eb] + +Signed-off-by: Changqing Li +--- + thunar/thunar-session-client.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/thunar/thunar-session-client.c b/thunar/thunar-session-client.c +index c36719c..2832818 100644 +--- a/thunar/thunar-session-client.c ++++ b/thunar/thunar-session-client.c +@@ -30,6 +30,7 @@ + + #ifdef ENABLE_LIBSM + #include ++#include + #endif + + #include "thunar/thunar-application.h" +@@ -38,7 +39,6 @@ + #include "thunar/thunar-private.h" + #include "thunar/thunar-session-client.h" + +-#include + #include + + +-- +2.34.1 + diff --git a/meta-xfce/recipes-xfce/thunar/thunar_4.20.5.bb b/meta-xfce/recipes-xfce/thunar/thunar_4.20.5.bb deleted file mode 100644 index e72eb8b33f4..00000000000 --- a/meta-xfce/recipes-xfce/thunar/thunar_4.20.5.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "File manager for the Xfce Desktop Environment" -HOMEPAGE = "https://docs.xfce.org/xfce/thunar/start" -SECTION = "x11" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "libxml-parser-perl-native exo gdk-pixbuf libxfce4ui libnotify xfce4-panel udev" - -inherit xfce gobject-introspection features_check mime-xdg perlnative gtk-doc - -# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. -# cairo would at least needed to be built with xlib. -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI[sha256sum] = "da299babd233a079a443e527fa38cba3899b6131ef056593de9451178d812f2a" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG[pcre] = "--enable-pcre2,--disable-pcre2,libpcre2" -PACKAGECONFIG[x11] = ",,libsm startup-notification" - -FILES:${PN} += " \ - ${libdir}/thunarx-3/* \ - ${libdir}/xfce4/panel/plugins/* \ - ${libdir}/Thunar/[Tt]hunar* \ - ${systemd_user_unitdir} \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/polkit-1 \ - ${datadir}/Thunar \ - ${datadir}/xfce4/panel/plugins/* \ -" - -RRECOMMENDS:${PN} = " \ - gvfs \ - gvfsd-trash \ - ${@bb.utils.contains('DISTRO_FEATURES', 'dbus', 'tumbler', '', d)} \ -" diff --git a/meta-xfce/recipes-xfce/thunar/thunar_4.21.5.bb b/meta-xfce/recipes-xfce/thunar/thunar_4.21.5.bb new file mode 100644 index 00000000000..d8e9edfc250 --- /dev/null +++ b/meta-xfce/recipes-xfce/thunar/thunar_4.21.5.bb @@ -0,0 +1,38 @@ +SUMMARY = "File manager for the Xfce Desktop Environment" +HOMEPAGE = "https://docs.xfce.org/xfce/thunar/start" +SECTION = "x11" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "libxml-parser-perl-native libxslt-native docbook-xsl-stylesheets-native exo gdk-pixbuf libxfce4ui libnotify xfce4-panel udev" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk-doc" + +inherit xfce gobject-introspection mime-xdg perlnative gtk-doc + +SRC_URI[sha256sum] = "eddbd4bab29c73718734e0bfcf650ceea8b4fcc8cb2cbb0b24fe22b286a2be00" + +SRC_URI += "file://0001-Properly-guard-gdkx.h-include.patch" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[pcre] = "-Dpcre2=enabled,-Dpcre2=disabled,libpcre2" +PACKAGECONFIG[x11] = "-Dx11=enabled -Dsession-management=enabled,-Dx11=disabled,libsm startup-notification virtual/libx11" + +FILES:${PN} += " \ + ${libdir}/thunarx-3/* \ + ${libdir}/xfce4/panel/plugins/* \ + ${libdir}/Thunar/[Tt]hunar* \ + ${systemd_user_unitdir} \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/polkit-1 \ + ${datadir}/Thunar \ + ${datadir}/xfce4/panel/plugins/* \ +" + +RRECOMMENDS:${PN} = " \ + gvfs \ + gvfsd-trash \ + ${@bb.utils.contains('DISTRO_FEATURES', 'dbus', 'tumbler', '', d)} \ +" diff --git a/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch b/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch new file mode 100644 index 00000000000..3a3eb2fd642 --- /dev/null +++ b/meta-xfce/recipes-xfce/tumbler/files/0001-Handle-cases-where-there-are-no-plugins-gracefully.patch @@ -0,0 +1,57 @@ +From 95244ee0d1f3184e2c2cae9d33095dc03829b10e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Fri, 20 Feb 2026 17:07:56 +0100 +Subject: [PATCH] Handle cases where there are no plugins gracefully + +Not sure it makes much sense to allow the cache plugin not to be built, +but then again, why not? It could be replaced by a customized +implementation, and it has always been possible not to build it, so we +might as well leave it as it is. + +Fixes: #109 +(cherry picked from commit b4f4db4bfc1a45f0a405c4516e38394a44c90fcf) + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/tumbler/-/commit/95244ee0d1f3184e2c2cae9d33095dc03829b10e] + +Signed-off-by: Zhang Peng +--- + tumbler/tumbler-cache-plugin.c | 5 ++++- + tumblerd/tumbler-registry.c | 7 ++++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/tumbler/tumbler-cache-plugin.c b/tumbler/tumbler-cache-plugin.c +index 50700a3..e308638 100644 +--- a/tumbler/tumbler-cache-plugin.c ++++ b/tumbler/tumbler-cache-plugin.c +@@ -188,7 +188,10 @@ tumbler_cache_plugin_get_default (void) + g_object_add_weak_pointer (G_OBJECT (plugin), (gpointer) &plugin); + + if (!g_type_module_use (G_TYPE_MODULE (plugin))) +- return NULL; ++ { ++ g_object_unref (plugin); ++ return NULL; ++ } + } + + return G_TYPE_MODULE (plugin); +diff --git a/tumblerd/tumbler-registry.c b/tumblerd/tumbler-registry.c +index 705dbc9..b58e831 100644 +--- a/tumblerd/tumbler-registry.c ++++ b/tumblerd/tumbler-registry.c +@@ -534,7 +534,12 @@ tumbler_registry_update_supported (TumblerRegistry *registry) + + /* abort if there are no thumbnailers */ + if (thumbnailers == NULL) +- return; ++ { ++ /* we need NULL-terminated arrays for the _get_supported() dbus call anyway */ ++ registry->uri_schemes = g_new0 (gchar *, 1); ++ registry->mime_types = g_new0 (gchar *, 1); ++ return; ++ } + + /* clear visited flag of all thumbnailers */ + for (lp = thumbnailers; lp != NULL; lp = lp->next) +-- +2.50.0 diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb deleted file mode 100644 index 7a01882d577..00000000000 --- a/meta-xfce/recipes-xfce/tumbler/tumbler_4.20.1.bb +++ /dev/null @@ -1,61 +0,0 @@ -DESCRIPTION = "Thumbnail service implementing the thumbnail management D-Bus specification" -HOMEPAGE = "https://docs.xfce.org/xfce/tumbler/start" -SECTION = "x11/libs" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "xfce4-dev-tools-native libxfce4util" - -inherit xfce gtk-doc systemd - -SRC_URI[sha256sum] = "87b90df8f30144a292d70889e710c8619d8b8803f0e1db3280a4293367a42eae" - -INSANE_SKIP:${PN} = "dev-so" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[cover-thumbnailer] = "--enable-cover-thumbnailer,--disable-cover-thumbnailer,curl gdk-pixbuf" -PACKAGECONFIG[desktop-thumbnailer] = "--enable-desktop-thumbnailer,--disable-desktop-thumbnailer,gdk-pixbuf" -PACKAGECONFIG[font-thumbnailer] = "--enable-font-thumbnailer,--disable-font-thumbnailer,freetype gdk-pixbuf" -PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[jpeg-thumbnailer] = "--enable-jpeg-thumbnailer,--disable-jpeg-thumbnailer,gdk-pixbuf" -PACKAGECONFIG[odf-thumbnailer] = "--enable-odf-thumbnailer,--disable-odf-thumbnailer,gdk-pixbuf libxml2 libgsf" -PACKAGECONFIG[pixbuf-thumbnailer] = "--enable-pixbuf-thumbnailer,--disable-pixbuf-thumbnailer,gdk-pixbuf" -PACKAGECONFIG[poppler-thumbnailer] = "--enable-poppler-thumbnailer,--disable-poppler-thumbnailer,gdk-pixbuf poppler" - -EXTRA_OECONF = "GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen" - -do_install:append() { - # Makefile seems to race on creation of symlink. So ensure creation here - # until fixed properly - ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so -} - -PACKAGE_BEFORE_PN += "\ - ${PN}-cover-thumbnailer \ - ${PN}-desktop-thumbnailer \ - ${PN}-font-thumbnailer \ - ${PN}-gstreamer-thumbnailer \ - ${PN}-jpeg-thumbnailer \ - ${PN}-odf-thumbnailer \ - ${PN}-pixbuf-thumbnailer \ - ${PN}-poppler-thumbnailer \ -" - -FILES:${PN} += "${datadir}/dbus-1/services \ - ${libdir}/tumbler-1/tumblerd \ - ${libdir}/tumbler-1/plugins/*.so \ - ${libdir}/tumbler-1/plugins/cache/*.so \ - ${systemd_user_unitdir}/tumblerd.service \ -" - -FILES:${PN}-cover-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-cover-thumbnailer.so" -FILES:${PN}-desktop-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-desktop-thumbnailer.so" -FILES:${PN}-font-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-font-thumbnailer.so" -FILES:${PN}-gstreamer-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-gst-thumbnailer.so" -FILES:${PN}-jpeg-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-jpeg-thumbnailer.so" -FILES:${PN}-odf-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-odf-thumbnailer.so" -FILES:${PN}-pixbuf-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-pixbuf-thumbnailer.so" -FILES:${PN}-poppler-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-poppler-thumbnailer.so" - -FILES:${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \ - ${libdir}/tumbler-1/plugins/cache/*.la \ -" diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_4.21.1.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_4.21.1.bb new file mode 100644 index 00000000000..7ab4b594168 --- /dev/null +++ b/meta-xfce/recipes-xfce/tumbler/tumbler_4.21.1.bb @@ -0,0 +1,64 @@ +DESCRIPTION = "Thumbnail service implementing the thumbnail management D-Bus specification" +HOMEPAGE = "https://docs.xfce.org/xfce/tumbler/start" +SECTION = "x11/libs" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "xfce4-dev-tools-native libxfce4util" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk-doc" + +inherit xfce gtk-doc systemd + +SRC_URI += " file://0001-Handle-cases-where-there-are-no-plugins-gracefully.patch" +SRC_URI[sha256sum] = "0f499f79a2a7ee49726a433584dd8a680d514101b72bd1b003360611ce1dc244" + +INSANE_SKIP:${PN} = "dev-so" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[cover-thumbnailer] = "-Dcover-thumbnailer=enabled,-Dcover-thumbnailer=disabled,curl gdk-pixbuf" +PACKAGECONFIG[desktop-thumbnailer] = "-Ddesktop-thumbnailer=enabled,-Ddesktop-thumbnailer=disabled,gdk-pixbuf" +PACKAGECONFIG[font-thumbnailer] = "-Dfont-thumbnailer=enabled,-Dfont-thumbnailer=disabled,freetype gdk-pixbuf" +PACKAGECONFIG[gstreamer-thumbnailer] = "-Dgst-thumbnailer=enabled,-Dgst-thumbnailer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[jpeg-thumbnailer] = "-Djpeg-thumbnailer=enabled,-Djpeg-thumbnailer=disabled,gdk-pixbuf" +PACKAGECONFIG[odf-thumbnailer] = "-Dodf-thumbnailer=enabled,-Dodf-thumbnailer=disabled,gdk-pixbuf libxml2 libgsf" +PACKAGECONFIG[pixbuf-thumbnailer] = "-Dpixbuf-thumbnailer=enabled,-Dpixbuf-thumbnailer=disabled,gdk-pixbuf" +PACKAGECONFIG[poppler-thumbnailer] = "-Dpoppler-thumbnailer=enabled,-Dpoppler-thumbnailer=disabled,gdk-pixbuf poppler" + +do_install:append() { + # Makefile seems to race on creation of symlink. So ensure creation here + # until fixed properly + ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so +} + +PACKAGE_BEFORE_PN += "\ + ${PN}-cover-thumbnailer \ + ${PN}-desktop-thumbnailer \ + ${PN}-font-thumbnailer \ + ${PN}-gstreamer-thumbnailer \ + ${PN}-jpeg-thumbnailer \ + ${PN}-odf-thumbnailer \ + ${PN}-pixbuf-thumbnailer \ + ${PN}-poppler-thumbnailer \ +" + +FILES:${PN} += "${datadir}/dbus-1/services \ + ${libdir}/tumbler-1/tumblerd \ + ${libdir}/tumbler-1/plugins/*.so \ + ${libdir}/tumbler-1/plugins/cache/*.so \ + ${systemd_user_unitdir}/tumblerd.service \ +" + +FILES:${PN}-cover-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-cover-thumbnailer.so" +FILES:${PN}-desktop-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-desktop-thumbnailer.so" +FILES:${PN}-font-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-font-thumbnailer.so" +FILES:${PN}-gstreamer-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-gst-thumbnailer.so" +FILES:${PN}-jpeg-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-jpeg-thumbnailer.so" +FILES:${PN}-odf-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-odf-thumbnailer.so" +FILES:${PN}-pixbuf-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-pixbuf-thumbnailer.so" +FILES:${PN}-poppler-thumbnailer += "${libdir}/tumbler-1/plugins/tumbler-poppler-thumbnailer.so" + +FILES:${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \ + ${libdir}/tumbler-1/plugins/cache/*.la \ +" diff --git a/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.20.0.bb b/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.20.0.bb deleted file mode 100644 index 0e01740e444..00000000000 --- a/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.20.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Xfce4 Application Finder" -HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-appfinder/start" -SECTION = "x11" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "glib-2.0 gtk+3 libxfce4util libxfce4ui garcon xfconf" - -inherit xfce features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[sha256sum] = "82ca82f77dc83e285db45438c2fe31df445148aa986ffebf2faabee4af9e7304" - -FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.21.0.bb b/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.21.0.bb new file mode 100644 index 00000000000..4d7a1e2da33 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.21.0.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Xfce4 Application Finder" +HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-appfinder/start" +SECTION = "x11" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "glib-2.0 gtk+3 libxfce4util libxfce4ui garcon xfconf" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[sha256sum] = "e3befc3e73d2315074eb88933f2b042c5b417f4f7f24be9bd4f4508a091037b7" + +FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-xfce/recipes-xfce/xfce4-panel/files/0001-build-Do-not-display-full-path-in-generated-headers.patch b/meta-xfce/recipes-xfce/xfce4-panel/files/0001-build-Do-not-display-full-path-in-generated-headers.patch new file mode 100644 index 00000000000..34ec80b47ed --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-panel/files/0001-build-Do-not-display-full-path-in-generated-headers.patch @@ -0,0 +1,36 @@ +From 61f40b65637695abe9d9e2f80ca99d3c076c96e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Mon, 16 Mar 2026 16:31:23 +0100 +Subject: [PATCH] build: Do not display full path in generated headers + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfce4-panel/-/commit/61f40b65637695abe9d9e2f80ca99d3c076c96e8] + +Signed-off-by: Zhang Peng +--- + libxfce4panel/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libxfce4panel/meson.build b/libxfce4panel/meson.build +index 38d8ad198..3fee75d58 100644 +--- a/libxfce4panel/meson.build ++++ b/libxfce4panel/meson.build +@@ -67,7 +67,7 @@ libpanel_enums += gnome.mkenums( + install_dir: libpanel_install_dir, + sources: libpanel_headers, + fhead: '#if !defined(_LIBXFCE4PANEL_INSIDE_LIBXFCE4PANEL_H) && !defined(LIBXFCE4PANEL_COMPILATION)\n#error "Only can be included directly, this file may disappear or change contents"\n#endif\n\n#ifndef __LIBXFCE4PANEL_ENUM_TYPES_H__\n#define __LIBXFCE4PANEL_ENUM_TYPES_H__\n#include \nG_BEGIN_DECLS\n', +- fprod: '/* enumerations from "@filename@" */\n', ++ fprod: '/* enumerations from "@basename@" */\n', + vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define XFCE_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n', + ftail: 'G_END_DECLS\n\n#endif /* !__LIBXFCE4PANEL_ENUM_TYPES_H__ */', + ) +@@ -76,7 +76,7 @@ libpanel_enums += gnome.mkenums( + install_header: false, + sources: libpanel_headers, + fhead: '#include "libxfce4panel-enums.h"\n#include "libxfce4panel-enum-types.h"\n\n#include "libxfce4panel-visibility.h"', +- fprod: '\n/* enumerations from "@filename@" */', ++ fprod: '\n/* enumerations from "@basename@" */', + vhead: 'GType\n@enum_name@_get_type (void)\n{\n\tstatic GType type = 0;\n\tif (type == 0) {\n\tstatic const G@Type@Value values[] = {', + vprod: '\t{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },', + vtail: '\t{ 0, NULL, NULL }\n\t};\n\ttype = g_@type@_register_static ("@EnumName@", values);\n }\n\treturn type;\n}\n', +-- +2.34.1 diff --git a/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.20.1.bb b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.20.1.bb deleted file mode 100644 index 8efa88b9d77..00000000000 --- a/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.20.1.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Xfce4 Panel" -HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-panel/start" -SECTION = "x11" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" -DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxfce4windowing libxml2 \ - libwnck3 vala-native \ - " - -inherit xfce gtk-doc gobject-introspection features_check mime-xdg - -# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. -# cairo would at least needed to be built with xlib. -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI += " \ - file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ - file://0002-use-lxdm-to-replace-dm-tool.patch \ -" -SRC_URI[sha256sum] = "5a7c8097527555640ab3d00307505c7c1b7302d11d92874f88842ea969483519" - -EXTRA_OECONF += "--disable-vala GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen" - -python populate_packages:prepend() { - plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') - plugin_name = d.expand('${PN}-plugin-%s') - do_split_packages(d, plugin_dir, r'^lib(.*)\.so$', plugin_name, - '${PN} plugin for %s', extra_depends='', prepend=True, - aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop', - '${sysconfdir}/xdg/xfce/panel/%s-*', - '${datadir}/icons/hicolor/48x48/apps/*-%s.png', - '${bindir}/*%s*']) -} - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*" - -PACKAGES =+ "${PN}-gtk3" - -FILES:${PN} += "${libdir}/xfce4/panel/migrate \ - ${libdir}/xfce4/panel/wrapper-1.0" - -FILES:${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" - -FILES:${PN}-gtk3 = " \ - ${libdir}/libxfce4panel-2.0${SOLIBS} \ - ${libdir}/xfce4/panel/wrapper-2.0 \ -" diff --git a/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.21.1.bb b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.21.1.bb new file mode 100644 index 00000000000..00c9352dece --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.21.1.bb @@ -0,0 +1,52 @@ +SUMMARY = "Xfce4 Panel" +HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-panel/start" +SECTION = "x11" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" +DEPENDS = "garcon exo cairo libxml2 vala-native gtk+3 libxfce4windowing" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk-doc" + +inherit xfce gtk-doc gobject-introspection features_check mime-xdg + +SRC_URI += " \ + file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ + file://0002-use-lxdm-to-replace-dm-tool.patch \ + file://0001-build-Do-not-display-full-path-in-generated-headers.patch \ +" +SRC_URI[sha256sum] = "c940dae515bef4af08a126011d2fd873ce99e815157ba8cef5332195bb60e51e" + +EXTRA_OEMESON += "-Dvala=disabled" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG[x11] = "-Dx11=enabled, -Dx11=disabled, virtual/libx11 libwnck3 libxext" +PACKAGECONFIG[wayland] = "-Dwayland=enabled, -Dwayland=disabled, wayland wayland-native wayland-protocols" + +python populate_packages:prepend() { + plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') + plugin_name = d.expand('${PN}-plugin-%s') + do_split_packages(d, plugin_dir, r'^lib(.*)\.so$', plugin_name, + '${PN} plugin for %s', extra_depends='', prepend=True, + aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop', + '${sysconfdir}/xdg/xfce/panel/%s-*', + '${datadir}/icons/hicolor/48x48/apps/*-%s.png', + '${bindir}/*%s*']) +} + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*" + +PACKAGES =+ "${PN}-gtk3" + +FILES:${PN} += "${libdir}/xfce4/panel/migrate \ + ${libdir}/xfce4/panel/wrapper-1.0" + +FILES:${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" + +FILES:${PN}-gtk3 = " \ + ${libdir}/libxfce4panel-2.0${SOLIBS} \ + ${libdir}/xfce4/panel/wrapper-2.0 \ +" diff --git a/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-build-Do-not-display-full-path-in-generated-headers.patch b/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-build-Do-not-display-full-path-in-generated-headers.patch new file mode 100644 index 00000000000..0d3457e4045 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-build-Do-not-display-full-path-in-generated-headers.patch @@ -0,0 +1,36 @@ +From 3f69abae74f4c0ad41c8fa2886148db834ddb9f1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Mon, 16 Mar 2026 16:46:52 +0100 +Subject: [PATCH] build: Do not display full path in generated headers + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfce4-power-manager/-/commit/3f69abae74f4c0ad41c8fa2886148db834ddb9f1] + +Signed-off-by: Zhang Peng +--- + common/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/common/meson.build b/common/meson.build +index 7f71309f..cdae226f 100644 +--- a/common/meson.build ++++ b/common/meson.build +@@ -37,7 +37,7 @@ common_sources += gnome.mkenums( + install_header: false, + sources: 'xfpm-enum-glib.h', + fhead: '#ifndef _XFPM_ENUM_TYPES_H\n#define _XFPM_ENUM_TYPES_H\n#include \nG_BEGIN_DECLS\n', +- fprod: '/* enumerations from "@filename@" */\n', ++ fprod: '/* enumerations from "@basename@" */\n', + vhead: 'GType @enum_name@_get_type (void);\n#define XFPM_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n', + ftail: 'G_END_DECLS\n\n#endif /* _XFPM_ENUM_TYPES_H__ */', + ) +@@ -46,7 +46,7 @@ common_sources += gnome.mkenums( + install_header: false, + sources: 'xfpm-enum-glib.h', + fhead: '#include "xfpm-enum-types.h"\n#include "xfpm-enum-glib.h"\n\n', +- fprod: '\n/* enumerations from "@filename@" */\n', ++ fprod: '\n/* enumerations from "@basename@" */\n', + vhead: 'GType\n@enum_name@_get_type (void)\n{\n\tstatic GType type = 0;\n\tif (type == 0) {\n\tstatic const G@Type@Value values[] = {', + vprod: '\t{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },', + vtail: '\t{ 0, NULL, NULL }\n\t};\n\ttype = g_@type@_register_static ("@EnumName@", values);\n }\n\treturn type;\n}\n', +-- +2.34.1 diff --git a/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_4.20.0.bb b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_4.20.0.bb deleted file mode 100644 index c6eed849be2..00000000000 --- a/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_4.20.0.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Power manager for the Xfce desktop environment" -HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-power-manager/start" -SECTION = "x11" - -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -inherit xfce features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -DEPENDS += "libnotify libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver" - -SRC_URI[sha256sum] = "971391cef63352833bdd92df28957392e17e1f2b3d486c0f57294fd204d6ed29" - -EXTRA_OECONF = " \ - GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen \ - --enable-panel-plugins \ -" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ - " -PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit" -PACKAGECONFIG[wayland] = "--enable-wayland, --disable-wayland, wayland-native" - -PACKAGES += "xfce4-powermanager-plugin" - -FILES:${PN} += " \ - ${datadir}/polkit-1 \ - ${datadir}/metainfo \ -" - -FILES:xfce4-powermanager-plugin = " \ - ${libdir}/xfce4 \ - ${datadir}/xfce4 \ -" - -RDEPENDS:xfce4-powermanager-plugin = "${PN}" -RDEPENDS:${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}" - -# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin -RPROVIDES:xfce4-powermanager-plugin += "xfce4-brightness-plugin" -RREPLACES:xfce4-powermanager-plugin += "xfce4-brightness-plugin" -RCONFLICTS:xfce4-powermanager-plugin += "xfce4-brightness-plugin" diff --git a/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_4.21.1.bb b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_4.21.1.bb new file mode 100644 index 00000000000..65b8f84e274 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_4.21.1.bb @@ -0,0 +1,44 @@ +SUMMARY = "Power manager for the Xfce desktop environment" +HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-power-manager/start" +SECTION = "x11" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +inherit xfce features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS += "libnotify libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +SRC_URI += "file://0001-build-Do-not-display-full-path-in-generated-headers.patch" +SRC_URI[sha256sum] = "bb89be7b1be431b29e765e2c632e98fb20a688e495e4ef18495bd70c1524767a" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ + " +PACKAGECONFIG[polkit] = "-Dpolkit=enabled,-Dpolkit=disabled,polkit" +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native" + +PACKAGES += "xfce4-powermanager-plugin" + +FILES:${PN} += " \ + ${datadir}/polkit-1 \ + ${datadir}/metainfo \ +" + +FILES:xfce4-powermanager-plugin = " \ + ${libdir}/xfce4 \ + ${datadir}/xfce4 \ +" + +RDEPENDS:xfce4-powermanager-plugin = "${PN}" +RDEPENDS:${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}" + +# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin +RPROVIDES:xfce4-powermanager-plugin += "xfce4-brightness-plugin" +RREPLACES:xfce4-powermanager-plugin += "xfce4-brightness-plugin" +RCONFLICTS:xfce4-powermanager-plugin += "xfce4-brightness-plugin" diff --git a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-configure.in-hard-code-path-to-iceauth.patch b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-configure.in-hard-code-path-to-iceauth.patch deleted file mode 100644 index 0e20143f106..00000000000 --- a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-configure.in-hard-code-path-to-iceauth.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a629b051f4e5462150c77b95574bbc7a33bc9666 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Mon, 31 Dec 2012 16:35:29 +0100 -Subject: [PATCH] configure.ac: hard code path to iceauth -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -workaround AC_PATH_PROG which was meant to find programs required at build-time -not at run-time. - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Andreas Müller - -Rebase for xfce4-session 4.20.0. - -Signed-off-by: Kai Kang ---- - configure.ac | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 81b362f..ccde685 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -136,13 +136,7 @@ if test x"$ENABLE_X11" = x"yes"; then - AC_CHECK_FUNCS([_IceTransNoListen]) - LIBS="$ac_LIBS" - -- dnl Check for iceauth -- AC_PATH_PROG([ICEAUTH], [iceauth]) -- if test x"$ICEAUTH" != x""; then -- AC_DEFINE_UNQUOTED([ICEAUTH_CMD], ["$ICEAUTH"], [path to iceauth]) -- else -- AC_MSG_ERROR([iceauth missing, please check your X11 installation]) -- fi -+ AC_DEFINE_UNQUOTED([ICEAUTH_CMD], ["$bindir/iceauth"], [path to iceauth]) - - dnl Find a location for the session desktop file - AC_MSG_CHECKING([what xsession-prefix to use]) --- -1.7.4.4 diff --git a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-meson.build-Make-gdk-pixbuf-csource-available.patch b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-meson.build-Make-gdk-pixbuf-csource-available.patch new file mode 100644 index 00000000000..6cc77262f71 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-meson.build-Make-gdk-pixbuf-csource-available.patch @@ -0,0 +1,31 @@ +From ca9457673128b4024250fe43716c6bbdfad96e96 Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Mon, 30 Mar 2026 01:09:33 -0700 +Subject: [PATCH] meson.build: Make gdk-pixbuf-csource available + +Fixes: + ../sources/xfce4-session-4.21.1/meson.build:50:21: ERROR: Program '/usr/bin/gdk-pixbuf-csource' not found or not executable + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Mingli Yu +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 6f372e0..633a5c5 100644 +--- a/meson.build ++++ b/meson.build +@@ -47,7 +47,7 @@ libxfce4util = dependency('libxfce4util-1.0', version: dependency_versions['libx + libxfce4windowing = dependency('libxfce4windowing-0', version: dependency_versions['libxfce4windowing']) + xfconf = dependency('libxfconf-0', version: dependency_versions['xfce4']) + +-gdk_pixbuf_csource = find_program(gdk_pixbuf.get_variable(pkgconfig: 'gdk_pixbuf_csource'), required: true) ++gdk_pixbuf_csource = find_program('gdk-pixbuf-csource', required: true) + + # Feature: 'x11' + x11_deps = [] +-- +2.49.0 + diff --git a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-meson.build-hard-code-path-to-iceauth.patch b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-meson.build-hard-code-path-to-iceauth.patch new file mode 100644 index 00000000000..0a34f8f039c --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session/0001-meson.build-hard-code-path-to-iceauth.patch @@ -0,0 +1,49 @@ +From d3561f125e6e6d6bfea0b41ba1ea02d14eb07244 Mon Sep 17 00:00:00 2001 +From: Zhang Peng +Date: Tue, 17 Mar 2026 17:14:33 +0800 +Subject: [PATCH] meson.build: hard code path to iceauth + +Workaround find_program() which finds the native iceauth during +cross-compilation instead of the target path. + +This is the meson equivalent of the autotools patch that modified +configure.ac to hard code the iceauth path. + +This patch is replace the patch 0001-configure.in-hard-code-path-to-iceauth.patch + +Upstream-Status: Inappropriate [cross-compile specific] + +Signed-off-by: Zhang Peng +--- + meson.build | 2 +- + xfce4-session/meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 7ab81ae5..c54ebafd 100644 +--- a/meson.build ++++ b/meson.build +@@ -75,7 +75,7 @@ if enable_x11 + feature_cflags += '-DHAVE__ICETRANSNOLISTEN=1' + endif + +- iceauth = find_program('iceauth', required: true) ++ # iceauth path is hard-coded below for cross-compilation + + xsession_prefix = get_option('xsession-prefix') + if xsession_prefix == '' +diff --git a/xfce4-session/meson.build b/xfce4-session/meson.build +index 56a297f9..e36885e4 100644 +--- a/xfce4-session/meson.build ++++ b/xfce4-session/meson.build +@@ -42,7 +42,7 @@ c_args = [ + + if enable_x11 + c_args += [ +- '-DICEAUTH_CMD="@0@"'.format(iceauth.full_path()), ++ '-DICEAUTH_CMD="' + get_option('prefix') / get_option('bindir') / 'iceauth' + '"', + ] + + session_sources += [ +-- +2.50.0 diff --git a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.20.3.bb b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.20.3.bb deleted file mode 100644 index af7ab98ae57..00000000000 --- a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.20.3.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment" -HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-session/start" -SECTION = "x11" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "libwnck3 libsm libxfce4ui libxfce4windowing virtual/libx11" - -inherit xfce update-alternatives features_check - -SRC_URI += "file://0001-configure.in-hard-code-path-to-iceauth.patch" -SRC_URI[sha256sum] = "dbf00672c5316a30b7001fe852e6a5ba9f889afeab8a247545a160d4302f1fa2" - -REQUIRED_DISTRO_FEATURES = "x11" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" -PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit" - -EXTRA_OECONF = "GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen \ - GLIB_COMPILE_RESOURCES=${STAGING_BINDIR_NATIVE}/glib-compile-resources" - -ALTERNATIVE:${PN} = "x-session-manager" -ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session" -ALTERNATIVE_PRIORITY_${PN} = "150" - -FILES:${PN} += " \ - ${libdir}/xfce4/*/*/*.so \ - ${libdir}/xfce4/session/*-*-* \ - ${datadir}/wayland-sessions \ - ${datadir}/xsessions \ - ${datadir}/themes/Default/balou/* \ - ${datadir}/polkit-1 \ - ${datadir}/xdg-desktop-portal/xfce-portals.conf \ - ${datadir}/xfce4 \ - ${datadir}/xfce4/labwc \ - ${datadir}/xfce4/labwc/labwc-environment \ - ${datadir}/xfce4/labwc/labwc-rc.xml \ -" - -RDEPENDS:${PN} = " \ - ${VIRTUAL-RUNTIME_dbus} \ - iceauth \ - netbase \ - upower \ - xinit \ - xrdb \ -" diff --git a/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.21.1.bb b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.21.1.bb new file mode 100644 index 00000000000..77ae5da6b87 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.21.1.bb @@ -0,0 +1,49 @@ +SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment" +HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-session/start" +SECTION = "x11" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "libwnck3 libsm libxfce4ui libxfce4windowing virtual/libx11 gdk-pixbuf-native" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce update-alternatives features_check + +SRC_URI += "file://0001-meson.build-hard-code-path-to-iceauth.patch \ + file://0001-meson.build-Make-gdk-pixbuf-csource-available.patch \ +" +SRC_URI[sha256sum] = "a8fe873fdb20366a44f1345400bfb29c2ff0cfe89dfefd852e2575464b80567c" + +REQUIRED_DISTRO_FEATURES = "x11" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}" +PACKAGECONFIG[polkit] = "-Dpolkit=enabled,-Dpolkit=disabled,polkit" + +ALTERNATIVE:${PN} = "x-session-manager" +ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session" +ALTERNATIVE_PRIORITY_${PN} = "150" + +FILES:${PN} += " \ + ${libdir}/xfce4/*/*/*.so \ + ${libdir}/xfce4/session/*-*-* \ + ${datadir}/wayland-sessions \ + ${datadir}/xsessions \ + ${datadir}/themes/Default/balou/* \ + ${datadir}/polkit-1 \ + ${datadir}/xdg-desktop-portal/xfce-portals.conf \ + ${datadir}/xfce4 \ + ${datadir}/xfce4/labwc \ + ${datadir}/xfce4/labwc/labwc-environment \ + ${datadir}/xfce4/labwc/labwc-rc.xml \ +" + +RDEPENDS:${PN} = " \ + ${VIRTUAL-RUNTIME_dbus} \ + iceauth \ + netbase \ + upower \ + xinit \ + xrdb \ +" diff --git a/meta-xfce/recipes-xfce/xfce4-settings/files/0001-build-Do-not-display-full-path-in-generated-headers.patch b/meta-xfce/recipes-xfce/xfce4-settings/files/0001-build-Do-not-display-full-path-in-generated-headers.patch new file mode 100644 index 00000000000..50006b1710f --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/files/0001-build-Do-not-display-full-path-in-generated-headers.patch @@ -0,0 +1,36 @@ +From 93fa2ed9a987c0f03c9f5aa0f31cb770d1cc5f17 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Mon, 16 Mar 2026 16:44:43 +0100 +Subject: [PATCH] build: Do not display full path in generated headers + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfce4-settings/-/commit/93fa2ed9a987c0f03c9f5aa0f31cb770d1cc5f17] + +Signed-off-by: Zhang Peng +--- + dialogs/mime-settings/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dialogs/mime-settings/meson.build b/dialogs/mime-settings/meson.build +index b7ca8dc7..5ac9a936 100644 +--- a/dialogs/mime-settings/meson.build ++++ b/dialogs/mime-settings/meson.build +@@ -30,7 +30,7 @@ enums += gnome.mkenums( + install_header: false, + sources: 'xfce-mime-helper.h', + fhead: '#ifndef __XFCE_MIME_HELPER_ENUM_TYPES_H__\n#define __XFCE_MIME_HELPER_ENUM_TYPES_H__\n#include \nG_BEGIN_DECLS\n', +- fprod: '/* enumerations from "@filename@" */\n', ++ fprod: '/* enumerations from "@basename@" */\n', + vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define XFCE_MIME_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n', + ftail: 'G_END_DECLS\n\n#endif /* !__XFCE_MIME_HELPER_ENUM_TYPES_H__ */', + ) +@@ -39,7 +39,7 @@ enums += gnome.mkenums( + install_header: false, + sources: 'xfce-mime-helper.h', + fhead: '#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include "xfce-mime-helper.h"\n\n#include "xfce-mime-helper-enum-types.h"', +- fprod: '\n/* enumerations from "@filename@" */', ++ fprod: '\n/* enumerations from "@basename@" */', + vhead: 'GType\n@enum_name@_get_type (void)\n{\n\tstatic GType type = 0;\n\tif (type == 0) {\n\tstatic const G@Type@Value values[] = {', + vprod: '\t{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },', + vtail: '\t{ 0, NULL, NULL }\n\t};\n\ttype = g_@type@_register_static ("@EnumName@", values);\n }\n\treturn type;\n}\n', +-- +2.51.2 diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.20.1.bb b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.20.1.bb deleted file mode 100644 index 1330206a8a5..00000000000 --- a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.20.1.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Xfce4 settings" -HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-settings/start" -SECTION = "x11/wm" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "exo garcon libxi virtual/libx11 xrandr libxcursor libxklavier upower" - -inherit xfce features_check mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[sha256sum] = "fd0d602853ea75d94024e5baae2d2bf5ca8f8aa4dad7bfd5d08f9ff8afee77b2" - -EXTRA_OECONF += " \ - GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen \ - --enable-maintainer-mode --disable-debug \ -" - -PACKAGECONFIG ??= " \ - notify \ - ${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ -" -PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify" -PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra sound-theme-freedesktop" -PACKAGECONFIG[wayland] = "--enable-wayland, --disable-wayland, wayland-native" - -FILES:${PN} += " \ - ${libdir}/xfce4 \ - ${libdir}/gtk-3.0/modules/libxfsettingsd-gtk-settings-sync.so \ - ${datadir}/xfce4 \ -" - -RRECOMMENDS:${PN} += "adwaita-icon-theme" -RRECOMMENDS:${PN} += "${@bb.utils.contains_any('DISTRO_FEATURES','alsa pulseaudio','libcanberra','',d)}" -RRECOMMENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','xfce4-datetime-setter','',d)}" diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.21.1.bb b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.21.1.bb new file mode 100644 index 00000000000..16b90840c73 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.21.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Xfce4 settings" +HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-settings/start" +SECTION = "x11/wm" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "exo garcon libxi virtual/libx11 xrandr libxcursor libxklavier upower" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" + +inherit xfce features_check mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI += "file://0001-build-Do-not-display-full-path-in-generated-headers.patch" +SRC_URI[sha256sum] = "e57a33d0bb9d63d0ef6f469c2d42cbf66e37d9127cc204de411b7385274e26d0" + +PACKAGECONFIG ??= " \ + notify \ + ${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ +" +PACKAGECONFIG[notify] = "-Dlibnotify=enabled,-Dlibnotify=disabled,libnotify" +PACKAGECONFIG[sound-setter] = "-Dsound-settings=true,-Dsound-settings=false,libcanberra,libcanberra sound-theme-freedesktop" +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native" + +FILES:${PN} += " \ + ${libdir}/xfce4 \ + ${libdir}/gtk-3.0/modules/libxfsettingsd-gtk-settings-sync.so \ + ${datadir}/xfce4 \ +" + +RRECOMMENDS:${PN} += "adwaita-icon-theme" +RRECOMMENDS:${PN} += "${@bb.utils.contains_any('DISTRO_FEATURES','alsa pulseaudio','libcanberra','',d)}" +RRECOMMENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','xfce4-datetime-setter','',d)}" diff --git a/meta-xfce/recipes-xfce/xfconf/xfconf/0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch b/meta-xfce/recipes-xfce/xfconf/xfconf/0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch new file mode 100644 index 00000000000..35bed60b11e --- /dev/null +++ b/meta-xfce/recipes-xfce/xfconf/xfconf/0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch @@ -0,0 +1,116 @@ +From 6fc6e4408ea021ee8a210e691f1a13b807121a3c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Thu, 19 Mar 2026 18:33:41 +0100 +Subject: [PATCH] build: Make sure gdbus headers are generated before including + them + +Fixes: #48 + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfconf/-/commit/6fc6e4408ea021ee8a210e691f1a13b807121a3c] + +Signed-off-by: Zhang Peng +--- + .scan-build-false-positives | 2 ++ + common/meson.build | 36 +++++++++++++++++++----------------- + xfconf/meson.build | 5 ++++- + xfconfd/meson.build | 1 + + 4 files changed, 26 insertions(+), 18 deletions(-) + +diff --git a/.scan-build-false-positives b/.scan-build-false-positives +index d925d3f..7ab5ec6 100644 +--- a/.scan-build-false-positives ++++ b/.scan-build-false-positives +@@ -1,5 +1,7 @@ + # gdbus-codegen generated code + xfconf-gdbus-bindings.c:[0-9]+:[0-9]+: warning: Value stored to .+skeleton.+ during its initialization is never read \[deadcode.DeadStores\] ++xfconf-gdbus-bindings.c:[0-9]+:[0-9]+: warning: Value stored to .+skeleton.+ during its initialization is never read \[deadcode.DeadStores\] ++xfconf-gdbus-bindings.c:[0-9]+:[0-9]+: warning: Value stored to .+skeleton.+ during its initialization is never read \[deadcode.DeadStores\] + + # gobject-introspection generated code + Xfconf-0.c:[0-9]+:[0-9]+: warning: Access to field .+message.+ results in a dereference of a null pointer \(loaded from variable .+error.+\) \[core.NullDereference\] +diff --git a/common/meson.build b/common/meson.build +index 08acd5b..fe30c38 100644 +--- a/common/meson.build ++++ b/common/meson.build +@@ -22,6 +22,24 @@ xfconf_visibility_sources += configure_file( + command: [xdt_gen_visibility, '--kind=source', '@INPUT@', '@OUTPUT@'], + ) + ++xfconf_dbus_xml = configure_file( ++ configuration: configuration_data({ ++ 'XFCONF_SERVICE_NAME_PREFIX': xfconf_service_name_prefix, ++ 'XFCONF_SERVICE_PATH_PREFIX': xfconf_service_path_prefix, ++ }), ++ input: 'xfconf-dbus.xml.in', ++ output: 'xfconf-dbus.xml', ++) ++ ++xfconf_gdbus_sources = gnome.gdbus_codegen( ++ 'xfconf-gdbus-bindings', ++ sources: xfconf_dbus_xml, ++ interface_prefix: '@0@.Xfconf'.format(xfconf_service_name_prefix), ++ namespace: 'Xfconf', ++ annotations: ['@0@.Xfconf'.format(xfconf_service_name_prefix), 'org.gtk.GDBus.C.Name', 'Exported'], ++ install_header: false, ++) ++ + xfconf_common = static_library( + 'xfconf-common', + xfconf_common_sources, +@@ -61,25 +79,9 @@ xfconf_gvaluefuncs = static_library( + install: false, + ) + +-xfconf_dbus_xml = configure_file( +- configuration: configuration_data({ +- 'XFCONF_SERVICE_NAME_PREFIX': xfconf_service_name_prefix, +- 'XFCONF_SERVICE_PATH_PREFIX': xfconf_service_path_prefix, +- }), +- input: 'xfconf-dbus.xml.in', +- output: 'xfconf-dbus.xml', +-) +- + xfconf_dbus = static_library( + 'xfconf-dbus', +- gnome.gdbus_codegen( +- 'xfconf-gdbus-bindings', +- sources: xfconf_dbus_xml, +- interface_prefix: '@0@.Xfconf'.format(xfconf_service_name_prefix), +- namespace: 'Xfconf', +- annotations: ['@0@.Xfconf'.format(xfconf_service_name_prefix), 'org.gtk.GDBus.C.Name', 'Exported'], +- install_header: false, +- ), ++ xfconf_gdbus_sources, + c_args: [ + '-DG_LOG_DOMAIN="@0@"'.format('xfconf-common'), + ], +diff --git a/xfconf/meson.build b/xfconf/meson.build +index e3ecd55..15cafa5 100644 +--- a/xfconf/meson.build ++++ b/xfconf/meson.build +@@ -39,7 +39,10 @@ xfconf_version = '@0@.0.0'.format(xfconf_so_version) + xfconf = library( + xfconf_pkgname, + xfconf_sources, +- sources: xfconf_visibility_sources, ++ sources: [ ++ xfconf_visibility_sources, ++ xfconf_gdbus_sources, ++ ], + version: xfconf_version, + soversion: xfconf_so_version, + c_args: [ +diff --git a/xfconfd/meson.build b/xfconfd/meson.build +index 6e46a58..13e614e 100644 +--- a/xfconfd/meson.build ++++ b/xfconfd/meson.build +@@ -56,6 +56,7 @@ executable( + sources: [ + xfce_revision_h, + xfconf_visibility_sources, ++ xfconf_gdbus_sources, + ], + c_args: c_args, + include_directories: [ +-- +2.50.0 diff --git a/meta-xfce/recipes-xfce/xfconf/xfconf_4.20.0.bb b/meta-xfce/recipes-xfce/xfconf/xfconf_4.20.0.bb deleted file mode 100644 index 168bd4d790a..00000000000 --- a/meta-xfce/recipes-xfce/xfconf/xfconf_4.20.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Xfce configuration daemon and utilities" -HOMEPAGE = "https://docs.xfce.org/xfce/xfconf/start" -SECTION = "x11/wm" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "libxfce4util perl intltool-native xfce4-dev-tools-native" - -inherit xfce gtk-doc gobject-introspection bash-completion vala - -EXTRA_OECONF += "GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen" - -SRC_URI[sha256sum] = "8bc43c60f1716b13cf35fc899e2a36ea9c6cdc3478a8f051220eef0f53567efd" - -FILES:${PN} += "${libdir}/xfce4/xfconf/xfconfd \ - ${libdir}/gio/modules/libxfconfgsettingsbackend.so \ - ${datadir}/dbus-1/services/org.xfce.Xfconf.service \ - ${systemd_user_unitdir}/xfconfd.service \ - " - -FILES:${PN}-dev += "${libdir}/gio/modules/libxfconfgsettingsbackend.la" - -PACKAGECONFIG[gsettings-backend] = "--enable-gsettings-backend,--disable-gsettings-backend," diff --git a/meta-xfce/recipes-xfce/xfconf/xfconf_4.21.2.bb b/meta-xfce/recipes-xfce/xfconf/xfconf_4.21.2.bb new file mode 100644 index 00000000000..fbc0cffcccc --- /dev/null +++ b/meta-xfce/recipes-xfce/xfconf/xfconf_4.21.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "Xfce configuration daemon and utilities" +HOMEPAGE = "https://docs.xfce.org/xfce/xfconf/start" +SECTION = "x11/wm" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" +DEPENDS = "libxfce4util perl intltool-native xfce4-dev-tools-native" + +XFCE_COMPRESS_TYPE = "xz" +XFCEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk-doc" + +inherit xfce gtk-doc gobject-introspection bash-completion vala + +SRC_URI += "file://0001-build-Make-sure-gdbus-headers-are-generated-before-i.patch" +SRC_URI[sha256sum] = "99aa4366e909ba7b9f746aba48b610b9e9d2933aeb283c7fa5f37a7c3dc7a3a6" + +FILES:${PN} += "${libdir}/xfce4/xfconf/xfconfd \ + ${libdir}/gio/modules/libxfconfgsettingsbackend.so \ + ${datadir}/dbus-1/services/org.xfce.Xfconf.service \ + ${systemd_user_unitdir}/xfconfd.service \ + " + +PACKAGECONFIG[gsettings-backend] = "-Dgsettings-backend=true,-Dgsettings-backend=false," + diff --git a/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.1.bb b/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.1.bb deleted file mode 100644 index a24ed76d536..00000000000 --- a/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.1.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Xfce4 Desktop Manager" -HOMEPAGE = "https://docs.xfce.org/xfce/xfdesktop/start" -SECTION = "x11/base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = " \ - cairo \ - exo \ - garcon \ - glib-2.0 \ - gtk+3 \ - intltool \ - libwnck3 \ - libxfce4ui \ - libxfce4util \ - libxfce4windowing \ - thunar \ - xfconf \ -" - -inherit xfce features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[sha256sum] = "acccde849265bbf4093925ba847977b7abf70bb2977e4f78216570e887c157b8" - -PACKAGECONFIG ??= "notify" -PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify" - -EXTRA_OECONF = "GDBUS_CODEGEN=${STAGING_BINDIR_NATIVE}/gdbus-codegen \ - GLIB_COMPILE_RESOURCES=${STAGING_BINDIR_NATIVE}/glib-compile-resources \ - GLIB_GENMARSHAL=${STAGING_BINDIR_NATIVE}/glib-genmarshal \ - GLIB_MKENUMS=${STAGING_BINDIR_NATIVE}/glib-mkenums \ - " - -FILES:${PN} += "${datadir}/backgrounds" diff --git a/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.2.bb b/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.2.bb new file mode 100644 index 00000000000..996330cc452 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.2.bb @@ -0,0 +1,33 @@ +SUMMARY = "Xfce4 Desktop Manager" +HOMEPAGE = "https://docs.xfce.org/xfce/xfdesktop/start" +SECTION = "x11/base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = " \ + cairo \ + exo \ + garcon \ + glib-2.0 \ + gtk+3 \ + libwnck3 \ + libxfce4ui \ + libxfce4util \ + libxfce4windowing \ + libyaml \ + thunar \ + xfconf \ +" + +XFCEBASEBUILDCLASS = "meson" + +inherit xfce features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[sha256sum] = "1d9bd76015fb6e9aca05e73cd998c7c66ed4fc8c10b626e08fc2eb7c39df3f7b" + +PACKAGECONFIG ??= "notify" +PACKAGECONFIG[notify] = "-Dnotifications=enabled,-Dnotifications=disabled,libnotify" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false," + +FILES:${PN} += "${datadir}/backgrounds" diff --git a/meta-xfce/recipes-xfce/xfwm4/xfwm4/0001-build-Add-missing-libxfce4util-flags.patch b/meta-xfce/recipes-xfce/xfwm4/xfwm4/0001-build-Add-missing-libxfce4util-flags.patch new file mode 100644 index 00000000000..8fe8386f11b --- /dev/null +++ b/meta-xfce/recipes-xfce/xfwm4/xfwm4/0001-build-Add-missing-libxfce4util-flags.patch @@ -0,0 +1,59 @@ +From 6468f80ee9283c03fc18f67361b20c6efdf3df50 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= +Date: Mon, 3 Feb 2025 11:09:59 +0100 +Subject: [PATCH] build: Add missing libxfce4util flags +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This will be necessary when xfwm4 is built against a meson release of +libxfce4ui, which sets private flags by default in pkgconfig (and +therefore no longer exposes libxfce4util flags). + +Signed-off-by: Gaël Bonithon + +Upstream-Status: Backport [https://gitlab.xfce.org/xfce/xfwm4/-/commit/6468f80ee9283c03fc18f67361b20c6efdf3df50] + +Signed-off-by: Zhang Peng +--- + settings-dialogs/Makefile.am | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/settings-dialogs/Makefile.am b/settings-dialogs/Makefile.am +index 3a1d2a510..86c6ab9be 100644 +--- a/settings-dialogs/Makefile.am ++++ b/settings-dialogs/Makefile.am +@@ -44,6 +44,7 @@ xfwm4_settings_CFLAGS = \ + $(GLIB_CFLAGS) \ + $(DBUS_GLIB_CFLAGS) \ + $(LIBXFCE4UI_CFLAGS) \ ++ $(LIBXFCE4UTIL_CFLAGS) \ + $(LIBXFCE4KBD_PRIVATE_CFLAGS) \ + $(LIBXFCONF_CFLAGS) \ + -DDATADIR=\"$(datadir)\" \ +@@ -56,6 +57,7 @@ xfwm4_settings_LDADD = \ + $(GLIB_LIBS) \ + $(DBUS_GLIB_LIBS) \ + $(LIBXFCE4UI_LIBS) \ ++ $(LIBXFCE4UTIL_LIBS) \ + $(LIBXFCE4KBD_PRIVATE_LIBS) \ + $(LIBXFCONF_LIBS) + +@@ -70,6 +72,7 @@ xfwm4_tweaks_settings_CFLAGS = \ + $(GLIB_CFLAGS) \ + $(DBUS_GLIB_CFLAGS) \ + $(LIBXFCE4UI_CFLAGS) \ ++ $(LIBXFCE4UTIL_CFLAGS) \ + $(LIBXFCONF_CFLAGS) \ + -DDATADIR=\"$(datadir)\" \ + -DSRCDIR=\"$(top_srcdir)\" \ +@@ -81,6 +84,7 @@ xfwm4_tweaks_settings_LDADD = \ + $(GLIB_LIBS) \ + $(DBUS_GLIB_LIBS) \ + $(LIBXFCE4UI_LIBS) \ ++ $(LIBXFCE4UTIL_LIBS) \ + $(LIBXFCONF_LIBS) + + AM_CPPFLAGS = \ +-- +2.50.0 diff --git a/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.20.0.bb b/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.20.0.bb index ef5a682b777..2c0ac1d39c8 100644 --- a/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.20.0.bb +++ b/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.20.0.bb @@ -9,7 +9,10 @@ inherit xfce update-alternatives features_check REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI += "file://xfwm4-fix-incompatible-pointer-type-error.patch" +SRC_URI += " \ + file://xfwm4-fix-incompatible-pointer-type-error.patch \ + file://0001-build-Add-missing-libxfce4util-flags.patch \ + " SRC_URI[sha256sum] = "a58b63e49397aa0d8d1dcf0636be93c8bb5926779aef5165e0852890190dcf06"