diff options
401 files changed, 6955 insertions, 12071 deletions
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 6061352cb7..0000000000 --- a/meta-filesystems/recipes-filesystems/burnia/libburn/0001-Bug-fix-Faulty-signal-handler-prototype-spoiled-comp.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | From d537f9dd35282df834a311ead5f113af67d223b3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Thomas Schmitt <scdbackup@gmx.net> | ||
| 3 | Date: Tue, 26 Nov 2024 23:02:03 +0100 | ||
| 4 | Subject: [PATCH] Bug fix: Faulty signal handler prototype spoiled compilation | ||
| 5 | under C23 | ||
| 6 | |||
| 7 | Upstream-Status: Backport [https://dev.lovelyhq.com/libburnia/libburn/commit/d537f9dd35282df834a311ead5f113af67d223b3] | ||
| 8 | --- | ||
| 9 | test/poll.c | 2 +- | ||
| 10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 11 | |||
| 12 | diff --git a/test/poll.c b/test/poll.c | ||
| 13 | index 660f384..cd5ff90 100644 | ||
| 14 | --- a/test/poll.c | ||
| 15 | +++ b/test/poll.c | ||
| 16 | @@ -14,7 +14,7 @@ static struct burn_drive_info *drives; | ||
| 17 | static unsigned int n_drives; | ||
| 18 | int NEXT; | ||
| 19 | |||
| 20 | -static void catch_int () | ||
| 21 | +static void catch_int (int signum) | ||
| 22 | { | ||
| 23 | NEXT = 1; | ||
| 24 | } | ||
| 25 | -- | ||
| 26 | 2.34.1 | ||
| 27 | |||
diff --git a/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.8.bb index e84a60a543..1e84d12a03 100644 --- a/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb +++ b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.8.bb | |||
| @@ -5,10 +5,9 @@ LICENSE = "GPL-2.0-or-later" | |||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ |
| 6 | file://COPYRIGHT;md5=a91b9b862895b64e68e5b321873c9111" | 6 | file://COPYRIGHT;md5=a91b9b862895b64e68e5b321873c9111" |
| 7 | 7 | ||
| 8 | SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz \ | 8 | SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz" |
| 9 | file://0001-Bug-fix-Faulty-signal-handler-prototype-spoiled-comp.patch" | ||
| 10 | 9 | ||
| 11 | SRC_URI[sha256sum] = "7295491b4be5eeac5e7a3fb2067e236e2955ffdc6bbd45f546466edee321644b" | 10 | SRC_URI[sha256sum] = "8e24dd99f5b7cafbecf0116d61b619ee89098e20263e6f47c793aaf4a98d6473" |
| 12 | 11 | ||
| 13 | inherit autotools pkgconfig lib_package | 12 | inherit autotools pkgconfig lib_package |
| 14 | 13 | ||
diff --git a/meta-filesystems/recipes-support/python3-pyfuse3/python3-pyfuse3_3.4.2.bb b/meta-filesystems/recipes-support/python3-pyfuse3/python3-pyfuse3_3.4.2.bb new file mode 100644 index 0000000000..8ef6780788 --- /dev/null +++ b/meta-filesystems/recipes-support/python3-pyfuse3/python3-pyfuse3_3.4.2.bb | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | SUMMARY = "Python bindings for libfuse3." | ||
| 2 | |||
| 3 | LICENSE = "LGPL-2.1-or-later" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=622e3d340933e3857b7561f37a2f412b" | ||
| 5 | |||
| 6 | inherit pypi python_setuptools_build_meta python_pep517 cython pkgconfig | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "0a59031969c4ba51a5ec1b67f3c5c24f641a6a3f8119a86edad56debcb9084d9" | ||
| 9 | |||
| 10 | DEPENDS = " \ | ||
| 11 | fuse3 \ | ||
| 12 | python3-setuptools-native \ | ||
| 13 | python3-setuptools-scm-native \ | ||
| 14 | " | ||
| 15 | |||
| 16 | RDEPENDS:${PN} = "python3-trio" | ||
diff --git a/meta-gnome/recipes-gimp/babl/babl_0.1.124.bb b/meta-gnome/recipes-gimp/babl/babl_0.1.126.bb index b1e9d96b79..10e2c482a5 100644 --- a/meta-gnome/recipes-gimp/babl/babl_0.1.124.bb +++ b/meta-gnome/recipes-gimp/babl/babl_0.1.126.bb | |||
| @@ -10,7 +10,7 @@ inherit setuptools3 gnomebase gobject-introspection vala | |||
| 10 | DEPENDS += "lcms" | 10 | DEPENDS += "lcms" |
| 11 | 11 | ||
| 12 | SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz" | 12 | SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz" |
| 13 | SRC_URI[sha256sum] = "1b0d544ab6f409f2b1b5f677226272d1e8c6d373f2f453ee870bfc7e5dd4f1b1" | 13 | SRC_URI[sha256sum] = "3f090f4b2a61fecf7c8dc60a5804bbc77cefd8d778af2ded059f0e367a52930e" |
| 14 | 14 | ||
| 15 | FILES:${PN} += "${libdir}/${BPN}-${@gnome_verdir("${PV}")}" | 15 | FILES:${PN} += "${libdir}/${BPN}-${@gnome_verdir("${PV}")}" |
| 16 | 16 | ||
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 0000000000..4eb6f9553d --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | From d00c3c9fb8267f53cf730b8441a7d7f904af5215 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Markus Volk <f_l_k@t-online.de> | ||
| 3 | Date: Mon, 20 Apr 2026 09:14:50 +0200 | ||
| 4 | Subject: [PATCH] meson.build: dont check for python3-pygobject gexiv2 support | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | We only provide support for gexiv2 in python3-pygobject for the target, but | ||
| 10 | unfortunately this feature is being requested for the native version, which | ||
| 11 | would require gexiv2-native to be compilable — something I consider quite | ||
| 12 | hard to achieve and maybe also not desirable at all. | ||
| 13 | |||
| 14 | Remove the test for this feature, since we know that our target provides it. | ||
| 15 | |||
| 16 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
| 17 | |||
| 18 | Upstream-Status: Inappropriate [oe-specific] | ||
| 19 | --- | ||
| 20 | meson.build | 4 ++-- | ||
| 21 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 22 | |||
| 23 | diff --git a/meson.build b/meson.build | ||
| 24 | index 4f6f8ce9a4..4509cd2c39 100644 | ||
| 25 | --- a/meson.build | ||
| 26 | +++ b/meson.build | ||
| 27 | @@ -1224,7 +1224,7 @@ foreach py : py_candidates | ||
| 28 | '''except (ImportError):''', | ||
| 29 | ''' sys.exit(1)''']), | ||
| 30 | check: false).returncode() == 0 | ||
| 31 | - if pygobject_found.returncode() == 0 and pygobject_found.stdout().strip().version_compare(pygobject_minver) and pygobject_gexiv2_found | ||
| 32 | + if pygobject_found.returncode() == 0 and pygobject_found.stdout().strip().version_compare(pygobject_minver) | ||
| 33 | break | ||
| 34 | endif | ||
| 35 | endif | ||
| 36 | @@ -1235,7 +1235,7 @@ if not python.found() or not python.language_version().version_compare(python3_m | ||
| 37 | endif | ||
| 38 | message('Found Python @0@'.format(python.language_version())) | ||
| 39 | |||
| 40 | -if pygobject_found.returncode() != 0 or not pygobject_found.stdout().strip().version_compare(pygobject_minver) or not pygobject_gexiv2_found | ||
| 41 | +if pygobject_found.returncode() != 0 or not pygobject_found.stdout().strip().version_compare(pygobject_minver) | ||
| 42 | error('No suitable PyGObject (with GExiv2 submodule) found. Minimum supported version: @0@'.format(pygobject_minver)) | ||
| 43 | endif | ||
| 44 | message('Found PyGObject: @0@'.format(pygobject_found.stdout().strip())) | ||
| 45 | -- | ||
| 46 | 2.53.0 | ||
| 47 | |||
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 0000000000..91e7f92336 --- /dev/null +++ b/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From 47948d14777438ca5e8619a1f9293db28af88305 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Markus Volk <f_l_k@t-online.de> | ||
| 3 | Date: Mon, 20 Apr 2026 09:24:38 +0200 | ||
| 4 | Subject: [PATCH] docs/meson.build: disable gimprc man build | ||
| 5 | |||
| 6 | This would require a native variant of gimp-console | ||
| 7 | |||
| 8 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [oe-specific] | ||
| 11 | --- | ||
| 12 | docs/meson.build | 4 ++-- | ||
| 13 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/docs/meson.build b/docs/meson.build | ||
| 16 | index 70b57b52ef..d36e47dbb5 100644 | ||
| 17 | --- a/docs/meson.build | ||
| 18 | +++ b/docs/meson.build | ||
| 19 | @@ -16,9 +16,9 @@ gimprc_man = custom_target('gimprc-' + gimp_app_version + '.5', | ||
| 20 | command: [ gimp_exe, '--no-interface', | ||
| 21 | '--dump-gimprc-manpage' ], | ||
| 22 | capture: true, | ||
| 23 | - build_by_default: true, | ||
| 24 | + build_by_default: false, | ||
| 25 | env: gimp_run_env, | ||
| 26 | - install: true, | ||
| 27 | + install: false, | ||
| 28 | install_dir: get_option('mandir') / 'man5') | ||
| 29 | |||
| 30 | gimptool_man = configure_file(input : 'gimptool.1.in', | ||
| 31 | -- | ||
| 32 | 2.53.0 | ||
| 33 | |||
diff --git a/meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb b/meta-gnome/recipes-gimp/gimp/gimp_3.2.4.bb index 1b092eb7e5..82c68346eb 100644 --- a/meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb +++ b/meta-gnome/recipes-gimp/gimp/gimp_3.2.4.bb | |||
| @@ -37,6 +37,7 @@ DEPENDS = " \ | |||
| 37 | poppler \ | 37 | poppler \ |
| 38 | poppler-data \ | 38 | poppler-data \ |
| 39 | python3-pygobject-native \ | 39 | python3-pygobject-native \ |
| 40 | python3-pycairo-native \ | ||
| 40 | tiff \ | 41 | tiff \ |
| 41 | xz \ | 42 | xz \ |
| 42 | zlib \ | 43 | zlib \ |
| @@ -62,8 +63,10 @@ SRC_URI = "https://download.gimp.org/gimp/v3.2/${BP}.tar.xz \ | |||
| 62 | file://0001-meson.build-dont-check-for-lgi.patch \ | 63 | file://0001-meson.build-dont-check-for-lgi.patch \ |
| 63 | file://0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch \ | 64 | file://0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch \ |
| 64 | file://0003-meson.build-reproducibility-fix.patch \ | 65 | file://0003-meson.build-reproducibility-fix.patch \ |
| 66 | file://0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch \ | ||
| 67 | file://0005-docs-meson.build-disable-gimprc-man-build.patch \ | ||
| 65 | " | 68 | " |
| 66 | SRC_URI[sha256sum] = "2618391416e51be3c693df9ef90e3860ed72ab3d36363ea1f196e30b75b2e083" | 69 | SRC_URI[sha256sum] = "7312bc53e9c6d2d0056ca7b93f1c6b98707946dd934f714c21b8746ecb601588" |
| 67 | 70 | ||
| 68 | PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib" | 71 | PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib" |
| 69 | PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" | 72 | PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" |
| @@ -132,7 +135,7 @@ do_install:prepend() { | |||
| 132 | 135 | ||
| 133 | FILES:${PN} += "${datadir}/metainfo" | 136 | FILES:${PN} += "${datadir}/metainfo" |
| 134 | 137 | ||
| 135 | RDEPENDS:${PN} = "mypaint-brushes glib-networking python3-pygobject" | 138 | RDEPENDS:${PN} = "mypaint-brushes glib-networking python3-pygobject python3-pycairo" |
| 136 | 139 | ||
| 137 | CVE_STATUS[CVE-2007-3741] = "not-applicable-platform: This only applies for Mandriva Linux" | 140 | CVE_STATUS[CVE-2007-3741] = "not-applicable-platform: This only applies for Mandriva Linux" |
| 138 | CVE_STATUS[CVE-2025-8672] = "not-applicable-config: the vulnerability only affects MacOS" | 141 | CVE_STATUS[CVE-2025-8672] = "not-applicable-config: the vulnerability only affects MacOS" |
diff --git a/meta-gnome/recipes-gnome/cheese/cheese_44.1.bb b/meta-gnome/recipes-gnome/cheese/cheese_44.1.bb index 8e78162991..62073ebd13 100644 --- a/meta-gnome/recipes-gnome/cheese/cheese_44.1.bb +++ b/meta-gnome/recipes-gnome/cheese/cheese_44.1.bb | |||
| @@ -5,7 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf" | |||
| 5 | 5 | ||
| 6 | inherit gnomebase gobject-introspection vala itstool gtk-icon-cache gsettings gnome-help gtk-doc | 6 | inherit gnomebase gobject-introspection vala itstool gtk-icon-cache gsettings gnome-help gtk-doc |
| 7 | 7 | ||
| 8 | REQUIRED_DISTRO_FEATURES = "opengl" | 8 | # x11 is needed due to libcanberra dependency which does not compile |
| 9 | # gtk3 support with out it and cheese look for | ||
| 10 | # | aarch64-yoe-linux-ld.lld: error: unable to find library -lcanberra-gtk3 | ||
| 11 | REQUIRED_DISTRO_FEATURES = "opengl x11" | ||
| 9 | 12 | ||
| 10 | SRC_URI += "file://0001-libcheese-Add-GtkWidget-cast-to-avoid-an-incompatibl.patch" | 13 | SRC_URI += "file://0001-libcheese-Add-GtkWidget-cast-to-avoid-an-incompatibl.patch" |
| 11 | 14 | ||
diff --git a/meta-gnome/recipes-gnome/eog/eog_49.1.bb b/meta-gnome/recipes-gnome/eog/eog_49.3.bb index 202d68700a..d67c3733af 100644 --- a/meta-gnome/recipes-gnome/eog/eog_49.1.bb +++ b/meta-gnome/recipes-gnome/eog/eog_49.3.bb | |||
| @@ -13,7 +13,6 @@ DEPENDS = " \ | |||
| 13 | libpeas-1 \ | 13 | libpeas-1 \ |
| 14 | libportal \ | 14 | libportal \ |
| 15 | libexif \ | 15 | libexif \ |
| 16 | lcms \ | ||
| 17 | " | 16 | " |
| 18 | 17 | ||
| 19 | 18 | ||
| @@ -22,7 +21,11 @@ inherit gnomebase pkgconfig gsettings gobject-introspection gettext mime-xdg fea | |||
| 22 | # FIXME: whilst eog uses libpeas <2, g-i is needed. This can be removed when libpeas2 is used. | 21 | # FIXME: whilst eog uses libpeas <2, g-i is needed. This can be removed when libpeas2 is used. |
| 23 | REQUIRED_DISTRO_FEATURES = "opengl gobject-introspection-data" | 22 | REQUIRED_DISTRO_FEATURES = "opengl gobject-introspection-data" |
| 24 | 23 | ||
| 25 | SRC_URI[archive.sha256sum] = "fadd12e14ba9cd2be6989dfbcef40001645b63440ceed8e04867b07587b066dc" | 24 | SRC_URI[archive.sha256sum] = "6b4e69c7a8086ae85d556ca4a24daa665b5622c4097e1ee59564bff4cc963124" |
| 25 | |||
| 26 | PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','cms', '', d)}" | ||
| 27 | |||
| 28 | PACKAGECONFIG[cms] = "-Dcms=true,-Dcms=false,lcms" | ||
| 26 | 29 | ||
| 27 | GTKDOC_MESON_OPTION = "gtk_doc" | 30 | GTKDOC_MESON_OPTION = "gtk_doc" |
| 28 | 31 | ||
diff --git a/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb b/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb index 92685f085a..d15ab8665d 100644 --- a/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb +++ b/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb | |||
| @@ -23,7 +23,7 @@ inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc get | |||
| 23 | def gnome_verdir(v): | 23 | def gnome_verdir(v): |
| 24 | return oe.utils.trim_version(v, 1) | 24 | return oe.utils.trim_version(v, 1) |
| 25 | 25 | ||
| 26 | SRC_URI = "git://gitlab.gnome.org/World/gedit/gedit.git;protocol=https;branch=master;tag=${PV}" | 26 | SRC_URI = "gitsm://gitlab.gnome.org/World/gedit/gedit.git;protocol=https;branch=master;tag=${PV}" |
| 27 | SRCREV = "25d0bf0c3c40b0866fc23ec875f0af6c67f728ef" | 27 | SRCREV = "25d0bf0c3c40b0866fc23ec875f0af6c67f728ef" |
| 28 | 28 | ||
| 29 | # gobject-introspection is mandatory and cannot be configured | 29 | # gobject-introspection is mandatory and cannot be configured |
diff --git a/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.0.bb b/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.1.bb index 05c30a1e35..87006cc564 100644 --- a/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.0.bb +++ b/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.1.bb | |||
| @@ -8,7 +8,7 @@ DEPENDS = "glib-2.0 gtk+3" | |||
| 8 | inherit gobject-introspection features_check gtk-doc gnomebase | 8 | inherit gobject-introspection features_check gtk-doc gnomebase |
| 9 | 9 | ||
| 10 | SRC_URI = "git://gitlab.gnome.org/World/gedit/libgedit-gfls.git;branch=main;protocol=https;tag=${PV}" | 10 | SRC_URI = "git://gitlab.gnome.org/World/gedit/libgedit-gfls.git;branch=main;protocol=https;tag=${PV}" |
| 11 | SRCREV = "b292896adfb1c371aa8db0819f4754ff3bf4a848" | 11 | SRCREV = "ce4b836dfda4ea3f594b9ded7b60c5cb51ccbc87" |
| 12 | 12 | ||
| 13 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 13 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
| 14 | 14 | ||
diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.0.bb b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.1.bb index 62f67460b0..6b80df7781 100644 --- a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.0.bb +++ b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.1.bb | |||
| @@ -8,7 +8,7 @@ REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'goabackend', | |||
| 8 | 8 | ||
| 9 | DEPENDS += "gdk-pixbuf dbus glib-2.0 gcr keyutils" | 9 | DEPENDS += "gdk-pixbuf dbus glib-2.0 gcr keyutils" |
| 10 | 10 | ||
| 11 | SRC_URI[archive.sha256sum] = "344d4dff9149a1adc4539417193e1eccc2f76ef40ac24e104ccf58072be55999" | 11 | SRC_URI[archive.sha256sum] = "9ec1900cc51409c2067c07c828c10be06fe3bf68d2999bb72d7d5ed325ed9bbc" |
| 12 | 12 | ||
| 13 | PACKAGECONFIG ?= "goabackend kerberos owncloud google" | 13 | PACKAGECONFIG ?= "goabackend kerberos owncloud google" |
| 14 | 14 | ||
diff --git a/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.7.bb b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.10.bb index 8e82b86285..58aefbff2e 100644 --- a/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.7.bb +++ b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.10.bb | |||
| @@ -6,6 +6,8 @@ DEPENDS = " \ | |||
| 6 | glib-2.0 \ | 6 | glib-2.0 \ |
| 7 | glib-2.0-native \ | 7 | glib-2.0-native \ |
| 8 | bison-native \ | 8 | bison-native \ |
| 9 | desktop-file-utils-native \ | ||
| 10 | exiv2 \ | ||
| 9 | gtk+3 \ | 11 | gtk+3 \ |
| 10 | gsettings-desktop-schemas \ | 12 | gsettings-desktop-schemas \ |
| 11 | zlib \ | 13 | zlib \ |
| @@ -13,21 +15,16 @@ DEPENDS = " \ | |||
| 13 | json-glib \ | 15 | json-glib \ |
| 14 | " | 16 | " |
| 15 | 17 | ||
| 16 | PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'colord', '', d)} exiv2 gstreamer lcms libjxl libraw librsvg libwebp" | 18 | PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'colord', '', d)} gstreamer lcms libjxl libraw librsvg libwebp" |
| 17 | PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,gstreamer1.0 gstreamer1.0-plugins-base" | 19 | PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,gstreamer1.0 gstreamer1.0-plugins-base" |
| 18 | PACKAGECONFIG[libwebp] = "-Dlibwebp=true,-Dlibwebp=false,libwebp" | 20 | PACKAGECONFIG[libwebp] = "-Dlibwebp=true,-Dlibwebp=false,libwebp" |
| 19 | PACKAGECONFIG[libjxl] = "-Dlibjxl=true,-Dlibjxl=false,libjxl" | 21 | PACKAGECONFIG[libjxl] = "-Dlibjxl=true,-Dlibjxl=false,libjxl" |
| 20 | PACKAGECONFIG[lcms] = "-Dlcms2=true,-Dlcms2=false,lcms" | 22 | PACKAGECONFIG[lcms] = "-Dlcms2=true,-Dlcms2=false,lcms" |
| 21 | PACKAGECONFIG[colord] = "-Dcolord=true,-Dcolord=false,colord" | 23 | PACKAGECONFIG[colord] = "-Dcolord=true,-Dcolord=false,colord" |
| 22 | PACKAGECONFIG[exiv2] = "-Dexiv2=true,-Dexiv2=false,exiv2" | ||
| 23 | PACKAGECONFIG[librsvg] = "-Dlibrsvg=true,-Dlibrsvg=false,librsvg" | 24 | PACKAGECONFIG[librsvg] = "-Dlibrsvg=true,-Dlibrsvg=false,librsvg" |
| 24 | PACKAGECONFIG[libraw] = "-Dlibraw=true,-Dlibraw=false,libraw" | 25 | PACKAGECONFIG[libraw] = "-Dlibraw=true,-Dlibraw=false,libraw" |
| 25 | 26 | ||
| 26 | # webservices would require libsecret and webkitgtk3 built with deprecated libsoup2 | 27 | inherit gnomebase gnome-help gsettings itstool gtk-icon-cache mime-xdg |
| 27 | EXTRA_OEMESON += "-Dwebservices=false -Dlibsecret=false" | 28 | SRC_URI[archive.sha256sum] = "3222344653cd6fb5d7981b73951ae3d90c414f74220a8b1c8665b25574284c75" |
| 28 | |||
| 29 | inherit gnomebase gnome-help gsettings itstool mime-xdg | ||
| 30 | |||
| 31 | SRC_URI[archive.sha256sum] = "ee12d24cf231010241f758d6c95b9d53a7381278fa76b6a518b3d09b371efaec" | ||
| 32 | 29 | ||
| 33 | FILES:${PN} += "${datadir}/metainfo" | 30 | FILES:${PN} += "${datadir}/metainfo" |
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 9fb2cd6814..0000000000 --- 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 @@ | |||
| 1 | From 71804c06c7179333f44b57e04ba268f37fe54f62 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Thu, 13 Jul 2017 09:01:04 -0700 | ||
| 4 | Subject: [PATCH] pypredict/lm: Define error API if platform does not have it | ||
| 5 | |||
| 6 | error() API is not implemented across all libcs on linux | ||
| 7 | e.g. musl does not provide it. | ||
| 8 | |||
| 9 | Upstream-Status: Pending | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | Onboard/pypredict/lm/lm.cpp | 1 - | ||
| 14 | Onboard/pypredict/lm/lm.h | 13 +++++++++++++ | ||
| 15 | Onboard/pypredict/lm/lm_dynamic.cpp | 2 -- | ||
| 16 | 3 files changed, 13 insertions(+), 3 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp | ||
| 19 | index 2e642965..37ae241e 100644 | ||
| 20 | --- a/Onboard/pypredict/lm/lm.cpp | ||
| 21 | +++ b/Onboard/pypredict/lm/lm.cpp | ||
| 22 | @@ -19,7 +19,6 @@ | ||
| 23 | |||
| 24 | #include <stdlib.h> | ||
| 25 | #include <stdio.h> | ||
| 26 | -#include <error.h> | ||
| 27 | #include <algorithm> | ||
| 28 | #include <cmath> | ||
| 29 | #include <string> | ||
| 30 | diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h | ||
| 31 | index ed4164a4..b8b63ee8 100644 | ||
| 32 | --- a/Onboard/pypredict/lm/lm.h | ||
| 33 | +++ b/Onboard/pypredict/lm/lm.h | ||
| 34 | @@ -32,6 +32,19 @@ | ||
| 35 | #include <algorithm> | ||
| 36 | #include <string> | ||
| 37 | |||
| 38 | +#if defined(HAVE_ERROR_H) | ||
| 39 | +#include <error.h> | ||
| 40 | +#else | ||
| 41 | +#include <err.h> | ||
| 42 | +#define _onboard_error(S, E, F, ...) do { \ | ||
| 43 | + if (E) \ | ||
| 44 | + err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \ | ||
| 45 | + else \ | ||
| 46 | + err(S, F, ##__VA_ARGS__); \ | ||
| 47 | +} while(0) | ||
| 48 | + | ||
| 49 | +#define error _onboard_error | ||
| 50 | +#endif | ||
| 51 | |||
| 52 | // break into debugger | ||
| 53 | // step twice to come back out of the raise() call into known code | ||
| 54 | diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp | ||
| 55 | index 7c628240..e7c7f40e 100644 | ||
| 56 | --- a/Onboard/pypredict/lm/lm_dynamic.cpp | ||
| 57 | +++ b/Onboard/pypredict/lm/lm_dynamic.cpp | ||
| 58 | @@ -17,8 +17,6 @@ | ||
| 59 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 60 | */ | ||
| 61 | |||
| 62 | -#include <error.h> | ||
| 63 | - | ||
| 64 | #include "lm_dynamic.h" | ||
| 65 | |||
| 66 | using namespace std; | ||
| 67 | -- | ||
| 68 | 2.34.1 | ||
| 69 | |||
diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.4-1.bb index d544f169f8..a069fb692e 100644 --- a/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb +++ b/meta-gnome/recipes-support/onboard/onboard_1.4.4-1.bb | |||
| @@ -10,11 +10,10 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e \ | |||
| 10 | file://COPYING.BSD3;md5=f56403ae5b2d6b82ad136d753c05a82e \ | 10 | file://COPYING.BSD3;md5=f56403ae5b2d6b82ad136d753c05a82e \ |
| 11 | " | 11 | " |
| 12 | 12 | ||
| 13 | SRC_URI = "git://github.com/onboard-osk/onboard.git;protocol=https;branch=main \ | 13 | SRC_URI = "git://github.com/onboard-osk/onboard.git;protocol=https;branch=main;tag=${PV} \ |
| 14 | file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \ | ||
| 15 | file://0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch \ | 14 | file://0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch \ |
| 16 | " | 15 | " |
| 17 | SRCREV = "350f7643576bc8c5f2cff9c6ddce0e1e7cff995d" | 16 | SRCREV = "02b19e2aee88e4bf2cdc7094813ddd4a6c05d1e7" |
| 18 | 17 | ||
| 19 | inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg | 18 | inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg |
| 20 | 19 | ||
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 e2c202a079..0000000000 --- a/meta-initramfs/recipes-devtools/dracut/dracut/0002-fix-broken-symlink-in-dracut-config-examples.patch +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | From e01991f1d55d4d1327793790bad3724b89952704 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 3 | Date: Thu, 22 May 2025 18:07:27 +0800 | ||
| 4 | Subject: [PATCH 2/2] fix broken symlink in dracut config examples | ||
| 5 | |||
| 6 | Due to commit [1], it installs dracut config examples under /usr. | ||
| 7 | But while enable_test=no, the symlink of test in dracut config is broken | ||
| 8 | ... | ||
| 9 | root@qemux86-64:~# ls /usr/lib/dracut/dracut.conf.d/test* -ahl | ||
| 10 | lrwxrwxrwx 1 root root 27 Apr 5 2011 /usr/lib/dracut/dracut.conf.d/test -> ../test/dracut.conf.d/test/ | ||
| 11 | lrwxrwxrwx 1 root root 36 Apr 5 2011 /usr/lib/dracut/dracut.conf.d/test-makeroot -> ../test/dracut.conf.d/test-makeroot/ | ||
| 12 | lrwxrwxrwx 1 root root 31 Apr 5 2011 /usr/lib/dracut/dracut.conf.d/test-root -> ../test/dracut.conf.d/test-root | ||
| 13 | root@qemux86-64:~# realpath /usr/lib/dracut/dracut.conf.d/test* | ||
| 14 | realpath: /usr/lib/dracut/dracut.conf.d/test: No such file or directory | ||
| 15 | realpath: /usr/lib/dracut/dracut.conf.d/test-makeroot: No such file or directory | ||
| 16 | realpath: /usr/lib/dracut/dracut.conf.d/test-root: No such file or directory | ||
| 17 | ... | ||
| 18 | |||
| 19 | This commit cleans up test symlink if enable_test=no | ||
| 20 | |||
| 21 | [1] https://github.com/dracut-ng/dracut-ng/commit/0d369e3e30935dffe48dfff1e90463868e7f804a | ||
| 22 | |||
| 23 | Upstream-Status: Submitted [https://github.com/dracut-ng/dracut-ng/pull/1344] | ||
| 24 | |||
| 25 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 26 | --- | ||
| 27 | Makefile | 1 + | ||
| 28 | 1 file changed, 1 insertion(+) | ||
| 29 | |||
| 30 | diff --git a/Makefile b/Makefile | ||
| 31 | index 3a40594b..df7956ab 100644 | ||
| 32 | --- a/Makefile | ||
| 33 | +++ b/Makefile | ||
| 34 | @@ -218,6 +218,7 @@ ifeq ($(enable_test),yes) | ||
| 35 | done | ||
| 36 | else | ||
| 37 | rm -rf $(DESTDIR)$(pkglibdir)/modules.d/70test* | ||
| 38 | + rm -rf $(DESTDIR)$(pkglibdir)/dracut.conf.d/test* | ||
| 39 | endif | ||
| 40 | ifneq ($(enable_documentation),no) | ||
| 41 | for i in $(man1pages); do install -m 0644 $$i $(DESTDIR)$(mandir)/man1/$${i##*/}; done | ||
| 42 | -- | ||
| 43 | 2.47.3 | ||
| 44 | |||
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_109.bb b/meta-initramfs/recipes-devtools/dracut/dracut_110.bb index ee6dce4576..d5ca94add8 100644 --- a/meta-initramfs/recipes-devtools/dracut/dracut_109.bb +++ b/meta-initramfs/recipes-devtools/dracut/dracut_110.bb | |||
| @@ -7,10 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | |||
| 7 | 7 | ||
| 8 | PE = "1" | 8 | PE = "1" |
| 9 | 9 | ||
| 10 | SRCREV = "13c5e5feee9ba86b960d351f87aa0eb25f242ff0" | 10 | SRCREV = "25bf13842a5c55f4a5ab1523e005b3b11b9ac38e" |
| 11 | SRC_URI = "git://github.com/dracut-ng/dracut-ng.git;protocol=http;branch=main;tag=${PV} \ | 11 | SRC_URI = "git://github.com/dracut-ng/dracut-ng.git;protocol=http;branch=main;tag=${PV}" |
| 12 | file://0002-fix-broken-symlink-in-dracut-config-examples.patch \ | ||
| 13 | " | ||
| 14 | 12 | ||
| 15 | DEPENDS += "kmod" | 13 | DEPENDS += "kmod" |
| 16 | DEPENDS:append:libc-musl = " fts" | 14 | DEPENDS:append:libc-musl = " fts" |
diff --git a/meta-multimedia/recipes-multimedia/fswebcam/fswebcam_20200725.bb b/meta-multimedia/recipes-multimedia/fswebcam/fswebcam_20200725.bb index bdda35df40..bc4f324da5 100644 --- a/meta-multimedia/recipes-multimedia/fswebcam/fswebcam_20200725.bb +++ b/meta-multimedia/recipes-multimedia/fswebcam/fswebcam_20200725.bb | |||
| @@ -18,4 +18,7 @@ DEPENDS = "gd" | |||
| 18 | SRC_URI = "git://github.com/fsphil/fswebcam.git;protocol=https;branch=master;tag=${PV}" | 18 | SRC_URI = "git://github.com/fsphil/fswebcam.git;protocol=https;branch=master;tag=${PV}" |
| 19 | SRCREV = "db35d4bbd336885a44f017ff142bc9523dbdce3c" | 19 | SRCREV = "db35d4bbd336885a44f017ff142bc9523dbdce3c" |
| 20 | 20 | ||
| 21 | # Compile gd with PACKAGECONFIG fontconfig for easier font selection | ||
| 22 | RRECOMMENDS:${PN} = "ttf-dejavu-sans" | ||
| 23 | |||
| 21 | inherit autotools-brokensep | 24 | 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 44f5c1819a..0000000000 --- a/meta-multimedia/recipes-multimedia/libavif/libavif_1.3.0.bb +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | SUMMARY = "This library aims to be a friendly, portable C implementation of the AV1 Image File Format" | ||
| 2 | HOMEPAGE = "https://github.com/AOMediaCodec/libavif" | ||
| 3 | SECTION = "libs" | ||
| 4 | # Most is the code is under BSD-2, but libyuv is under BSD-3, and iccjpeg is under IJG | ||
| 5 | LICENSE = "BSD-2-Clause & BSD-3-Clause & IJG" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=51549db0941829faeedcc86efec2f4c0" | ||
| 7 | |||
| 8 | SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=main;tag=v${PV}" | ||
| 9 | |||
| 10 | SRCREV = "1aadfad932c98c069a1204261b1856f81f3bc199" | ||
| 11 | |||
| 12 | DEPENDS = "dav1d" | ||
| 13 | |||
| 14 | inherit cmake | ||
| 15 | |||
| 16 | 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 0000000000..77b81fffbf --- /dev/null +++ b/meta-multimedia/recipes-multimedia/libavif/libavif_1.4.1.bb | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | SUMMARY = "This library aims to be a friendly, portable C implementation of the AV1 Image File Format" | ||
| 2 | HOMEPAGE = "https://github.com/AOMediaCodec/libavif" | ||
| 3 | SECTION = "libs" | ||
| 4 | # Most is the code is under BSD-2, but libyuv is under BSD-3, and iccjpeg is under IJG | ||
| 5 | LICENSE = "BSD-2-Clause & BSD-3-Clause & IJG" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=51549db0941829faeedcc86efec2f4c0" | ||
| 7 | |||
| 8 | SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=main;tag=v${PV};name=libavif" | ||
| 9 | SRC_URI += "git://github.com/kmurray/libargparse.git;protocol=https;nobranch=1;name=libargparse;subdir=${S}/ext/libargparse" | ||
| 10 | SRC_URI += "git://chromium.googlesource.com/libyuv/libyuv;protocol=https;nobranch=1;name=libyuv;subdir=${S}/ext/libyuv" | ||
| 11 | SRCREV_libavif = "6543b22b5bc706c53f038a16fe515f921556d9b3" | ||
| 12 | SRCREV_libargparse = "ee74d1b53bd680748af14e737378de57e2a0a954" | ||
| 13 | SRCREV_libyuv = "6067afde563c3946eebd94f146b3824ab7a97a9c" | ||
| 14 | SRCREV_FORMAT = "libavif" | ||
| 15 | |||
| 16 | DEPENDS = "nasm-native" | ||
| 17 | |||
| 18 | inherit cmake pkgconfig | ||
| 19 | |||
| 20 | EXTRA_OECMAKE += " \ | ||
| 21 | -DAVIF_BUILD_MAN_PAGES=OFF \ | ||
| 22 | -DAVIF_CODEC_RAV1E=OFF \ | ||
| 23 | -DAVIF_LIBYUV=LOCAL \ | ||
| 24 | " | ||
| 25 | |||
| 26 | PACKAGECONFIG ?= "dav1d gdk-pixbuf" | ||
| 27 | PACKAGECONFIG[apps] = "-DAVIF_BUILD_APPS=ON -DAVIF_LIBXML2=SYSTEM,-DAVIF_BUILD_APPS=OFF -DAVIF_LIBXML2=OFF,zlib libjpeg-turbo libpng libwebp libxml2" | ||
| 28 | PACKAGECONFIG[gdk-pixbuf] = "-DAVIF_BUILD_GDK_PIXBUF=ON,-DAVIF_BUILD_GDK_PIXBUF=OFF,gdk-pixbuf" | ||
| 29 | PACKAGECONFIG[aom] = "-DAVIF_CODEC_AOM=SYSTEM,-DAVIF_CODEC_AOM=OFF,aom" | ||
| 30 | PACKAGECONFIG[dav1d] = "-DAVIF_CODEC_DAV1D=SYSTEM,-DAVIF_CODEC_DAV1D=OFF,dav1d" | ||
| 31 | PACKAGECONFIG[svt] = "-DAVIF_CODEC_SVT=SYSTEM,-DAVIF_CODEC_SVT=OFF,svt-av1" | ||
| 32 | |||
| 33 | FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}" | ||
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 766ee02ca2..cc305f4041 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" | |||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" |
| 5 | DEPENDS = "libdvdread" | 5 | DEPENDS = "libdvdread" |
| 6 | 6 | ||
| 7 | SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.bz2" | 7 | SRC_URI = "https://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.bz2" |
| 8 | SRC_URI[md5sum] = "46c46cb0294fbd1fcb8a0181818dad15" | 8 | SRC_URI[md5sum] = "46c46cb0294fbd1fcb8a0181818dad15" |
| 9 | SRC_URI[sha256sum] = "c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48" | 9 | SRC_URI[sha256sum] = "c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48" |
| 10 | 10 | ||
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.9.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.9.bb index cb6bd1569f..0c3d672949 100644 --- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.9.bb +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.9.bb | |||
| @@ -24,7 +24,7 @@ SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https;t | |||
| 24 | SRCREV = "7a9afa059e95668c912f779219ee8fe1e44dd2aa" | 24 | SRCREV = "7a9afa059e95668c912f779219ee8fe1e44dd2aa" |
| 25 | 25 | ||
| 26 | 26 | ||
| 27 | 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)} \ | 27 | 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)} \ |
| 28 | -Dadplug=disabled \ | 28 | -Dadplug=disabled \ |
| 29 | -Dsndio=disabled \ | 29 | -Dsndio=disabled \ |
| 30 | -Dshine=disabled \ | 30 | -Dshine=disabled \ |
| @@ -93,6 +93,8 @@ do_install:append() { | |||
| 93 | rm -rf ${D}${datadir}/icons | 93 | rm -rf ${D}${datadir}/icons |
| 94 | } | 94 | } |
| 95 | 95 | ||
| 96 | FILES:${PN} += "${systemd_user_unitdir}" | ||
| 97 | |||
| 96 | RPROVIDES:${PN} += "${PN}-systemd" | 98 | RPROVIDES:${PN} += "${PN}-systemd" |
| 97 | RREPLACES:${PN} += "${PN}-systemd" | 99 | RREPLACES:${PN} += "${PN}-systemd" |
| 98 | RCONFLICTS:${PN} += "${PN}-systemd" | 100 | RCONFLICTS:${PN} += "${PN}-systemd" |
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-plugins-alsa-acp-compat.h-Fix-missed-Wdiscarded-.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-plugins-alsa-acp-compat.h-Fix-missed-Wdiscarded-.patch deleted file mode 100644 index 6ded1c15f8..0000000000 --- a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-plugins-alsa-acp-compat.h-Fix-missed-Wdiscarded-.patch +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | From c847b8162959c29b783585e0dcadbfb096e7cb73 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Ripley Tom <discofan420@protonmail.com> | ||
| 3 | Date: Sat, 21 Feb 2026 19:33:11 +0100 | ||
| 4 | Subject: [PATCH] spa/plugins/alsa/acp/compat.h: Fix missed | ||
| 5 | -Wdiscarded-qualifiers warning | ||
| 6 | |||
| 7 | Upstream-Status: Backport [https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/c847b8162959c29b783585e0dcadbfb096e7cb73] | ||
| 8 | Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> | ||
| 9 | --- | ||
| 10 | spa/plugins/alsa/acp/compat.h | 4 ++-- | ||
| 11 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/spa/plugins/alsa/acp/compat.h b/spa/plugins/alsa/acp/compat.h | ||
| 14 | index f7592e1a6..0f7b959df 100644 | ||
| 15 | --- a/spa/plugins/alsa/acp/compat.h | ||
| 16 | +++ b/spa/plugins/alsa/acp/compat.h | ||
| 17 | @@ -429,9 +429,9 @@ static PA_PRINTF_FUNC(1,0) inline char *pa_vsprintf_malloc(const char *fmt, va_l | ||
| 18 | |||
| 19 | #define pa_fopen_cloexec(f,m) fopen(f,m"e") | ||
| 20 | |||
| 21 | -static inline char *pa_path_get_filename(const char *p) | ||
| 22 | +static inline const char *pa_path_get_filename(const char *p) | ||
| 23 | { | ||
| 24 | - char *fn; | ||
| 25 | + const char *fn; | ||
| 26 | if (!p) | ||
| 27 | return NULL; | ||
| 28 | if ((fn = strrchr(p, PA_PATH_SEP_CHAR))) | ||
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.2.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.3.bb index 1e5e5f0399..82cd928b4a 100644 --- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.2.bb +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.3.bb | |||
| @@ -12,10 +12,9 @@ LIC_FILES_CHKSUM = " \ | |||
| 12 | 12 | ||
| 13 | DEPENDS = "dbus ncurses" | 13 | DEPENDS = "dbus ncurses" |
| 14 | 14 | ||
| 15 | SRCREV = "95da54a482b68475958bbc3fa572a9c20df0df74" | 15 | SRCREV = "cc3d0d1191266b263f6d0fa03fce1d1ef57151cc" |
| 16 | BRANCH = "${@oe.utils.trim_version('${PV}', 2)}" | 16 | BRANCH = "${@oe.utils.trim_version('${PV}', 2)}" |
| 17 | SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https;tag=${PV}" | 17 | SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https;tag=${PV}" |
| 18 | SRC_URI += "file://0001-spa-plugins-alsa-acp-compat.h-Fix-missed-Wdiscarded-.patch" | ||
| 19 | SRC_URI += "file://0002-spa-plugins-alsa-acp-compat.h-p-is-already-const-do-.patch" | 18 | SRC_URI += "file://0002-spa-plugins-alsa-acp-compat.h-p-is-already-const-do-.patch" |
| 20 | 19 | ||
| 21 | inherit meson pkgconfig systemd gettext useradd | 20 | inherit meson pkgconfig systemd gettext useradd |
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 1600d9d3ef..480c132473 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 | |||
| 20 | 20 | ||
| 21 | inherit autotools pkgconfig | 21 | inherit autotools pkgconfig |
| 22 | 22 | ||
| 23 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 24 | |||
| 23 | EXTRA_OECONF += "--with-included-argv=yes --with-included-libmad=no" | 25 | EXTRA_OECONF += "--with-included-argv=yes --with-included-libmad=no" |
| 24 | EXTRA_OECONF += "\ | 26 | EXTRA_OECONF += "\ |
| 25 | --with-ogg-includes=${STAGING_INCDIR} \ | 27 | --with-ogg-includes=${STAGING_INCDIR} \ |
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 42c771e0ff..a8758b1e9b 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 | |||
| 3 | LICENSE = "GPL-2.0-only" | 3 | LICENSE = "GPL-2.0-only" |
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" |
| 5 | 5 | ||
| 6 | SRC_URI = "http://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2" | 6 | SRC_URI = "https://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2" |
| 7 | 7 | ||
| 8 | inherit autotools | 8 | inherit autotools |
| 9 | 9 | ||
diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.13.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.14.bb index abd54515ca..ad05a8bc87 100644 --- a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.13.bb +++ b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.14.bb | |||
| @@ -10,7 +10,7 @@ DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ | |||
| 10 | ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ | 10 | ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ |
| 11 | " | 11 | " |
| 12 | 12 | ||
| 13 | SRCREV = "84429b47943d789389fbde17c06b82efb197d04e" | 13 | SRCREV = "07e730b279ac7a520699ae9f6b0797848a731b30" |
| 14 | SRC_URI = " \ | 14 | SRC_URI = " \ |
| 15 | git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https;tag=${PV} \ | 15 | git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https;tag=${PV} \ |
| 16 | file://run-ptest \ | 16 | file://run-ptest \ |
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 707eeb0e26..04fe9b9acd 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 = "\ | |||
| 39 | --host=${HOST_SYS} \ | 39 | --host=${HOST_SYS} \ |
| 40 | --target=${TARGET_SYS} \ | 40 | --target=${TARGET_SYS} \ |
| 41 | " | 41 | " |
| 42 | 42 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | |
| 43 | EXTRA_OECONF = "--with-bind-extra-config="${BIND_EXTRA_CONFIG}" \ | 43 | EXTRA_OECONF = "--with-bind-extra-config="${BIND_EXTRA_CONFIG}" \ |
| 44 | --enable-paranoia \ | 44 | --enable-paranoia \ |
| 45 | --disable-static \ | 45 | --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.11b8.bb index 7a392b2c23..eabf4027d6 100644 --- a/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b7.bb +++ b/meta-networking/recipes-connectivity/ez-ipupdate/ez-ipupdate_3.0.11b8.bb | |||
| @@ -4,21 +4,19 @@ HOMEPAGE = "http://sourceforge.net/projects/ez-ipupdate/" | |||
| 4 | LICENSE = "GPL-2.0-only" | 4 | LICENSE = "GPL-2.0-only" |
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=7783169b4be06b54e86730eb01bc3a31" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=7783169b4be06b54e86730eb01bc3a31" |
| 6 | 6 | ||
| 7 | SRC_URI = "http://sourceforge.net/projects/ez-ipupdate/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ | 7 | SRC_URI = "${DEBIAN_MIRROR}/main/e/${BPN}/${BPN}_${PV}.orig.tar.gz \ |
| 8 | file://Makefile.am.patch \ | 8 | file://Makefile.am.patch \ |
| 9 | file://cache_file.c.patch \ | ||
| 10 | file://conf_file.c.patch \ | ||
| 11 | file://wformat.patch \ | 9 | file://wformat.patch \ |
| 12 | file://0001-ez-ipupdate-Include-time.h-for-time-API-prototype.patch \ | 10 | file://0001-ez-ipupdate-Include-time.h-for-time-API-prototype.patch \ |
| 13 | file://CVE-2003-0887.patch \ | 11 | file://CVE-2003-0887.patch \ |
| 12 | file://0001-configure-Check-for-string.h-system-header.patch \ | ||
| 14 | " | 13 | " |
| 15 | SRC_URI[md5sum] = "525be4550b4461fdf105aed8e753b020" | 14 | SRC_URI[sha256sum] = "bf5b8d11ffe055c5891d0ab64bbfa86e99cbda645d40f346146b939fec8d962d" |
| 16 | SRC_URI[sha256sum] = "a15ec0dc0b78ec7578360987c68e43a67bc8d3591cbf528a323588830ae22c20" | ||
| 17 | 15 | ||
| 18 | inherit autotools pkgconfig | 16 | inherit autotools pkgconfig |
| 19 | 17 | ||
| 20 | do_install:append(){ | 18 | #do_install:append(){ |
| 21 | install -m 0744 -d ${D}${localstatedir}/lib/ez-ipupdate | 19 | # install -m 0744 -d ${D}${localstatedir}/lib/ez-ipupdate |
| 22 | } | 20 | #} |
| 23 | 21 | ||
| 24 | FILES:${PN} += "${localstatedir}/lib/ez-ipupdate" | 22 | #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 0000000000..e9995a3500 --- /dev/null +++ b/meta-networking/recipes-connectivity/ez-ipupdate/files/0001-configure-Check-for-string.h-system-header.patch | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | From 811f253c03464489d445ab6627bb4187d27e98ef Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sat, 4 Apr 2026 19:12:37 +0000 | ||
| 4 | Subject: [PATCH] configure: Check for string.h system header | ||
| 5 | |||
| 6 | This is needed for functions like memcpy in md5.c but | ||
| 7 | it only includes string.h when its detected by autotools | ||
| 8 | however the needed check for detecting it during configure | ||
| 9 | are missing. This patch adds them | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | |||
| 13 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 14 | --- | ||
| 15 | config.h.in | 3 +++ | ||
| 16 | configure.in | 3 ++- | ||
| 17 | 2 files changed, 5 insertions(+), 1 deletion(-) | ||
| 18 | |||
| 19 | diff --git a/config.h.in b/config.h.in | ||
| 20 | index 2ce447f..52a8d7d 100644 | ||
| 21 | --- a/config.h.in | ||
| 22 | +++ b/config.h.in | ||
| 23 | @@ -129,6 +129,9 @@ | ||
| 24 | /* Define if you have the <signal.h> header file. */ | ||
| 25 | #undef HAVE_SIGNAL_H | ||
| 26 | |||
| 27 | +/* Define if you have the <string.h> header file. */ | ||
| 28 | +#undef HAVE_STRING_H | ||
| 29 | + | ||
| 30 | /* Define if you have the <stdarg.h> header file. */ | ||
| 31 | #undef HAVE_STDARG_H | ||
| 32 | |||
| 33 | diff --git a/configure.in b/configure.in | ||
| 34 | index c97b9fc..f5d0808 100644 | ||
| 35 | --- a/configure.in | ||
| 36 | +++ b/configure.in | ||
| 37 | @@ -62,6 +62,7 @@ AC_CHECK_HEADERS( arpa/inet.h \ | ||
| 38 | sys/stat.h \ | ||
| 39 | fcntl.h \ | ||
| 40 | signal.h \ | ||
| 41 | + string.h \ | ||
| 42 | syslog.h \ | ||
| 43 | pwd.h \ | ||
| 44 | stdarg.h \ | ||
| 45 | @@ -104,7 +105,7 @@ AC_ARG_ENABLE(default-service, | ||
| 46 | dyndns, dyndns-static, ods, tzo, gnudip, easydns, easydns-partner, dyns, hn, zoneedit, heipv6tb], | ||
| 47 | [ use_SERVICE=$enableval; | ||
| 48 | AC_MSG_RESULT(yes) ], | ||
| 49 | - [ AC_MSG_RESULT(no) | ||
| 50 | + [ AC_MSG_RESULT(no) | ||
| 51 | use_SERVICE=null | ||
| 52 | AC_MSG_WARN(not setting default service) ] ) | ||
| 53 | 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 53aa355008..14abe27c00 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 <skandigraun@gmail.com> | |||
| 26 | example-tzo.conf | 2 +- | 26 | example-tzo.conf | 2 +- |
| 27 | 10 files changed, 10 insertions(+), 10 deletions(-) | 27 | 10 files changed, 10 insertions(+), 10 deletions(-) |
| 28 | 28 | ||
| 29 | diff --git a/example-dhs.conf b/example-dhs.conf | ||
| 30 | index 3fe9a04..f976ae5 100755 | ||
| 31 | --- a/example-dhs.conf | 29 | --- a/example-dhs.conf |
| 32 | +++ b/example-dhs.conf | 30 | +++ b/example-dhs.conf |
| 33 | @@ -11,7 +11,7 @@ host=mydomain.whatever.com | 31 | @@ -11,7 +11,7 @@ host=mydomain.whatever.com |
| @@ -39,8 +37,6 @@ index 3fe9a04..f976ae5 100755 | |||
| 39 | 37 | ||
| 40 | # uncomment this once you have everything working how you want and you are | 38 | # uncomment this once you have everything working how you want and you are |
| 41 | # ready to have ez-ipupdate running in the background all the time. to stop it | 39 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 42 | diff --git a/example-dyndns.conf b/example-dyndns.conf | ||
| 43 | index f539dec..84b4807 100755 | ||
| 44 | --- a/example-dyndns.conf | 40 | --- a/example-dyndns.conf |
| 45 | +++ b/example-dyndns.conf | 41 | +++ b/example-dyndns.conf |
| 46 | @@ -19,7 +19,7 @@ max-interval=2073600 | 42 | @@ -19,7 +19,7 @@ max-interval=2073600 |
| @@ -52,8 +48,6 @@ index f539dec..84b4807 100755 | |||
| 52 | 48 | ||
| 53 | # uncomment this once you have everything working how you want and you are | 49 | # uncomment this once you have everything working how you want and you are |
| 54 | # ready to have ez-ipupdate running in the background all the time. to stop it | 50 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 55 | diff --git a/example-dyns.conf b/example-dyns.conf | ||
| 56 | index 868768d..856a4d7 100644 | ||
| 57 | --- a/example-dyns.conf | 51 | --- a/example-dyns.conf |
| 58 | +++ b/example-dyns.conf | 52 | +++ b/example-dyns.conf |
| 59 | @@ -11,7 +11,7 @@ host=myhost | 53 | @@ -11,7 +11,7 @@ host=myhost |
| @@ -65,8 +59,6 @@ index 868768d..856a4d7 100644 | |||
| 65 | 59 | ||
| 66 | # uncomment this once you have everything working how you want and you are | 60 | # uncomment this once you have everything working how you want and you are |
| 67 | # ready to have ez-ipupdate running in the background all the time. to stop it | 61 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 68 | diff --git a/example-easydns.conf b/example-easydns.conf | ||
| 69 | index 0ff20da..15d9b78 100755 | ||
| 70 | --- a/example-easydns.conf | 62 | --- a/example-easydns.conf |
| 71 | +++ b/example-easydns.conf | 63 | +++ b/example-easydns.conf |
| 72 | @@ -11,7 +11,7 @@ host=mydomain.whatever.com | 64 | @@ -11,7 +11,7 @@ host=mydomain.whatever.com |
| @@ -78,8 +70,6 @@ index 0ff20da..15d9b78 100755 | |||
| 78 | 70 | ||
| 79 | # uncomment this once you have everything working how you want and you are | 71 | # uncomment this once you have everything working how you want and you are |
| 80 | # ready to have ez-ipupdate running in the background all the time. to stop it | 72 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 81 | diff --git a/example-gnudip.conf b/example-gnudip.conf | ||
| 82 | index 3b2fb63..d09df1f 100755 | ||
| 83 | --- a/example-gnudip.conf | 73 | --- a/example-gnudip.conf |
| 84 | +++ b/example-gnudip.conf | 74 | +++ b/example-gnudip.conf |
| 85 | @@ -15,7 +15,7 @@ max-interval=2073600 | 75 | @@ -15,7 +15,7 @@ max-interval=2073600 |
| @@ -91,8 +81,6 @@ index 3b2fb63..d09df1f 100755 | |||
| 91 | 81 | ||
| 92 | # uncomment this once you have everything working how you want and you are | 82 | # uncomment this once you have everything working how you want and you are |
| 93 | # ready to have ez-ipupdate running in the background all the time. to stop it | 83 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 94 | diff --git a/example-heipv6tb.conf b/example-heipv6tb.conf | ||
| 95 | index e31aa9c..3ebc822 100644 | ||
| 96 | --- a/example-heipv6tb.conf | 84 | --- a/example-heipv6tb.conf |
| 97 | +++ b/example-heipv6tb.conf | 85 | +++ b/example-heipv6tb.conf |
| 98 | @@ -18,7 +18,7 @@ max-interval=2073600 | 86 | @@ -18,7 +18,7 @@ max-interval=2073600 |
| @@ -104,8 +92,6 @@ index e31aa9c..3ebc822 100644 | |||
| 104 | 92 | ||
| 105 | # uncomment this once you have everything working how you want and you are | 93 | # uncomment this once you have everything working how you want and you are |
| 106 | # ready to have ez-ipupdate running in the background all the time. to stop it | 94 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 107 | diff --git a/example-justlinux.conf b/example-justlinux.conf | ||
| 108 | index 0afeb2c..28b3327 100755 | ||
| 109 | --- a/example-justlinux.conf | 95 | --- a/example-justlinux.conf |
| 110 | +++ b/example-justlinux.conf | 96 | +++ b/example-justlinux.conf |
| 111 | @@ -11,7 +11,7 @@ host=mydomain.penguinpowered.com | 97 | @@ -11,7 +11,7 @@ host=mydomain.penguinpowered.com |
| @@ -117,8 +103,6 @@ index 0afeb2c..28b3327 100755 | |||
| 117 | 103 | ||
| 118 | # uncomment this once you have everything working how you want and you are | 104 | # uncomment this once you have everything working how you want and you are |
| 119 | # ready to have ez-ipupdate running in the background all the time. to stop it | 105 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 120 | diff --git a/example-ods.conf b/example-ods.conf | ||
| 121 | index d0ff889..7b16f2c 100755 | ||
| 122 | --- a/example-ods.conf | 106 | --- a/example-ods.conf |
| 123 | +++ b/example-ods.conf | 107 | +++ b/example-ods.conf |
| 124 | @@ -11,7 +11,7 @@ host=mydomain.ods.org | 108 | @@ -11,7 +11,7 @@ host=mydomain.ods.org |
| @@ -130,8 +114,6 @@ index d0ff889..7b16f2c 100755 | |||
| 130 | 114 | ||
| 131 | # uncomment this once you have everything working how you want and you are | 115 | # uncomment this once you have everything working how you want and you are |
| 132 | # ready to have ez-ipupdate running in the background all the time. to stop it | 116 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 133 | diff --git a/example-pgpow.conf b/example-pgpow.conf | ||
| 134 | index 29a92d6..81e351b 100755 | ||
| 135 | --- a/example-pgpow.conf | 117 | --- a/example-pgpow.conf |
| 136 | +++ b/example-pgpow.conf | 118 | +++ b/example-pgpow.conf |
| 137 | @@ -11,7 +11,7 @@ host=mydomain.penguinpowered.com | 119 | @@ -11,7 +11,7 @@ host=mydomain.penguinpowered.com |
| @@ -143,8 +125,6 @@ index 29a92d6..81e351b 100755 | |||
| 143 | 125 | ||
| 144 | # uncomment this once you have everything working how you want and you are | 126 | # uncomment this once you have everything working how you want and you are |
| 145 | # ready to have ez-ipupdate running in the background all the time. to stop it | 127 | # ready to have ez-ipupdate running in the background all the time. to stop it |
| 146 | diff --git a/example-tzo.conf b/example-tzo.conf | ||
| 147 | index 2a71db3..10b8dc4 100755 | ||
| 148 | --- a/example-tzo.conf | 128 | --- a/example-tzo.conf |
| 149 | +++ b/example-tzo.conf | 129 | +++ b/example-tzo.conf |
| 150 | @@ -15,7 +15,7 @@ max-interval=2073600 | 130 | @@ -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 0199cb1278..0000000000 --- a/meta-networking/recipes-connectivity/ez-ipupdate/files/cache_file.c.patch +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | Dont assume errno type | ||
| 4 | |||
| 5 | --- ez-ipupdate-3.0.11b7/cache_file.c.orig 2014-07-02 14:01:07.126029412 -0600 | ||
| 6 | +++ ez-ipupdate-3.0.11b7/cache_file.c 2014-07-02 14:08:27.422026332 -0600 | ||
| 7 | @@ -43,11 +43,11 @@ | ||
| 8 | #include <cache_file.h> | ||
| 9 | |||
| 10 | #if HAVE_STRERROR | ||
| 11 | -extern int errno; | ||
| 12 | +# include <errno.h> | ||
| 13 | # define error_string strerror(errno) | ||
| 14 | #elif HAVE_SYS_ERRLIST | ||
| 15 | extern const char *const sys_errlist[]; | ||
| 16 | -extern int errno; | ||
| 17 | +# include <errno.h> | ||
| 18 | # define error_string (sys_errlist[errno]) | ||
| 19 | #else | ||
| 20 | # define error_string "error message not found" | ||
| 21 | @@ -63,11 +63,11 @@ | ||
| 22 | # define dprintf(x) | ||
| 23 | #endif | ||
| 24 | #if HAVE_STRERROR | ||
| 25 | -extern int errno; | ||
| 26 | +# include <errno.h> | ||
| 27 | # define error_string strerror(errno) | ||
| 28 | #elif HAVE_SYS_ERRLIST | ||
| 29 | extern const char *const sys_errlist[]; | ||
| 30 | -extern int errno; | ||
| 31 | +# include <errno.h> | ||
| 32 | # define error_string (sys_errlist[errno]) | ||
| 33 | #else | ||
| 34 | # 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 6325c1873f..0000000000 --- a/meta-networking/recipes-connectivity/ez-ipupdate/files/conf_file.c.patch +++ /dev/null | |||
| @@ -1,20 +0,0 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | Dont assume errno type | ||
| 4 | |||
| 5 | --- ez-ipupdate-3.0.11b7/conf_file.c.orig 2014-07-02 14:01:19.174029328 -0600 | ||
| 6 | +++ ez-ipupdate-3.0.11b7/conf_file.c 2014-07-02 14:08:42.982026223 -0600 | ||
| 7 | @@ -38,11 +38,11 @@ | ||
| 8 | #include <conf_file.h> | ||
| 9 | |||
| 10 | #if HAVE_STRERROR | ||
| 11 | -extern int errno; | ||
| 12 | +# include <errno.h> | ||
| 13 | # define error_string strerror(errno) | ||
| 14 | #elif HAVE_SYS_ERRLIST | ||
| 15 | extern const char *const sys_errlist[]; | ||
| 16 | -extern int errno; | ||
| 17 | +# include <errno.h> | ||
| 18 | # define error_string (sys_errlist[errno]) | ||
| 19 | #else | ||
| 20 | # 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 3b791559d5..7463e3c535 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 @@ | |||
| 1 | Upstream-Status: Pending | 1 | |
| 2 | This patch is used by Gentoo to mitigate CVE-2004-0980: | ||
| 3 | https://bugs.gentoo.org/69658 | ||
| 4 | |||
| 5 | CVE: CVE-2004-0980 | ||
| 6 | Upstream-Status: Inactive-Upstream [last commit: 2002] | ||
| 2 | 7 | ||
| 3 | Index: ez-ipupdate-3.0.11b7/ez-ipupdate.c | 8 | Index: ez-ipupdate-3.0.11b7/ez-ipupdate.c |
| 4 | =================================================================== | 9 | =================================================================== |
diff --git a/meta-networking/recipes-connectivity/freeradius/files/0001-don-t-load-legacy-provider-on-enable-fips-workaround.patch b/meta-networking/recipes-connectivity/freeradius/files/0001-don-t-load-legacy-provider-on-enable-fips-workaround.patch deleted file mode 100644 index 594286cdcf..0000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0001-don-t-load-legacy-provider-on-enable-fips-workaround.patch +++ /dev/null | |||
| @@ -1,62 +0,0 @@ | |||
| 1 | From 2c2c6a460ae8cc655df83c8964595581389676c1 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Alan T. DeKok" <aland@freeradius.org> | ||
| 3 | Date: Tue, 9 Sep 2025 07:03:21 -0400 | ||
| 4 | Subject: [PATCH] don't load legacy provider on --enable-fips-workaround. | ||
| 5 | Fixes #5644 | ||
| 6 | |||
| 7 | Upstream-Status: Backport | ||
| 8 | [https://github.com/FreeRADIUS/freeradius-server/commit/2c2c6a460ae8cc655df83c8964595581389676c1] | ||
| 9 | |||
| 10 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 11 | --- | ||
| 12 | src/main/tls.c | 7 +++++++ | ||
| 13 | 1 file changed, 7 insertions(+) | ||
| 14 | |||
| 15 | diff --git a/src/main/tls.c b/src/main/tls.c | ||
| 16 | index ba267983b1..c04f3228e4 100644 | ||
| 17 | --- a/src/main/tls.c | ||
| 18 | +++ b/src/main/tls.c | ||
| 19 | @@ -64,8 +64,11 @@ USES_APPLE_DEPRECATED_API /* OpenSSL API has been deprecated by Apple */ | ||
| 20 | # include <openssl/provider.h> | ||
| 21 | |||
| 22 | static OSSL_PROVIDER *openssl_default_provider = NULL; | ||
| 23 | + | ||
| 24 | +#ifndef WITH_FIPS | ||
| 25 | static OSSL_PROVIDER *openssl_legacy_provider = NULL; | ||
| 26 | #endif | ||
| 27 | +#endif | ||
| 28 | |||
| 29 | #define LOG_PREFIX "tls" | ||
| 30 | |||
| 31 | @@ -3693,6 +3696,7 @@ int tls_global_init(TLS_UNUSED bool spawn_flag, TLS_UNUSED bool check) | ||
| 32 | return -1; | ||
| 33 | } | ||
| 34 | |||
| 35 | +#ifndef WITH_FIPS | ||
| 36 | /* | ||
| 37 | * Needed for MD4 | ||
| 38 | * | ||
| 39 | @@ -3703,6 +3707,7 @@ int tls_global_init(TLS_UNUSED bool spawn_flag, TLS_UNUSED bool check) | ||
| 40 | ERROR("(TLS) Failed loading legacy provider"); | ||
| 41 | return -1; | ||
| 42 | } | ||
| 43 | +#endif | ||
| 44 | #endif | ||
| 45 | |||
| 46 | return 0; | ||
| 47 | @@ -3777,10 +3782,12 @@ void tls_global_cleanup(void) | ||
| 48 | } | ||
| 49 | openssl_default_provider = NULL; | ||
| 50 | |||
| 51 | +#ifndef WITH_FIPS | ||
| 52 | if (openssl_legacy_provider && !OSSL_PROVIDER_unload(openssl_legacy_provider)) { | ||
| 53 | ERROR("Failed unloading legacy provider"); | ||
| 54 | } | ||
| 55 | openssl_legacy_provider = NULL; | ||
| 56 | +#endif | ||
| 57 | #endif | ||
| 58 | |||
| 59 | CONF_modules_unload(1); | ||
| 60 | -- | ||
| 61 | 2.43.0 | ||
| 62 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/0002-don-t-load-legacy-provider-on-enable-fips-workaround.patch b/meta-networking/recipes-connectivity/freeradius/files/0002-don-t-load-legacy-provider-on-enable-fips-workaround.patch deleted file mode 100644 index 84b78320c4..0000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0002-don-t-load-legacy-provider-on-enable-fips-workaround.patch +++ /dev/null | |||
| @@ -1,104 +0,0 @@ | |||
| 1 | From 2ff8eb44bb626e9e63f9bf06c3bcf3b34291c335 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Yi Zhao <yi.zhao@windriver.com> | ||
| 3 | Date: Tue, 31 Mar 2026 07:45:16 -0400 | ||
| 4 | Subject: [PATCH] don't load legacy provider on --enable-fips-workaround. Fixes | ||
| 5 | #5775 | ||
| 6 | |||
| 7 | Upstream-Status: Backport | ||
| 8 | [https://github.com/FreeRADIUS/freeradius-server/commit/2ff8eb44bb626e9e63f9bf06c3bcf3b34291c335] | ||
| 9 | |||
| 10 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 11 | --- | ||
| 12 | src/main/radclient.c | 6 ++++++ | ||
| 13 | src/modules/rlm_mschap/smbencrypt.c | 6 ++++++ | ||
| 14 | 2 files changed, 12 insertions(+) | ||
| 15 | |||
| 16 | diff --git a/src/main/radclient.c b/src/main/radclient.c | ||
| 17 | index ea64486dcf..52555603e1 100644 | ||
| 18 | --- a/src/main/radclient.c | ||
| 19 | +++ b/src/main/radclient.c | ||
| 20 | @@ -168,7 +168,9 @@ static int _rc_request_free(rc_request_t *request) | ||
| 21 | # include <openssl/provider.h> | ||
| 22 | |||
| 23 | static OSSL_PROVIDER *openssl_default_provider = NULL; | ||
| 24 | +#ifndef WITH_FIPS | ||
| 25 | static OSSL_PROVIDER *openssl_legacy_provider = NULL; | ||
| 26 | +#endif | ||
| 27 | |||
| 28 | static int openssl3_init(void) | ||
| 29 | { | ||
| 30 | @@ -181,6 +183,7 @@ static int openssl3_init(void) | ||
| 31 | return -1; | ||
| 32 | } | ||
| 33 | |||
| 34 | +#ifndef WITH_FIPS | ||
| 35 | /* | ||
| 36 | * Needed for MD4 | ||
| 37 | * | ||
| 38 | @@ -191,6 +194,7 @@ static int openssl3_init(void) | ||
| 39 | ERROR("(TLS) Failed loading legacy provider"); | ||
| 40 | return -1; | ||
| 41 | } | ||
| 42 | +#endif | ||
| 43 | |||
| 44 | return 0; | ||
| 45 | } | ||
| 46 | @@ -202,10 +206,12 @@ static void openssl3_free(void) | ||
| 47 | } | ||
| 48 | openssl_default_provider = NULL; | ||
| 49 | |||
| 50 | +#ifndef WITH_FIPS | ||
| 51 | if (openssl_legacy_provider && !OSSL_PROVIDER_unload(openssl_legacy_provider)) { | ||
| 52 | ERROR("Failed unloading legacy provider"); | ||
| 53 | } | ||
| 54 | openssl_legacy_provider = NULL; | ||
| 55 | +#endif | ||
| 56 | } | ||
| 57 | #else | ||
| 58 | #define openssl3_init() | ||
| 59 | diff --git a/src/modules/rlm_mschap/smbencrypt.c b/src/modules/rlm_mschap/smbencrypt.c | ||
| 60 | index 9a8a5ab777..531c40ec26 100644 | ||
| 61 | --- a/src/modules/rlm_mschap/smbencrypt.c | ||
| 62 | +++ b/src/modules/rlm_mschap/smbencrypt.c | ||
| 63 | @@ -43,7 +43,9 @@ static char const hex[] = "0123456789ABCDEF"; | ||
| 64 | # include <openssl/provider.h> | ||
| 65 | |||
| 66 | static OSSL_PROVIDER *openssl_default_provider = NULL; | ||
| 67 | +#ifndef WITH_FIPS | ||
| 68 | static OSSL_PROVIDER *openssl_legacy_provider = NULL; | ||
| 69 | +#endif | ||
| 70 | |||
| 71 | #define ERROR(_x) fprintf(stderr, _x) | ||
| 72 | |||
| 73 | @@ -58,6 +60,7 @@ static int openssl3_init(void) | ||
| 74 | return -1; | ||
| 75 | } | ||
| 76 | |||
| 77 | +#ifndef WITH_FIPS | ||
| 78 | /* | ||
| 79 | * Needed for MD4 | ||
| 80 | * | ||
| 81 | @@ -68,6 +71,7 @@ static int openssl3_init(void) | ||
| 82 | ERROR("(TLS) Failed loading legacy provider"); | ||
| 83 | return -1; | ||
| 84 | } | ||
| 85 | +#endif | ||
| 86 | |||
| 87 | return 0; | ||
| 88 | } | ||
| 89 | @@ -79,10 +83,12 @@ static void openssl3_free(void) | ||
| 90 | } | ||
| 91 | openssl_default_provider = NULL; | ||
| 92 | |||
| 93 | +#ifndef WITH_FIPS | ||
| 94 | if (openssl_legacy_provider && !OSSL_PROVIDER_unload(openssl_legacy_provider)) { | ||
| 95 | ERROR("Failed unloading legacy provider"); | ||
| 96 | } | ||
| 97 | openssl_legacy_provider = NULL; | ||
| 98 | +#endif | ||
| 99 | } | ||
| 100 | #else | ||
| 101 | #define openssl3_init() | ||
| 102 | -- | ||
| 103 | 2.43.0 | ||
| 104 | |||
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 cae27ad3a4..0000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0010-fix-error-for-expansion-of-macro-in-thread.h.patch +++ /dev/null | |||
| @@ -1,61 +0,0 @@ | |||
| 1 | From 0475d948ceab91b22172f0fae3bc01e0a1502ae8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Yi Zhao <yi.zhao@windriver.com> | ||
| 3 | Date: Wed, 18 Jan 2017 14:59:39 +0800 | ||
| 4 | Subject: [PATCH] fix error for expansion of macro in thread.h | ||
| 5 | |||
| 6 | The parameter declaration is missing in expansion of macro | ||
| 7 | which cause the build error: | ||
| 8 | | In file included from src/freeradius-devel/libradius.h:80:0, | ||
| 9 | | from src/lib/log.c:26: | ||
| 10 | | src/lib/log.c: In function '__fr_thread_local_destroy_fr_strerror_buffer': | ||
| 11 | | src/lib/log.c:37:31: error: 'fr_strerror_buffer' undeclared (first use in this function) | ||
| 12 | | fr_thread_local_setup(char *, fr_strerror_buffer) /* macro */ | ||
| 13 | | ^ | ||
| 14 | |||
| 15 | Add the missing declaration in macro. | ||
| 16 | |||
| 17 | Upstream-Status: Pending | ||
| 18 | |||
| 19 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 20 | --- | ||
| 21 | src/include/threads.h | 10 +++++----- | ||
| 22 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/src/include/threads.h b/src/include/threads.h | ||
| 25 | index f2aea776d6..1c4e526797 100644 | ||
| 26 | --- a/src/include/threads.h | ||
| 27 | +++ b/src/include/threads.h | ||
| 28 | @@ -92,7 +92,7 @@ static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\ | ||
| 29 | # define fr_thread_local_get(_n) _n | ||
| 30 | #elif defined(HAVE_PTHREAD_H) | ||
| 31 | # include <pthread.h> | ||
| 32 | -# define fr_thread_local_setup(_t, _n) \ | ||
| 33 | +# define fr_thread_local_setup(_t, _n) static __thread _t _n;\ | ||
| 34 | static pthread_key_t __fr_thread_local_key_##_n;\ | ||
| 35 | static pthread_once_t __fr_thread_local_once_##_n = PTHREAD_ONCE_INIT;\ | ||
| 36 | static pthread_destructor_t __fr_thread_local_destructor_##_n = NULL;\ | ||
| 37 | @@ -103,17 +103,17 @@ static void __fr_thread_local_destroy_##_n(UNUSED void *unused)\ | ||
| 38 | static void __fr_thread_local_key_init_##_n(void)\ | ||
| 39 | {\ | ||
| 40 | (void) pthread_key_create(&__fr_thread_local_key_##_n, __fr_thread_local_destroy_##_n);\ | ||
| 41 | - (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\ | ||
| 42 | }\ | ||
| 43 | static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\ | ||
| 44 | {\ | ||
| 45 | __fr_thread_local_destructor_##_n = func;\ | ||
| 46 | if (_n) return _n; \ | ||
| 47 | (void) pthread_once(&__fr_thread_local_once_##_n, __fr_thread_local_key_init_##_n);\ | ||
| 48 | + (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\ | ||
| 49 | return _n;\ | ||
| 50 | } | ||
| 51 | -# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f) | ||
| 52 | -# define fr_thread_local_set(_n, _v) __fr_thread_local_set_##_n(_v) | ||
| 53 | -# define fr_thread_local_get(_n) __fr_thread_local_get_##_n() | ||
| 54 | +# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f) | ||
| 55 | +# define fr_thread_local_set(_n, _v) ((int)!((_n = _v) || 1)) | ||
| 56 | +# define fr_thread_local_get(_n) _n | ||
| 57 | #endif | ||
| 58 | #endif | ||
| 59 | -- | ||
| 60 | 2.25.1 | ||
| 61 | |||
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 8647c389ab..0000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0018-update-license-1.patch +++ /dev/null | |||
| @@ -1,175 +0,0 @@ | |||
| 1 | From 82d874c638c80fbbf1eca7c51aca095fbbf40024 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Alan T. DeKok" <aland@freeradius.org> | ||
| 3 | Date: Mon, 27 Oct 2025 06:31:22 -0400 | ||
| 4 | Subject: [PATCH] update license | ||
| 5 | |||
| 6 | Upstream-Status: Backport | ||
| 7 | [https://github.com/FreeRADIUS/freeradius-server/commit/82d874c638c80fbbf1eca7c51aca095fbbf40024] | ||
| 8 | |||
| 9 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 10 | --- | ||
| 11 | src/modules/rlm_dpsk/rlm_dpsk.c | 25 +++++++--------- | ||
| 12 | .../rlm_eap/types/rlm_eap_teap/eap_teap.c | 29 +++++++------------ | ||
| 13 | .../rlm_eap/types/rlm_eap_teap/eap_teap.h | 29 +++++++------------ | ||
| 14 | .../rlm_eap/types/rlm_eap_teap/rlm_eap_teap.c | 29 +++++++------------ | ||
| 15 | 4 files changed, 44 insertions(+), 68 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/modules/rlm_dpsk/rlm_dpsk.c b/src/modules/rlm_dpsk/rlm_dpsk.c | ||
| 18 | index 4b818d08a5..aa07415540 100644 | ||
| 19 | --- a/src/modules/rlm_dpsk/rlm_dpsk.c | ||
| 20 | +++ b/src/modules/rlm_dpsk/rlm_dpsk.c | ||
| 21 | @@ -1,20 +1,17 @@ | ||
| 22 | /* | ||
| 23 | - * Copyright (C) 2023 Network RADIUS SARL (legal@networkradius.com) | ||
| 24 | + * This program is is free software; you can redistribute it and/or modify | ||
| 25 | + * it under the terms of the GNU General Public License as published by | ||
| 26 | + * the Free Software Foundation; either version 2 of the License, or (at | ||
| 27 | + * your option) any later version. | ||
| 28 | * | ||
| 29 | - * This software may not be redistributed in any form without the prior | ||
| 30 | - * written consent of Network RADIUS. | ||
| 31 | + * This program is distributed in the hope that it will be useful, | ||
| 32 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 33 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 34 | + * GNU General Public License for more details. | ||
| 35 | * | ||
| 36 | - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 37 | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 38 | - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 39 | - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 40 | - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 41 | - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 42 | - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 43 | - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 44 | - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 45 | - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 46 | - * SUCH DAMAGE. | ||
| 47 | + * You should have received a copy of the GNU General Public License | ||
| 48 | + * along with this program; if not, write to the Free Software | ||
| 49 | + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | ||
| 50 | */ | ||
| 51 | |||
| 52 | /** | ||
| 53 | 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 | ||
| 54 | index 20646c5ba1..33512788c2 100644 | ||
| 55 | --- a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.c | ||
| 56 | +++ b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.c | ||
| 57 | @@ -1,24 +1,17 @@ | ||
| 58 | /* | ||
| 59 | - * eap_teap.c contains the interfaces that are called from the main handler | ||
| 60 | + * This program is is free software; you can redistribute it and/or modify | ||
| 61 | + * it under the terms of the GNU General Public License as published by | ||
| 62 | + * the Free Software Foundation; either version 2 of the License, or (at | ||
| 63 | + * your option) any later version. | ||
| 64 | * | ||
| 65 | - * Version: $Id$ | ||
| 66 | + * This program is distributed in the hope that it will be useful, | ||
| 67 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 68 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 69 | + * GNU General Public License for more details. | ||
| 70 | * | ||
| 71 | - * Copyright (C) 2022 Network RADIUS SARL <legal@networkradius.com> | ||
| 72 | - * | ||
| 73 | - * This software may not be redistributed in any form without the prior | ||
| 74 | - * written consent of Network RADIUS. | ||
| 75 | - * | ||
| 76 | - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 77 | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 78 | - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 79 | - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 80 | - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 81 | - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 82 | - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 83 | - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 84 | - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 85 | - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 86 | - * SUCH DAMAGE. | ||
| 87 | + * You should have received a copy of the GNU General Public License | ||
| 88 | + * along with this program; if not, write to the Free Software | ||
| 89 | + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | ||
| 90 | */ | ||
| 91 | |||
| 92 | RCSID("$Id$") | ||
| 93 | 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 | ||
| 94 | index 59f7835a26..69f4b1ebba 100644 | ||
| 95 | --- a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.h | ||
| 96 | +++ b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap.h | ||
| 97 | @@ -1,24 +1,17 @@ | ||
| 98 | /* | ||
| 99 | - * eap_teap.h | ||
| 100 | + * This program is is free software; you can redistribute it and/or modify | ||
| 101 | + * it under the terms of the GNU General Public License as published by | ||
| 102 | + * the Free Software Foundation; either version 2 of the License, or (at | ||
| 103 | + * your option) any later version. | ||
| 104 | * | ||
| 105 | - * Version: $Id$ | ||
| 106 | + * This program is distributed in the hope that it will be useful, | ||
| 107 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 108 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 109 | + * GNU General Public License for more details. | ||
| 110 | * | ||
| 111 | - * Copyright (C) 2022 Network RADIUS SARL <legal@networkradius.com> | ||
| 112 | - * | ||
| 113 | - * This software may not be redistributed in any form without the prior | ||
| 114 | - * written consent of Network RADIUS. | ||
| 115 | - * | ||
| 116 | - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 117 | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 118 | - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 119 | - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 120 | - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 121 | - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 122 | - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 123 | - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 124 | - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 125 | - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 126 | - * SUCH DAMAGE. | ||
| 127 | + * You should have received a copy of the GNU General Public License | ||
| 128 | + * along with this program; if not, write to the Free Software | ||
| 129 | + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | ||
| 130 | */ | ||
| 131 | #ifndef _EAP_TEAP_H | ||
| 132 | #define _EAP_TEAP_H | ||
| 133 | 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 | ||
| 134 | index fcf9717257..13c709b287 100644 | ||
| 135 | --- a/src/modules/rlm_eap/types/rlm_eap_teap/rlm_eap_teap.c | ||
| 136 | +++ b/src/modules/rlm_eap/types/rlm_eap_teap/rlm_eap_teap.c | ||
| 137 | @@ -1,24 +1,17 @@ | ||
| 138 | /* | ||
| 139 | - * rlm_eap_teap.c contains the interfaces that are called from eap | ||
| 140 | + * This program is is free software; you can redistribute it and/or modify | ||
| 141 | + * it under the terms of the GNU General Public License as published by | ||
| 142 | + * the Free Software Foundation; either version 2 of the License, or (at | ||
| 143 | + * your option) any later version. | ||
| 144 | * | ||
| 145 | - * Version: $Id$ | ||
| 146 | + * This program is distributed in the hope that it will be useful, | ||
| 147 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 148 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 149 | + * GNU General Public License for more details. | ||
| 150 | * | ||
| 151 | - * Copyright (C) 2022 Network RADIUS SARL <legal@networkradius.com> | ||
| 152 | - * | ||
| 153 | - * This software may not be redistributed in any form without the prior | ||
| 154 | - * written consent of Network RADIUS. | ||
| 155 | - * | ||
| 156 | - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 157 | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 158 | - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 159 | - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 160 | - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 161 | - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 162 | - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 163 | - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 164 | - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 165 | - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 166 | - * SUCH DAMAGE. | ||
| 167 | + * You should have received a copy of the GNU General Public License | ||
| 168 | + * along with this program; if not, write to the Free Software | ||
| 169 | + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | ||
| 170 | */ | ||
| 171 | |||
| 172 | RCSID("$Id$") | ||
| 173 | -- | ||
| 174 | 2.43.0 | ||
| 175 | |||
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 4fa3ecd265..0000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0019-update-license-2.patch +++ /dev/null | |||
| @@ -1,52 +0,0 @@ | |||
| 1 | From a46e81a7764b57983ce6724524f745a06222dc0a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Alan T. DeKok" <aland@freeradius.org> | ||
| 3 | Date: Tue, 28 Oct 2025 11:33:44 -0400 | ||
| 4 | Subject: [PATCH] update license | ||
| 5 | |||
| 6 | Upstream-Status: Backport | ||
| 7 | [https://github.com/FreeRADIUS/freeradius-server/commit/a46e81a7764b57983ce6724524f745a06222dc0a] | ||
| 8 | |||
| 9 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 10 | --- | ||
| 11 | .../rlm_proxy_rate_limit.c | 25 ++++++++----------- | ||
| 12 | 1 file changed, 11 insertions(+), 14 deletions(-) | ||
| 13 | |||
| 14 | 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 | ||
| 15 | index 744b14a448..a855273784 100644 | ||
| 16 | --- a/src/modules/rlm_proxy_rate_limit/rlm_proxy_rate_limit.c | ||
| 17 | +++ b/src/modules/rlm_proxy_rate_limit/rlm_proxy_rate_limit.c | ||
| 18 | @@ -1,20 +1,17 @@ | ||
| 19 | /* | ||
| 20 | - * Copyright (C) 2024 Network RADIUS SAS (legal@networkradius.com) | ||
| 21 | + * This program is is free software; you can redistribute it and/or modify | ||
| 22 | + * it under the terms of the GNU General Public License as published by | ||
| 23 | + * the Free Software Foundation; either version 2 of the License, or (at | ||
| 24 | + * your option) any later version. | ||
| 25 | * | ||
| 26 | - * This software may not be redistributed in any form without the prior | ||
| 27 | - * written consent of Network RADIUS. | ||
| 28 | + * This program is distributed in the hope that it will be useful, | ||
| 29 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 30 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 31 | + * GNU General Public License for more details. | ||
| 32 | * | ||
| 33 | - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 34 | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 35 | - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 36 | - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 37 | - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 38 | - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 39 | - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 40 | - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 41 | - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 42 | - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 43 | - * SUCH DAMAGE. | ||
| 44 | + * You should have received a copy of the GNU General Public License | ||
| 45 | + * along with this program; if not, write to the Free Software | ||
| 46 | + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | ||
| 47 | */ | ||
| 48 | |||
| 49 | /** | ||
| 50 | -- | ||
| 51 | 2.43.0 | ||
| 52 | |||
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 f77c585bda..0000000000 --- a/meta-networking/recipes-connectivity/freeradius/files/0020-update-license-3.patch +++ /dev/null | |||
| @@ -1,101 +0,0 @@ | |||
| 1 | From d00440f3290871aef667f80e15f256c64f9b7cd6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Alan T. DeKok" <aland@freeradius.org> | ||
| 3 | Date: Wed, 29 Oct 2025 09:45:17 -0400 | ||
| 4 | Subject: [PATCH] update license | ||
| 5 | |||
| 6 | Upstream-Status: Backport | ||
| 7 | [https://github.com/FreeRADIUS/freeradius-server/commit/d00440f3290871aef667f80e15f256c64f9b7cd6] | ||
| 8 | |||
| 9 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
| 10 | --- | ||
| 11 | .../types/rlm_eap_teap/eap_teap_crypto.c | 30 +++++++------------ | ||
| 12 | .../types/rlm_eap_teap/eap_teap_crypto.h | 30 +++++++------------ | ||
| 13 | 2 files changed, 22 insertions(+), 38 deletions(-) | ||
| 14 | |||
| 15 | 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 | ||
| 16 | index 17f49f9dfc..aaa74837a9 100644 | ||
| 17 | --- a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.c | ||
| 18 | +++ b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.c | ||
| 19 | @@ -1,26 +1,18 @@ | ||
| 20 | /* | ||
| 21 | - * teap-crypto.c Cryptographic functions for EAP-TEAP. | ||
| 22 | + * This program is is free software; you can redistribute it and/or modify | ||
| 23 | + * it under the terms of the GNU General Public License as published by | ||
| 24 | + * the Free Software Foundation; either version 2 of the License, or (at | ||
| 25 | + * your option) any later version. | ||
| 26 | * | ||
| 27 | - * Version: $Id$ | ||
| 28 | + * This program is distributed in the hope that it will be useful, | ||
| 29 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 30 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 31 | + * GNU General Public License for more details. | ||
| 32 | * | ||
| 33 | - * Copyright (C) 2022 Network RADIUS SARL <legal@networkradius.com> | ||
| 34 | - * | ||
| 35 | - * This software may not be redistributed in any form without the prior | ||
| 36 | - * written consent of Network RADIUS. | ||
| 37 | - * | ||
| 38 | - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 39 | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 40 | - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 41 | - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 42 | - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 43 | - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 44 | - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 45 | - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 46 | - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 47 | - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 48 | - * SUCH DAMAGE. | ||
| 49 | + * You should have received a copy of the GNU General Public License | ||
| 50 | + * along with this program; if not, write to the Free Software | ||
| 51 | + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | ||
| 52 | */ | ||
| 53 | - | ||
| 54 | RCSID("$Id$") | ||
| 55 | USES_APPLE_DEPRECATED_API /* OpenSSL API has been deprecated by Apple */ | ||
| 56 | |||
| 57 | 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 | ||
| 58 | index b02f2b9083..f9403dcf93 100644 | ||
| 59 | --- a/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.h | ||
| 60 | +++ b/src/modules/rlm_eap/types/rlm_eap_teap/eap_teap_crypto.h | ||
| 61 | @@ -1,26 +1,18 @@ | ||
| 62 | /* | ||
| 63 | - * eap_teap_crypto.h | ||
| 64 | + * This program is is free software; you can redistribute it and/or modify | ||
| 65 | + * it under the terms of the GNU General Public License as published by | ||
| 66 | + * the Free Software Foundation; either version 2 of the License, or (at | ||
| 67 | + * your option) any later version. | ||
| 68 | * | ||
| 69 | - * Version: $Id$ | ||
| 70 | + * This program is distributed in the hope that it will be useful, | ||
| 71 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 72 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 73 | + * GNU General Public License for more details. | ||
| 74 | * | ||
| 75 | - * Copyright (C) 2022 Network RADIUS SARL <legal@networkradius.com> | ||
| 76 | - * | ||
| 77 | - * This software may not be redistributed in any form without the prior | ||
| 78 | - * written consent of Network RADIUS. | ||
| 79 | - * | ||
| 80 | - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 81 | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 82 | - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 83 | - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 84 | - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 85 | - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 86 | - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 87 | - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 88 | - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 89 | - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 90 | - * SUCH DAMAGE. | ||
| 91 | + * You should have received a copy of the GNU General Public License | ||
| 92 | + * along with this program; if not, write to the Free Software | ||
| 93 | + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | ||
| 94 | */ | ||
| 95 | - | ||
| 96 | #ifndef _EAP_TEAP_CRYPTO_H | ||
| 97 | #define _EAP_TEAP_CRYPTO_H | ||
| 98 | |||
| 99 | -- | ||
| 100 | 2.43.0 | ||
| 101 | |||
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 4be127209b..d9b0bc9b1e 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" | |||
| 15 | 15 | ||
| 16 | PATCHTOOL = "git" | 16 | PATCHTOOL = "git" |
| 17 | 17 | ||
| 18 | SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;lfs=0;;protocol=https \ | 18 | SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;lfs=0;protocol=https \ |
| 19 | file://freeradius \ | 19 | file://freeradius \ |
| 20 | file://volatiles.58_radiusd \ | 20 | file://volatiles.58_radiusd \ |
| 21 | file://radiusd.service \ | 21 | file://radiusd.service \ |
| @@ -29,7 +29,6 @@ SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;lfs=0 | |||
| 29 | file://0007-rlm_python-add-PY_INC_DIR-in-search-dir.patch \ | 29 | file://0007-rlm_python-add-PY_INC_DIR-in-search-dir.patch \ |
| 30 | file://0008-libtool-do-not-use-jlibtool.patch \ | 30 | file://0008-libtool-do-not-use-jlibtool.patch \ |
| 31 | file://0009-Fix-quoting-for-BUILD_WITH.patch \ | 31 | file://0009-Fix-quoting-for-BUILD_WITH.patch \ |
| 32 | file://0010-fix-error-for-expansion-of-macro-in-thread.h.patch \ | ||
| 33 | file://0011-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \ | 32 | file://0011-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \ |
| 34 | file://0012-raddb-certs-Makefile-fix-the-existed-certificate-err.patch \ | 33 | file://0012-raddb-certs-Makefile-fix-the-existed-certificate-err.patch \ |
| 35 | file://0013-raddb-certs-Makefile-fix-the-occasional-verification.patch \ | 34 | file://0013-raddb-certs-Makefile-fix-the-occasional-verification.patch \ |
| @@ -37,16 +36,13 @@ SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.2.x;lfs=0 | |||
| 37 | file://0015-bootstrap-check-commands-of-openssl-exist.patch \ | 36 | file://0015-bootstrap-check-commands-of-openssl-exist.patch \ |
| 38 | file://0016-version.c-don-t-print-build-flags.patch \ | 37 | file://0016-version.c-don-t-print-build-flags.patch \ |
| 39 | file://0017-Add-acinclude.m4-to-include-required-macros.patch \ | 38 | file://0017-Add-acinclude.m4-to-include-required-macros.patch \ |
| 40 | file://0018-update-license-1.patch \ | ||
| 41 | file://0019-update-license-2.patch \ | ||
| 42 | file://0020-update-license-3.patch \ | ||
| 43 | file://0001-don-t-load-legacy-provider-on-enable-fips-workaround.patch \ | ||
| 44 | file://0002-don-t-load-legacy-provider-on-enable-fips-workaround.patch \ | ||
| 45 | " | 39 | " |
| 46 | 40 | ||
| 47 | raddbdir = "${sysconfdir}/${MLPREFIX}raddb" | 41 | raddbdir = "${sysconfdir}/${MLPREFIX}raddb" |
| 48 | 42 | ||
| 49 | SRCREV = "032be31bb52646171099617928ec1703335bcf73" | 43 | SRCREV = "4e4cbbd93ff3b469a773c964c7b5b6f53d01457a" |
| 44 | |||
| 45 | PV .= "+git" | ||
| 50 | 46 | ||
| 51 | UPSTREAM_CHECK_GITTAGREGEX = "release_(?P<pver>\d+(\_\d+)+)" | 47 | UPSTREAM_CHECK_GITTAGREGEX = "release_(?P<pver>\d+(\_\d+)+)" |
| 52 | 48 | ||
| @@ -55,6 +51,8 @@ CVE_STATUS[CVE-2011-4966] = "fixed-version: The CPE in the NVD database doesn't | |||
| 55 | 51 | ||
| 56 | PARALLEL_MAKE = "" | 52 | PARALLEL_MAKE = "" |
| 57 | 53 | ||
| 54 | # autoconf 2.73+Clang does not detect it correctly so help out | ||
| 55 | CFLAGS += "-DTLS_STORAGE_CLASS=__thread" | ||
| 58 | 56 | ||
| 59 | LDFLAGS:append:powerpc = " -latomic" | 57 | LDFLAGS:append:powerpc = " -latomic" |
| 60 | LDFLAGS:append:mipsarch = " -latomic" | 58 | LDFLAGS:append:mipsarch = " -latomic" |
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 b126aee7db..0000000000 --- a/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.10.bb +++ /dev/null | |||
| @@ -1,79 +0,0 @@ | |||
| 1 | SUMMARY = "Lightweight crypto and SSL/TLS library" | ||
| 2 | DESCRIPTION = "mbedtls is a lean open source crypto library \ | ||
| 3 | for providing SSL and TLS support in your programs. It offers \ | ||
| 4 | an intuitive API and documented header files, so you can actually \ | ||
| 5 | understand what the code does. It features: \ | ||
| 6 | \ | ||
| 7 | - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \ | ||
| 8 | Camellia and XTEA \ | ||
| 9 | - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \ | ||
| 10 | - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \ | ||
| 11 | - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \ | ||
| 12 | ECDSA and ECDH \ | ||
| 13 | - SSL v3 and TLS 1.0, 1.1 and 1.2 \ | ||
| 14 | - Abstraction layers for ciphers, hashes, public key operations, \ | ||
| 15 | platform abstraction and threading \ | ||
| 16 | " | ||
| 17 | |||
| 18 | HOMEPAGE = "https://tls.mbed.org/" | ||
| 19 | |||
| 20 | LICENSE = "Apache-2.0 | GPL-2.0-or-later" | ||
| 21 | LIC_FILES_CHKSUM = "file://LICENSE;md5=379d5819937a6c2f1ef1630d341e026d" | ||
| 22 | |||
| 23 | SECTION = "libs" | ||
| 24 | |||
| 25 | SRCREV = "2fc8413bfcb51354c8e679141b17b3f1a5942561" | ||
| 26 | SRC_URI = "git://github.com/Mbed-TLS/mbedtls.git;protocol=https;branch=archive/mbedtls-2.28;tag=${BPN} \ | ||
| 27 | file://run-ptest \ | ||
| 28 | " | ||
| 29 | |||
| 30 | inherit cmake update-alternatives ptest | ||
| 31 | |||
| 32 | PACKAGECONFIG ??= "shared-libs programs ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" | ||
| 33 | PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF" | ||
| 34 | PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF" | ||
| 35 | PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF" | ||
| 36 | # Make X.509 and TLS calls use PSA | ||
| 37 | # https://github.com/Mbed-TLS/mbedtls/blob/development/docs/use-psa-crypto.md | ||
| 38 | PACKAGECONFIG[psa] = "" | ||
| 39 | PACKAGECONFIG[tests] = "-DENABLE_TESTING=ON,-DENABLE_TESTING=OFF" | ||
| 40 | |||
| 41 | EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:STRING=${libdir}" | ||
| 42 | |||
| 43 | # For now the only way to enable PSA is to explicitly pass a -D via CFLAGS | ||
| 44 | CFLAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'psa', ' -DMBEDTLS_USE_PSA_CRYPTO', '', d)}" | ||
| 45 | |||
| 46 | PROVIDES += "polarssl" | ||
| 47 | RPROVIDES:${PN} = "polarssl" | ||
| 48 | |||
| 49 | PACKAGES =+ "${PN}-programs" | ||
| 50 | FILES:${PN}-programs = "${bindir}/" | ||
| 51 | |||
| 52 | ALTERNATIVE:${PN}-programs = "${@bb.utils.contains('PACKAGECONFIG', 'programs', 'hello', '', d)}" | ||
| 53 | ALTERNATIVE_LINK_NAME[hello] = "${bindir}/hello" | ||
| 54 | |||
| 55 | BBCLASSEXTEND = "native nativesdk" | ||
| 56 | |||
| 57 | CVE_PRODUCT = "mbed_tls" | ||
| 58 | |||
| 59 | CVE_STATUS[CVE-2021-43666] = "backported-patch: Fix merged upstream https://github.com/Mbed-TLS/mbedtls/pull/5310" | ||
| 60 | CVE_STATUS[CVE-2021-45451] = "backported-patch: Fix merged upstream https://github.com/Mbed-TLS/mbedtls/commit/9a4a9c66a48edfe9ece03c7e4a53310adf73a86c" | ||
| 61 | |||
| 62 | # Strip host paths from autogenerated test files | ||
| 63 | do_compile:append() { | ||
| 64 | sed -i 's+${S}/++g' ${B}/tests/*.c 2>/dev/null || : | ||
| 65 | sed -i 's+${B}/++g' ${B}/tests/*.c 2>/dev/null || : | ||
| 66 | } | ||
| 67 | |||
| 68 | # Export source files/headers needed by Arm Trusted Firmware | ||
| 69 | sysroot_stage_all:append() { | ||
| 70 | sysroot_stage_dir "${S}/library" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/library" | ||
| 71 | sysroot_stage_dir "${S}/include" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/include" | ||
| 72 | } | ||
| 73 | |||
| 74 | do_install_ptest () { | ||
| 75 | install -d ${D}${PTEST_PATH}/tests | ||
| 76 | cp -f ${B}/tests/test_suite_* ${D}${PTEST_PATH}/tests/ | ||
| 77 | find ${D}${PTEST_PATH}/tests/ -type f -name "*.c" -delete | ||
| 78 | cp -fR ${S}/tests/data_files ${D}${PTEST_PATH}/tests/ | ||
| 79 | } | ||
diff --git a/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.5.bb b/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.6.bb index bc2ff8ffb5..23d5c0878f 100644 --- a/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.5.bb +++ b/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.6.bb | |||
| @@ -27,7 +27,7 @@ SRC_URI = "gitsm://github.com/Mbed-TLS/mbedtls.git;protocol=https;branch=mbedtls | |||
| 27 | file://run-ptest \ | 27 | file://run-ptest \ |
| 28 | " | 28 | " |
| 29 | 29 | ||
| 30 | SRCREV = "e185d7fd85499c8ce5ca2a54f5cf8fe7dbe3f8df" | 30 | SRCREV = "0bebf8b8c7f07abe3571ded48a11aa907a1ffb20" |
| 31 | 31 | ||
| 32 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 32 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
| 33 | 33 | ||
diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb index 6a6e554453..8bb6c9009d 100644 --- a/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb +++ b/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.1.2.bb | |||
| @@ -57,6 +57,8 @@ do_install:append() { | |||
| 57 | -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ | 57 | -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ |
| 58 | -e 's,@SYSCONFDIR@,${sysconfdir},g' \ | 58 | -e 's,@SYSCONFDIR@,${sysconfdir},g' \ |
| 59 | ${D}${sysconfdir}/init.d/mosquitto | 59 | ${D}${sysconfdir}/init.d/mosquitto |
| 60 | |||
| 61 | install -m 0644 ${S}/mosquitto.conf ${D}${sysconfdir}/mosquitto/mosquitto.conf | ||
| 60 | } | 62 | } |
| 61 | 63 | ||
| 62 | PACKAGE_BEFORE_PN = "libmosquitto1 libmosquittopp1 ${PN}-clients ${PN}-examples" | 64 | PACKAGE_BEFORE_PN = "libmosquitto1 libmosquittopp1 ${PN}-clients ${PN}-examples" |
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb index f9fc9f3966..b04ad90738 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.56.0.bb | |||
| @@ -311,4 +311,9 @@ do_install:append() { | |||
| 311 | if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then | 311 | if ${@bb.utils.contains('PACKAGECONFIG','dhcpcd','true','false',d)}; then |
| 312 | install -Dm 0644 ${UNPACKDIR}/enable-dhcpcd.conf ${D}${nonarch_libdir}/NetworkManager/conf.d/enable-dhcpcd.conf | 312 | install -Dm 0644 ${UNPACKDIR}/enable-dhcpcd.conf ${D}${nonarch_libdir}/NetworkManager/conf.d/enable-dhcpcd.conf |
| 313 | fi | 313 | fi |
| 314 | |||
| 315 | # Don't ship initrd specific services into rootfs to avoid the conflict with the main services | ||
| 316 | rm -f ${D}${systemd_system_unitdir}/NetworkManager-config-initrd.service | ||
| 317 | rm -f ${D}${systemd_system_unitdir}/NetworkManager-initrd.service | ||
| 318 | rm -f ${D}${systemd_system_unitdir}/NetworkManager-wait-online-initrd.service | ||
| 314 | } | 319 | } |
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 a498348c20..afa1154827 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 <biannm@cn.fujitsu.com> | |||
| 9 | 9 | ||
| 10 | Rebase to 4.14.4 | 10 | Rebase to 4.14.4 |
| 11 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | 11 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> |
| 12 | |||
| 13 | Rebase to 4.23.5 | ||
| 14 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 12 | --- | 15 | --- |
| 13 | lib/ldb/wscript | 2 +- | ||
| 14 | lib/talloc/wscript | 2 +- | 16 | lib/talloc/wscript | 2 +- |
| 15 | lib/tdb/wscript | 2 +- | 17 | lib/tdb/wscript | 2 +- |
| 16 | 3 files changed, 3 insertions(+), 3 deletions(-) | 18 | 2 files changed, 2 insertions(+), 2 deletions(-) |
| 17 | 19 | ||
| 18 | diff --git a/lib/ldb/wscript b/lib/ldb/wscript | ||
| 19 | index ed5d45f..de3c648 100644 | ||
| 20 | --- a/lib/ldb/wscript | ||
| 21 | +++ b/lib/ldb/wscript | ||
| 22 | @@ -144,7 +144,7 @@ def configure(conf): | ||
| 23 | conf.DEFINE('EXPECTED_SYSTEM_LDB_VERSION_RELEASE', int(v[2])) | ||
| 24 | |||
| 25 | if conf.env.standalone_ldb: | ||
| 26 | - conf.CHECK_XSLTPROC_MANPAGES() | ||
| 27 | + #conf.CHECK_XSLTPROC_MANPAGES() | ||
| 28 | |||
| 29 | # we need this for the ldap backend | ||
| 30 | if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'): | ||
| 31 | diff --git a/lib/talloc/wscript b/lib/talloc/wscript | 20 | diff --git a/lib/talloc/wscript b/lib/talloc/wscript |
| 32 | index 075f1ec..9bd9f73 100644 | 21 | index 075f1ec..9bd9f73 100644 |
| 33 | --- a/lib/talloc/wscript | 22 | --- 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 2c9d29c9fe..70e7f28cc7 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 | |||
| 37 | index 95ddd9e..6d9577a 100644 | 37 | index 95ddd9e..6d9577a 100644 |
| 38 | --- a/wscript | 38 | --- a/wscript |
| 39 | +++ b/wscript | 39 | +++ b/wscript |
| 40 | @@ -123,6 +123,13 @@ def options(opt): | 40 | @@ -131,6 +131,13 @@ |
| 41 | help=('Disable kernely keyring support for credential storage'), | 41 | help=('Disable kernely keyring support for credential storage'), |
| 42 | action='store_false', dest='enable_keyring') | 42 | action='store_false', dest='enable_keyring') |
| 43 | 43 | ||
| 44 | + opt.add_option('--with-valgrind', | 44 | + opt.add_option('--with-valgrind', |
| 45 | + help=("Enable use of valgrind"), | 45 | + help=("Enable use of valgrind"), |
| 46 | + action="store_true", dest='enable_valgrind') | 46 | + action="store_true", dest='enable_valgrind') |
| @@ -48,9 +48,6 @@ index 95ddd9e..6d9577a 100644 | |||
| 48 | + help=("Disable use of valgrind"), | 48 | + help=("Disable use of valgrind"), |
| 49 | + action="store_false", dest='enable_valgrind', default=False) | 49 | + action="store_false", dest='enable_valgrind', default=False) |
| 50 | + | 50 | + |
| 51 | gr = opt.option_group('developer options') | 51 | opt.samba_add_onoff_option('ldap') |
| 52 | |||
| 53 | opt.load('python') # options for disabling pyc or pyo compilation | ||
| 54 | -- | ||
| 55 | 2.25.1 | ||
| 56 | 52 | ||
| 53 | 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 a96cd062cd..74ea1a7ab4 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 <raj.khem@gmail.com> | |||
| 15 | 15 | ||
| 16 | --- a/lib/replace/replace.h | 16 | --- a/lib/replace/replace.h |
| 17 | +++ b/lib/replace/replace.h | 17 | +++ b/lib/replace/replace.h |
| 18 | @@ -815,50 +815,50 @@ typedef unsigned long long ptrdiff_t ; | 18 | @@ -811,50 +811,50 @@ typedef unsigned long long ptrdiff_t ; |
| 19 | /** | 19 | /** |
| 20 | * Zero a structure. | 20 | * Zero a structure. |
| 21 | */ | 21 | */ |
| @@ -74,7 +74,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 74 | 74 | ||
| 75 | /** | 75 | /** |
| 76 | * Explicitly zero data in string. This is guaranteed to be not optimized | 76 | * Explicitly zero data in string. This is guaranteed to be not optimized |
| 77 | @@ -867,7 +867,7 @@ typedef unsigned long long ptrdiff_t ; | 77 | @@ -863,7 +863,7 @@ typedef unsigned long long ptrdiff_t ; |
| 78 | #define BURN_STR(x) do { \ | 78 | #define BURN_STR(x) do { \ |
| 79 | if ((x) != NULL) { \ | 79 | if ((x) != NULL) { \ |
| 80 | size_t s = strlen(x); \ | 80 | size_t s = strlen(x); \ |
| @@ -193,116 +193,3 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 193 | 193 | ||
| 194 | talloc_free(mem_ctx); | 194 | talloc_free(mem_ctx); |
| 195 | } | 195 | } |
| 196 | --- a/lib/cmdline/cmdline.c | ||
| 197 | +++ b/lib/cmdline/cmdline.c | ||
| 198 | @@ -358,7 +358,7 @@ bool samba_cmdline_burn(int argc, char * | ||
| 199 | p += ulen; | ||
| 200 | } | ||
| 201 | |||
| 202 | - memset_s(p, strlen(p), '\0', strlen(p)); | ||
| 203 | + memset_explicit(p, '\0', strlen(p)); | ||
| 204 | burnt = true; | ||
| 205 | } | ||
| 206 | } | ||
| 207 | --- a/lib/util/data_blob.c | ||
| 208 | +++ b/lib/util/data_blob.c | ||
| 209 | @@ -1,19 +1,19 @@ | ||
| 210 | -/* | ||
| 211 | +/* | ||
| 212 | Unix SMB/CIFS implementation. | ||
| 213 | Easy management of byte-length data | ||
| 214 | Copyright (C) Andrew Tridgell 2001 | ||
| 215 | Copyright (C) Andrew Bartlett 2001 | ||
| 216 | - | ||
| 217 | + | ||
| 218 | This program is free software; you can redistribute it and/or modify | ||
| 219 | it under the terms of the GNU General Public License as published by | ||
| 220 | the Free Software Foundation; either version 3 of the License, or | ||
| 221 | (at your option) any later version. | ||
| 222 | - | ||
| 223 | + | ||
| 224 | This program is distributed in the hope that it will be useful, | ||
| 225 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 226 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 227 | GNU General Public License for more details. | ||
| 228 | - | ||
| 229 | + | ||
| 230 | You should have received a copy of the GNU General Public License | ||
| 231 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 232 | */ | ||
| 233 | @@ -67,7 +67,7 @@ _PUBLIC_ DATA_BLOB data_blob_talloc_name | ||
| 234 | } | ||
| 235 | |||
| 236 | /** | ||
| 237 | - construct a zero data blob, using supplied TALLOC_CTX. | ||
| 238 | + construct a zero data blob, using supplied TALLOC_CTX. | ||
| 239 | use this sparingly as it initialises data - better to initialise | ||
| 240 | yourself if you want specific data in the blob | ||
| 241 | **/ | ||
| 242 | @@ -95,7 +95,7 @@ clear a DATA_BLOB's contents | ||
| 243 | _PUBLIC_ void data_blob_clear(DATA_BLOB *d) | ||
| 244 | { | ||
| 245 | if (d->data) { | ||
| 246 | - memset_s(d->data, d->length, 0, d->length); | ||
| 247 | + memset_explicit(d->data, 0, d->length); | ||
| 248 | } | ||
| 249 | } | ||
| 250 | |||
| 251 | @@ -219,7 +219,7 @@ _PUBLIC_ DATA_BLOB data_blob_string_cons | ||
| 252 | } | ||
| 253 | |||
| 254 | /** | ||
| 255 | - * Create a new data blob from const data | ||
| 256 | + * Create a new data blob from const data | ||
| 257 | */ | ||
| 258 | |||
| 259 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length) | ||
| 260 | @@ -266,7 +266,7 @@ _PUBLIC_ bool data_blob_append(TALLOC_CT | ||
| 261 | if ((const uint8_t *)p + length < (const uint8_t *)p) { | ||
| 262 | return false; | ||
| 263 | } | ||
| 264 | - | ||
| 265 | + | ||
| 266 | if (!data_blob_realloc(mem_ctx, blob, new_len)) { | ||
| 267 | return false; | ||
| 268 | } | ||
| 269 | --- a/lib/util/talloc_keep_secret.c | ||
| 270 | +++ b/lib/util/talloc_keep_secret.c | ||
| 271 | @@ -22,27 +22,13 @@ | ||
| 272 | |||
| 273 | static int talloc_keep_secret_destructor(void *ptr) | ||
| 274 | { | ||
| 275 | - int ret; | ||
| 276 | size_t size = talloc_get_size(ptr); | ||
| 277 | |||
| 278 | if (unlikely(size == 0)) { | ||
| 279 | return 0; | ||
| 280 | } | ||
| 281 | |||
| 282 | - ret = memset_s(ptr, size, 0, size); | ||
| 283 | - if (unlikely(ret != 0)) { | ||
| 284 | - char *msg = NULL; | ||
| 285 | - int ret2; | ||
| 286 | - ret2 = asprintf(&msg, | ||
| 287 | - "talloc_keep_secret_destructor: memset_s() failed: %s", | ||
| 288 | - strerror(ret)); | ||
| 289 | - if (ret2 != -1) { | ||
| 290 | - smb_panic(msg); | ||
| 291 | - } else { | ||
| 292 | - smb_panic("talloc_keep_secret_destructor: memset_s() failed"); | ||
| 293 | - } | ||
| 294 | - } | ||
| 295 | - | ||
| 296 | + memset_explicit(ptr, 0, size); | ||
| 297 | return 0; | ||
| 298 | } | ||
| 299 | |||
| 300 | --- a/librpc/ndr/util.c | ||
| 301 | +++ b/librpc/ndr/util.c | ||
| 302 | @@ -32,5 +32,5 @@ _PUBLIC_ void ndr_print_sockaddr_storage | ||
| 303 | |||
| 304 | _PUBLIC_ void ndr_zero_memory(void *ptr, size_t len) | ||
| 305 | { | ||
| 306 | - memset_s(ptr, len, 0, len); | ||
| 307 | + memset_explicit(ptr, 0, len); | ||
| 308 | } | ||
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 c72bd133ee..88acfeef07 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 | |||
| 19 | index 30cb366..d167551 100644 | 19 | index 30cb366..d167551 100644 |
| 20 | --- a/buildtools/wafsamba/wscript | 20 | --- a/buildtools/wafsamba/wscript |
| 21 | +++ b/buildtools/wafsamba/wscript | 21 | +++ b/buildtools/wafsamba/wscript |
| 22 | @@ -145,6 +145,13 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''), | 22 | @@ -155,6 +155,13 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''), |
| 23 | help=("Disable use of gettext"), | 23 | help=("Disable use of gettext"), |
| 24 | action="store_true", dest='disable_gettext', default=False) | 24 | action="store_true", dest='disable_gettext', default=False) |
| 25 | 25 | ||
| @@ -37,40 +37,60 @@ diff --git a/lib/replace/wscript b/lib/replace/wscript | |||
| 37 | index 9dd9b48..a22ae59 100644 | 37 | index 9dd9b48..a22ae59 100644 |
| 38 | --- a/lib/replace/wscript | 38 | --- a/lib/replace/wscript |
| 39 | +++ b/lib/replace/wscript | 39 | +++ b/lib/replace/wscript |
| 40 | @@ -444,20 +444,21 @@ def configure(conf): | 40 | @@ -444,31 +444,32 @@ |
| 41 | 41 | ||
| 42 | strlcpy_in_bsd = False | 42 | strlcpy_in_bsd = False |
| 43 | 43 | ||
| 44 | - # libbsd on some platforms provides strlcpy and strlcat | 44 | - # libbsd on some platforms provides strlcpy and strlcat |
| 45 | - if not conf.CHECK_FUNCS('strlcpy strlcat'): | 45 | - if not conf.CHECK_FUNCS('strlcpy strlcat'): |
| 46 | - if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', | 46 | - if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', |
| 47 | - checklibc=True): | 47 | - checklibc=True): |
| 48 | - strlcpy_in_bsd = True | 48 | - strlcpy_in_bsd = True |
| 49 | - if not conf.CHECK_FUNCS('getpeereid'): | 49 | - elif conf.env.enable_fuzzing: |
| 50 | - conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') | 50 | - # Just to complicate it more, some versions of Honggfuzz have |
| 51 | - if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): | 51 | - # got strlcpy and strlcat in libc, but not in <string.h> |
| 52 | - conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') | 52 | - # (unless it is there coincidentally, on a BSD). Therefore we |
| 53 | - if not conf.CHECK_FUNCS('setproctitle_init'): | 53 | - # can't use CHECK_FUNCS alone to decide whether to add the |
| 54 | - conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') | 54 | - # headers to replace.h. |
| 55 | - | 55 | - # |
| 56 | - if not conf.CHECK_FUNCS('closefrom'): | 56 | - # As this is only known to happen on a fuzzing compiler, we'll |
| 57 | - conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') | 57 | - # skip the check when not in fuzzing mode. |
| 58 | - conf.CHECK_HEADERS('bsd/string.h') | ||
| 58 | + if Options.options.enable_libbsd: | 59 | + if Options.options.enable_libbsd: |
| 59 | + # libbsd on some platforms provides strlcpy and strlcat | 60 | + # libbsd on some platforms provides strlcpy and strlcat |
| 60 | + if not conf.CHECK_FUNCS('strlcpy strlcat'): | 61 | + if not conf.CHECK_FUNCS('strlcpy strlcat'): |
| 61 | + if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', | 62 | + if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', |
| 62 | + checklibc=True): | 63 | + checklibc=True): |
| 63 | + strlcpy_in_bsd = True | 64 | + strlcpy_in_bsd = True |
| 65 | + elif conf.env.enable_fuzzing: | ||
| 66 | + # Just to complicate it more, some versions of Honggfuzz have | ||
| 67 | + # got strlcpy and strlcat in libc, but not in <string.h> | ||
| 68 | + # (unless it is there coincidentally, on a BSD). Therefore we | ||
| 69 | + # can't use CHECK_FUNCS alone to decide whether to add the | ||
| 70 | + # headers to replace.h. | ||
| 71 | + # | ||
| 72 | + # As this is only known to happen on a fuzzing compiler, we'll | ||
| 73 | + # skip the check when not in fuzzing mode. | ||
| 74 | + conf.CHECK_HEADERS('bsd/string.h') | ||
| 75 | |||
| 76 | - if not conf.CHECK_FUNCS('getpeereid'): | ||
| 77 | - conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') | ||
| 78 | - if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): | ||
| 79 | - conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') | ||
| 80 | - if not conf.CHECK_FUNCS('setproctitle_init'): | ||
| 81 | - conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') | ||
| 64 | + if not conf.CHECK_FUNCS('getpeereid'): | 82 | + if not conf.CHECK_FUNCS('getpeereid'): |
| 65 | + conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') | 83 | + conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') |
| 66 | + if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): | 84 | + if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): |
| 67 | + conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') | 85 | + conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') |
| 68 | + if not conf.CHECK_FUNCS('setproctitle_init'): | 86 | + if not conf.CHECK_FUNCS('setproctitle_init'): |
| 69 | + conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') | 87 | + conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') |
| 70 | + | 88 | |
| 89 | - if not conf.CHECK_FUNCS('closefrom'): | ||
| 90 | - conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') | ||
| 71 | + if not conf.CHECK_FUNCS('closefrom'): | 91 | + if not conf.CHECK_FUNCS('closefrom'): |
| 72 | + conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') | 92 | + conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') |
| 73 | 93 | ||
| 74 | conf.CHECK_CODE(''' | 94 | conf.CHECK_CODE(''' |
| 75 | struct ucred cred; | 95 | struct ucred cred; |
| 76 | diff --git a/lib/texpect/wscript b/lib/texpect/wscript | 96 | 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 409c36da7c..6e01ae35e7 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 | |||
| 24 | index bb9d008..d8431e7 100644 | 24 | index bb9d008..d8431e7 100644 |
| 25 | --- a/lib/replace/README | 25 | --- a/lib/replace/README |
| 26 | +++ b/lib/replace/README | 26 | +++ b/lib/replace/README |
| 27 | @@ -74,7 +74,6 @@ realpath | 27 | @@ -73,7 +73,6 @@ realpath |
| 28 | poll | 28 | poll |
| 29 | setproctitle | 29 | setproctitle |
| 30 | memset_explicit | 30 | memset_explicit |
| @@ -36,219 +36,10 @@ diff --git a/lib/replace/replace.c b/lib/replace/replace.c | |||
| 36 | index 8615899..a419837 100644 | 36 | index 8615899..a419837 100644 |
| 37 | --- a/lib/replace/replace.c | 37 | --- a/lib/replace/replace.c |
| 38 | +++ b/lib/replace/replace.c | 38 | +++ b/lib/replace/replace.c |
| 39 | @@ -1,4 +1,4 @@ | 39 | @@ -965,37 +965,6 @@ |
| 40 | -/* | ||
| 41 | +/* | ||
| 42 | Unix SMB/CIFS implementation. | ||
| 43 | replacement routines for broken systems | ||
| 44 | Copyright (C) Andrew Tridgell 1992-1998 | ||
| 45 | @@ -8,7 +8,7 @@ | ||
| 46 | ** NOTE! The following LGPL license applies to the replace | ||
| 47 | ** library. This does NOT imply that all of Samba is released | ||
| 48 | ** under the LGPL | ||
| 49 | - | ||
| 50 | + | ||
| 51 | This library is free software; you can redistribute it and/or | ||
| 52 | modify it under the terms of the GNU Lesser General Public | ||
| 53 | License as published by the Free Software Foundation; either | ||
| 54 | @@ -91,7 +91,7 @@ size_t rep_strlcpy(char *d, const char *s, size_t bufsize) | ||
| 55 | #endif | ||
| 56 | |||
| 57 | #ifndef HAVE_STRLCAT | ||
| 58 | -/* like strncat but does not 0 fill the buffer and always null | ||
| 59 | +/* like strncat but does not 0 fill the buffer and always null | ||
| 60 | terminates. bufsize is the length of the buffer, which should | ||
| 61 | be one more than the maximum resulting string length */ | ||
| 62 | size_t rep_strlcat(char *d, const char *s, size_t bufsize) | ||
| 63 | @@ -116,7 +116,7 @@ size_t rep_strlcat(char *d, const char *s, size_t bufsize) | ||
| 64 | |||
| 65 | #ifndef HAVE_MKTIME | ||
| 66 | /******************************************************************* | ||
| 67 | -a mktime() replacement for those who don't have it - contributed by | ||
| 68 | +a mktime() replacement for those who don't have it - contributed by | ||
| 69 | C.A. Lademann <cal@zls.com> | ||
| 70 | Corrections by richard.kettlewell@kewill.com | ||
| 71 | ********************************************************************/ | ||
| 72 | @@ -137,7 +137,7 @@ time_t rep_mktime(struct tm *t) | ||
| 73 | return((time_t)-1); | ||
| 74 | |||
| 75 | n = t->tm_year + 1900 - 1; | ||
| 76 | - epoch = (t->tm_year - 70) * YEAR + | ||
| 77 | + epoch = (t->tm_year - 70) * YEAR + | ||
| 78 | ((n / 4 - n / 100 + n / 400) - (1969 / 4 - 1969 / 100 + 1969 / 400)) * DAY; | ||
| 79 | |||
| 80 | y = t->tm_year + 1900; | ||
| 81 | @@ -147,7 +147,7 @@ time_t rep_mktime(struct tm *t) | ||
| 82 | epoch += mon [m] * DAY; | ||
| 83 | if(m == 1 && y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)) | ||
| 84 | epoch += DAY; | ||
| 85 | - | ||
| 86 | + | ||
| 87 | if(++m > 11) { | ||
| 88 | m = 0; | ||
| 89 | y++; | ||
| 90 | @@ -156,7 +156,7 @@ time_t rep_mktime(struct tm *t) | ||
| 91 | |||
| 92 | epoch += (t->tm_mday - 1) * DAY; | ||
| 93 | epoch += t->tm_hour * HOUR + t->tm_min * MINUTE + t->tm_sec; | ||
| 94 | - | ||
| 95 | + | ||
| 96 | if((u = localtime(&epoch)) != NULL) { | ||
| 97 | t->tm_sec = u->tm_sec; | ||
| 98 | t->tm_min = u->tm_min; | ||
| 99 | @@ -176,7 +176,7 @@ time_t rep_mktime(struct tm *t) | ||
| 100 | |||
| 101 | #ifndef HAVE_INITGROUPS | ||
| 102 | /**************************************************************************** | ||
| 103 | - some systems don't have an initgroups call | ||
| 104 | + some systems don't have an initgroups call | ||
| 105 | ****************************************************************************/ | ||
| 106 | int rep_initgroups(char *name, gid_t id) | ||
| 107 | { | ||
| 108 | @@ -194,7 +194,7 @@ int rep_initgroups(char *name, gid_t id) | ||
| 109 | int i,j; | ||
| 110 | struct group *g; | ||
| 111 | char *gr; | ||
| 112 | - | ||
| 113 | + | ||
| 114 | if((grouplst = malloc(sizeof(gid_t) * max_gr)) == NULL) { | ||
| 115 | errno = ENOMEM; | ||
| 116 | return -1; | ||
| 117 | @@ -250,9 +250,9 @@ void *rep_memmove(void *dest,const void *src,int size) | ||
| 118 | |||
| 119 | if (d < s) { | ||
| 120 | /* we can forward copy */ | ||
| 121 | - if (s-d >= sizeof(int) && | ||
| 122 | - !(s%sizeof(int)) && | ||
| 123 | - !(d%sizeof(int)) && | ||
| 124 | + if (s-d >= sizeof(int) && | ||
| 125 | + !(s%sizeof(int)) && | ||
| 126 | + !(d%sizeof(int)) && | ||
| 127 | !(size%sizeof(int))) { | ||
| 128 | /* do it all as words */ | ||
| 129 | int *idest = (int *)dest; | ||
| 130 | @@ -267,9 +267,9 @@ void *rep_memmove(void *dest,const void *src,int size) | ||
| 131 | } | ||
| 132 | } else { | ||
| 133 | /* must backward copy */ | ||
| 134 | - if (d-s >= sizeof(int) && | ||
| 135 | - !(s%sizeof(int)) && | ||
| 136 | - !(d%sizeof(int)) && | ||
| 137 | + if (d-s >= sizeof(int) && | ||
| 138 | + !(s%sizeof(int)) && | ||
| 139 | + !(d%sizeof(int)) && | ||
| 140 | !(size%sizeof(int))) { | ||
| 141 | /* do it all as words */ | ||
| 142 | int *idest = (int *)dest; | ||
| 143 | @@ -281,7 +281,7 @@ void *rep_memmove(void *dest,const void *src,int size) | ||
| 144 | char *cdest = (char *)dest; | ||
| 145 | char *csrc = (char *)src; | ||
| 146 | for (i=size-1;i>=0;i--) cdest[i] = csrc[i]; | ||
| 147 | - } | ||
| 148 | + } | ||
| 149 | } | ||
| 150 | return(dest); | ||
| 151 | } | ||
| 152 | @@ -334,16 +334,16 @@ void rep_vsyslog (int facility_priority, const char *format, va_list arglist) | ||
| 153 | size_t rep_strnlen(const char *s, size_t max) | ||
| 154 | { | ||
| 155 | size_t len; | ||
| 156 | - | ||
| 157 | + | ||
| 158 | for (len = 0; len < max; len++) { | ||
| 159 | if (s[len] == '\0') { | ||
| 160 | break; | ||
| 161 | } | ||
| 162 | } | ||
| 163 | - return len; | ||
| 164 | + return len; | ||
| 165 | } | 40 | } |
| 166 | #endif | 41 | #endif |
| 167 | - | 42 | |
| 168 | + | ||
| 169 | #ifndef HAVE_STRNDUP | ||
| 170 | /** | ||
| 171 | Some platforms don't have strndup. | ||
| 172 | @@ -351,7 +351,7 @@ void rep_vsyslog (int facility_priority, const char *format, va_list arglist) | ||
| 173 | char *rep_strndup(const char *s, size_t n) | ||
| 174 | { | ||
| 175 | char *ret; | ||
| 176 | - | ||
| 177 | + | ||
| 178 | n = strnlen(s, n); | ||
| 179 | ret = malloc(n+1); | ||
| 180 | if (!ret) | ||
| 181 | @@ -407,7 +407,7 @@ int rep_chroot(const char *dname) | ||
| 182 | |||
| 183 | /***************************************************************** | ||
| 184 | Possibly replace mkstemp if it is broken. | ||
| 185 | -*****************************************************************/ | ||
| 186 | +*****************************************************************/ | ||
| 187 | |||
| 188 | #ifndef HAVE_SECURE_MKSTEMP | ||
| 189 | int rep_mkstemp(char *template) | ||
| 190 | @@ -425,7 +425,7 @@ int rep_mkstemp(char *template) | ||
| 191 | char *rep_mkdtemp(char *template) | ||
| 192 | { | ||
| 193 | char *dname; | ||
| 194 | - | ||
| 195 | + | ||
| 196 | if ((dname = mktemp(template))) { | ||
| 197 | if (mkdir(dname, 0700) >= 0) { | ||
| 198 | return dname; | ||
| 199 | @@ -532,7 +532,7 @@ long long int rep_strtoll(const char *str, char **endptr, int base) | ||
| 200 | { | ||
| 201 | #ifdef HAVE_STRTOQ | ||
| 202 | return strtoq(str, endptr, base); | ||
| 203 | -#elif defined(HAVE___STRTOLL) | ||
| 204 | +#elif defined(HAVE___STRTOLL) | ||
| 205 | return __strtoll(str, endptr, base); | ||
| 206 | #elif SIZEOF_LONG == SIZEOF_LONG_LONG | ||
| 207 | return (long long int) strtol(str, endptr, base); | ||
| 208 | @@ -568,7 +568,7 @@ unsigned long long int rep_strtoull(const char *str, char **endptr, int base) | ||
| 209 | { | ||
| 210 | #ifdef HAVE_STRTOUQ | ||
| 211 | return strtouq(str, endptr, base); | ||
| 212 | -#elif defined(HAVE___STRTOULL) | ||
| 213 | +#elif defined(HAVE___STRTOULL) | ||
| 214 | return __strtoull(str, endptr, base); | ||
| 215 | #elif SIZEOF_LONG == SIZEOF_LONG_LONG | ||
| 216 | return (unsigned long long int) strtoul(str, endptr, base); | ||
| 217 | @@ -599,7 +599,7 @@ unsigned long long int rep_strtoull(const char *str, char **endptr, int base) | ||
| 218 | #endif /* HAVE_STRTOULL */ | ||
| 219 | |||
| 220 | #ifndef HAVE_SETENV | ||
| 221 | -int rep_setenv(const char *name, const char *value, int overwrite) | ||
| 222 | +int rep_setenv(const char *name, const char *value, int overwrite) | ||
| 223 | { | ||
| 224 | char *p; | ||
| 225 | size_t l1, l2; | ||
| 226 | @@ -644,10 +644,10 @@ int rep_unsetenv(const char *name) | ||
| 227 | for (i=0;environ[i];i++) /* noop */ ; | ||
| 228 | |||
| 229 | count=i; | ||
| 230 | - | ||
| 231 | + | ||
| 232 | for (i=0;i<count;) { | ||
| 233 | if (strncmp(environ[i], name, len) == 0 && environ[i][len] == '=') { | ||
| 234 | - /* note: we do _not_ free the old variable here. It is unsafe to | ||
| 235 | + /* note: we do _not_ free the old variable here. It is unsafe to | ||
| 236 | do so, as the pointer may not have come from malloc */ | ||
| 237 | memmove(&environ[i], &environ[i+1], (count-i)*sizeof(char *)); | ||
| 238 | count--; | ||
| 239 | @@ -688,7 +688,7 @@ int rep_utimes(const char *filename, const struct timeval tv[2]) | ||
| 240 | #endif | ||
| 241 | |||
| 242 | #ifndef HAVE_DUP2 | ||
| 243 | -int rep_dup2(int oldfd, int newfd) | ||
| 244 | +int rep_dup2(int oldfd, int newfd) | ||
| 245 | { | ||
| 246 | errno = ENOSYS; | ||
| 247 | return -1; | ||
| 248 | @@ -965,37 +965,6 @@ void *rep_memset_explicit(void *block, int c, size_t size) | ||
| 249 | } | ||
| 250 | #endif | ||
| 251 | |||
| 252 | -#ifndef HAVE_MEMSET_S | 43 | -#ifndef HAVE_MEMSET_S |
| 253 | -# ifndef RSIZE_MAX | 44 | -# ifndef RSIZE_MAX |
| 254 | -# define RSIZE_MAX (SIZE_MAX >> 1) | 45 | -# define RSIZE_MAX (SIZE_MAX >> 1) |
| @@ -267,7 +58,7 @@ index 8615899..a419837 100644 | |||
| 267 | - } | 58 | - } |
| 268 | - | 59 | - |
| 269 | -#if defined(HAVE_MEMSET_EXPLICIT) | 60 | -#if defined(HAVE_MEMSET_EXPLICIT) |
| 270 | - memset_explicit(dest, destsz, ch, count); | 61 | - memset_explicit(dest, ch, count); |
| 271 | -#else /* HAVE_MEMSET_EXPLICIT */ | 62 | -#else /* HAVE_MEMSET_EXPLICIT */ |
| 272 | - memset(dest, ch, count); | 63 | - memset(dest, ch, count); |
| 273 | -# if defined(HAVE_GCC_VOLATILE_MEMORY_PROTECTION) | 64 | -# if defined(HAVE_GCC_VOLATILE_MEMORY_PROTECTION) |
diff --git a/meta-networking/recipes-connectivity/samba/samba/9aa5c43315d83c19514251a11c4fba5a137f2821.patch b/meta-networking/recipes-connectivity/samba/samba/9aa5c43315d83c19514251a11c4fba5a137f2821.patch deleted file mode 100644 index e07e86e887..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba/9aa5c43315d83c19514251a11c4fba5a137f2821.patch +++ /dev/null | |||
| @@ -1,70 +0,0 @@ | |||
| 1 | From 9aa5c43315d83c19514251a11c4fba5a137f2821 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andreas Schneider <asn@samba.org> | ||
| 3 | Date: Tue, 21 Jan 2025 17:59:27 +0100 | ||
| 4 | Subject: [PATCH] lib:replace: Don't use deprecated readline CPPFunction cast | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | HAVE_RL_COMPLETION_FUNC_T was unused and not checking for the right | ||
| 10 | function. | ||
| 11 | |||
| 12 | libcli/smbreadline/smbreadline.c: In function ‘smb_readline’: | ||
| 13 | libcli/smbreadline/smbreadline.c:139:17: warning: ‘CPPFunction’ is deprecated [-Wdeprecated-declarations] | ||
| 14 | 139 | rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn; | ||
| 15 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 16 | libcli/smbreadline/smbreadline.c:139:50: error: assignment to ‘char ** (*)(const char *, int, int)’ from incompatible pointer type ‘char ** (*)(void)’ [-Wincompatible-pointer-types] | ||
| 17 | 139 | rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn; | ||
| 18 | | ^ | ||
| 19 | |||
| 20 | BUG: https://bugzilla.samba.org/show_bug.cgi?id=15788 | ||
| 21 | |||
| 22 | Signed-off-by: Andreas Schneider <asn@samba.org> | ||
| 23 | Reviewed-by: Alexander Bokovoy <ab@samba.org> | ||
| 24 | |||
| 25 | Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> | ||
| 26 | Autobuild-Date(master): Tue Jan 21 19:38:37 UTC 2025 on atb-devel-224 | ||
| 27 | |||
| 28 | Upstream-Status: Backport [https://github.com/samba-team/samba/commit/9aa5c43315d83c19514251a11c4fba5a137f2821] | ||
| 29 | |||
| 30 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
| 31 | --- | ||
| 32 | lib/replace/system/readline.h | 4 +++- | ||
| 33 | libcli/smbreadline/wscript_configure | 8 +++++--- | ||
| 34 | 2 files changed, 8 insertions(+), 4 deletions(-) | ||
| 35 | |||
| 36 | diff --git a/lib/replace/system/readline.h b/lib/replace/system/readline.h | ||
| 37 | index 9a9af266ca6d..ac3604fc12e0 100644 | ||
| 38 | --- a/lib/replace/system/readline.h | ||
| 39 | +++ b/lib/replace/system/readline.h | ||
| 40 | @@ -46,7 +46,9 @@ | ||
| 41 | #endif | ||
| 42 | |||
| 43 | #ifdef HAVE_NEW_LIBREADLINE | ||
| 44 | -#ifdef HAVE_CPPFUNCTION | ||
| 45 | +#if defined(HAVE_RL_COMPLETION_FUNC_T) | ||
| 46 | +# define RL_COMPLETION_CAST (rl_completion_func_t *) | ||
| 47 | +#elif defined(HAVE_CPPFUNCTION) | ||
| 48 | # define RL_COMPLETION_CAST (CPPFunction *) | ||
| 49 | #elif defined(HAVE_RL_COMPLETION_T) | ||
| 50 | # define RL_COMPLETION_CAST (rl_completion_t *) | ||
| 51 | diff --git a/libcli/smbreadline/wscript_configure b/libcli/smbreadline/wscript_configure | ||
| 52 | index 912ff53a150d..f5a401ebae00 100644 | ||
| 53 | --- a/libcli/smbreadline/wscript_configure | ||
| 54 | +++ b/libcli/smbreadline/wscript_configure | ||
| 55 | @@ -51,10 +51,12 @@ conf.CHECK_CODE(''' | ||
| 56 | # endif | ||
| 57 | # endif | ||
| 58 | #endif | ||
| 59 | -int main(void) {rl_completion_t f; return 0;} | ||
| 60 | +int main(void) {rl_completion_func_t f; return 0;} | ||
| 61 | ''', | ||
| 62 | -'HAVE_RL_COMPLETION_FUNC_T', execute=False, addmain=False, | ||
| 63 | -msg='Checking for rl_completion_t') | ||
| 64 | + 'HAVE_RL_COMPLETION_FUNC_T', | ||
| 65 | + execute=False, | ||
| 66 | + addmain=False, | ||
| 67 | + msg='Checking for rl_completion_func_t') | ||
| 68 | |||
| 69 | conf.CHECK_CODE(''' | ||
| 70 | #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.23.5.bb index 3ed1d46754..ec3149562a 100644 --- a/meta-networking/recipes-connectivity/samba/samba_4.19.9.bb +++ b/meta-networking/recipes-connectivity/samba/samba_4.23.5.bb | |||
| @@ -14,6 +14,10 @@ ${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ | |||
| 14 | 14 | ||
| 15 | export PYTHONHASHSEED = "1" | 15 | export PYTHONHASHSEED = "1" |
| 16 | 16 | ||
| 17 | # If XML_CATALOG_FILES env var is not defined, waf defaults | ||
| 18 | # to build host folders looking for catalogs. | ||
| 19 | export XML_CATALOG_FILES = "" | ||
| 20 | |||
| 17 | SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ | 21 | SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ |
| 18 | file://smb.conf \ | 22 | file://smb.conf \ |
| 19 | file://volatiles.03_samba \ | 23 | file://volatiles.03_samba \ |
| @@ -24,7 +28,6 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ | |||
| 24 | file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \ | 28 | file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \ |
| 25 | file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \ | 29 | file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \ |
| 26 | file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \ | 30 | file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \ |
| 27 | file://9aa5c43315d83c19514251a11c4fba5a137f2821.patch \ | ||
| 28 | file://0001-lib-replace-Implement-memset_explicit.patch \ | 31 | file://0001-lib-replace-Implement-memset_explicit.patch \ |
| 29 | file://0002-lib-replace-Add-test-for-memset_explicit.patch \ | 32 | file://0002-lib-replace-Add-test-for-memset_explicit.patch \ |
| 30 | file://0003-Replace-memset_s-with-memset_explicit.patch \ | 33 | file://0003-Replace-memset_s-with-memset_explicit.patch \ |
| @@ -36,7 +39,7 @@ SRC_URI:append:libc-musl = " \ | |||
| 36 | file://samba-4.3.9-remove-getpwent_r.patch \ | 39 | file://samba-4.3.9-remove-getpwent_r.patch \ |
| 37 | " | 40 | " |
| 38 | 41 | ||
| 39 | SRC_URI[sha256sum] = "71ed406444714c90bb9d36c576d807b67af15449f297e91106d42b3ca2fa5549" | 42 | SRC_URI[sha256sum] = "593a43ddd0d57902237dfa76888f7b02cb7fc7747111369cb31e126db4836b9f" |
| 40 | 43 | ||
| 41 | UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.19(\.\d+)+).tar.gz" | 44 | UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.19(\.\d+)+).tar.gz" |
| 42 | 45 | ||
| @@ -47,7 +50,7 @@ CVE_STATUS[CVE-2011-2411] = "not-applicable-platform: vulnerable only on HP NonS | |||
| 47 | # remove default added RDEPENDS on perl | 50 | # remove default added RDEPENDS on perl |
| 48 | RDEPENDS:${PN}:remove = "perl" | 51 | RDEPENDS:${PN}:remove = "perl" |
| 49 | 52 | ||
| 50 | DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 libtasn1-native jansson libparse-yapp-perl-native gnutls cmocka" | 53 | DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libaio libpam libtasn1 libtasn1-native jansson libparse-yapp-perl-native gnutls cmocka ngtcp2 bison-native" |
| 51 | 54 | ||
| 52 | inherit features_check | 55 | inherit features_check |
| 53 | REQUIRED_DISTRO_FEATURES = "pam" | 56 | REQUIRED_DISTRO_FEATURES = "pam" |
| @@ -62,7 +65,7 @@ INITSCRIPT_NAME = "samba" | |||
| 62 | INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." | 65 | INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." |
| 63 | 66 | ||
| 64 | SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind ctdb" | 67 | SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind ctdb" |
| 65 | SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service" | 68 | SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service samba-bgqd.service" |
| 66 | SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" | 69 | SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" |
| 67 | SYSTEMD_SERVICE:winbind = "winbind.service" | 70 | SYSTEMD_SERVICE:winbind = "winbind.service" |
| 68 | SYSTEMD_SERVICE:ctdb = "ctdb.service" | 71 | SYSTEMD_SERVICE:ctdb = "ctdb.service" |
| @@ -109,7 +112,7 @@ SAMBA4_MODULES = "${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MO | |||
| 109 | # .so files so there will not be a conflict. This is not done consistantly, so be very careful | 112 | # .so files so there will not be a conflict. This is not done consistantly, so be very careful |
| 110 | # when adding to this list. | 113 | # when adding to this list. |
| 111 | # | 114 | # |
| 112 | SAMBA4_LIBS = "heimdal,NONE" | 115 | SAMBA4_LIBS = "heimdal,libquic,NONE" |
| 113 | 116 | ||
| 114 | EXTRA_OECONF += "--enable-fhs \ | 117 | EXTRA_OECONF += "--enable-fhs \ |
| 115 | --with-piddir=/run \ | 118 | --with-piddir=/run \ |
| @@ -132,6 +135,19 @@ EXTRA_OECONF += "--enable-fhs \ | |||
| 132 | 135 | ||
| 133 | LDFLAGS += "-Wl,-z,relro,-z,now" | 136 | LDFLAGS += "-Wl,-z,relro,-z,now" |
| 134 | 137 | ||
| 138 | do_configure:prepend() { | ||
| 139 | # The xsltproc tool is actually a wrapper script in OE, which exports its own XML_CATALOG_FILES env var | ||
| 140 | # However samba does that too. So here I'm trying to concatenate the variables. | ||
| 141 | # The original looks like this in the wrapper: | ||
| 142 | # export XML_CATALOG_FILES=oe-core-specific-thing | ||
| 143 | # and this sed prepends the value with $XML_CATALOG_FILES, and encloses it in quotes. So the end value is | ||
| 144 | # export XML_CATALOG_FILES="$XML_CATALOG FILES oe-core-specific-thing" | ||
| 145 | # The first grep just checks if it was already done, so it is not prepended multiple times. | ||
| 146 | |||
| 147 | grep \$XML_CATALOG_FILES ${STAGING_BINDIR_NATIVE}/xsltproc || \ | ||
| 148 | sed -i 's,\(XML_CATALOG_FILES\)=\(.*\),\1="\$XML_CATALOG_FILES \2",' ${STAGING_BINDIR_NATIVE}/xsltproc | ||
| 149 | } | ||
| 150 | |||
| 135 | do_configure:append() { | 151 | do_configure:append() { |
| 136 | cd ${S}/pidl/ | 152 | cd ${S}/pidl/ |
| 137 | perl Makefile.PL PREFIX=${prefix} | 153 | perl Makefile.PL PREFIX=${prefix} |
| @@ -213,6 +229,9 @@ do_install:append() { | |||
| 213 | find ${D}${libdir}/perl5/ -type f -name "perllocal.pod" -delete | 229 | find ${D}${libdir}/perl5/ -type f -name "perllocal.pod" -delete |
| 214 | find ${D}${libdir}/perl5/ -type f -name ".packlist" -delete | 230 | find ${D}${libdir}/perl5/ -type f -name ".packlist" -delete |
| 215 | sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl | 231 | sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl |
| 232 | |||
| 233 | sed -i 's,${UNPACKDIR},,g' ${S}/bin/default/libcli/wsp/wsp_aqs_lexer.c | ||
| 234 | sed -i 's,${UNPACKDIR},,g' ${S}/bin/default/libcli/wsp/wsp_aqs_lexer.h | ||
| 216 | } | 235 | } |
| 217 | 236 | ||
| 218 | PACKAGES =+ "${PN}-python3 ${PN}-pidl \ | 237 | PACKAGES =+ "${PN}-python3 ${PN}-pidl \ |
| @@ -245,7 +264,7 @@ PACKAGESPLITFUNCS:prepend = "samba_populate_packages " | |||
| 245 | PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" | 264 | PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" |
| 246 | 265 | ||
| 247 | RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" | 266 | RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" |
| 248 | RDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb" | 267 | RDEPENDS:${PN}-python3 += "pytalloc python3-tdb" |
| 249 | 268 | ||
| 250 | FILES:${PN}-base = "${sbindir}/nmbd \ | 269 | FILES:${PN}-base = "${sbindir}/nmbd \ |
| 251 | ${sbindir}/smbd \ | 270 | ${sbindir}/smbd \ |
diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc b/meta-networking/recipes-connectivity/tailscale/tailscale-go-mods.inc index 3cfea84a55..1f9bff8c39 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 @@ | |||
| 1 | SRC_URI += " \ | 1 | |
| 2 | # This file has been generated by go-mod-update-modules.bbclass | ||
| 3 | # | ||
| 4 | # Do not modify it by hand, as the contents will be replaced when | ||
| 5 | # running the update-modules task. | ||
| 6 | |||
| 7 | SRC_URI += "\ | ||
| 2 | gomod://filippo.io/edwards25519;version=v1.1.0;sha256sum=9ac43a686d06fdebd719f7af3866c87eb069302272dfb131007adf471c308b65 \ | 8 | gomod://filippo.io/edwards25519;version=v1.1.0;sha256sum=9ac43a686d06fdebd719f7af3866c87eb069302272dfb131007adf471c308b65 \ |
| 9 | gomod://fyne.io/systray;version=v1.11.1-0.20250812065214-4856ac3adc3c;sha256sum=7782bef2e30904a5e34477f713a4c598b1ddf3b3a70deead056549ad22248311 \ | ||
| 10 | gomod://github.com/Kodeworks/golang-image-ico;version=v0.0.0-20141118225523-73f0f4cfade9;sha256sum=1d677069e35c4a3e4f290e68c6e2391f6237aee9ce3f39448ed09a2ddab274b0 \ | ||
| 3 | gomod://github.com/anmitsu/go-shlex;version=v0.0.0-20200514113438-38f4b401e2be;sha256sum=2a5cf7c9a2709f649fd508cbacb2be96e4fba4d534a28a122ee4d7574af40b5e \ | 11 | gomod://github.com/anmitsu/go-shlex;version=v0.0.0-20200514113438-38f4b401e2be;sha256sum=2a5cf7c9a2709f649fd508cbacb2be96e4fba4d534a28a122ee4d7574af40b5e \ |
| 4 | gomod://github.com/aws/aws-sdk-go-v2;version=v1.36.0;sha256sum=ec276e274bbe39c35d3c2c8c1ec5cba494d6449cd8166d741676cdf0a9d1697b \ | 12 | gomod://github.com/atotto/clipboard;version=v0.1.4;sha256sum=d67b2c36c662751309fd2ec351df3651584bea840bd27be9a90702c3a238b43f \ |
| 13 | gomod://github.com/aws/aws-sdk-go-v2;version=v1.41.0;sha256sum=869834493118f72f9349f5493959bcd8fc951fa236eecd0095c16322f5b2f53c \ | ||
| 5 | gomod://github.com/aws/aws-sdk-go-v2/config;version=v1.29.5;sha256sum=ce165d37c7b1dfee2047137f1176c197dc397a5553ef6fc0dba799b21908475b \ | 14 | gomod://github.com/aws/aws-sdk-go-v2/config;version=v1.29.5;sha256sum=ce165d37c7b1dfee2047137f1176c197dc397a5553ef6fc0dba799b21908475b \ |
| 6 | gomod://github.com/aws/aws-sdk-go-v2/credentials;version=v1.17.58;sha256sum=238cc4a98dde7bc3e94dc0f0005c4d988a244daaa9fe4fda706a781ec62bf7e2 \ | 15 | gomod://github.com/aws/aws-sdk-go-v2/credentials;version=v1.17.58;sha256sum=238cc4a98dde7bc3e94dc0f0005c4d988a244daaa9fe4fda706a781ec62bf7e2 \ |
| 7 | gomod://github.com/aws/aws-sdk-go-v2/feature/ec2/imds;version=v1.16.27;sha256sum=408958244a10036461c3a3b27fcdaf20efa3af19168bd527b6617319a754309c \ | 16 | gomod://github.com/aws/aws-sdk-go-v2/feature/ec2/imds;version=v1.16.27;sha256sum=408958244a10036461c3a3b27fcdaf20efa3af19168bd527b6617319a754309c \ |
| 8 | gomod://github.com/aws/aws-sdk-go-v2/internal/configsources;version=v1.3.31;sha256sum=7929b44beec37b00c9ee5269b0f109d7ccc2bb26a8528ab14e0f172076a41205 \ | 17 | gomod://github.com/aws/aws-sdk-go-v2/internal/configsources;version=v1.4.16;sha256sum=5bd82543507e01fab6a9344a995a431682f4061770b25005f9116f43ae539ac4 \ |
| 9 | gomod://github.com/aws/aws-sdk-go-v2/internal/endpoints/v2;version=v2.6.31;sha256sum=6ae31e302c828ecf80310e85059c49ce44668b8c62aa52fa964b0d745a6f62b1 \ | 18 | gomod://github.com/aws/aws-sdk-go-v2/internal/endpoints/v2;version=v2.7.16;sha256sum=0a4cc94f6843c9c50a1839783123b4664a07d5a67d8a49157304f8550c0c2e39 \ |
| 10 | gomod://github.com/aws/aws-sdk-go-v2/internal/ini;version=v1.8.2;sha256sum=53d1a9a401283711118c91e6e9fdb8193ce6430ca4bbe6b5454bcaaa51e81de0 \ | 19 | gomod://github.com/aws/aws-sdk-go-v2/internal/ini;version=v1.8.2;sha256sum=53d1a9a401283711118c91e6e9fdb8193ce6430ca4bbe6b5454bcaaa51e81de0 \ |
| 11 | gomod://github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding;version=v1.12.2;sha256sum=6ab252b3b962a6b34f0107583f6ff8e4a68e02dcd8df9573e895e5ca60ff139c \ | 20 | gomod://github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding;version=v1.13.4;sha256sum=e9b9e131812d339f4ac2b20bb504caf1cde680e048e15688bd8126ecd300e5e2 \ |
| 12 | gomod://github.com/aws/aws-sdk-go-v2/service/internal/presigned-url;version=v1.12.12;sha256sum=a92f4383630fa976eeb484b051a6224a8d1d277c4b3ca93a40cce57d06cbbec2 \ | 21 | gomod://github.com/aws/aws-sdk-go-v2/service/internal/presigned-url;version=v1.13.16;sha256sum=1ba321f470ad6ce8673c303386f15136b8fa2f86b23e6a181dbf5c74cb84ef7b \ |
| 13 | gomod://github.com/aws/aws-sdk-go-v2/service/ssm;version=v1.44.7;sha256sum=e09b97aa37ffd7c003a8a2e7574668e92eabd267d2a78d22fb440bcd93a61e46 \ | 22 | gomod://github.com/aws/aws-sdk-go-v2/service/ssm;version=v1.44.7;sha256sum=e09b97aa37ffd7c003a8a2e7574668e92eabd267d2a78d22fb440bcd93a61e46 \ |
| 14 | gomod://github.com/aws/aws-sdk-go-v2/service/sso;version=v1.24.14;sha256sum=9196a430068584c9d1e621aff0a45b32adaf190b4363dddda8b341901e188f51 \ | 23 | gomod://github.com/aws/aws-sdk-go-v2/service/sso;version=v1.24.14;sha256sum=9196a430068584c9d1e621aff0a45b32adaf190b4363dddda8b341901e188f51 \ |
| 15 | gomod://github.com/aws/aws-sdk-go-v2/service/ssooidc;version=v1.28.13;sha256sum=acaeca3476410d64512a4d9feefd6c8d16effa76718f72db4ba7b786c7fcc398 \ | 24 | gomod://github.com/aws/aws-sdk-go-v2/service/ssooidc;version=v1.28.13;sha256sum=acaeca3476410d64512a4d9feefd6c8d16effa76718f72db4ba7b786c7fcc398 \ |
| 16 | gomod://github.com/aws/aws-sdk-go-v2/service/sts;version=v1.33.13;sha256sum=1800e76ad35287ca7067374b7489ebd7f1d25426c93ae9e40fd73e2a78f29e75 \ | 25 | gomod://github.com/aws/aws-sdk-go-v2/service/sts;version=v1.41.5;sha256sum=de6f3748c40c13e10b790a7c02023aa559b153c251856e3b3940ee47cc0bc007 \ |
| 17 | gomod://github.com/aws/smithy-go;version=v1.22.2;sha256sum=e5701b5798a3ff01b7139ec07e5bc2010f76cab82523e8989602003d61d82324 \ | 26 | gomod://github.com/aws/smithy-go;version=v1.24.0;sha256sum=655a1e00489bcf29a94cf26878c2f0b3b74c8bfb5d3c566baa3b94e088fbf417 \ |
| 18 | gomod://github.com/coder/websocket;version=v1.8.12;sha256sum=ad8d323970c04679f4566ee7db98946508c37cdd21a46a875d5257d631a9e990 \ | 27 | gomod://github.com/coder/websocket;version=v1.8.12;sha256sum=ad8d323970c04679f4566ee7db98946508c37cdd21a46a875d5257d631a9e990 \ |
| 19 | gomod://github.com/coreos/go-iptables;version=v0.7.1-0.20240112124308-65c67c9f46e6;sha256sum=6d0ae6344f1d355f72e6aaba583ce73822861511337ca92cc1c4727fc8ba66dd \ | 28 | gomod://github.com/coreos/go-iptables;version=v0.7.1-0.20240112124308-65c67c9f46e6;sha256sum=6d0ae6344f1d355f72e6aaba583ce73822861511337ca92cc1c4727fc8ba66dd \ |
| 29 | gomod://github.com/creachadair/msync;version=v0.7.1;sha256sum=ee8dd1d2cc8a1e555fcfaecc7407425216ee87cd4414093d9a3d8d50fc622e5d \ | ||
| 20 | gomod://github.com/creack/pty;version=v1.1.23;sha256sum=2151b7121020954864de83eacf854634866cca0a3bfe33a2ebffa2edebc25df3 \ | 30 | gomod://github.com/creack/pty;version=v1.1.23;sha256sum=2151b7121020954864de83eacf854634866cca0a3bfe33a2ebffa2edebc25df3 \ |
| 21 | gomod://github.com/digitalocean/go-smbios;version=v0.0.0-20180907143718-390a4f403a8e;sha256sum=2bc498a09aa55b3417bebacce448b2d2ab757981e59b6b016d08cf97e4a7bdde \ | 31 | gomod://github.com/digitalocean/go-smbios;version=v0.0.0-20180907143718-390a4f403a8e;sha256sum=2bc498a09aa55b3417bebacce448b2d2ab757981e59b6b016d08cf97e4a7bdde \ |
| 22 | gomod://github.com/djherbis/times;version=v1.6.0;sha256sum=21d69060967bc03ea3c39ff8c0b1a95511e96eccd3749a2daef1a02af1bc0a85 \ | 32 | gomod://github.com/djherbis/times;version=v1.6.0;sha256sum=21d69060967bc03ea3c39ff8c0b1a95511e96eccd3749a2daef1a02af1bc0a85 \ |
| 23 | gomod://github.com/fxamacker/cbor/v2;version=v2.7.0;sha256sum=b48771460405bab6896c85e21ebc5ff287d4018c6db5c8d822c55769c80dde03 \ | 33 | gomod://github.com/fogleman/gg;version=v1.3.0;sha256sum=792f7a3ea9eea31b7947dabaf9d5a307389245069078e4bf435d76cb0505439c \ |
| 34 | gomod://github.com/fxamacker/cbor/v2;version=v2.9.0;sha256sum=5b0ec6424bd522aeeeab30cbdcad6f40bf976a9a2ddf125ab27b97826140d97a \ | ||
| 24 | gomod://github.com/gaissmai/bart;version=v0.18.0;sha256sum=566f2401988b2536055d87f6851ea596518377ee4592176375b84a5ca791fc77 \ | 35 | gomod://github.com/gaissmai/bart;version=v0.18.0;sha256sum=566f2401988b2536055d87f6851ea596518377ee4592176375b84a5ca791fc77 \ |
| 25 | gomod://github.com/go-json-experiment/json;version=v0.0.0-20250223041408-d3c622f1b874;sha256sum=96edf3942a5665ff2b27f0da4586e2602fe4816dc31e184d3bcd6fbf4cdb13e4 \ | 36 | gomod://github.com/go-json-experiment/json;version=v0.0.0-20250813024750-ebf49471dced;sha256sum=e20ad9cf462e43db906cd2dc237061d6a5b575d10bd4ece52f1857b15a107006 \ |
| 26 | gomod://github.com/godbus/dbus/v5;version=v5.1.1-0.20230522191255-76236955d466;sha256sum=262f43ec87570238a0e770e7fa656dda70fe6050a7edf5addc30287cb64b21a6 \ | 37 | gomod://github.com/godbus/dbus/v5;version=v5.1.1-0.20230522191255-76236955d466;sha256sum=262f43ec87570238a0e770e7fa656dda70fe6050a7edf5addc30287cb64b21a6 \ |
| 27 | gomod://github.com/golang/groupcache;version=v0.0.0-20210331224755-41bb18bfe9da;sha256sum=b27034e8fc013627543e1ad098cfc65329f2896df3da5cf3266cc9166f93f3a5 \ | 38 | gomod://github.com/golang/freetype;version=v0.0.0-20170609003504-e2365dfdc4a0;sha256sum=cdcb9e6a14933dcbf167b44dcd5083fc6a2e52c4fae8fb79747c691efeb7d84e \ |
| 28 | gomod://github.com/google/btree;version=v1.1.2;sha256sum=faee8550c5fffb4ae1dadde5ccaccb13298726f9fad226bb4eed0c03c90a481d \ | 39 | gomod://github.com/golang/groupcache;version=v0.0.0-20241129210726-2c02b8208cf8;sha256sum=163367355442a630b12b0b452892cd98e99fcfdf7e40b68d358be73479cc1c23 \ |
| 40 | gomod://github.com/google/btree;version=v1.1.3;sha256sum=11b736bc8252b52fecdf346d3707ccf3a2b6d458ba21b4f843616fc12eeb30b2 \ | ||
| 29 | gomod://github.com/google/go-tpm;version=v0.9.4;sha256sum=a8a5e504fbd78284a50e6ab625f6248cfbb89421fafdfee71d66abc6e1dfc192 \ | 41 | gomod://github.com/google/go-tpm;version=v0.9.4;sha256sum=a8a5e504fbd78284a50e6ab625f6248cfbb89421fafdfee71d66abc6e1dfc192 \ |
| 30 | gomod://github.com/google/nftables;version=v0.2.1-0.20240414091927-5e242ec57806;sha256sum=ceb96b39a6f9004d8c217a6ae61b91a69c250bc30fbf3a04cd87cbbfddea73c8 \ | 42 | gomod://github.com/google/nftables;version=v0.2.1-0.20240414091927-5e242ec57806;sha256sum=ceb96b39a6f9004d8c217a6ae61b91a69c250bc30fbf3a04cd87cbbfddea73c8 \ |
| 31 | gomod://github.com/gorilla/csrf;version=v1.7.3;sha256sum=39923b0dde0b8be30d3572589a8cc2ea515ca36a3e542269645db36aff7d6842 \ | ||
| 32 | gomod://github.com/gorilla/securecookie;version=v1.1.2;sha256sum=fd7c0de7000c2e6a123d73e1249e1dce892ba29d2d03b00dc81d5fcee41d5895 \ | ||
| 33 | gomod://github.com/hdevalence/ed25519consensus;version=v0.2.0;sha256sum=111cafade3ba9c7c3adf66b6a424386e30829c46c60b80dabe288e1837d30e33 \ | 43 | gomod://github.com/hdevalence/ed25519consensus;version=v0.2.0;sha256sum=111cafade3ba9c7c3adf66b6a424386e30829c46c60b80dabe288e1837d30e33 \ |
| 44 | gomod://github.com/huin/goupnp;version=v1.3.0;sha256sum=df663b90b9b3bf16e1cfa810a6c3dd904993e8c1155dbf65566ce0361f163dce \ | ||
| 34 | gomod://github.com/illarion/gonotify/v3;version=v3.0.2;sha256sum=fef3e17f676c8ce98b60f0e2180fc4e3331e6e1604eaf96ab8791e073f96a7af \ | 45 | gomod://github.com/illarion/gonotify/v3;version=v3.0.2;sha256sum=fef3e17f676c8ce98b60f0e2180fc4e3331e6e1604eaf96ab8791e073f96a7af \ |
| 35 | gomod://github.com/insomniacslk/dhcp;version=v0.0.0-20231206064809-8c70d406f6d2;sha256sum=be28971fb642a9c4cf9f16e07332310af05c291584b6440b32849ca058dd345d \ | 46 | gomod://github.com/insomniacslk/dhcp;version=v0.0.0-20231206064809-8c70d406f6d2;sha256sum=be28971fb642a9c4cf9f16e07332310af05c291584b6440b32849ca058dd345d \ |
| 36 | gomod://github.com/jellydator/ttlcache/v3;version=v3.1.0;sha256sum=278dfc9b4882eaeb9b56e925b574028f3e9cc4436645b93f56ccb69de134a898 \ | 47 | gomod://github.com/jellydator/ttlcache/v3;version=v3.1.0;sha256sum=278dfc9b4882eaeb9b56e925b574028f3e9cc4436645b93f56ccb69de134a898 \ |
| 37 | gomod://github.com/jmespath/go-jmespath;version=v0.4.0;sha256sum=d1f77b6790d7c4321a74260f3675683d3ac06b0a614b5f83e870beae0a8b2867 \ | 48 | gomod://github.com/jmespath/go-jmespath;version=v0.4.0;sha256sum=d1f77b6790d7c4321a74260f3675683d3ac06b0a614b5f83e870beae0a8b2867 \ |
| 38 | gomod://github.com/jsimonetti/rtnetlink;version=v1.4.0;sha256sum=81625291f4d0a08718dfd2170873d1adfd8fc2248657584f520c4de6de9e2e4d \ | 49 | gomod://github.com/jsimonetti/rtnetlink;version=v1.4.0;sha256sum=81625291f4d0a08718dfd2170873d1adfd8fc2248657584f520c4de6de9e2e4d \ |
| 39 | gomod://github.com/kballard/go-shellquote;version=v0.0.0-20180428030007-95032a82bc51;sha256sum=ae4cb7b097dc4eb0c248dff00ed3bbf0f36984c4162ad1d615266084e58bd6cc \ | 50 | gomod://github.com/kballard/go-shellquote;version=v0.0.0-20180428030007-95032a82bc51;sha256sum=ae4cb7b097dc4eb0c248dff00ed3bbf0f36984c4162ad1d615266084e58bd6cc \ |
| 40 | gomod://github.com/klauspost/compress;version=v1.17.11;sha256sum=88dea800cc6a11ccb9dd2f0dd487f30e8701870abdfc11245e41dcfc9f3d428e \ | 51 | gomod://github.com/klauspost/compress;version=v1.18.2;sha256sum=f6f550ecff746f6585db9529a29109e70da0038a8e0e142959567f2207183490 \ |
| 41 | gomod://github.com/kortschak/wol;version=v0.0.0-20200729010619-da482cc4850a;sha256sum=09c15500a0ef54af0796f37282dd5377d2b866e4c36c87dcb6b2894cf3114dc5 \ | 52 | gomod://github.com/kortschak/wol;version=v0.0.0-20200729010619-da482cc4850a;sha256sum=09c15500a0ef54af0796f37282dd5377d2b866e4c36c87dcb6b2894cf3114dc5 \ |
| 42 | gomod://github.com/kr/fs;version=v0.1.0;sha256sum=d376bd98e81aea34585fc3b04bab76363e9e87cde69383964e57e9779f2af81e \ | 53 | gomod://github.com/kr/fs;version=v0.1.0;sha256sum=d376bd98e81aea34585fc3b04bab76363e9e87cde69383964e57e9779f2af81e \ |
| 43 | gomod://github.com/mattn/go-colorable;version=v0.1.13;sha256sum=08be322dcc584a9fcfde5caf0cf878b4e11cd98f252e32bc704e92c5a4ba9d15 \ | 54 | gomod://github.com/mattn/go-colorable;version=v0.1.13;sha256sum=08be322dcc584a9fcfde5caf0cf878b4e11cd98f252e32bc704e92c5a4ba9d15 \ |
| @@ -46,38 +57,39 @@ SRC_URI += " \ | |||
| 46 | gomod://github.com/mdlayher/netlink;version=v1.7.3-0.20250113171957-fbb4dce95f42;sha256sum=b427c8c746e87c2f8033678fb87cdcf5cefb21ce16f35930eff91683661395f0 \ | 57 | gomod://github.com/mdlayher/netlink;version=v1.7.3-0.20250113171957-fbb4dce95f42;sha256sum=b427c8c746e87c2f8033678fb87cdcf5cefb21ce16f35930eff91683661395f0 \ |
| 47 | gomod://github.com/mdlayher/sdnotify;version=v1.0.0;sha256sum=26f4efbcba73eaec323973c8ae335bad430e5d6947097976cfbe7c9547f68c90 \ | 58 | gomod://github.com/mdlayher/sdnotify;version=v1.0.0;sha256sum=26f4efbcba73eaec323973c8ae335bad430e5d6947097976cfbe7c9547f68c90 \ |
| 48 | gomod://github.com/mdlayher/socket;version=v0.5.0;sha256sum=931626341956178fe6015b128fdda22283480d05dc964675307eb61ed39c29fe \ | 59 | gomod://github.com/mdlayher/socket;version=v0.5.0;sha256sum=931626341956178fe6015b128fdda22283480d05dc964675307eb61ed39c29fe \ |
| 49 | gomod://github.com/miekg/dns;version=v1.1.58;sha256sum=179bd419d011fd90802355756f59fff70ddf9a5886a4db6336a6d05783552b16 \ | ||
| 50 | gomod://github.com/mitchellh/go-ps;version=v1.0.0;sha256sum=f2f0400b1d5e136419daed275c27a930b0f5447ac12bb8acd3ddbe39547b2834 \ | 60 | gomod://github.com/mitchellh/go-ps;version=v1.0.0;sha256sum=f2f0400b1d5e136419daed275c27a930b0f5447ac12bb8acd3ddbe39547b2834 \ |
| 51 | gomod://github.com/peterbourgon/ff/v3;version=v3.4.0;sha256sum=b49537268ce67eb755d773fdd2a3e1c9c6dec0731993a4f742080416eb9b12a6 \ | 61 | gomod://github.com/peterbourgon/ff/v3;version=v3.4.0;sha256sum=b49537268ce67eb755d773fdd2a3e1c9c6dec0731993a4f742080416eb9b12a6 \ |
| 52 | gomod://github.com/pierrec/lz4/v4;version=v4.1.21;sha256sum=bd2e8ef13800ca42205b0d4085a927a6d012b82cfa831769be4830036e953bec \ | 62 | gomod://github.com/pierrec/lz4/v4;version=v4.1.21;sha256sum=bd2e8ef13800ca42205b0d4085a927a6d012b82cfa831769be4830036e953bec \ |
| 63 | gomod://github.com/pires/go-proxyproto;version=v0.8.1;sha256sum=a979a2f26160bfcb6f3829dd546d5f53c8b1879e7ad84466e359cf3f6237aa4c \ | ||
| 53 | gomod://github.com/pkg/sftp;version=v1.13.6;sha256sum=0cdf6bd0edef9db8137ce398c9bbe514713e42cf2d4d415b5025f4a3c33f249d \ | 64 | gomod://github.com/pkg/sftp;version=v1.13.6;sha256sum=0cdf6bd0edef9db8137ce398c9bbe514713e42cf2d4d415b5025f4a3c33f249d \ |
| 54 | gomod://github.com/safchain/ethtool;version=v0.3.0;sha256sum=bfa1a3fe314a3f2ac4c4385a6c4694708e4881bfd86c34668eca92656e398590 \ | 65 | gomod://github.com/safchain/ethtool;version=v0.3.0;sha256sum=bfa1a3fe314a3f2ac4c4385a6c4694708e4881bfd86c34668eca92656e398590 \ |
| 55 | gomod://github.com/skip2/go-qrcode;version=v0.0.0-20200617195104-da1b6568686e;sha256sum=3fc1c4d11c79001d1cc2df0de87493b324b9af141cc59ae8c212612dd2c90e90 \ | 66 | gomod://github.com/skip2/go-qrcode;version=v0.0.0-20200617195104-da1b6568686e;sha256sum=3fc1c4d11c79001d1cc2df0de87493b324b9af141cc59ae8c212612dd2c90e90 \ |
| 56 | gomod://github.com/tailscale/goupnp;version=v1.0.1-0.20210804011211-c64d0f06ea05;sha256sum=1c7ed6ecc16b6f402c225bae88a067a8bc1574cded894638b820c5da751823cc \ | ||
| 57 | gomod://github.com/tailscale/hujson;version=v0.0.0-20221223112325-20486734a56a;sha256sum=8e65bacebfc0a1edc067fd97f839fcfeb93c1e7b8cc0186d1773cff4e125d9d5 \ | 67 | gomod://github.com/tailscale/hujson;version=v0.0.0-20221223112325-20486734a56a;sha256sum=8e65bacebfc0a1edc067fd97f839fcfeb93c1e7b8cc0186d1773cff4e125d9d5 \ |
| 58 | gomod://github.com/tailscale/netlink;version=v1.1.1-0.20240822203006-4d49adab4de7;sha256sum=a5195ef600f8d9a0fb8501eea85e4fe0321a74bd57dec88f07b8569d0ee4f55e \ | 68 | gomod://github.com/tailscale/netlink;version=v1.1.1-0.20240822203006-4d49adab4de7;sha256sum=a5195ef600f8d9a0fb8501eea85e4fe0321a74bd57dec88f07b8569d0ee4f55e \ |
| 59 | gomod://github.com/tailscale/peercred;version=v0.0.0-20250107143737-35a0c7bd7edc;sha256sum=87d0f4f3b1d59ea45c9a87b775b615bebd721a5870dafedc63cc860ec4aac281 \ | 69 | gomod://github.com/tailscale/peercred;version=v0.0.0-20250107143737-35a0c7bd7edc;sha256sum=87d0f4f3b1d59ea45c9a87b775b615bebd721a5870dafedc63cc860ec4aac281 \ |
| 60 | gomod://github.com/tailscale/web-client-prebuilt;version=v0.0.0-20250124233751-d4cd19a26976;sha256sum=1d02f0804bb41e0743b7d889b8e2dbd8466a89793f03997f4c1fd10f9e8974c3 \ | 70 | gomod://github.com/tailscale/web-client-prebuilt;version=v0.0.0-20250124233751-d4cd19a26976;sha256sum=1d02f0804bb41e0743b7d889b8e2dbd8466a89793f03997f4c1fd10f9e8974c3 \ |
| 61 | gomod://github.com/tailscale/wireguard-go;version=v0.0.0-20250304000100-91a0587fb251;sha256sum=7b82eb990f2f3686d335cdff5e988f8d4e27e031d563fb0e37bce1a3b0c5a83f \ | 71 | gomod://github.com/tailscale/wireguard-go;version=v0.0.0-20250716170648-1d0488a3d7da;sha256sum=1f2957ab7cac9bc031c570ce8420b100171f5068bd5feee084bf6bccdfc9740d \ |
| 62 | gomod://github.com/tailscale/xnet;version=v0.0.0-20240729143630-8497ac4dab2e;sha256sum=438abf28ce5fb03adf529c2cb57a451f9b243c4a2a181d9d06cdb61bb10960e7 \ | 72 | gomod://github.com/tailscale/xnet;version=v0.0.0-20240729143630-8497ac4dab2e;sha256sum=438abf28ce5fb03adf529c2cb57a451f9b243c4a2a181d9d06cdb61bb10960e7 \ |
| 63 | gomod://github.com/toqueteos/webbrowser;version=v1.2.0;sha256sum=1227d3ebeab16d8232a304a10b087984a96ad30f7439b6687bab2f5747d308cf \ | 73 | gomod://github.com/toqueteos/webbrowser;version=v1.2.0;sha256sum=1227d3ebeab16d8232a304a10b087984a96ad30f7439b6687bab2f5747d308cf \ |
| 64 | gomod://github.com/u-root/u-root;version=v0.14.0;sha256sum=a65c0a06236b10a0cea50e603fef0ced0c7e343a66ef957a45ebcd51f304d286 \ | 74 | gomod://github.com/u-root/u-root;version=v0.14.0;sha256sum=a65c0a06236b10a0cea50e603fef0ced0c7e343a66ef957a45ebcd51f304d286 \ |
| 65 | gomod://github.com/u-root/uio;version=v0.0.0-20240224005618-d2acac8f3701;sha256sum=f6e8f912e968744999d508c3df54f0308aaf337052a8d0bd3edd72583adfd9cd \ | 75 | gomod://github.com/u-root/uio;version=v0.0.0-20240224005618-d2acac8f3701;sha256sum=f6e8f912e968744999d508c3df54f0308aaf337052a8d0bd3edd72583adfd9cd \ |
| 66 | gomod://github.com/vishvananda/netns;version=v0.0.4;sha256sum=cdaebcd80614800a74537e59855730d42393ffc109ebd47e5b8437dcc4d7f429 \ | 76 | gomod://github.com/vishvananda/netns;version=v0.0.5;sha256sum=07804b88c922c2a6780efe392ffef9d126eac584384eb3eb17bcadd34cfa9422 \ |
| 67 | gomod://github.com/x448/float16;version=v0.8.4;sha256sum=73b24a41037ea999ab66851e3798a0973dbb1f214925915b01f0820f7b2f1500 \ | 77 | gomod://github.com/x448/float16;version=v0.8.4;sha256sum=73b24a41037ea999ab66851e3798a0973dbb1f214925915b01f0820f7b2f1500 \ |
| 78 | gomod://go.yaml.in/yaml/v2;version=v2.4.2;sha256sum=ed63e181cbb5a991c104639b0e6d48d45fd951f22b47d4c5d1a36156d8ed06ee \ | ||
| 68 | gomod://go4.org/mem;version=v0.0.0-20240501181205-ae6ca9944745;sha256sum=9b5037a57122457fdc5c2c0a31e3996b44cf9dfcdee5c53ed72adfd88d077795 \ | 79 | gomod://go4.org/mem;version=v0.0.0-20240501181205-ae6ca9944745;sha256sum=9b5037a57122457fdc5c2c0a31e3996b44cf9dfcdee5c53ed72adfd88d077795 \ |
| 69 | gomod://go4.org/netipx;version=v0.0.0-20231129151722-fdeea329fbba;sha256sum=e15f57de368c92b826010181906f26112ba3a0d7fde7d94c8a8c60c525dc4044 \ | 80 | gomod://go4.org/netipx;version=v0.0.0-20231129151722-fdeea329fbba;sha256sum=e15f57de368c92b826010181906f26112ba3a0d7fde7d94c8a8c60c525dc4044 \ |
| 70 | gomod://golang.org/x/crypto;version=v0.37.0;sha256sum=7ce6b2be21be1ce9e04dc784830e08931f09b5903596b8017839322c9e828667 \ | 81 | gomod://golang.org/x/crypto;version=v0.46.0;sha256sum=5f2921ccdf7252ffbe26046948c6044ab0917e500a34710e0ba6664260d6a460 \ |
| 71 | gomod://golang.org/x/exp;version=v0.0.0-20250210185358-939b2ce775ac;sha256sum=de413a97994a7b97541cb1f867439fa20b60361d79dc35e8e2faf847a2a188df \ | 82 | gomod://golang.org/x/exp;version=v0.0.0-20250620022241-b7579e27df2b;sha256sum=fdaae8f1b98727b49d10228492b2dee1b8c68d12f640a4f17f0fb175581bf547 \ |
| 72 | gomod://golang.org/x/net;version=v0.36.0;sha256sum=e823a351657b349cd8a705079778769534d90a5c3a6c7caed174a79608257d12 \ | 83 | gomod://golang.org/x/image;version=v0.27.0;sha256sum=db4846c8edb8cdcb556d205840361f62382df9bd5946b756e700c5fb43d90332 \ |
| 73 | gomod://golang.org/x/oauth2;version=v0.26.0;sha256sum=d4c1bfc661b8ff3ccb3d5d30babf5f67798b59e2bfa932b6f1f739e67e45dcda \ | 84 | gomod://golang.org/x/net;version=v0.48.0;sha256sum=cf5206797e66bbe72fc13542d53a57d069a563cebb6d045c07a870eb4fd888c9 \ |
| 74 | gomod://golang.org/x/sync;version=v0.13.0;sha256sum=4bdaaffe69cc7c997cff97cd81dc9c6777777bd311175f100f76b049bbbe7ed9 \ | 85 | gomod://golang.org/x/oauth2;version=v0.32.0;sha256sum=64c855b335cc2e90b2d88c1fe6c3a31de53c3ca76fc9c89e6ce266c7334b768b \ |
| 75 | gomod://golang.org/x/sys;version=v0.32.0;sha256sum=85d47075d21fd7ef35d9a47fc73f2356fb3cd2e7fab7f45c874b814bf312127d \ | 86 | gomod://golang.org/x/sync;version=v0.19.0;sha256sum=25211fe2cffd8020bb405b9adb7a90f5e06760f2818b8fb2e74aaaa21a66ed9e \ |
| 76 | gomod://golang.org/x/term;version=v0.31.0;sha256sum=bdeda753791b44f6815ccf3367ff57ffaca9bb100bfe8ebe112c8da133e78aec \ | 87 | gomod://golang.org/x/sys;version=v0.40.0;sha256sum=d7f9fe44300fc8d47b30d06cd001d9c62c54c6119818a19a2e33a93538971669 \ |
| 77 | gomod://golang.org/x/text;version=v0.24.0;sha256sum=f585335a57a6fa5fa0c0bf319b45f0909e5ff1aba91e8567187ba8e423084c00 \ | 88 | gomod://golang.org/x/term;version=v0.38.0;sha256sum=00cec8beae98bb5a15c9ee9e8e705b7cab9c50269e7858bff98df0533b317363 \ |
| 78 | gomod://golang.org/x/time;version=v0.10.0;sha256sum=7420a12017bb47bd85ccab81f9d1f7a3ff6daf8da768256292bc1dbb3bf9ba63 \ | 89 | gomod://golang.org/x/text;version=v0.32.0;sha256sum=bc6c70d37c37bc625a83abd48ee32372b459a8c559a1cf5f25dfbf7c7941f81b \ |
| 90 | gomod://golang.org/x/time;version=v0.12.0;sha256sum=cdcb04c43b112919c5e0d0fa1d90769124ad56918a44e6cb0747876ed7e5015c \ | ||
| 79 | gomod://gvisor.dev/gvisor;version=v0.0.0-20250205023644-9414b50a5633;sha256sum=b373e677e77f28c095b43ed976f5d9ca885d3b1b5407a71a5691e4a47e813bd0 \ | 91 | gomod://gvisor.dev/gvisor;version=v0.0.0-20250205023644-9414b50a5633;sha256sum=b373e677e77f28c095b43ed976f5d9ca885d3b1b5407a71a5691e4a47e813bd0 \ |
| 80 | gomod://k8s.io/client-go;version=v0.32.0;sha256sum=74ee50d42da263c0743212c17a12f16d8a3283f31f7c9209c6327b6656ac1550 \ | 92 | gomod://k8s.io/client-go;version=v0.34.0;sha256sum=3ede34d9df9dcb02779a631ca9c653f92db3714ee887c6fdd86a66bc4889d2c0 \ |
| 81 | gomod://sigs.k8s.io/yaml;version=v1.4.0;sha256sum=ef031ff78ff9b7036e174eef49dfbd77468dc4f0afb73a639b61f8ab3a1cc425 \ | 93 | gomod://sigs.k8s.io/yaml;version=v1.6.0;sha256sum=cf88648a471581817b00a42ee8d24fd73eb0e3503998cf46d8e63787e11e5052 \ |
| 82 | gomod://software.sslmate.com/src/go-pkcs12;version=v0.4.0;sha256sum=55019a391e5302a51ba62e98909e006224b81207866da90beaf582ec0dee036f \ | 94 | gomod://software.sslmate.com/src/go-pkcs12;version=v0.4.0;sha256sum=55019a391e5302a51ba62e98909e006224b81207866da90beaf582ec0dee036f \ |
| 83 | " | 95 | " |
diff --git a/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc b/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc index 53d46dd45c..f1adacfc09 100644 --- a/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc +++ b/meta-networking/recipes-connectivity/tailscale/tailscale-licenses.inc | |||
| @@ -1,43 +1,60 @@ | |||
| 1 | LIC_FILES_CHKSUM += " \ | 1 | |
| 2 | # This file has been generated by go-mod-update-modules.bbclass | ||
| 3 | # | ||
| 4 | # Unknown licenses have been checked manually and completed. | ||
| 5 | # | ||
| 6 | |||
| 7 | LICENSE += "& Apache-2.0 & BSD-2-Clause & BSD-3-Clause & ISC & MIT" | ||
| 8 | |||
| 9 | LIC_FILES_CHKSUM += "\ | ||
| 2 | file://pkg/mod/filippo.io/edwards25519@v1.1.0/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707;spdx=BSD-3-Clause \ | 10 | file://pkg/mod/filippo.io/edwards25519@v1.1.0/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707;spdx=BSD-3-Clause \ |
| 11 | file://pkg/mod/fyne.io/systray@v1.11.1-0.20250812065214-4856ac3adc3c/LICENSE;md5=a2be13cb34e811436f5388f0a19cc0b0;spdx=Apache-2.0 \ | ||
| 12 | file://pkg/mod/github.com/!kodeworks/golang-image-ico@v0.0.0-20141118225523-73f0f4cfade9/LICENSE;md5=591778525c869cdde0ab5a1bf283cd81;spdx=BSD-3-Clause \ | ||
| 3 | file://pkg/mod/github.com/anmitsu/go-shlex@v0.0.0-20200514113438-38f4b401e2be/LICENSE;md5=45a47c50f5b33ff9ab3347c7db1bfb6a;spdx=MIT \ | 13 | file://pkg/mod/github.com/anmitsu/go-shlex@v0.0.0-20200514113438-38f4b401e2be/LICENSE;md5=45a47c50f5b33ff9ab3347c7db1bfb6a;spdx=MIT \ |
| 4 | file://pkg/mod/github.com/aws/aws-sdk-go-v2@v1.36.0/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 14 | file://pkg/mod/github.com/atotto/clipboard@v0.1.4/LICENSE;md5=489200b65f13bcbcb890a96b99a58a6f;spdx=BSD-3-Clause \ |
| 5 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/config@v1.29.5/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 15 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/config@v1.29.5/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 6 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/credentials@v1.17.58/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 16 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/credentials@v1.17.58/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 7 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.16.27/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 17 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.16.27/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 8 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.3.31/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 18 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.16/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 9 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.6.31/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 19 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.16/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 10 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.2/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 20 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.2/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 11 | 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 \ | 21 | 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 \ |
| 12 | 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 \ | 22 | 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 \ |
| 13 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/ssm@v1.44.7/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 23 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/ssm@v1.44.7/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 14 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/sso@v1.24.14/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 24 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/sso@v1.24.14/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 15 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.28.13/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 25 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.28.13/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 16 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/sts@v1.33.13/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 26 | file://pkg/mod/github.com/aws/aws-sdk-go-v2/service/sts@v1.41.5/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 17 | file://pkg/mod/github.com/aws/smithy-go@v1.22.2/LICENSE;md5=34400b68072d710fecd0a2940a0d1658;spdx=Apache-2.0 \ | 27 | file://pkg/mod/github.com/aws/aws-sdk-go-v2@v1.41.0/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 28 | file://pkg/mod/github.com/aws/aws-sdk-go-v2@v1.41.0/internal/sync/singleflight/LICENSE;md5=bdc234595bc2fe370918f5de5077c8e9;spdx=BSD-3-Clause \ | ||
| 29 | file://pkg/mod/github.com/aws/smithy-go@v1.24.0/LICENSE;md5=34400b68072d710fecd0a2940a0d1658;spdx=Apache-2.0 \ | ||
| 30 | file://pkg/mod/github.com/aws/smithy-go@v1.24.0/internal/sync/singleflight/LICENSE;md5=bdc234595bc2fe370918f5de5077c8e9;spdx=BSD-3-Clause \ | ||
| 18 | file://pkg/mod/github.com/coder/websocket@v1.8.12/LICENSE.txt;md5=bc0b6f68116166556efe7184edfda3e9;spdx=ISC \ | 31 | file://pkg/mod/github.com/coder/websocket@v1.8.12/LICENSE.txt;md5=bc0b6f68116166556efe7184edfda3e9;spdx=ISC \ |
| 19 | file://pkg/mod/github.com/coreos/go-iptables@v0.7.1-0.20240112124308-65c67c9f46e6/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ | 32 | file://pkg/mod/github.com/coreos/go-iptables@v0.7.1-0.20240112124308-65c67c9f46e6/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ |
| 33 | file://pkg/mod/github.com/creachadair/msync@v0.7.1/LICENSE;md5=b8be277519c5ee121454d43de171668a;spdx=BSD-3-Clause \ | ||
| 20 | file://pkg/mod/github.com/creack/pty@v1.1.23/LICENSE;md5=93958070863d769117fa33b129020050;spdx=MIT \ | 34 | file://pkg/mod/github.com/creack/pty@v1.1.23/LICENSE;md5=93958070863d769117fa33b129020050;spdx=MIT \ |
| 21 | file://pkg/mod/github.com/digitalocean/go-smbios@v0.0.0-20180907143718-390a4f403a8e/LICENSE.md;md5=c1653934903ab2785c09c2bdd7344526;spdx=Apache-2.0 \ | 35 | file://pkg/mod/github.com/digitalocean/go-smbios@v0.0.0-20180907143718-390a4f403a8e/LICENSE.md;md5=c1653934903ab2785c09c2bdd7344526;spdx=Apache-2.0 \ |
| 22 | file://pkg/mod/github.com/djherbis/times@v1.6.0/LICENSE;md5=3cafd141825e7a44b1c6a047b2320012;spdx=MIT \ | 36 | file://pkg/mod/github.com/djherbis/times@v1.6.0/LICENSE;md5=3cafd141825e7a44b1c6a047b2320012;spdx=MIT \ |
| 23 | file://pkg/mod/github.com/fxamacker/cbor/v2@v2.7.0/LICENSE;md5=827f5a2fa861382d35a3943adf9ebb86;spdx=MIT \ | 37 | file://pkg/mod/github.com/fogleman/gg@v1.3.0/LICENSE.md;md5=1630f0e1bac38694fdc4dcb6a9218f4a;spdx=MIT \ |
| 38 | file://pkg/mod/github.com/fxamacker/cbor/v2@v2.9.0/LICENSE;md5=827f5a2fa861382d35a3943adf9ebb86;spdx=MIT \ | ||
| 24 | file://pkg/mod/github.com/gaissmai/bart@v0.18.0/LICENSE;md5=05779e437ec35570aca43cc66a95e056;spdx=MIT \ | 39 | file://pkg/mod/github.com/gaissmai/bart@v0.18.0/LICENSE;md5=05779e437ec35570aca43cc66a95e056;spdx=MIT \ |
| 25 | file://pkg/mod/github.com/go-json-experiment/json@v0.0.0-20250223041408-d3c622f1b874/LICENSE;md5=9d210c7471ce08e3db5261f33bf8fce6;spdx=BSD-3-Clause \ | 40 | file://pkg/mod/github.com/go-json-experiment/json@v0.0.0-20250813024750-ebf49471dced/LICENSE;md5=9d210c7471ce08e3db5261f33bf8fce6;spdx=BSD-3-Clause \ |
| 26 | file://pkg/mod/github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/LICENSE;md5=09042bd5c6c96a2b9e45ddf1bc517eed;spdx=BSD-2-Clause \ | 41 | file://pkg/mod/github.com/godbus/dbus/v5@v5.1.1-0.20230522191255-76236955d466/LICENSE;md5=09042bd5c6c96a2b9e45ddf1bc517eed;spdx=BSD-2-Clause \ |
| 27 | file://pkg/mod/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ | 42 | file://pkg/mod/github.com/golang/freetype@v0.0.0-20170609003504-e2365dfdc4a0/LICENSE;md5=8e050e4860234723098ceeefa49edd05;spdx=BSD-3-Clause \ |
| 28 | file://pkg/mod/github.com/google/btree@v1.1.2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 43 | file://pkg/mod/github.com/golang/groupcache@v0.0.0-20241129210726-2c02b8208cf8/LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5;spdx=Apache-2.0 \ |
| 44 | file://pkg/mod/github.com/google/btree@v1.1.3/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | ||
| 29 | file://pkg/mod/github.com/google/go-tpm@v0.9.4/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 45 | file://pkg/mod/github.com/google/go-tpm@v0.9.4/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 30 | file://pkg/mod/github.com/google/nftables@v0.2.1-0.20240414091927-5e242ec57806/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 46 | file://pkg/mod/github.com/google/nftables@v0.2.1-0.20240414091927-5e242ec57806/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 31 | file://pkg/mod/github.com/gorilla/csrf@v1.7.3/LICENSE;md5=c30eee78985cf2584cded5f89ba3d787;spdx=BSD-3-Clause \ | ||
| 32 | file://pkg/mod/github.com/gorilla/securecookie@v1.1.2/LICENSE;md5=c30eee78985cf2584cded5f89ba3d787;spdx=BSD-3-Clause \ | ||
| 33 | file://pkg/mod/github.com/hdevalence/ed25519consensus@v0.2.0/LICENSE;md5=4041895a1f717acb5be52e24edb19917;spdx=BSD-3-Clause \ | 47 | file://pkg/mod/github.com/hdevalence/ed25519consensus@v0.2.0/LICENSE;md5=4041895a1f717acb5be52e24edb19917;spdx=BSD-3-Clause \ |
| 48 | file://pkg/mod/github.com/huin/goupnp@v1.3.0/LICENSE;md5=3d7eee8afacfccb446c1ac30289c965d;spdx=BSD-2-Clause \ | ||
| 34 | file://pkg/mod/github.com/illarion/gonotify/v3@v3.0.2/LICENSE;md5=6b631a3123c7c679195702a8a35c9f21;spdx=MIT \ | 49 | file://pkg/mod/github.com/illarion/gonotify/v3@v3.0.2/LICENSE;md5=6b631a3123c7c679195702a8a35c9f21;spdx=MIT \ |
| 35 | file://pkg/mod/github.com/insomniacslk/dhcp@v0.0.0-20231206064809-8c70d406f6d2/LICENSE;md5=ceaf33b8b657b2d342dbd3bb59578d8a;spdx=BSD-3-Clause \ | 50 | file://pkg/mod/github.com/insomniacslk/dhcp@v0.0.0-20231206064809-8c70d406f6d2/LICENSE;md5=ceaf33b8b657b2d342dbd3bb59578d8a;spdx=BSD-3-Clause \ |
| 36 | file://pkg/mod/github.com/jellydator/ttlcache/v3@v3.1.0/LICENSE;md5=4cea77626c625d583c98a85a8658f9d2;spdx=MIT \ | 51 | file://pkg/mod/github.com/jellydator/ttlcache/v3@v3.1.0/LICENSE;md5=4cea77626c625d583c98a85a8658f9d2;spdx=MIT \ |
| 37 | file://pkg/mod/github.com/jmespath/go-jmespath@v0.4.0/LICENSE;md5=9abfa8353fce3f2cb28364e1e9016852;spdx=Apache-2.0 \ | 52 | file://pkg/mod/github.com/jmespath/go-jmespath@v0.4.0/LICENSE;md5=9abfa8353fce3f2cb28364e1e9016852;spdx=Apache-2.0 \ |
| 38 | file://pkg/mod/github.com/jsimonetti/rtnetlink@v1.4.0/LICENSE.md;md5=75a8090d4c02945ad9d61c7cce77ed48;spdx=MIT \ | 53 | file://pkg/mod/github.com/jsimonetti/rtnetlink@v1.4.0/LICENSE.md;md5=75a8090d4c02945ad9d61c7cce77ed48;spdx=MIT \ |
| 39 | file://pkg/mod/github.com/kballard/go-shellquote@v0.0.0-20180428030007-95032a82bc51/LICENSE;md5=9d95d1ad917c814c23909addb8692eeb;spdx=MIT \ | 54 | file://pkg/mod/github.com/kballard/go-shellquote@v0.0.0-20180428030007-95032a82bc51/LICENSE;md5=9d95d1ad917c814c23909addb8692eeb;spdx=MIT \ |
| 40 | file://pkg/mod/github.com/klauspost/compress@v1.17.11/LICENSE;md5=d0fd9ebda39468b51ff4539c9fbb13a8;spdx=BSD-3-Clause \ | 55 | file://pkg/mod/github.com/klauspost/compress@v1.18.2/LICENSE;md5=d0fd9ebda39468b51ff4539c9fbb13a8;spdx=BSD-3-Clause \ |
| 56 | file://pkg/mod/github.com/klauspost/compress@v1.18.2/internal/snapref/LICENSE;md5=b8b79c7d4cda128290b98c6a21f9aac6;spdx=BSD-3-Clause \ | ||
| 57 | file://pkg/mod/github.com/klauspost/compress@v1.18.2/zstd/internal/xxhash/LICENSE.txt;md5=802da049c92a99b4387d3f3d91b00fa9;spdx=MIT \ | ||
| 41 | file://pkg/mod/github.com/kortschak/wol@v0.0.0-20200729010619-da482cc4850a/LICENSE;md5=5a0acdb344844a21e2df8bc2e1fe5f2d;spdx=BSD-3-Clause \ | 58 | file://pkg/mod/github.com/kortschak/wol@v0.0.0-20200729010619-da482cc4850a/LICENSE;md5=5a0acdb344844a21e2df8bc2e1fe5f2d;spdx=BSD-3-Clause \ |
| 42 | file://pkg/mod/github.com/kr/fs@v0.1.0/LICENSE;md5=591778525c869cdde0ab5a1bf283cd81;spdx=BSD-3-Clause \ | 59 | file://pkg/mod/github.com/kr/fs@v0.1.0/LICENSE;md5=591778525c869cdde0ab5a1bf283cd81;spdx=BSD-3-Clause \ |
| 43 | file://pkg/mod/github.com/mattn/go-colorable@v0.1.13/LICENSE;md5=24ce168f90aec2456a73de1839037245;spdx=MIT \ | 60 | file://pkg/mod/github.com/mattn/go-colorable@v0.1.13/LICENSE;md5=24ce168f90aec2456a73de1839037245;spdx=MIT \ |
| @@ -46,40 +63,39 @@ LIC_FILES_CHKSUM += " \ | |||
| 46 | file://pkg/mod/github.com/mdlayher/netlink@v1.7.3-0.20250113171957-fbb4dce95f42/LICENSE.md;md5=e08504321a9b3e86ee07433c231b33f1;spdx=MIT \ | 63 | file://pkg/mod/github.com/mdlayher/netlink@v1.7.3-0.20250113171957-fbb4dce95f42/LICENSE.md;md5=e08504321a9b3e86ee07433c231b33f1;spdx=MIT \ |
| 47 | file://pkg/mod/github.com/mdlayher/sdnotify@v1.0.0/LICENSE.md;md5=a57b2e272a0c75c413c784bb877cda50;spdx=MIT \ | 64 | file://pkg/mod/github.com/mdlayher/sdnotify@v1.0.0/LICENSE.md;md5=a57b2e272a0c75c413c784bb877cda50;spdx=MIT \ |
| 48 | file://pkg/mod/github.com/mdlayher/socket@v0.5.0/LICENSE.md;md5=bdcb2fcb7aea8a34d189ef572a59ff88;spdx=MIT \ | 65 | file://pkg/mod/github.com/mdlayher/socket@v0.5.0/LICENSE.md;md5=bdcb2fcb7aea8a34d189ef572a59ff88;spdx=MIT \ |
| 49 | file://pkg/mod/github.com/miekg/dns@v1.1.58/LICENSE;md5=b5215dfec2c591290f399a181669bef7;spdx=BSD-3-Clause \ | ||
| 50 | file://pkg/mod/github.com/mitchellh/go-ps@v1.0.0/LICENSE.md;md5=56da355a12d4821cda57b8f23ec34bc4;spdx=MIT \ | 66 | file://pkg/mod/github.com/mitchellh/go-ps@v1.0.0/LICENSE.md;md5=56da355a12d4821cda57b8f23ec34bc4;spdx=MIT \ |
| 51 | file://pkg/mod/github.com/peterbourgon/ff/v3@v3.4.0/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e;spdx=Apache-2.0 \ | 67 | file://pkg/mod/github.com/peterbourgon/ff/v3@v3.4.0/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e;spdx=Apache-2.0 \ |
| 52 | file://pkg/mod/github.com/pierrec/lz4/v4@v4.1.21/LICENSE;md5=09ece85f3c312a63b522bfc6ebd44943;spdx=BSD-3-Clause \ | 68 | file://pkg/mod/github.com/pierrec/lz4/v4@v4.1.21/LICENSE;md5=09ece85f3c312a63b522bfc6ebd44943;spdx=BSD-3-Clause \ |
| 69 | file://pkg/mod/github.com/pires/go-proxyproto@v0.8.1/LICENSE;md5=ebfe2201eab4c067477cc534908ac12f;spdx=Apache-2.0 \ | ||
| 53 | file://pkg/mod/github.com/pkg/sftp@v1.13.6/LICENSE;md5=452fc5cc5a9127a0e828d73423d45035;spdx=BSD-2-Clause \ | 70 | file://pkg/mod/github.com/pkg/sftp@v1.13.6/LICENSE;md5=452fc5cc5a9127a0e828d73423d45035;spdx=BSD-2-Clause \ |
| 54 | file://pkg/mod/github.com/safchain/ethtool@v0.3.0/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc;spdx=Apache-2.0 \ | 71 | file://pkg/mod/github.com/safchain/ethtool@v0.3.0/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc;spdx=Apache-2.0 \ |
| 55 | file://pkg/mod/github.com/skip2/go-qrcode@v0.0.0-20200617195104-da1b6568686e/LICENSE;md5=515c25e1450ede2834397875c18439d4;spdx=MIT \ | 72 | file://pkg/mod/github.com/skip2/go-qrcode@v0.0.0-20200617195104-da1b6568686e/LICENSE;md5=515c25e1450ede2834397875c18439d4;spdx=MIT \ |
| 56 | file://pkg/mod/github.com/tailscale/goupnp@v1.0.1-0.20210804011211-c64d0f06ea05/LICENSE;md5=3d7eee8afacfccb446c1ac30289c965d;spdx=BSD-2-Clause \ | ||
| 57 | file://pkg/mod/github.com/tailscale/hujson@v0.0.0-20221223112325-20486734a56a/LICENSE;md5=073f7ac93b9172ac4e1d258584fc0271;spdx=BSD-3-Clause \ | 73 | file://pkg/mod/github.com/tailscale/hujson@v0.0.0-20221223112325-20486734a56a/LICENSE;md5=073f7ac93b9172ac4e1d258584fc0271;spdx=BSD-3-Clause \ |
| 58 | file://pkg/mod/github.com/tailscale/netlink@v1.1.1-0.20240822203006-4d49adab4de7/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ | 74 | file://pkg/mod/github.com/tailscale/netlink@v1.1.1-0.20240822203006-4d49adab4de7/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ |
| 59 | file://pkg/mod/github.com/tailscale/peercred@v0.0.0-20250107143737-35a0c7bd7edc/LICENSE;md5=94eaeed21686fd9816f57f86b9914071;spdx=BSD-3-Clause \ | 75 | file://pkg/mod/github.com/tailscale/peercred@v0.0.0-20250107143737-35a0c7bd7edc/LICENSE;md5=94eaeed21686fd9816f57f86b9914071;spdx=BSD-3-Clause \ |
| 60 | file://pkg/mod/github.com/tailscale/web-client-prebuilt@v0.0.0-20250124233751-d4cd19a26976/LICENSE;md5=a672713a9eb730050e491c92edf7984d;spdx=BSD-3-Clause \ | 76 | file://pkg/mod/github.com/tailscale/web-client-prebuilt@v0.0.0-20250124233751-d4cd19a26976/LICENSE;md5=a672713a9eb730050e491c92edf7984d;spdx=BSD-3-Clause \ |
| 61 | file://pkg/mod/github.com/tailscale/wireguard-go@v0.0.0-20250304000100-91a0587fb251/LICENSE;md5=995598bc9de2b4c987c2cb87fc24f341;spdx=MIT \ | 77 | file://pkg/mod/github.com/tailscale/wireguard-go@v0.0.0-20250716170648-1d0488a3d7da/LICENSE;md5=995598bc9de2b4c987c2cb87fc24f341;spdx=MIT \ |
| 62 | file://pkg/mod/github.com/tailscale/xnet@v0.0.0-20240729143630-8497ac4dab2e/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707;spdx=BSD-3-Clause \ | 78 | file://pkg/mod/github.com/tailscale/xnet@v0.0.0-20240729143630-8497ac4dab2e/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707;spdx=BSD-3-Clause \ |
| 63 | file://pkg/mod/github.com/toqueteos/webbrowser@v1.2.0/LICENSE.md;md5=6072d29ffa4b14338ff8fd68f17f6851;spdx=MIT \ | 79 | file://pkg/mod/github.com/toqueteos/webbrowser@v1.2.0/LICENSE.md;md5=6072d29ffa4b14338ff8fd68f17f6851;spdx=MIT \ |
| 64 | file://pkg/mod/github.com/u-root/u-root@v0.14.0/LICENSE;md5=bf431bf303eaf01f17bef6624d9f2208;spdx=BSD-3-Clause \ | 80 | file://pkg/mod/github.com/u-root/u-root@v0.14.0/LICENSE;md5=bf431bf303eaf01f17bef6624d9f2208;spdx=BSD-3-Clause \ |
| 65 | file://pkg/mod/github.com/u-root/uio@v0.0.0-20240224005618-d2acac8f3701/LICENSE;md5=52bf39fc1e426b6459f5c9a142e5bfbd;spdx=BSD-3-Clause \ | 81 | file://pkg/mod/github.com/u-root/uio@v0.0.0-20240224005618-d2acac8f3701/LICENSE;md5=52bf39fc1e426b6459f5c9a142e5bfbd;spdx=BSD-3-Clause \ |
| 66 | file://pkg/mod/github.com/vishvananda/netns@v0.0.4/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ | 82 | file://pkg/mod/github.com/vishvananda/netns@v0.0.5/LICENSE;md5=2ade771c7d7211af507864e8dd520529;spdx=Apache-2.0 \ |
| 67 | file://pkg/mod/github.com/x448/float16@v0.8.4/LICENSE;md5=de8f8e025d57fe7ee0b67f30d571323b;spdx=MIT \ | 83 | file://pkg/mod/github.com/x448/float16@v0.8.4/LICENSE;md5=de8f8e025d57fe7ee0b67f30d571323b;spdx=MIT \ |
| 84 | file://pkg/mod/go.yaml.in/yaml/v2@v2.4.2/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e;spdx=Apache-2.0 \ | ||
| 68 | file://pkg/mod/go4.org/mem@v0.0.0-20240501181205-ae6ca9944745/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc;spdx=Apache-2.0 \ | 85 | file://pkg/mod/go4.org/mem@v0.0.0-20240501181205-ae6ca9944745/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc;spdx=Apache-2.0 \ |
| 69 | file://pkg/mod/go4.org/netipx@v0.0.0-20231129151722-fdeea329fbba/LICENSE;md5=628df198dc9e033b86b8eedff039ff86;spdx=BSD-3-Clause \ | 86 | file://pkg/mod/go4.org/netipx@v0.0.0-20231129151722-fdeea329fbba/LICENSE;md5=628df198dc9e033b86b8eedff039ff86;spdx=BSD-3-Clause \ |
| 70 | file://pkg/mod/golang.org/x/crypto@v0.37.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 87 | file://pkg/mod/golang.org/x/crypto@v0.46.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 71 | file://pkg/mod/golang.org/x/exp@v0.0.0-20250210185358-939b2ce775ac/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 88 | file://pkg/mod/golang.org/x/exp@v0.0.0-20250620022241-b7579e27df2b/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 72 | file://pkg/mod/golang.org/x/net@v0.36.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 89 | file://pkg/mod/golang.org/x/image@v0.27.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 73 | file://pkg/mod/golang.org/x/oauth2@v0.26.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 90 | file://pkg/mod/golang.org/x/net@v0.48.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 74 | file://pkg/mod/golang.org/x/sync@v0.13.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 91 | file://pkg/mod/golang.org/x/oauth2@v0.32.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 75 | file://pkg/mod/golang.org/x/sys@v0.32.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 92 | file://pkg/mod/golang.org/x/sync@v0.19.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 76 | file://pkg/mod/golang.org/x/term@v0.31.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 93 | file://pkg/mod/golang.org/x/sys@v0.40.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 77 | file://pkg/mod/golang.org/x/text@v0.24.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 94 | file://pkg/mod/golang.org/x/term@v0.38.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 78 | file://pkg/mod/golang.org/x/time@v0.10.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | 95 | file://pkg/mod/golang.org/x/text@v0.32.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ |
| 96 | file://pkg/mod/golang.org/x/time@v0.12.0/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a;spdx=BSD-3-Clause \ | ||
| 79 | file://pkg/mod/gvisor.dev/gvisor@v0.0.0-20250205023644-9414b50a5633/LICENSE;md5=fbbaf7613c100c84b8f20701859dee2d;spdx=MIT+%26+Apache-2.0 \ | 97 | file://pkg/mod/gvisor.dev/gvisor@v0.0.0-20250205023644-9414b50a5633/LICENSE;md5=fbbaf7613c100c84b8f20701859dee2d;spdx=MIT+%26+Apache-2.0 \ |
| 80 | file://pkg/mod/k8s.io/client-go@v0.32.0/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ | 98 | file://pkg/mod/k8s.io/client-go@v0.34.0/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57;spdx=Apache-2.0 \ |
| 81 | file://pkg/mod/sigs.k8s.io/yaml@v1.4.0/LICENSE;md5=b5d30dd5bc47d1b56b678ac06dead1c7;spdx=MIT+%26+Apache-2.0+%26+BSD-3-Clause \ | 99 | file://pkg/mod/sigs.k8s.io/yaml@v1.6.0/LICENSE;md5=b5d30dd5bc47d1b56b678ac06dead1c7;spdx=BSD-3-Clause \ |
| 82 | file://pkg/mod/software.sslmate.com/src/go-pkcs12@v0.4.0/LICENSE;md5=259f3802525423b1a33efb1b85f64e18;spdx=BSD-3-Clause \ | 100 | file://pkg/mod/software.sslmate.com/src/go-pkcs12@v0.4.0/LICENSE;md5=259f3802525423b1a33efb1b85f64e18;spdx=BSD-3-Clause \ |
| 83 | " | 101 | " |
| 84 | |||
| 85 | 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.94.2.bb index 33ae1925d5..7a60d6833c 100644 --- a/meta-networking/recipes-connectivity/tailscale/tailscale_1.84.3.bb +++ b/meta-networking/recipes-connectivity/tailscale/tailscale_1.94.2.bb | |||
| @@ -12,7 +12,7 @@ SRC_URI = "git://github.com/tailscale/tailscale.git;protocol=https;branch=releas | |||
| 12 | file://default \ | 12 | file://default \ |
| 13 | file://tailscaled.init \ | 13 | file://tailscaled.init \ |
| 14 | " | 14 | " |
| 15 | SRCREV = "7648989bc54738b1e40dde74fa822984a63cbc05" | 15 | SRCREV = "2de4d317a8c2595904f1563ebd98fdcf843da275" |
| 16 | SRCREV_SHORT = "${@d.getVar('SRCREV')[:8]}" | 16 | SRCREV_SHORT = "${@d.getVar('SRCREV')[:8]}" |
| 17 | require ${BPN}-go-mods.inc | 17 | require ${BPN}-go-mods.inc |
| 18 | 18 | ||
| @@ -22,7 +22,10 @@ GO_LINKSHARED = "" | |||
| 22 | GOBUILDFLAGS:prepend = "-tags=${@','.join(d.getVar('PACKAGECONFIG_CONFARGS').split())} " | 22 | GOBUILDFLAGS:prepend = "-tags=${@','.join(d.getVar('PACKAGECONFIG_CONFARGS').split())} " |
| 23 | GO_EXTRA_LDFLAGS = "-X tailscale.com/version.longStamp=${PV}-${SRCREV_SHORT} -X tailscale.com/version.shortStamp=${PV}" | 23 | GO_EXTRA_LDFLAGS = "-X tailscale.com/version.longStamp=${PV}-${SRCREV_SHORT} -X tailscale.com/version.shortStamp=${PV}" |
| 24 | 24 | ||
| 25 | inherit go-mod \ | 25 | # Pass build tags so go list in update-modules discovers all conditional deps |
| 26 | export GOFLAGS = "-tags=${@','.join(d.getVar('PACKAGECONFIG_CONFARGS').split())}" | ||
| 27 | |||
| 28 | inherit go-mod go-mod-update-modules \ | ||
| 26 | ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'update-rc.d', '', d)} \ | 29 | ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'update-rc.d', '', d)} \ |
| 27 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} | 30 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} |
| 28 | 31 | ||
diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.9.0.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.9.1.bb index a2d6455d93..2978ff1cc1 100644 --- a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.9.0.bb +++ b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.9.1.bb | |||
| @@ -17,7 +17,7 @@ SRC_URI = " \ | |||
| 17 | file://run-ptest \ | 17 | file://run-ptest \ |
| 18 | " | 18 | " |
| 19 | 19 | ||
| 20 | SRCREV = "922d04b3568c6428a9fb905ddee3ef5a68db3108" | 20 | SRCREV = "1d363f3adceba9d1478230ede476a37b0dcdef24" |
| 21 | 21 | ||
| 22 | 22 | ||
| 23 | inherit autotools ptest | 23 | inherit autotools ptest |
| @@ -46,3 +46,26 @@ do_install_ptest() { | |||
| 46 | cp -rf ${S}/certs ${D}${PTEST_PATH} | 46 | cp -rf ${S}/certs ${D}${PTEST_PATH} |
| 47 | cp -rf ${S}/tests ${D}${PTEST_PATH} | 47 | cp -rf ${S}/tests ${D}${PTEST_PATH} |
| 48 | } | 48 | } |
| 49 | |||
| 50 | CVE_STATUS[CVE-2026-0819] = "fixed-version: fixed in 5.9.0" | ||
| 51 | CVE_STATUS[CVE-2026-2646] = "fixed-version: fixed in 5.9.0" | ||
| 52 | CVE_STATUS[CVE-2026-3503] = "fixed-version: fixed in 5.9.0" | ||
| 53 | CVE_STATUS[CVE-2026-3548] = "fixed-version: fixed in 5.9.0" | ||
| 54 | CVE_STATUS[CVE-2026-5188] = "fixed-version: fixed in 5.9.1" | ||
| 55 | CVE_STATUS[CVE-2026-5194] = "fixed-version: fixed in 5.9.1" | ||
| 56 | CVE_STATUS[CVE-2026-5263] = "fixed-version: fixed in 5.9.1" | ||
| 57 | CVE_STATUS[CVE-2026-5264] = "fixed-version: fixed in 5.9.1" | ||
| 58 | CVE_STATUS[CVE-2026-5392] = "fixed-version: fixed in 5.9.1" | ||
| 59 | CVE_STATUS[CVE-2026-5393] = "fixed-version: fixed in 5.9.1" | ||
| 60 | CVE_STATUS[CVE-2026-5446] = "fixed-version: fixed in 5.9.1" | ||
| 61 | CVE_STATUS[CVE-2026-5447] = "fixed-version: fixed in 5.9.1" | ||
| 62 | CVE_STATUS[CVE-2026-5448] = "fixed-version: fixed in 5.9.1" | ||
| 63 | CVE_STATUS[CVE-2026-5460] = "fixed-version: fixed in 5.9.1" | ||
| 64 | CVE_STATUS[CVE-2026-5466] = "fixed-version: fixed in 5.9.1" | ||
| 65 | CVE_STATUS[CVE-2026-5479] = "fixed-version: fixed in 5.9.1" | ||
| 66 | CVE_STATUS[CVE-2026-5500] = "fixed-version: fixed in 5.9.1" | ||
| 67 | CVE_STATUS[CVE-2026-5503] = "fixed-version: fixed in 5.9.1" | ||
| 68 | CVE_STATUS[CVE-2026-5504] = "fixed-version: fixed in 5.9.1" | ||
| 69 | CVE_STATUS[CVE-2026-5507] = "fixed-version: fixed in 5.9.1" | ||
| 70 | CVE_STATUS[CVE-2026-5772] = "fixed-version: fixed in 5.9.1" | ||
| 71 | CVE_STATUS[CVE-2026-5778] = "fixed-version: fixed in 5.9.1" | ||
diff --git a/meta-networking/recipes-daemons/atftp/atftp_0.8.0.bb b/meta-networking/recipes-daemons/atftp/atftp_0.8.1.bb index 9db0aebccb..ecd55684f5 100644 --- a/meta-networking/recipes-daemons/atftp/atftp_0.8.0.bb +++ b/meta-networking/recipes-daemons/atftp/atftp_0.8.1.bb | |||
| @@ -2,9 +2,9 @@ SUMMARY = "Advanced TFTP server and client" | |||
| 2 | SECTION = "net" | 2 | SECTION = "net" |
| 3 | HOMEPAGE = "http://packages.debian.org/atftp" | 3 | HOMEPAGE = "http://packages.debian.org/atftp" |
| 4 | LICENSE = "GPL-2.0-only" | 4 | LICENSE = "GPL-2.0-only" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f65159f73e603f89d6867d43191900e5" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=570a9b3749dd0463a1778803b12a6dce" |
| 6 | 6 | ||
| 7 | SRCREV = "d5c27eb7a9695d83569767e27ef69674173db39a" | 7 | SRCREV = "7238b7b6753157d0c4ad739df3d87a958f78d70b" |
| 8 | 8 | ||
| 9 | SRC_URI = "git://git.code.sf.net/p/atftp/code;branch=master;protocol=https \ | 9 | SRC_URI = "git://git.code.sf.net/p/atftp/code;branch=master;protocol=https \ |
| 10 | file://atftpd.init \ | 10 | file://atftpd.init \ |
diff --git a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5a.bb b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb index 611795e17d..e7279013ed 100644 --- a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5a.bb +++ b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.5b.bb | |||
| @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=05d17535846895e23ea4c79b16a9e904" | |||
| 10 | SRC_URI = "git://github.com/obgm/libcoap.git;branch=release-4.3.5-patches;protocol=https;tag=v${PV} \ | 10 | SRC_URI = "git://github.com/obgm/libcoap.git;branch=release-4.3.5-patches;protocol=https;tag=v${PV} \ |
| 11 | file://run-ptest \ | 11 | file://run-ptest \ |
| 12 | " | 12 | " |
| 13 | SRCREV = "e3fdcdcfbd1588754fe9dd4b754ac9397260f0f9" | 13 | SRCREV = "851533c3cf63d16984d370ce39d586ecb3694971" |
| 14 | 14 | ||
| 15 | # patch releases often use alphabetical suffixes | 15 | # patch releases often use alphabetical suffixes |
| 16 | CVE_VERSION_SUFFIX = "alphabetical" | 16 | CVE_VERSION_SUFFIX = "alphabetical" |
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 0000000000..8afa5d6841 --- /dev/null +++ b/meta-networking/recipes-extended/corosync/corosync/CVE-2026-35091.patch | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | From b9cb461121c8721c94a94309eb345a3c2f9ee9b4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jan Friesse <jfriesse@redhat.com> | ||
| 3 | Date: Thu, 2 Apr 2026 09:00:39 +0200 | ||
| 4 | Subject: [PATCH] totemsrp: Return error if sanity check fails | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | Previously, the check_memb_commit_token_sanity function correctly | ||
| 10 | checked the minimum message length. However, if the message was too | ||
| 11 | short, it incorrectly returned a success code (0) instead of the | ||
| 12 | expected failure code (-1). | ||
| 13 | |||
| 14 | This commit ensures the appropriate error code is returned when the | ||
| 15 | message length sanity check fails. | ||
| 16 | |||
| 17 | Fixes: CVE-2026-35091 | ||
| 18 | |||
| 19 | Reported-by: Sebastián Alba Vives (@Sebasteuo / 0xS4bb1) <sebasjosue84@gmail.com> | ||
| 20 | Signed-off-by: Jan Friesse <jfriesse@redhat.com> | ||
| 21 | Also-proposed-by: nicholasyang <nicholas.yang@suse.com> | ||
| 22 | Reviewed-by: Christine Caulfield <ccaulfie@redhat.com> | ||
| 23 | |||
| 24 | CVE: CVE-2026-35091 | ||
| 25 | Upstream-Status: Backport [https://github.com/corosync/corosync/commit/a16614accfdb3481264d7281843fadf439d9ab1b] | ||
| 26 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 27 | --- | ||
| 28 | exec/totemsrp.c | 4 ++-- | ||
| 29 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 30 | |||
| 31 | diff --git a/exec/totemsrp.c b/exec/totemsrp.c | ||
| 32 | index 35bf971..94d6c21 100644 | ||
| 33 | --- a/exec/totemsrp.c | ||
| 34 | +++ b/exec/totemsrp.c | ||
| 35 | @@ -3811,10 +3811,10 @@ static int check_memb_commit_token_sanity( | ||
| 36 | log_printf (instance->totemsrp_log_level_security, | ||
| 37 | "Received memb_commit_token message is too short... ignoring."); | ||
| 38 | |||
| 39 | - return (0); | ||
| 40 | + return (-1); | ||
| 41 | } | ||
| 42 | |||
| 43 | - addr_entries= mct_msg->addr_entries; | ||
| 44 | + addr_entries = mct_msg->addr_entries; | ||
| 45 | if (endian_conversion_needed) { | ||
| 46 | addr_entries = swab32(addr_entries); | ||
| 47 | } | ||
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 0000000000..8182647840 --- /dev/null +++ b/meta-networking/recipes-extended/corosync/corosync/CVE-2026-35092.patch | |||
| @@ -0,0 +1,57 @@ | |||
| 1 | From 8f8a4747a0223b8897deda9a40a8a099c61fa80f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jan Friesse <jfriesse@redhat.com> | ||
| 3 | Date: Thu, 2 Apr 2026 09:44:06 +0200 | ||
| 4 | Subject: [PATCH] totemsrp: Fix integer overflow in memb_join_sanity | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | This commit addresses an integer overflow (wraparound) vulnerability | ||
| 10 | in the check_memb_join_sanity function. | ||
| 11 | |||
| 12 | Previously, the 32-bit unsigned network values proc_list_entries and | ||
| 13 | failed_list_entries were added together before being promoted to | ||
| 14 | size_t. This allowed the addition to wrap around in 32-bit arithmetic | ||
| 15 | (e.g., 0x80000000 + 0x80000000 = 0), resulting in a required_len | ||
| 16 | calculation that was incorrectly small. | ||
| 17 | |||
| 18 | The solution is to cast the list entries to size_t and verify that | ||
| 19 | neither exceeds the maximum allowed value before the addition occurs. | ||
| 20 | |||
| 21 | Fixes: CVE-2026-35092 | ||
| 22 | |||
| 23 | Reported-by: Sebastián Alba Vives (@Sebasteuo / 0xS4bb1) <sebasjosue84@gmail.com> | ||
| 24 | Signed-off-by: Jan Friesse <jfriesse@redhat.com> | ||
| 25 | Also-proposed-by: nicholasyang <nicholas.yang@suse.com> | ||
| 26 | Reviewed-by: Christine Caulfield <ccaulfie@redhat.com> | ||
| 27 | |||
| 28 | CVE: CVE-2026-35092 | ||
| 29 | Upstream-Status: Backport [https://github.com/corosync/corosync/commit/4082294f5094a7591e4e00658c5a605f05d644f1] | ||
| 30 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 31 | --- | ||
| 32 | exec/totemsrp.c | 12 +++++++++++- | ||
| 33 | 1 file changed, 11 insertions(+), 1 deletion(-) | ||
| 34 | |||
| 35 | diff --git a/exec/totemsrp.c b/exec/totemsrp.c | ||
| 36 | index 94d6c21..6845cec 100644 | ||
| 37 | --- a/exec/totemsrp.c | ||
| 38 | +++ b/exec/totemsrp.c | ||
| 39 | @@ -3786,7 +3786,17 @@ static int check_memb_join_sanity( | ||
| 40 | failed_list_entries = swab32(failed_list_entries); | ||
| 41 | } | ||
| 42 | |||
| 43 | - required_len = sizeof(struct memb_join) + ((proc_list_entries + failed_list_entries) * sizeof(struct srp_addr)); | ||
| 44 | + if (proc_list_entries > PROCESSOR_COUNT_MAX || | ||
| 45 | + failed_list_entries > PROCESSOR_COUNT_MAX) { | ||
| 46 | + log_printf (instance->totemsrp_log_level_security, | ||
| 47 | + "Received memb_join message list_entries exceeds the maximum " | ||
| 48 | + "allowed value... ignoring."); | ||
| 49 | + | ||
| 50 | + return (-1); | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + required_len = sizeof(struct memb_join) + | ||
| 54 | + (((size_t)proc_list_entries + (size_t)failed_list_entries) * sizeof(struct srp_addr)); | ||
| 55 | if (msg_len < required_len) { | ||
| 56 | log_printf (instance->totemsrp_log_level_security, | ||
| 57 | "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 07d9333ec8..77dea16e98 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 | |||
| 9 | 9 | ||
| 10 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ | 10 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ |
| 11 | file://corosync.conf \ | 11 | file://corosync.conf \ |
| 12 | file://CVE-2026-35091.patch \ | ||
| 13 | file://CVE-2026-35092.patch \ | ||
| 12 | " | 14 | " |
| 13 | SRC_URI[sha256sum] = "be361c827f99b215b3bd3fa2fb071c03dac6831c2a351963d938caef62604bc8" | 15 | SRC_URI[sha256sum] = "be361c827f99b215b3bd3fa2fb071c03dac6831c2a351963d938caef62604bc8" |
| 14 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 16 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
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 52cfba4c5f..6a1eed3edb 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}" | |||
| 25 | DEPENDS += "flex-native bison-native libpam libtirpc" | 25 | DEPENDS += "flex-native bison-native libpam libtirpc" |
| 26 | inherit autotools-brokensep features_check | 26 | inherit autotools-brokensep features_check |
| 27 | 27 | ||
| 28 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 29 | |||
| 28 | CPPFLAGS += "-P" | 30 | CPPFLAGS += "-P" |
| 29 | CFLAGS += "-I${STAGING_INCDIR}/tirpc" | 31 | CFLAGS += "-I${STAGING_INCDIR}/tirpc" |
| 30 | LIBS += "-ltirpc" | 32 | LIBS += "-ltirpc" |
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 0000000000..2afccbe463 --- /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 @@ | |||
| 1 | From ab8f4118469d7a0bb83b9fcb88fe53482c35f0cb Mon Sep 17 00:00:00 2001 | ||
| 2 | From: skrede <code@skrede.me> | ||
| 3 | Date: Sun, 26 Oct 2025 14:35:05 +0100 | ||
| 4 | Subject: [PATCH] Bump cmake_minimum_required version to 3.5 (#94) | ||
| 5 | |||
| 6 | Upstream-Status: Backport [https://github.com/mjansson/mdns/commit/ab8f4118469d7a0bb83b9fcb88fe53482c35f0cb] | ||
| 7 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
| 8 | --- | ||
| 9 | CMakeLists.txt | 2 +- | ||
| 10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 11 | |||
| 12 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 13 | index 1bce26d..50f1f05 100644 | ||
| 14 | --- a/CMakeLists.txt | ||
| 15 | +++ b/CMakeLists.txt | ||
| 16 | @@ -1,4 +1,4 @@ | ||
| 17 | -cmake_minimum_required(VERSION 3.0) | ||
| 18 | +cmake_minimum_required(VERSION 3.5) | ||
| 19 | project(mdns VERSION 1.4.2 LANGUAGES C) | ||
| 20 | |||
| 21 | 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 0000000000..5c404cbb9d --- /dev/null +++ b/meta-networking/recipes-protocols/mjansson-mdns/mjansson-mdns_1.4.3.bb | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | SUMMARY = "Public domain mDNS/DNS-SD library in C" | ||
| 2 | DESCRIPTION = "This library provides a header only cross-platform mDNS and DNS-DS library in C" | ||
| 3 | SECTION = "net" | ||
| 4 | LICENSE = "Unlicense" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f" | ||
| 6 | |||
| 7 | SRC_URI = "git://github.com/mjansson/mdns.git;protocol=https;branch=main;tag=${PV} \ | ||
| 8 | file://0001-Bump-cmake_minimum_required-version-to-3.5-94.patch \ | ||
| 9 | " | ||
| 10 | SRCREV = "1727be0602941a714cb6048a737f0584b1cebf3c" | ||
| 11 | |||
| 12 | inherit cmake | ||
| 13 | |||
| 14 | CVE_PRODUCT = "mjansson:mdns" | ||
diff --git a/meta-networking/recipes-protocols/ngtcp2/ngtcp2_1.22.0.bb b/meta-networking/recipes-protocols/ngtcp2/ngtcp2_1.22.1.bb index f7c0ee0d4f..acff7b548b 100644 --- a/meta-networking/recipes-protocols/ngtcp2/ngtcp2_1.22.0.bb +++ b/meta-networking/recipes-protocols/ngtcp2/ngtcp2_1.22.1.bb | |||
| @@ -4,8 +4,8 @@ BUGTRACKER = "https://github.com/ngtcp2/ngtcp2/issues" | |||
| 4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=de0966c8ff4f62661a3da92967a75434" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=de0966c8ff4f62661a3da92967a75434" |
| 6 | 6 | ||
| 7 | SRC_URI = "gitsm://github.com/ngtcp2/ngtcp2;protocol=https;branch=main;tag=v${PV};name=ngtcp2" | 7 | SRC_URI = "gitsm://github.com/ngtcp2/ngtcp2;protocol=https;branch=release-1.22;tag=v${PV}" |
| 8 | SRCREV = "2a441e8540d192b0707989b146ce80efcae5f0d6" | 8 | SRCREV = "716e64b05f4a3709dfc0b0522cf9fd4456d055e5" |
| 9 | 9 | ||
| 10 | DEPENDS = "brotli libev nghttp3" | 10 | DEPENDS = "brotli libev nghttp3" |
| 11 | 11 | ||
| @@ -18,3 +18,5 @@ PACKAGECONFIG[shared] = "-DENABLE_SHARED_LIB=ON, -DENABLE_SHARED_LIB=OFF" | |||
| 18 | PACKAGECONFIG[build-lib-only] = "-DENABLE_LIB_ONLY=ON, -DENABLE_LIB_ONLY=OFF" | 18 | PACKAGECONFIG[build-lib-only] = "-DENABLE_LIB_ONLY=ON, -DENABLE_LIB_ONLY=OFF" |
| 19 | PACKAGECONFIG[openssl] = "-DENABLE_OPENSSL=ON, -DENABLE_OPENSSL=OFF, openssl" | 19 | PACKAGECONFIG[openssl] = "-DENABLE_OPENSSL=ON, -DENABLE_OPENSSL=OFF, openssl" |
| 20 | PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON, -DENABLE_GNUTLS=OFF, gnutls" | 20 | PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON, -DENABLE_GNUTLS=OFF, gnutls" |
| 21 | |||
| 22 | CVE_STATUS[CVE-2026-40170] = "fixed-version: fixed in 1.22.1" | ||
diff --git a/meta-networking/recipes-protocols/openflow/openflow_git.bb b/meta-networking/recipes-protocols/openflow/openflow_git.bb index 1588245f8a..d506dd4d01 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" | |||
| 40 | 40 | ||
| 41 | inherit autotools-brokensep pkgconfig | 41 | inherit autotools-brokensep pkgconfig |
| 42 | 42 | ||
| 43 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 44 | |||
| 43 | do_configure:prepend() { | 45 | do_configure:prepend() { |
| 44 | ./boot.sh | 46 | ./boot.sh |
| 45 | } | 47 | } |
diff --git a/meta-networking/recipes-support/dovecot/dovecot_2.4.3.bb b/meta-networking/recipes-support/dovecot/dovecot_2.4.3.bb index a8930979ea..a6b78ea781 100644 --- a/meta-networking/recipes-support/dovecot/dovecot_2.4.3.bb +++ b/meta-networking/recipes-support/dovecot/dovecot_2.4.3.bb | |||
| @@ -16,7 +16,7 @@ SRC_URI = "https://dovecot.org/releases/2.4/dovecot-${PV}.tar.gz \ | |||
| 16 | file://0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch \ | 16 | file://0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch \ |
| 17 | file://0001-adapt-lua_newstate-to-new-api.patch \ | 17 | file://0001-adapt-lua_newstate-to-new-api.patch \ |
| 18 | " | 18 | " |
| 19 | SRC_URI[sha256sum] = "e0b30330fe51e47ecfcf641bc16041184d91bdd0ac3db789b7cef54e3a75ac9b" | 19 | SRC_URI[sha256sum] = "ff0be85228122f250627b19e67505fdb7fb2f72a702ef6bf35f27fce54c072e5" |
| 20 | 20 | ||
| 21 | DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc bison-native" | 21 | DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc bison-native" |
| 22 | CFLAGS += "-I${STAGING_INCDIR}/tirpc" | 22 | CFLAGS += "-I${STAGING_INCDIR}/tirpc" |
| @@ -81,3 +81,8 @@ FILES:${PN}-dev += "${libdir}/dovecot/libdovecot*.so" | |||
| 81 | FILES:${PN}-dbg += "${libdir}/dovecot/*/.debug" | 81 | FILES:${PN}-dbg += "${libdir}/dovecot/*/.debug" |
| 82 | 82 | ||
| 83 | CVE_STATUS[CVE-2016-4983] = "not-applicable-platform: Affects only postinstall script on specific distribution." | 83 | CVE_STATUS[CVE-2016-4983] = "not-applicable-platform: Affects only postinstall script on specific distribution." |
| 84 | CVE_STATUS[CVE-2025-59031] = "fixed-version: fixed since v2.4.2" | ||
| 85 | CVE_STATUS[CVE-2026-0394] = "fixed-version: fixed since v2.4.1" | ||
| 86 | CVE_STATUS[CVE-2026-24031] = "fixed-version: fixed since v2.4.3" | ||
| 87 | CVE_STATUS[CVE-2026-27855] = "fixed-version: fixed since v2.4.3" | ||
| 88 | 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 00105fb844..0000000000 --- a/meta-networking/recipes-support/drbd/drbd-utils/0001-Fix-build-with-gcc-15.patch +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | From b42265af87d9efcc9aac91b3a3da3df5c5c66e29 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Nguyen Dat Tho <tho3.nguyen@lge.com> | ||
| 3 | Date: Wed, 9 Apr 2025 17:33:25 +0900 | ||
| 4 | Subject: [PATCH] Fix build with gcc-15 | ||
| 5 | |||
| 6 | To fix the following error: | ||
| 7 | In file included from string_matching.cpp:1: | ||
| 8 | ./string_matching.h:10:18: error: 'uint16_t' does not name a type | ||
| 9 | 10 | extern const uint16_t PATTERN_LIMIT; | ||
| 10 | | ^~~~~~~~ | ||
| 11 | ./string_matching.h:7:1: note: 'uint16_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>' | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://github.com/LINBIT/drbd-utils/pull/50] | ||
| 14 | |||
| 15 | Signed-off-by: Nguyen Dat Tho <tho3.nguyen@lge.com> | ||
| 16 | --- | ||
| 17 | user/drbdmon/string_matching.h | 1 + | ||
| 18 | 1 file changed, 1 insertion(+) | ||
| 19 | |||
| 20 | diff --git a/user/drbdmon/string_matching.h b/user/drbdmon/string_matching.h | ||
| 21 | index 9b3918fe..b783ba48 100644 | ||
| 22 | --- a/user/drbdmon/string_matching.h | ||
| 23 | +++ b/user/drbdmon/string_matching.h | ||
| 24 | @@ -4,6 +4,7 @@ | ||
| 25 | #include <string> | ||
| 26 | #include <memory> | ||
| 27 | #include <stdexcept> | ||
| 28 | +#include <cstdint> | ||
| 29 | |||
| 30 | namespace string_matching | ||
| 31 | { | ||
| 32 | -- | ||
| 33 | 2.34.1 | ||
| 34 | |||
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 0000000000..3d7c95b4a8 --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd-utils/0001-fix-the-hardcoded-legacy-helper-path.patch | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | From 301e64db17466316ac34a28e30867cc7853777b5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Haiqing Bai <Haiqing.Bai@windriver.com> | ||
| 3 | Date: Thu, 16 Apr 2026 10:00:19 +0000 | ||
| 4 | Subject: [PATCH] Fix the hardcoded legacy helper path | ||
| 5 | |||
| 6 | Fix the below issue: | ||
| 7 | "~# drbdadm --version | ||
| 8 | execvp() failed to exec drbdadm-84: No such file or directory" | ||
| 9 | |||
| 10 | The legacy helper path was hardcoded to "/lib/drbd", which does not exist | ||
| 11 | on systems where LIBDIR is configured to a different location (e.g. | ||
| 12 | /usr/lib). This caused drbdadm to fail when attempting to exec drbdadm-84. | ||
| 13 | Use the build-configured DRBD_LEGACY_LIB_DIR (derived from LIBDIR) instead | ||
| 14 | of the hardcoded path, so the legacy helper lookup respects the actual | ||
| 15 | install prefix. | ||
| 16 | |||
| 17 | Upstream-Status: Pending | ||
| 18 | |||
| 19 | Signed-off-by: Haiqing Bai <haiqing.bai@windriver.com> | ||
| 20 | --- | ||
| 21 | user/v9/Makefile.in | 1 + | ||
| 22 | user/v9/drbdtool_common.c | 3 +-- | ||
| 23 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
| 24 | |||
| 25 | diff --git a/user/v9/Makefile.in b/user/v9/Makefile.in | ||
| 26 | index fa12f79..980c67c 100644 | ||
| 27 | --- a/user/v9/Makefile.in | ||
| 28 | +++ b/user/v9/Makefile.in | ||
| 29 | @@ -70,6 +70,7 @@ CFLAGS += -DKEYUTILS | ||
| 30 | endif | ||
| 31 | ifeq ($(WITH_84_SUPPORT),yes) | ||
| 32 | CFLAGS += -DWITH_84_SUPPORT | ||
| 33 | +CFLAGS += -DDRBD_LEGACY_LIB_DIR=\"$(LIBDIR)\" | ||
| 34 | endif | ||
| 35 | CFLAGS += $(EXTRA_CFLAGS) | ||
| 36 | |||
| 37 | diff --git a/user/v9/drbdtool_common.c b/user/v9/drbdtool_common.c | ||
| 38 | index d07d054..ea95a16 100644 | ||
| 39 | --- a/user/v9/drbdtool_common.c | ||
| 40 | +++ b/user/v9/drbdtool_common.c | ||
| 41 | @@ -332,8 +332,7 @@ void add_component_to_path(const char *path) | ||
| 42 | |||
| 43 | void add_lib_drbd_to_path(void) | ||
| 44 | { | ||
| 45 | - /* TODO: if exec-prefix != "/" ? */ | ||
| 46 | - add_component_to_path("/lib/drbd"); | ||
| 47 | + add_component_to_path(DRBD_LEGACY_LIB_DIR); | ||
| 48 | } | ||
| 49 | |||
| 50 | /* from linux/crypto/crc32.c */ | ||
| 51 | -- | ||
| 52 | 2.53.0 | ||
| 53 | |||
diff --git a/meta-networking/recipes-support/drbd/drbd-utils_9.30.0.bb b/meta-networking/recipes-support/drbd/drbd-utils_9.34.0.bb index 4c520e8c78..abc406b5e0 100644 --- a/meta-networking/recipes-support/drbd/drbd-utils_9.30.0.bb +++ b/meta-networking/recipes-support/drbd/drbd-utils_9.34.0.bb | |||
| @@ -11,10 +11,10 @@ SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=master;prot | |||
| 11 | git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/drbd-headers;branch=master;protocol=https \ | 11 | git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/drbd-headers;branch=master;protocol=https \ |
| 12 | file://0001-drbdmon-add-LDFLAGS-when-linking.patch \ | 12 | file://0001-drbdmon-add-LDFLAGS-when-linking.patch \ |
| 13 | ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \ | 13 | ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \ |
| 14 | file://0001-Fix-build-with-gcc-15.patch \ | 14 | file://0001-fix-the-hardcoded-legacy-helper-path.patch \ |
| 15 | " | 15 | " |
| 16 | SRCREV_drbd-utils = "36ea199f38b543b2da92219109c2832e122e5bf9" | 16 | SRCREV_drbd-utils = "7fe34d56a7264cfc92fc5270471827bb3f7773e6" |
| 17 | SRCREV_drbd-headers = "94f4472513f351efba5788f783feba6ac6efe9fc" | 17 | SRCREV_drbd-headers = "8ab631bfa8eb606e53c86f50b9f2d6f51d0f9ca5" |
| 18 | 18 | ||
| 19 | SRCREV_FORMAT = "drbd-utils_drbd-headers" | 19 | SRCREV_FORMAT = "drbd-utils_drbd-headers" |
| 20 | 20 | ||
| @@ -56,7 +56,9 @@ do_install:append() { | |||
| 56 | sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-wait-promotable@.service | 56 | sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-wait-promotable@.service |
| 57 | sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd.service | 57 | sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd.service |
| 58 | sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd@.service | 58 | sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd@.service |
| 59 | sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/ocf.ra@.service | 59 | |
| 60 | install -D -m 0644 ${D}/50-drbd.preset ${D}${systemd_unitdir}/system-preset/50-drbd.preset | ||
| 61 | rm -f ${D}/50-drbd.preset | ||
| 60 | } | 62 | } |
| 61 | 63 | ||
| 62 | RDEPENDS:${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy" | 64 | RDEPENDS:${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy" |
| @@ -69,6 +71,7 @@ FILES:${PN} += "${nonarch_base_libdir}/drbd \ | |||
| 69 | ${nonarch_libdir}/tmpfiles.d \ | 71 | ${nonarch_libdir}/tmpfiles.d \ |
| 70 | ${nonarch_libdir}/drbdscripts/* \ | 72 | ${nonarch_libdir}/drbdscripts/* \ |
| 71 | ${systemd_unitdir}/system/* \ | 73 | ${systemd_unitdir}/system/* \ |
| 74 | ${systemd_unitdir}/system-preset/50-drbd.preset \ | ||
| 72 | " | 75 | " |
| 73 | FILES:${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug" | 76 | FILES:${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug" |
| 74 | 77 | ||
diff --git a/meta-networking/recipes-support/ettercap/ettercap/CVE-2026-3606.patch b/meta-networking/recipes-support/ettercap/ettercap/CVE-2026-3606.patch deleted file mode 100644 index e1b19ea05b..0000000000 --- a/meta-networking/recipes-support/ettercap/ettercap/CVE-2026-3606.patch +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | From a7347f49b928f47fc37805c9f3a70a9487d45a65 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Koeppe <alexander@koeppe.rocks> | ||
| 3 | Date: Sun, 8 Mar 2026 17:57:39 +0100 | ||
| 4 | Subject: [PATCH] Fix heap-out-of-bounds read issue in etterfilter | ||
| 5 | (CVE-2026-3606) | ||
| 6 | |||
| 7 | CVE: CVE-2026-3603 | ||
| 8 | Upstream-Status: Backport [https://github.com/Ettercap/ettercap/commit/41c312d4be6f6067968a275bf66b2abd2a0ba385] | ||
| 9 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 10 | --- | ||
| 11 | include/ec.h | 6 ++++++ | ||
| 12 | utils/etterfilter/ef_output.c | 4 ++-- | ||
| 13 | 2 files changed, 8 insertions(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/include/ec.h b/include/ec.h | ||
| 16 | index d69de613..80c7eaba 100644 | ||
| 17 | --- a/include/ec.h | ||
| 18 | +++ b/include/ec.h | ||
| 19 | @@ -94,6 +94,12 @@ | ||
| 20 | ON_ERROR(x, NULL, "virtual memory exhausted"); \ | ||
| 21 | } while(0) | ||
| 22 | |||
| 23 | +#define SAFE_RECALLOC(x, s) do { \ | ||
| 24 | + x = realloc(x, s); \ | ||
| 25 | + ON_ERROR(x, NULL, "virtual memory exhausted"); \ | ||
| 26 | + memset(x, 0, s); \ | ||
| 27 | +} while(0) | ||
| 28 | + | ||
| 29 | #define SAFE_STRDUP(x, s) do{ \ | ||
| 30 | x = strdup(s); \ | ||
| 31 | ON_ERROR(x, NULL, "virtual memory exhausted"); \ | ||
| 32 | diff --git a/utils/etterfilter/ef_output.c b/utils/etterfilter/ef_output.c | ||
| 33 | index 2530e599..2f49177e 100644 | ||
| 34 | --- a/utils/etterfilter/ef_output.c | ||
| 35 | +++ b/utils/etterfilter/ef_output.c | ||
| 36 | @@ -150,10 +150,10 @@ static size_t create_data_segment(u_char** data, struct filter_header *fh, struc | ||
| 37 | static size_t add_data_segment(u_char **data, size_t base, u_char **string, size_t slen) | ||
| 38 | { | ||
| 39 | /* make room for the new string */ | ||
| 40 | - SAFE_REALLOC(*data, base + slen + 1); | ||
| 41 | + SAFE_RECALLOC(*data, base + slen + 1); | ||
| 42 | |||
| 43 | /* copy the string, NULL separated */ | ||
| 44 | - memcpy(*data + base, *string, slen + 1); | ||
| 45 | + memcpy(*data + base, *string, slen); | ||
| 46 | |||
| 47 | /* | ||
| 48 | * change the pointer to the new string location | ||
diff --git a/meta-networking/recipes-support/ettercap/ettercap_0.8.4.bb b/meta-networking/recipes-support/ettercap/ettercap_0.8.4.1.bb index 6fac3a0b84..a28de7b2bd 100644 --- a/meta-networking/recipes-support/ettercap/ettercap_0.8.4.bb +++ b/meta-networking/recipes-support/ettercap/ettercap_0.8.4.1.bb | |||
| @@ -22,10 +22,9 @@ DEPENDS += "ethtool \ | |||
| 22 | RDEPENDS:${PN} += "bash ethtool libgcc" | 22 | RDEPENDS:${PN} += "bash ethtool libgcc" |
| 23 | 23 | ||
| 24 | SRC_URI = "gitsm://github.com/Ettercap/ettercap;branch=master;protocol=https;tag=v${PV} \ | 24 | SRC_URI = "gitsm://github.com/Ettercap/ettercap;branch=master;protocol=https;tag=v${PV} \ |
| 25 | file://CVE-2026-3606.patch \ | ||
| 26 | " | 25 | " |
| 27 | 26 | ||
| 28 | SRCREV = "41da65f4026a9e4cea928e61941b976d9279f508" | 27 | SRCREV = "0dc8409779f3a09cbfff4434b9a4d7b33480d88d" |
| 29 | 28 | ||
| 30 | EXTRA_OECMAKE = " \ | 29 | EXTRA_OECMAKE = " \ |
| 31 | -DCMAKE_SKIP_RPATH=TRUE \ | 30 | -DCMAKE_SKIP_RPATH=TRUE \ |
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 b43900a94d..f87aa92932 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" | |||
| 4 | LICENSE = "GPL-2.0-only & LGPL-2.0-only" | 4 | LICENSE = "GPL-2.0-only & LGPL-2.0-only" |
| 5 | 5 | ||
| 6 | DEPENDS = "flex flex-native" | 6 | DEPENDS = "flex flex-native" |
| 7 | RRECOMMENDS:${PN} = "kernel-module-atm-tcp" | ||
| 7 | 8 | ||
| 8 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}.tar.gz \ | 9 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}.tar.gz \ |
| 9 | file://link-with-ldflags.patch \ | 10 | file://link-with-ldflags.patch \ |
| @@ -31,6 +32,8 @@ file://COPYING.LGPL;md5=6e29c688d912da12b66b73e32b03d812" | |||
| 31 | 32 | ||
| 32 | inherit autotools pkgconfig | 33 | inherit autotools pkgconfig |
| 33 | 34 | ||
| 35 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 36 | |||
| 34 | EXTRA_OEMAKE += "ROOTPREFIX=${root_prefix}" | 37 | EXTRA_OEMAKE += "ROOTPREFIX=${root_prefix}" |
| 35 | 38 | ||
| 36 | FILES:${PN} += "${nonarch_base_libdir}/firmware" | 39 | FILES:${PN} += "${nonarch_base_libdir}/firmware" |
diff --git a/meta-networking/recipes-support/nbdkit/nbdkit_1.47.5.bb b/meta-networking/recipes-support/nbdkit/nbdkit_1.47.7.bb index 5ec440fc18..3b64ccb439 100644 --- a/meta-networking/recipes-support/nbdkit/nbdkit_1.47.5.bb +++ b/meta-networking/recipes-support/nbdkit/nbdkit_1.47.7.bb | |||
| @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=26250adec854bc317493f6fb98efe049" | |||
| 12 | SRC_URI = "git://gitlab.com/nbdkit/nbdkit.git;protocol=https;branch=master;tag=v${PV} \ | 12 | SRC_URI = "git://gitlab.com/nbdkit/nbdkit.git;protocol=https;branch=master;tag=v${PV} \ |
| 13 | file://0002-plugins-Avoid-absolute-buildpaths-in-binaries.patch \ | 13 | file://0002-plugins-Avoid-absolute-buildpaths-in-binaries.patch \ |
| 14 | " | 14 | " |
| 15 | SRCREV = "131372494a384a2ee21b97ec9375b7a55636a417" | 15 | SRCREV = "12ad24489c3de7b3810ae82fcffbdc113e1859ca" |
| 16 | 16 | ||
| 17 | 17 | ||
| 18 | DEPENDS = "curl xz e2fsprogs zlib" | 18 | DEPENDS = "curl xz e2fsprogs zlib" |
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 0000000000..4e8731fb25 --- /dev/null +++ b/meta-networking/recipes-support/netperf/files/0001-cleanup-modernize-sendfile_tcp_stream-signature-from.patch | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | From ea9ce6ae6154660f2a1dc7a73aedf906cc935a72 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sun, 12 Apr 2026 16:38:28 -0700 | ||
| 4 | Subject: [PATCH] cleanup: modernize sendfile_tcp_stream signature from K&R to ANSI C style | ||
| 5 | |||
| 6 | Upstream-Status: Pending | ||
| 7 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 8 | --- | ||
| 9 | src/nettest_bsd.c | 3 +-- | ||
| 10 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/src/nettest_bsd.c b/src/nettest_bsd.c | ||
| 13 | index 36f5810..e7feb83 100644 | ||
| 14 | --- a/src/nettest_bsd.c | ||
| 15 | +++ b/src/nettest_bsd.c | ||
| 16 | @@ -4270,8 +4270,7 @@ Size (bytes)\n\ | ||
| 17 | all it knows, nothig is different. */ | ||
| 18 | |||
| 19 | void | ||
| 20 | -sendfile_tcp_stream(remote_host) | ||
| 21 | - char remote_host[]; | ||
| 22 | +sendfile_tcp_stream (char remote_host[]) | ||
| 23 | { | ||
| 24 | |||
| 25 | char *tput_title = "\ | ||
diff --git a/meta-networking/recipes-support/netperf/netperf_git.bb b/meta-networking/recipes-support/netperf/netperf_git.bb index d5a717b0f6..8f49a7596b 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 | |||
| 18 | file://0001-Makefile.am-add-ACLOCAL_AMFLAGS.patch \ | 18 | file://0001-Makefile.am-add-ACLOCAL_AMFLAGS.patch \ |
| 19 | file://0001-Fix-too-many-arguments-error-occurring-in-gcc-15.patch \ | 19 | file://0001-Fix-too-many-arguments-error-occurring-in-gcc-15.patch \ |
| 20 | file://0001-Fix-multiple-definitions-with-enable-intervals.patch \ | 20 | file://0001-Fix-multiple-definitions-with-enable-intervals.patch \ |
| 21 | file://0001-cleanup-modernize-sendfile_tcp_stream-signature-from.patch \ | ||
| 21 | " | 22 | " |
| 22 | 23 | ||
| 23 | SRCREV = "3bc455b23f901dae377ca0a558e1e32aa56b31c4" | 24 | SRCREV = "3bc455b23f901dae377ca0a558e1e32aa56b31c4" |
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 0000000000..6558fae4ae --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/0001-ITS-10011-build-fix-compatibility-with-stricter-C99-.patch | |||
| @@ -0,0 +1,102 @@ | |||
| 1 | From 58c160ce28328f9a75d41c283ee9b94c10d6ec62 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Sam James <sam@gentoo.org> | ||
| 3 | Date: Thu, 9 Feb 2023 23:17:53 +0000 | ||
| 4 | Subject: [PATCH] ITS#10011 build: fix compatibility with stricter C99 | ||
| 5 | compilers | ||
| 6 | |||
| 7 | Fix the following warnings: | ||
| 8 | - -Wimplicit-int (fatal with Clang 16) | ||
| 9 | - -Wimplicit-function-declaration (fatal with Clang 16) | ||
| 10 | - -Wincompatible-function-pointer-types (fatal with Clang 16) | ||
| 11 | - -Wint-conversion (fatal with Clang 15) | ||
| 12 | - Old style prototypes (K&R, removed from C23) | ||
| 13 | |||
| 14 | These warnings-now-error led to misconfigurations and failure to build | ||
| 15 | OpenLDAP, as the tests used during configure caused the wrong results | ||
| 16 | to be emitted. | ||
| 17 | |||
| 18 | For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2], | ||
| 19 | or the (new) c-std-porting mailing list [3]. | ||
| 20 | |||
| 21 | [0] https://lwn.net/Articles/913505/ | ||
| 22 | [1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 | ||
| 23 | [2] https://wiki.gentoo.org/wiki/Modern_C_porting | ||
| 24 | [3] hosted at lists.linux.dev. | ||
| 25 | |||
| 26 | Bug: https://bugs.gentoo.org/871288 | ||
| 27 | |||
| 28 | Upstream-Status: Pending | ||
| 29 | |||
| 30 | Signed-off-by: Sam James <sam@gentoo.org> | ||
| 31 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 32 | --- | ||
| 33 | sntp/m4/openldap.m4 | 16 +++++++++++++--- | ||
| 34 | 1 file changed, 13 insertions(+), 3 deletions(-) | ||
| 35 | |||
| 36 | diff --git a/sntp/m4/openldap.m4 b/sntp/m4/openldap.m4 | ||
| 37 | index 49ffb87..2db6aa3 100644 | ||
| 38 | --- a/sntp/m4/openldap.m4 | ||
| 39 | +++ b/sntp/m4/openldap.m4 | ||
| 40 | @@ -154,6 +154,7 @@ fi | ||
| 41 | if test $ol_cv_header_stdc = yes; then | ||
| 42 | # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. | ||
| 43 | AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <ctype.h> | ||
| 44 | +#include <stdlib.h> | ||
| 45 | #ifndef HAVE_EBCDIC | ||
| 46 | # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') | ||
| 47 | # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) | ||
| 48 | @@ -610,8 +611,12 @@ AC_DEFUN([OL_PTHREAD_TEST_INCLUDES], [[ | ||
| 49 | #define NULL (void*)0 | ||
| 50 | #endif | ||
| 51 | |||
| 52 | +#ifdef __STDC__ | ||
| 53 | +static void *task(void *p) | ||
| 54 | +#else | ||
| 55 | static void *task(p) | ||
| 56 | void *p; | ||
| 57 | +#endif | ||
| 58 | { | ||
| 59 | return (void *) (p == NULL); | ||
| 60 | } | ||
| 61 | @@ -667,9 +672,13 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[ | ||
| 62 | AC_DEFUN([OL_PTHREAD_TEST_PROGRAM], [ | ||
| 63 | AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES | ||
| 64 | |||
| 65 | +#ifdef __STDC__ | ||
| 66 | +int main(int argc, char **argv) | ||
| 67 | +#else | ||
| 68 | int main(argc, argv) | ||
| 69 | int argc; | ||
| 70 | char **argv; | ||
| 71 | +#endif | ||
| 72 | { | ||
| 73 | OL_PTHREAD_TEST_FUNCTION | ||
| 74 | } | ||
| 75 | @@ -791,7 +800,7 @@ AC_CACHE_CHECK([for compatible POSIX regex],ol_cv_c_posix_regex,[ | ||
| 76 | #include <sys/types.h> | ||
| 77 | #include <regex.h> | ||
| 78 | static char *pattern, *string; | ||
| 79 | -main() | ||
| 80 | +int main(void) | ||
| 81 | { | ||
| 82 | int rc; | ||
| 83 | regex_t re; | ||
| 84 | @@ -818,7 +827,8 @@ AC_DEFUN([OL_C_UPPER_LOWER], | ||
| 85 | [AC_CACHE_CHECK([if toupper() requires islower()],ol_cv_c_upper_lower,[ | ||
| 86 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ | ||
| 87 | #include <ctype.h> | ||
| 88 | -main() | ||
| 89 | +#include <stdlib.h> | ||
| 90 | +int main(void) | ||
| 91 | { | ||
| 92 | if ('C' == toupper('C')) | ||
| 93 | exit(0); | ||
| 94 | @@ -873,7 +883,7 @@ AC_DEFUN([OL_NONPOSIX_STRERROR_R], | ||
| 95 | ]])],[ol_cv_nonposix_strerror_r=yes],[ol_cv_nonposix_strerror_r=no]) | ||
| 96 | else | ||
| 97 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ | ||
| 98 | - main() { | ||
| 99 | + int main(void) { | ||
| 100 | char buf[100]; | ||
| 101 | buf[0] = 0; | ||
| 102 | 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 0000000000..39f7e537c1 --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/0001-colcomp-sntp-libpkgver-colcomp.c-Convert-K-R-functio.patch | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | From cd54486bdced460c174fcb98680ad5ffe64f906a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Mon, 13 Apr 2026 19:09:24 -0700 | ||
| 4 | Subject: [PATCH] colcomp: sntp/libpkgver/colcomp.c: Convert K&R function | ||
| 5 | definition to ANSI C style | ||
| 6 | |||
| 7 | Replace old-style K&R function declaration with modern ANSI C prototype | ||
| 8 | syntax for colcomp(). Also remove trailing whitespace after return type. | ||
| 9 | |||
| 10 | Upstream-Status: Pending | ||
| 11 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 12 | --- | ||
| 13 | sntp/libpkgver/colcomp.c | 6 ++---- | ||
| 14 | 1 file changed, 2 insertions(+), 4 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/sntp/libpkgver/colcomp.c b/sntp/libpkgver/colcomp.c | ||
| 17 | index 4b151e3..29ecb3e 100644 | ||
| 18 | --- a/sntp/libpkgver/colcomp.c | ||
| 19 | +++ b/sntp/libpkgver/colcomp.c | ||
| 20 | @@ -33,10 +33,8 @@ | ||
| 21 | #endif | ||
| 22 | |||
| 23 | |||
| 24 | -int | ||
| 25 | -colcomp (s1, s2) | ||
| 26 | - register char *s1; | ||
| 27 | - register char *s2; | ||
| 28 | +int | ||
| 29 | +colcomp (register char *s1, register char *s2) | ||
| 30 | { | ||
| 31 | int hilo = 0; /* comparison value */ | ||
| 32 | |||
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 e59725e3e9..6f9bb01c02 100644 --- a/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb +++ b/meta-networking/recipes-support/ntp/ntp_4.2.8p18.bb | |||
| @@ -17,6 +17,8 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g | |||
| 17 | file://0001-test-Fix-build-with-new-compiler-defaults-to-fno-com.patch \ | 17 | file://0001-test-Fix-build-with-new-compiler-defaults-to-fno-com.patch \ |
| 18 | file://0001-sntp-Fix-types-in-check-for-pthread_detach.patch \ | 18 | file://0001-sntp-Fix-types-in-check-for-pthread_detach.patch \ |
| 19 | file://0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch \ | 19 | file://0001-include-fix-build-failure-with-glibc-2.43-_Generic-m.patch \ |
| 20 | file://0001-ITS-10011-build-fix-compatibility-with-stricter-C99-.patch \ | ||
| 21 | file://0001-colcomp-sntp-libpkgver-colcomp.c-Convert-K-R-functio.patch \ | ||
| 20 | file://ntpd \ | 22 | file://ntpd \ |
| 21 | file://ntp.conf \ | 23 | file://ntp.conf \ |
| 22 | file://ntpd.service \ | 24 | file://ntpd.service \ |
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 c3ca07a390..739d7f797e 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 <raj.khem@gmail.com> | |||
| 12 | src/Makefile | 8 ++++---- | 12 | src/Makefile | 8 ++++---- |
| 13 | 2 files changed, 14 insertions(+), 14 deletions(-) | 13 | 2 files changed, 14 insertions(+), 14 deletions(-) |
| 14 | 14 | ||
| 15 | diff --git a/sample/Makefile b/sample/Makefile | ||
| 16 | index 15cafd9..d83641f 100644 | ||
| 17 | --- a/sample/Makefile | 15 | --- a/sample/Makefile |
| 18 | +++ b/sample/Makefile | 16 | +++ b/sample/Makefile |
| 19 | @@ -35,9 +35,9 @@ ifeq ($(PLATFORM),SunOS) | 17 | @@ -35,9 +35,9 @@ ifeq ($(PLATFORM),SunOS) |
| @@ -50,13 +48,23 @@ index 15cafd9..d83641f 100644 | |||
| 50 | 48 | ||
| 51 | %.o: %.c | 49 | %.o: %.c |
| 52 | $(CC) $(ARCH) $(CPPFLAGS) $(CFLAGS) -c $< | 50 | $(CC) $(ARCH) $(CPPFLAGS) $(CFLAGS) -c $< |
| 53 | diff --git a/src/Makefile b/src/Makefile | ||
| 54 | index 9b56b5e..39a5ea1 100644 | ||
| 55 | --- a/src/Makefile | 51 | --- a/src/Makefile |
| 56 | +++ b/src/Makefile | 52 | +++ b/src/Makefile |
| 57 | @@ -45,7 +45,7 @@ endif | 53 | @@ -2,7 +2,7 @@ |
| 54 | # $Id: Makefile,v 1.57 2005/06/13 16:34:53 evertonm Exp $ | ||
| 55 | # | ||
| 58 | 56 | ||
| 59 | WARN = -pedantic -ansi -Wshadow -Wpointer-arith -Wcast-qual \ | 57 | -#DEBUG += -DRULI_SRV_DEBUG |
| 58 | +#DEBUG += -DRULI_SRV_DEBUG | ||
| 59 | #DEBUG += -DRULI_HOST_DEBUG | ||
| 60 | #DEBUG += -DRULI_RES_DEBUG | ||
| 61 | #DEBUG += -DRULI_TXT_COMPARE_DEBUG | ||
| 62 | @@ -43,9 +43,9 @@ ifeq ($(PLATFORM),SunOS) | ||
| 63 | DEFINE_SOLARIS = -D_RULI_SOLARIS_ | ||
| 64 | endif | ||
| 65 | |||
| 66 | -WARN = -pedantic -ansi -Wshadow -Wpointer-arith -Wcast-qual \ | ||
| 67 | +WARN = -Wshadow -Wpointer-arith -Wcast-qual \ | ||
| 60 | -Wcast-align -Wwrite-strings -Wredundant-decls | 68 | -Wcast-align -Wwrite-strings -Wredundant-decls |
| 61 | -CC = gcc | 69 | -CC = gcc |
| 62 | +CC ?= gcc | 70 | +CC ?= gcc |
| @@ -72,7 +80,7 @@ index 9b56b5e..39a5ea1 100644 | |||
| 72 | LIBOBJ = ruli_isaac.o ruli_mem.o ruli_rand.o ruli_util.o ruli_list.o \ | 80 | LIBOBJ = ruli_isaac.o ruli_mem.o ruli_rand.o ruli_util.o ruli_list.o \ |
| 73 | ruli_addr.o ruli_sock.o ruli_txt.o ruli_msg.o ruli_fsm.o \ | 81 | ruli_addr.o ruli_sock.o ruli_txt.o ruli_msg.o ruli_fsm.o \ |
| 74 | ruli_res.o ruli_parse.o ruli_host.o ruli_srv.o ruli_conf.o \ | 82 | ruli_res.o ruli_parse.o ruli_host.o ruli_srv.o ruli_conf.o \ |
| 75 | @@ -66,7 +66,7 @@ LIBOBJ = ruli_isaac.o ruli_mem.o ruli_rand.o ruli_util.o ruli_list.o \ | 83 | @@ -66,7 +66,7 @@ LIBOBJ = ruli_isaac.o ruli_mem.o ruli_ra |
| 76 | ruli_getaddrinfo.o | 84 | ruli_getaddrinfo.o |
| 77 | SHAREDOBJ = $(LIBOBJ:%.o=%.os) | 85 | SHAREDOBJ = $(LIBOBJ:%.o=%.os) |
| 78 | SONAME = libruli.so.4 | 86 | SONAME = libruli.so.4 |
| @@ -90,6 +98,3 @@ index 9b56b5e..39a5ea1 100644 | |||
| 90 | @echo | 98 | @echo |
| 91 | @echo "REMINDER:" | 99 | @echo "REMINDER:" |
| 92 | @echo "Add $(INSTALL_LIB_DIR) to your dynamic loader path:" | 100 | @echo "Add $(INSTALL_LIB_DIR) to your dynamic loader path:" |
| 93 | -- | ||
| 94 | 2.24.0 | ||
| 95 | |||
diff --git a/meta-networking/recipes-support/ruli/ruli_0.36.bb b/meta-networking/recipes-support/ruli/ruli_0.36.bb index 0526f842a8..972184ae2c 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 | |||
| 20 | 20 | ||
| 21 | # -shared is passed via CFLAGS, clang complains since its used during linking | 21 | # -shared is passed via CFLAGS, clang complains since its used during linking |
| 22 | # and not compiling | 22 | # and not compiling |
| 23 | CFLAGS:append:toolchain-clang = " -Wno-error=unused-command-line-argument" | 23 | CFLAGS:append:toolchain-clang = " -std=gnu11 -Wno-error=unused-command-line-argument" |
| 24 | 24 | ||
| 25 | EXTRA_OEMAKE = 'CC="${CC}" CPPFLAGS="${CFLAGS}" OOP_BASE_DIR="${STAGING_EXECPREFIXDIR}" \ | 25 | EXTRA_OEMAKE = 'CC="${CC}" CPPFLAGS="${CFLAGS}" OOP_BASE_DIR="${STAGING_EXECPREFIXDIR}" \ |
| 26 | INSTALL_BASE_DIR="${D}${exec_prefix}" \ | 26 | INSTALL_BASE_DIR="${D}${exec_prefix}" \ |
diff --git a/meta-networking/recipes-support/strongswan/strongswan_6.0.5.bb b/meta-networking/recipes-support/strongswan/strongswan_6.0.5.bb index c3909acff2..405080070c 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_6.0.5.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_6.0.5.bb | |||
| @@ -189,3 +189,5 @@ SYSTEMD_SERVICE:${PN} = " \ | |||
| 189 | ${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} \ | 189 | ${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} \ |
| 190 | ${@bb.utils.contains('PACKAGECONFIG', 'charon', '${BPN}-starter.service', '', d)} \ | 190 | ${@bb.utils.contains('PACKAGECONFIG', 'charon', '${BPN}-starter.service', '', d)} \ |
| 191 | " | 191 | " |
| 192 | |||
| 193 | 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 3520bf429e..0e94a969c0 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 @@ | |||
| 1 | From e08b9760d319d0334f2aad02d32d791c8ebd8564 Mon Sep 17 00:00:00 2001 | 1 | From 08b1bf417be039b097fae25708861fe8184c739c Mon Sep 17 00:00:00 2001 |
| 2 | From: Kai Kang <kai.kang@windriver.com> | 2 | From: Kai Kang <kai.kang@windriver.com> |
| 3 | Date: Wed, 1 Nov 2017 09:23:41 -0400 | 3 | Date: Wed, 1 Nov 2017 09:23:41 -0400 |
| 4 | Subject: [PATCH] stunnel: fix compile error when openssl disable des support | 4 | Subject: [PATCH] stunnel: fix compile error when openssl disable des support |
| @@ -17,10 +17,10 @@ Signed-off-by: Kai Kang <kai.kang@windriver.com> | |||
| 17 | 2 files changed, 5 insertions(+), 3 deletions(-) | 17 | 2 files changed, 5 insertions(+), 3 deletions(-) |
| 18 | 18 | ||
| 19 | diff --git a/src/common.h b/src/common.h | 19 | diff --git a/src/common.h b/src/common.h |
| 20 | index c2229d0..5eaee8c 100644 | 20 | index ada7ff7..8484144 100644 |
| 21 | --- a/src/common.h | 21 | --- a/src/common.h |
| 22 | +++ b/src/common.h | 22 | +++ b/src/common.h |
| 23 | @@ -497,7 +497,9 @@ extern char *sys_errlist[]; | 23 | @@ -489,7 +489,9 @@ extern char *sys_errlist[]; |
| 24 | #ifndef OPENSSL_NO_MD4 | 24 | #ifndef OPENSSL_NO_MD4 |
| 25 | #include <openssl/md4.h> | 25 | #include <openssl/md4.h> |
| 26 | #endif /* !defined(OPENSSL_NO_MD4) */ | 26 | #endif /* !defined(OPENSSL_NO_MD4) */ |
| @@ -29,9 +29,9 @@ index c2229d0..5eaee8c 100644 | |||
| 29 | +#endif | 29 | +#endif |
| 30 | #ifndef OPENSSL_NO_DH | 30 | #ifndef OPENSSL_NO_DH |
| 31 | #include <openssl/dh.h> | 31 | #include <openssl/dh.h> |
| 32 | #if OPENSSL_VERSION_NUMBER<0x10100000L | 32 | #endif /* !defined(OPENSSL_NO_DH) */ |
| 33 | diff --git a/src/protocol.c b/src/protocol.c | 33 | diff --git a/src/protocol.c b/src/protocol.c |
| 34 | index c390a6f..7aca745 100644 | 34 | index cddc381..ae0f374 100644 |
| 35 | --- a/src/protocol.c | 35 | --- a/src/protocol.c |
| 36 | +++ b/src/protocol.c | 36 | +++ b/src/protocol.c |
| 37 | @@ -82,7 +82,7 @@ NOEXPORT void ldap_client_middle(CLI *); | 37 | @@ -82,7 +82,7 @@ NOEXPORT void ldap_client_middle(CLI *); |
| @@ -43,7 +43,7 @@ index c390a6f..7aca745 100644 | |||
| 43 | NOEXPORT void ntlm(CLI *); | 43 | NOEXPORT void ntlm(CLI *); |
| 44 | NOEXPORT char *ntlm1(void); | 44 | NOEXPORT char *ntlm1(void); |
| 45 | NOEXPORT char *ntlm3(char *, char *, char *, char *); | 45 | NOEXPORT char *ntlm3(char *, char *, char *, char *); |
| 46 | @@ -1391,7 +1391,7 @@ NOEXPORT void connect_client_middle(CLI *c) { | 46 | @@ -1392,7 +1392,7 @@ NOEXPORT void connect_client_middle(CLI *c) { |
| 47 | fd_printf(c, c->remote_fd.fd, "Host: %s", c->opt->protocol_host); | 47 | fd_printf(c, c->remote_fd.fd, "Host: %s", c->opt->protocol_host); |
| 48 | if(c->opt->protocol_username && c->opt->protocol_password) { | 48 | if(c->opt->protocol_username && c->opt->protocol_password) { |
| 49 | if(!strcasecmp(c->opt->protocol_authentication, "ntlm")) { | 49 | if(!strcasecmp(c->opt->protocol_authentication, "ntlm")) { |
| @@ -52,7 +52,7 @@ index c390a6f..7aca745 100644 | |||
| 52 | ntlm(c); | 52 | ntlm(c); |
| 53 | #else | 53 | #else |
| 54 | s_log(LOG_ERR, "NTLM authentication is not available"); | 54 | s_log(LOG_ERR, "NTLM authentication is not available"); |
| 55 | @@ -1434,7 +1434,7 @@ NOEXPORT void connect_client_middle(CLI *c) { | 55 | @@ -1435,7 +1435,7 @@ NOEXPORT void connect_client_middle(CLI *c) { |
| 56 | str_free(line); | 56 | str_free(line); |
| 57 | } | 57 | } |
| 58 | 58 | ||
diff --git a/meta-networking/recipes-support/stunnel/stunnel_5.77.bb b/meta-networking/recipes-support/stunnel/stunnel_5.78.bb index 954fa896ba..1740ad41f2 100644 --- a/meta-networking/recipes-support/stunnel/stunnel_5.77.bb +++ b/meta-networking/recipes-support/stunnel/stunnel_5.78.bb | |||
| @@ -3,7 +3,7 @@ DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-sta | |||
| 3 | HOMEPAGE = "https://www.stunnel.org/" | 3 | HOMEPAGE = "https://www.stunnel.org/" |
| 4 | SECTION = "net" | 4 | SECTION = "net" |
| 5 | LICENSE = "GPL-2.0-or-later" | 5 | LICENSE = "GPL-2.0-or-later" |
| 6 | LIC_FILES_CHKSUM = "file://COPYING.md;md5=1e4388407e163ad0cde171362f9a7b94" | 6 | LIC_FILES_CHKSUM = "file://COPYING.md;md5=df2a0f88c5d5e3ebce922682a7b598ec" |
| 7 | 7 | ||
| 8 | DEPENDS = "autoconf-archive libnsl2 openssl" | 8 | DEPENDS = "autoconf-archive libnsl2 openssl" |
| 9 | 9 | ||
| @@ -11,7 +11,7 @@ SRC_URI = "https://stunnel.org/archive/5.x/${BP}.tar.gz \ | |||
| 11 | file://fix-openssl-no-des.patch \ | 11 | file://fix-openssl-no-des.patch \ |
| 12 | " | 12 | " |
| 13 | 13 | ||
| 14 | SRC_URI[sha256sum] = "ec026f4fae4e0d25b940cc7a9451d925e359e7fd59e9edad20baea66ce45f263" | 14 | SRC_URI[sha256sum] = "8727e53bb8b7528f850327a2a149158422c02183bc120d1d733cc65b1e2c349d" |
| 15 | 15 | ||
| 16 | inherit autotools bash-completion pkgconfig | 16 | inherit autotools bash-completion pkgconfig |
| 17 | 17 | ||
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 e06e0d3eae..0000000000 --- a/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2025-63938.patch +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | From cee659d2ac1e4e9d1ce388338f46df6c4bae8278 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 3 | Date: Fri, 17 Oct 2025 22:57:39 +0000 | ||
| 4 | Subject: [PATCH] reqs: fix integer overflow in port number processing | ||
| 5 | |||
| 6 | From: rofl0r <rofl0r@users.noreply.github.com> | ||
| 7 | |||
| 8 | closes #586 | ||
| 9 | |||
| 10 | CVE: CVE-2025-63938 | ||
| 11 | Upstream-Status: Backport [https://github.com/tinyproxy/tinyproxy/commit/3c0fde94981b025271ffa1788ae425257841bf5a] | ||
| 12 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 13 | --- | ||
| 14 | src/reqs.c | 9 ++++++--- | ||
| 15 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/reqs.c b/src/reqs.c | ||
| 18 | index a65ed54..1e5895c 100644 | ||
| 19 | --- a/src/reqs.c | ||
| 20 | +++ b/src/reqs.c | ||
| 21 | @@ -174,7 +174,7 @@ static int strip_return_port (char *host) | ||
| 22 | { | ||
| 23 | char *ptr1; | ||
| 24 | char *ptr2; | ||
| 25 | - int port; | ||
| 26 | + unsigned port; | ||
| 27 | |||
| 28 | ptr1 = strrchr (host, ':'); | ||
| 29 | if (ptr1 == NULL) | ||
| 30 | @@ -186,8 +186,11 @@ static int strip_return_port (char *host) | ||
| 31 | return 0; | ||
| 32 | |||
| 33 | *ptr1++ = '\0'; | ||
| 34 | - if (sscanf (ptr1, "%d", &port) != 1) /* one conversion required */ | ||
| 35 | - return 0; | ||
| 36 | + | ||
| 37 | + port = atoi(ptr1); | ||
| 38 | + /* check that port string is in the valid range 1-0xffff) */ | ||
| 39 | + if(strlen(ptr1) > 5 || (port & 0xffff0000)) return 0; | ||
| 40 | + | ||
| 41 | return port; | ||
| 42 | } | ||
| 43 | |||
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 0000000000..99c4ea705d --- /dev/null +++ b/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2026-3945-1.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From 245946bb789c8fc0e4758c344f735a5d53827dce Mon Sep 17 00:00:00 2001 | ||
| 2 | From: rofl0r <rofl0r@users.noreply.github.com> | ||
| 3 | Date: Thu, 12 Mar 2026 14:26:24 +0000 | ||
| 4 | Subject: [PATCH] reqs: check negative length values when reading chunked data | ||
| 5 | |||
| 6 | this could lead to a DoS when a legitimate client reads from an | ||
| 7 | attacker-controlled web server. | ||
| 8 | |||
| 9 | closes #597 | ||
| 10 | |||
| 11 | CVE: CVE-2026-3945 | ||
| 12 | Upstream-Status: Backport [https://github.com/tinyproxy/tinyproxy/commit/969852ccdb1d19d7ed302f0e1d324661be641e0a] | ||
| 13 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 14 | --- | ||
| 15 | src/reqs.c | 1 + | ||
| 16 | 1 file changed, 1 insertion(+) | ||
| 17 | |||
| 18 | diff --git a/src/reqs.c b/src/reqs.c | ||
| 19 | index a562c68..94ce767 100644 | ||
| 20 | --- a/src/reqs.c | ||
| 21 | +++ b/src/reqs.c | ||
| 22 | @@ -613,6 +613,7 @@ static int pull_client_data_chunked (struct conn_s *connptr) { | ||
| 23 | } | ||
| 24 | |||
| 25 | chunklen = strtol (buffer, (char**)0, 16); | ||
| 26 | + if (chunklen < 0) goto ERROR_EXIT; | ||
| 27 | |||
| 28 | if (pull_client_data (connptr, chunklen+2, 0) < 0) | ||
| 29 | 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 0000000000..3da30b54eb --- /dev/null +++ b/meta-networking/recipes-support/tinyproxy/tinyproxy/CVE-2026-3945-2.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From 8f12872b8e50fe22be0a65ead260ebbedde905cd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: rofl0r <rofl0r@users.noreply.github.com> | ||
| 3 | Date: Sun, 29 Mar 2026 16:48:54 +0200 | ||
| 4 | Subject: [PATCH] reqs: prevent potential int overflow when parsing chunked | ||
| 5 | data (#603) | ||
| 6 | |||
| 7 | follow-up to 969852ccdb1d19d7ed302f0e1d324661be641e0a | ||
| 8 | |||
| 9 | closes #602 | ||
| 10 | |||
| 11 | CVE: CVE-2026-3945 | ||
| 12 | Upstream-Status: Backport [https://github.com/tinyproxy/tinyproxy/commit/bb7edc4778041b3bc8ad7fca448b67d98039cc7d] | ||
| 13 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 14 | --- | ||
| 15 | src/reqs.c | 3 ++- | ||
| 16 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 17 | |||
| 18 | diff --git a/src/reqs.c b/src/reqs.c | ||
| 19 | index 94ce767..7aacfd3 100644 | ||
| 20 | --- a/src/reqs.c | ||
| 21 | +++ b/src/reqs.c | ||
| 22 | @@ -613,7 +613,8 @@ static int pull_client_data_chunked (struct conn_s *connptr) { | ||
| 23 | } | ||
| 24 | |||
| 25 | chunklen = strtol (buffer, (char**)0, 16); | ||
| 26 | - if (chunklen < 0) goto ERROR_EXIT; | ||
| 27 | + /* prevent negative or huge values causing overflow */ | ||
| 28 | + if (chunklen < 0 || chunklen > 0x0fffffff) goto ERROR_EXIT; | ||
| 29 | |||
| 30 | if (pull_client_data (connptr, chunklen+2, 0) < 0) | ||
| 31 | goto ERROR_EXIT; | ||
diff --git a/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.2.bb b/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.3.bb index 8558291c18..56e3296066 100644 --- a/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.2.bb +++ b/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.3.bb | |||
| @@ -7,10 +7,11 @@ SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.gz | |||
| 7 | file://tinyproxy.service \ | 7 | file://tinyproxy.service \ |
| 8 | file://tinyproxy.conf \ | 8 | file://tinyproxy.conf \ |
| 9 | file://run-ptest \ | 9 | file://run-ptest \ |
| 10 | file://CVE-2025-63938.patch \ | 10 | file://CVE-2026-3945-1.patch \ |
| 11 | file://CVE-2026-3945-2.patch \ | ||
| 11 | " | 12 | " |
| 12 | 13 | ||
| 13 | SRC_URI[sha256sum] = "2c8fe5496f2c642bfd189020504ab98d74b9edbafcdb94d9f108e157b5bdf96d" | 14 | SRC_URI[sha256sum] = "9bcf46db1a2375ff3e3d27a41982f1efec4706cce8899ff9f33323a8218f7592" |
| 14 | 15 | ||
| 15 | UPSTREAM_CHECK_URI = "https://github.com/tinyproxy/tinyproxy/releases" | 16 | UPSTREAM_CHECK_URI = "https://github.com/tinyproxy/tinyproxy/releases" |
| 16 | 17 | ||
diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc index ca800f12fa..b764d5dd58 100644 --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc | |||
| @@ -58,7 +58,8 @@ PTESTS_FAST_META_OE = "\ | |||
| 58 | uriparser \ | 58 | uriparser \ |
| 59 | utf8proc \ | 59 | utf8proc \ |
| 60 | uthash \ | 60 | uthash \ |
| 61 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'xrdp', '', d)} \ | 61 | xdg-dbus-proxy \ |
| 62 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam x11', 'xrdp', '', d)} \ | ||
| 62 | zeromq \ | 63 | zeromq \ |
| 63 | " | 64 | " |
| 64 | PTESTS_FAST_META_OE:append:x86 = " mcelog" | 65 | PTESTS_FAST_META_OE:append:x86 = " mcelog" |
| @@ -73,6 +74,7 @@ PTESTS_SLOW_META_OE = "\ | |||
| 73 | c-ares \ | 74 | c-ares \ |
| 74 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'freerdp', '', d)} \ | 75 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'freerdp', '', d)} \ |
| 75 | fftw \ | 76 | fftw \ |
| 77 | jsoncpp \ | ||
| 76 | libusb-compat \ | 78 | libusb-compat \ |
| 77 | mariadb \ | 79 | mariadb \ |
| 78 | postgresql \ | 80 | postgresql \ |
diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index c6974f6dfe..78df6e3c03 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf | |||
| @@ -120,7 +120,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ | |||
| 120 | 120 | ||
| 121 | DEFAULT_TEST_SUITES:pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}" | 121 | DEFAULT_TEST_SUITES:pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}" |
| 122 | 122 | ||
| 123 | NON_MULTILIB_RECIPES:append = " crash pahole libbpf bpftrace bpftool" | 123 | NON_MULTILIB_RECIPES:append = " crash pahole libbpf bpftrace bpftool bcc" |
| 124 | 124 | ||
| 125 | NON_MULTILIB_RECIPES:remove:x86 = "libbpf" | 125 | NON_MULTILIB_RECIPES:remove:x86 = "libbpf" |
| 126 | NON_MULTILIB_RECIPES:remove:x86-64 = "libbpf" | 126 | 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 663a80ecde..8d5c3da7c0 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 @@ | |||
| 1 | From 668ee79f39614ad758edd44c42b8b0eff57877cf Mon Sep 17 00:00:00 2001 | 1 | From 3790a098f4905cd330234fc4d18b4d4536b360bf Mon Sep 17 00:00:00 2001 |
| 2 | From: Alexander Kanavin <alex@linutronix.de> | 2 | From: Alexander Kanavin <alex@linutronix.de> |
| 3 | Date: Sun, 3 Oct 2021 21:52:16 +0200 | 3 | Date: Sun, 3 Oct 2021 21:52:16 +0200 |
| 4 | Subject: [PATCH] meson.build: do not use -Werror | 4 | Subject: [PATCH] meson.build: do not use -Werror |
| @@ -12,7 +12,7 @@ Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | |||
| 12 | 1 file changed, 1 insertion(+), 1 deletion(-) | 12 | 1 file changed, 1 insertion(+), 1 deletion(-) |
| 13 | 13 | ||
| 14 | diff --git a/meson.build b/meson.build | 14 | diff --git a/meson.build b/meson.build |
| 15 | index 30f33fe2..0b214795 100644 | 15 | index 6f517b5a..2ecb7f5d 100644 |
| 16 | --- a/meson.build | 16 | --- a/meson.build |
| 17 | +++ b/meson.build | 17 | +++ b/meson.build |
| 18 | @@ -4,7 +4,7 @@ project('netplan', 'c', | 18 | @@ -4,7 +4,7 @@ project('netplan', 'c', |
| @@ -22,8 +22,8 @@ index 30f33fe2..0b214795 100644 | |||
| 22 | - 'werror=true', | 22 | - 'werror=true', |
| 23 | + 'werror=false', | 23 | + 'werror=false', |
| 24 | ], | 24 | ], |
| 25 | meson_version: '>= 0.61.0', | 25 | meson_version: '>= 1.3.0', |
| 26 | ) | 26 | ) |
| 27 | -- | 27 | -- |
| 28 | 2.25.1 | 28 | 2.34.1 |
| 29 | 29 | ||
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.2.1.bb index ef1945b4fe..22159dbcab 100644 --- 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.2.1.bb | |||
| @@ -14,13 +14,13 @@ inherit meson pkgconfig systemd python3targetconfig features_check | |||
| 14 | 14 | ||
| 15 | REQUIRED_DISTRO_FEATURES = "systemd" | 15 | REQUIRED_DISTRO_FEATURES = "systemd" |
| 16 | 16 | ||
| 17 | SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=stable/1.1;protocol=https \ | 17 | SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=main;protocol=https \ |
| 18 | file://0001-meson.build-do-not-use-Werror.patch \ | 18 | file://0001-meson.build-do-not-use-Werror.patch \ |
| 19 | " | 19 | " |
| 20 | 20 | ||
| 21 | SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" | 21 | SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" |
| 22 | 22 | ||
| 23 | SRCREV = "01045f683b9419beb90119497cd1b2be44e83b8e" | 23 | SRCREV = "f758e3f6415aa68b7cf28991bc5b3e9631297d6d" |
| 24 | 24 | ||
| 25 | 25 | ||
| 26 | DEPENDS = "glib-2.0 libyaml util-linux-libuuid \ | 26 | DEPENDS = "glib-2.0 libyaml util-linux-libuuid \ |
| @@ -43,6 +43,7 @@ PACKAGES += "${PN}-dbus libnetplan" | |||
| 43 | 43 | ||
| 44 | FILES:libnetplan = "${libdir}/libnetplan.so.*" | 44 | FILES:libnetplan = "${libdir}/libnetplan.so.*" |
| 45 | FILES:${PN} = "${sbindir} ${libexecdir}/netplan/generate \ | 45 | FILES:${PN} = "${sbindir} ${libexecdir}/netplan/generate \ |
| 46 | ${libexecdir}/netplan/configure \ | ||
| 46 | ${datadir}/netplan ${datadir}/bash-completion \ | 47 | ${datadir}/netplan ${datadir}/bash-completion \ |
| 47 | ${systemd_unitdir} ${PYTHON_SITEPACKAGES_DIR} \ | 48 | ${systemd_unitdir} ${PYTHON_SITEPACKAGES_DIR} \ |
| 48 | ${sysconfdir}/netplan \ | 49 | ${sysconfdir}/netplan \ |
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 0000000000..1b37633a36 --- /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 @@ | |||
| 1 | From d0326cd89b01600a6d8ba5e32e8e090f2ea29f2d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Wed, 15 Apr 2026 16:28:28 -0700 | ||
| 4 | Subject: [PATCH] misc: fix discarded const qualifiers in char pointer | ||
| 5 | assignments | ||
| 6 | |||
| 7 | These show up with glibc 2.43 + clang-22, glibc-2.43 has C23 versions | ||
| 8 | of str* mem* functions | ||
| 9 | |||
| 10 | Upstream-Status: Backport [https://github.com/taisei-project/taisei/commit/1c8f773912cbbd72b4a4df271fda1bd6d2aeb27f] | ||
| 11 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 12 | --- | ||
| 13 | src/log.c | 2 +- | ||
| 14 | src/pixmap/pixmap.c | 2 +- | ||
| 15 | src/vfs/pathutil.c | 2 +- | ||
| 16 | 3 files changed, 3 insertions(+), 3 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/src/log.c b/src/log.c | ||
| 19 | index 8194535a..88f34386 100644 | ||
| 20 | --- a/src/log.c | ||
| 21 | +++ b/src/log.c | ||
| 22 | @@ -161,7 +161,7 @@ static void add_debug_info(StringBuffer *buf) { | ||
| 23 | static size_t modname(const char *filename, size_t filename_len, char *mod) { | ||
| 24 | size_t mlen = filename_len; | ||
| 25 | |||
| 26 | - char *dot = memchr(filename, '.', mlen); | ||
| 27 | + const char *dot = memchr(filename, '.', mlen); | ||
| 28 | if(dot) { | ||
| 29 | mlen = dot - filename; | ||
| 30 | } | ||
| 31 | diff --git a/src/pixmap/pixmap.c b/src/pixmap/pixmap.c | ||
| 32 | index 25105215..9717f22a 100644 | ||
| 33 | --- a/src/pixmap/pixmap.c | ||
| 34 | +++ b/src/pixmap/pixmap.c | ||
| 35 | @@ -49,7 +49,7 @@ void *pixmap_alloc_buffer_for_conversion(const Pixmap *src, PixmapFormat format, | ||
| 36 | } | ||
| 37 | |||
| 38 | static PixmapFileFormatHandler *pixmap_handler_for_filename(const char *file) { | ||
| 39 | - char *ext = strrchr(file, '.'); | ||
| 40 | + const char *ext = strrchr(file, '.'); | ||
| 41 | |||
| 42 | if(!ext || !*(++ext)) { | ||
| 43 | return NULL; | ||
| 44 | diff --git a/src/vfs/pathutil.c b/src/vfs/pathutil.c | ||
| 45 | index f6bd6a80..85ccf5ee 100644 | ||
| 46 | --- a/src/vfs/pathutil.c | ||
| 47 | +++ b/src/vfs/pathutil.c | ||
| 48 | @@ -14,7 +14,7 @@ char *vfs_path_normalize(const char *path, char *out) { | ||
| 49 | const char *p = path; | ||
| 50 | char *o = out; | ||
| 51 | char *last_sep = out - 1; | ||
| 52 | - char *path_end = strchr(path, 0); | ||
| 53 | + const char *path_end = strchr(path, 0); | ||
| 54 | |||
| 55 | #define IS_SEP_OR_NUL(chr) (VFS_IS_PATH_SEPARATOR(chr) || (chr == '\0')) | ||
| 56 | |||
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 0000000000..9f5d7a17d4 --- /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 @@ | |||
| 1 | From c9c00a88c10db4ce93ffcc043c661727d2ec9758 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: laochailan <239670+laochailan@users.noreply.github.com> | ||
| 3 | Date: Fri, 13 Feb 2026 20:21:44 -0500 | ||
| 4 | Subject: [PATCH] vfs: avoid unnecessary recursion in vfs_mkparents | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 7 | Upstream-Status: Backport [https://github.com/taisei-project/taisei/commit/f2e074f4a6aecf78b980014ed98f12fc6ddfd016] | ||
| 8 | --- | ||
| 9 | src/vfs/public.c | 43 +++++++++++++++++-------------------------- | ||
| 10 | 1 file changed, 17 insertions(+), 26 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/src/vfs/public.c b/src/vfs/public.c | ||
| 13 | index abaa050f..cfeef83a 100644 | ||
| 14 | --- a/src/vfs/public.c | ||
| 15 | +++ b/src/vfs/public.c | ||
| 16 | @@ -146,38 +146,29 @@ void vfs_mkdir_required(const char *path) { | ||
| 17 | } | ||
| 18 | } | ||
| 19 | |||
| 20 | -static bool vfs_mkparents_recurse(const char *path) { | ||
| 21 | - // FIXME this has stupid space complexity and is probably silly in general; optimize if you care | ||
| 22 | - | ||
| 23 | - char *psep = strrchr(path, VFS_PATH_SEPARATOR); | ||
| 24 | - | ||
| 25 | - if(!psep) { | ||
| 26 | - // parent is root | ||
| 27 | - return true; | ||
| 28 | - } | ||
| 29 | +bool vfs_mkparents(const char *path) { | ||
| 30 | + char p[strlen(path)+1]; | ||
| 31 | + path = vfs_path_normalize(path, p); | ||
| 32 | |||
| 33 | - char p[strlen(path) + 1]; | ||
| 34 | - strcpy(p, path); | ||
| 35 | - psep += p - path; | ||
| 36 | - *psep = 0; | ||
| 37 | + // loop over all parent directories | ||
| 38 | + char *psep = p; | ||
| 39 | + while((psep = strchr(psep, VFS_PATH_SEPARATOR))) { | ||
| 40 | + *psep = 0; | ||
| 41 | |||
| 42 | - VFSInfo i = vfs_query(p); | ||
| 43 | + VFSInfo i = vfs_query(p); | ||
| 44 | + if(i.error) { | ||
| 45 | + return false; | ||
| 46 | + } | ||
| 47 | |||
| 48 | - if(i.error) { | ||
| 49 | - return false; | ||
| 50 | - } | ||
| 51 | + if(!i.exists || !i.is_dir) { | ||
| 52 | + vfs_mkdir(p); | ||
| 53 | + } | ||
| 54 | |||
| 55 | - if(i.exists) { | ||
| 56 | - return i.is_dir; | ||
| 57 | + *psep = VFS_PATH_SEPARATOR; | ||
| 58 | + psep++; | ||
| 59 | } | ||
| 60 | |||
| 61 | - return vfs_mkparents_recurse(p) && vfs_mkdir(p); | ||
| 62 | -} | ||
| 63 | - | ||
| 64 | -bool vfs_mkparents(const char *path) { | ||
| 65 | - char p[strlen(path)+1]; | ||
| 66 | - path = vfs_path_normalize(path, p); | ||
| 67 | - return vfs_mkparents_recurse(p); | ||
| 68 | + return true; | ||
| 69 | } | ||
| 70 | |||
| 71 | 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 bb08ad4a1c..844e735b69 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 = "\ | |||
| 20 | DEPENDS:append:libc-musl = " libucontext" | 20 | DEPENDS:append:libc-musl = " libucontext" |
| 21 | LDFLAGS:append:libc-musl = " -lucontext" | 21 | LDFLAGS:append:libc-musl = " -lucontext" |
| 22 | 22 | ||
| 23 | SRC_URI = "gitsm://github.com/taisei-project/taisei.git;branch=v1.4.x;protocol=https;tag=v${PV}" | 23 | SRC_URI = "gitsm://github.com/taisei-project/taisei.git;branch=v1.4.x;protocol=https;tag=v${PV} \ |
| 24 | file://0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch \ | ||
| 25 | file://0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch \ | ||
| 26 | " | ||
| 24 | SRCREV = "6a484e6e61cc51a22a9943762dc2ff6883914f38" | 27 | SRCREV = "6a484e6e61cc51a22a9943762dc2ff6883914f38" |
| 25 | 28 | ||
| 26 | inherit features_check meson mime mime-xdg pkgconfig | 29 | inherit features_check meson mime mime-xdg pkgconfig |
diff --git a/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted/0001-Added-sepolicy-for-adb-service.patch b/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted/0001-Added-sepolicy-for-adb-service.patch deleted file mode 100644 index 62f81e4ffb..0000000000 --- a/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted/0001-Added-sepolicy-for-adb-service.patch +++ /dev/null | |||
| @@ -1,76 +0,0 @@ | |||
| 1 | From c110d893be565ade574ee2933c6e89197f833006 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Gargi Misra <gmisra@qti.qualcomm.com> | ||
| 3 | Date: Thu, 5 Mar 2026 12:39:42 +0530 | ||
| 4 | Subject: [PATCH] refpolicy-targeted: Added sepolicy for adb service | ||
| 5 | |||
| 6 | - Labeled adb binary | ||
| 7 | - Moved adb shell from initrc_t to unconfined_t | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [meta-oe Specific] | ||
| 10 | |||
| 11 | Signed-off-by: Gargi Misra <gmisra@qti.qualcomm.com> | ||
| 12 | --- | ||
| 13 | policy/modules/services/adbd.fc | 5 +++++ | ||
| 14 | policy/modules/services/adbd.if | 5 +++++ | ||
| 15 | policy/modules/services/adbd.te | 25 +++++++++++++++++++++++++ | ||
| 16 | 3 files changed, 35 insertions(+) | ||
| 17 | create mode 100644 policy/modules/services/adbd.fc | ||
| 18 | create mode 100644 policy/modules/services/adbd.if | ||
| 19 | create mode 100644 policy/modules/services/adbd.te | ||
| 20 | |||
| 21 | diff --git a/policy/modules/services/adbd.fc b/policy/modules/services/adbd.fc | ||
| 22 | new file mode 100644 | ||
| 23 | index 000000000..6f5bb9269 | ||
| 24 | --- /dev/null | ||
| 25 | +++ b/policy/modules/services/adbd.fc | ||
| 26 | @@ -0,0 +1,5 @@ | ||
| 27 | +/usr/bin/adbd -- gen_context(system_u:object_r:adbd_exec_t,s0) | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + | ||
| 31 | + | ||
| 32 | diff --git a/policy/modules/services/adbd.if b/policy/modules/services/adbd.if | ||
| 33 | new file mode 100644 | ||
| 34 | index 000000000..612fc0106 | ||
| 35 | --- /dev/null | ||
| 36 | +++ b/policy/modules/services/adbd.if | ||
| 37 | @@ -0,0 +1,5 @@ | ||
| 38 | +## <summary>adb service.</summary> | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + | ||
| 42 | + | ||
| 43 | diff --git a/policy/modules/services/adbd.te b/policy/modules/services/adbd.te | ||
| 44 | new file mode 100644 | ||
| 45 | index 000000000..f7e8ac7d0 | ||
| 46 | --- /dev/null | ||
| 47 | +++ b/policy/modules/services/adbd.te | ||
| 48 | @@ -0,0 +1,25 @@ | ||
| 49 | +policy_module(adbd) | ||
| 50 | + | ||
| 51 | +######################################## | ||
| 52 | +# | ||
| 53 | +# Declarations | ||
| 54 | +# | ||
| 55 | + | ||
| 56 | +type adbd_t; | ||
| 57 | +type adbd_exec_t; | ||
| 58 | + | ||
| 59 | +init_daemon_domain(adbd_t, adbd_exec_t) | ||
| 60 | + | ||
| 61 | +# Move adb from system_r:initrc_t to unconfined_r:unconfined_t | ||
| 62 | +unconfined_shell_domtrans(adbd_t) | ||
| 63 | + | ||
| 64 | +# Minimal Rules Required for adbd service | ||
| 65 | +allow adbd_t self:capability sys_resource; | ||
| 66 | + | ||
| 67 | +domain_interactive_fd(adbd_t) | ||
| 68 | +dev_rw_usbfs(adbd_t) | ||
| 69 | +files_read_etc_files(adbd_t) | ||
| 70 | +files_rw_etc_runtime_files(adbd_t) | ||
| 71 | +term_use_ptmx(adbd_t) | ||
| 72 | +term_use_generic_ptys(adbd_t) | ||
| 73 | + | ||
| 74 | -- | ||
| 75 | 2.43.0 | ||
| 76 | |||
diff --git a/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted_git.bbappend b/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted_git.bbappend deleted file mode 100644 index 429b3ea9b5..0000000000 --- a/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted_git.bbappend +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | FILESEXTRAPATHS:append := "${THISDIR}/${PN}:" | ||
| 2 | |||
| 3 | SRC_URI:append = " \ | ||
| 4 | file://0001-Added-sepolicy-for-adb-service.patch \ | ||
| 5 | " | ||
diff --git a/meta-oe/licenses/LicenseRef-EEMBC-AUA b/meta-oe/licenses/LicenseRef-EEMBC-AUA new file mode 100644 index 0000000000..14e53e9eec --- /dev/null +++ b/meta-oe/licenses/LicenseRef-EEMBC-AUA | |||
| @@ -0,0 +1,100 @@ | |||
| 1 | # COREMARK® ACCEPTABLE USE AGREEMENT | ||
| 2 | |||
| 3 | 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. | ||
| 4 | |||
| 5 | 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”). | ||
| 6 | |||
| 7 | ## Article 1 – License Grant. | ||
| 8 | 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. | ||
| 9 | |||
| 10 | 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. | ||
| 11 | |||
| 12 | 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. | ||
| 13 | |||
| 14 | 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. | ||
| 15 | |||
| 16 | ## Article 2 – Ownership. | ||
| 17 | 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. | ||
| 18 | |||
| 19 | 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. | ||
| 20 | |||
| 21 | ## Article 3 – Indemnification. | ||
| 22 | 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). | ||
| 23 | |||
| 24 | 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. | ||
| 25 | |||
| 26 | ## Article 4 – Miscellaneous. | ||
| 27 | 4.1. Relationship of the Parties. This Agreement does not create a partnership, franchise, joint venture, agency, fiduciary, or employment relationship between the parties. | ||
| 28 | |||
| 29 | 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. | ||
| 30 | |||
| 31 | 4.3. Assignment. Licensee’s rights hereunder are non-assignable, and may not be sublicensed. | ||
| 32 | |||
| 33 | 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. | ||
| 34 | |||
| 35 | 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. | ||
| 36 | |||
| 37 | 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. | ||
| 38 | |||
| 39 | 4.7. Amendment; Waiver. This Agreement may not be amended, nor may any rights under it be waived, except in writing by Licensor. | ||
| 40 | |||
| 41 | 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 | ||
| 42 | permitted by law, and the remaining provisions of this Agreement shall remain in effect. | ||
| 43 | |||
| 44 | 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. | ||
| 45 | |||
| 46 | |||
| 47 | # Apache License | ||
| 48 | |||
| 49 | Version 2.0, January 2004 | ||
| 50 | |||
| 51 | http://www.apache.org/licenses/ | ||
| 52 | |||
| 53 | ## TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||
| 54 | |||
| 55 | 1. Definitions. | ||
| 56 | |||
| 57 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. | ||
| 58 | |||
| 59 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. | ||
| 60 | |||
| 61 | "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. | ||
| 62 | |||
| 63 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. | ||
| 64 | |||
| 65 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. | ||
| 66 | |||
| 67 | "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. | ||
| 68 | |||
| 69 | "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). | ||
| 70 | |||
| 71 | "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. | ||
| 72 | |||
| 73 | "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." | ||
| 74 | |||
| 75 | "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. | ||
| 76 | |||
| 77 | 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. | ||
| 78 | |||
| 79 | 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. | ||
| 80 | |||
| 81 | 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: | ||
| 82 | |||
| 83 | You must give any other recipients of the Work or Derivative Works a copy of this License; and | ||
| 84 | You must cause any modified files to carry prominent notices stating that You changed the files; and | ||
| 85 | 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 | ||
| 86 | 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. | ||
| 87 | |||
| 88 | 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. | ||
| 89 | |||
| 90 | 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. | ||
| 91 | |||
| 92 | 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. | ||
| 93 | |||
| 94 | 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. | ||
| 95 | |||
| 96 | 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. | ||
| 97 | |||
| 98 | 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. | ||
| 99 | |||
| 100 | END OF TERMS AND CONDITIONS | ||
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 0000000000..f4974b754f --- /dev/null +++ b/meta-oe/recipes-benchmark/coremark/coremark_git.bb | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | SUMMARY = "EEMBC CoreMark CPU benchmark" | ||
| 2 | DESCRIPTION = "CoreMark is a CPU benchmark program" | ||
| 3 | HOMEPAGE = "https://www.eembc.org/coremark/" | ||
| 4 | LICENSE = "Apache-2.0 & LicenseRef-EEMBC-AUA" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=0a18b17ae63deaa8a595035f668aebe1" | ||
| 6 | |||
| 7 | SRC_URI = "git://github.com/eembc/coremark.git;branch=main;protocol=https" | ||
| 8 | SRCREV = "1f483d5b8316753a742cbf5590caf5bd0a4e4777" | ||
| 9 | |||
| 10 | inherit pkgconfig | ||
| 11 | |||
| 12 | do_configure[noexec] = "1" | ||
| 13 | |||
| 14 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
| 15 | |||
| 16 | do_compile() { | ||
| 17 | oe_runmake compile | ||
| 18 | } | ||
| 19 | |||
| 20 | do_install() { | ||
| 21 | install -d ${D}${bindir} | ||
| 22 | install -m 0755 ${S}/coremark.exe ${D}${bindir}/coremark | ||
| 23 | } | ||
diff --git a/meta-oe/recipes-benchmark/fio/fio/0001-fix-musl-builds.patch b/meta-oe/recipes-benchmark/fio/fio/0001-fix-musl-builds.patch deleted file mode 100644 index 6c0d69d6e8..0000000000 --- a/meta-oe/recipes-benchmark/fio/fio/0001-fix-musl-builds.patch +++ /dev/null | |||
| @@ -1,38 +0,0 @@ | |||
| 1 | From ccce76d2850d6e52da3d7986c950af068fbfe0fd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Arthur Gautier <arthur.gautier@arista.com> | ||
| 3 | Date: Sat, 13 Dec 2025 20:07:11 -0800 | ||
| 4 | Subject: [PATCH] fix musl builds | ||
| 5 | |||
| 6 | This commit fixes the build on musl which fails with the following | ||
| 7 | error: | ||
| 8 | ``` | ||
| 9 | oslib/linux-blkzoned.c: In function 'blkzoned_move_zone_wp': | ||
| 10 | oslib/linux-blkzoned.c:389:37: error: 'FALLOC_FL_ZERO_RANGE' undeclared (first use in this function) | ||
| 11 | 389 | ret = fallocate(fd, FALLOC_FL_ZERO_RANGE, z->wp, length); | ||
| 12 | | ^~~~~~~~~~~~~~~~~~~~ | ||
| 13 | oslib/linux-blkzoned.c:389:37: note: each undeclared identifier is reported only once for each function it appears in | ||
| 14 | make: *** [Makefile:501: oslib/linux-blkzoned.o] Error 1 | ||
| 15 | make: *** Waiting for unfinished jobs.... | ||
| 16 | ``` | ||
| 17 | |||
| 18 | Upstream-Status: Backport [https://github.com/axboe/fio/commit/ccce76d2850d6e52da3d7986c950af068fbfe0fd] | ||
| 19 | Signed-off-by: Arthur Gautier <arthur.gautier@arista.com> | ||
| 20 | --- | ||
| 21 | oslib/linux-blkzoned.c | 1 + | ||
| 22 | 1 file changed, 1 insertion(+) | ||
| 23 | |||
| 24 | diff --git a/oslib/linux-blkzoned.c b/oslib/linux-blkzoned.c | ||
| 25 | index 78e25fca..c45ef623 100644 | ||
| 26 | --- a/oslib/linux-blkzoned.c | ||
| 27 | +++ b/oslib/linux-blkzoned.c | ||
| 28 | @@ -25,6 +25,7 @@ | ||
| 29 | #ifndef BLKFINISHZONE | ||
| 30 | #define BLKFINISHZONE _IOW(0x12, 136, struct blk_zone_range) | ||
| 31 | #endif | ||
| 32 | +#include <linux/falloc.h> | ||
| 33 | |||
| 34 | /* | ||
| 35 | * If the uapi headers installed on the system lacks zone capacity support, | ||
| 36 | -- | ||
| 37 | 2.51.0 | ||
| 38 | |||
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 c5813273c7..0000000000 --- a/meta-oe/recipes-benchmark/fio/fio/CVE-2025-10823.patch +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | From 6a39dfaffdb8a6c2080eec0dc7fb1ee532d54025 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jens Axboe <axboe@kernel.dk> | ||
| 3 | Date: Tue, 23 Sep 2025 11:50:46 -0600 | ||
| 4 | Subject: [PATCH] options: check for NULL input string and fail | ||
| 5 | |||
| 6 | Waste of time busy work. | ||
| 7 | |||
| 8 | Link: https://github.com/axboe/fio/issues/1982 | ||
| 9 | |||
| 10 | CVE: CVE-2025-10823 | ||
| 11 | |||
| 12 | Upstream-Status: Backport | ||
| 13 | https://github.com/axboe/fio/commit/6a39dfaffdb8a6c2080eec0dc7fb1ee532d54025 | ||
| 14 | |||
| 15 | Signed-off-by: Jens Axboe <axboe@kernel.dk> | ||
| 16 | Signed-off-by: Saravanan <saravanan.kadambathursubramaniyam@windriver.com> | ||
| 17 | --- | ||
| 18 | options.c | 3 +++ | ||
| 19 | 1 file changed, 3 insertions(+) | ||
| 20 | |||
| 21 | diff --git a/options.c b/options.c | ||
| 22 | index c35878f..562c5bc 100644 | ||
| 23 | --- a/options.c | ||
| 24 | +++ b/options.c | ||
| 25 | @@ -1616,6 +1616,9 @@ static int str_buffer_pattern_cb(void *data, const char *input) | ||
| 26 | struct thread_data *td = cb_data_to_td(data); | ||
| 27 | int ret; | ||
| 28 | |||
| 29 | + if (!input) | ||
| 30 | + return 1; | ||
| 31 | + | ||
| 32 | /* FIXME: for now buffer pattern does not support formats */ | ||
| 33 | ret = parse_and_fill_pattern_alloc(input, strlen(input), | ||
| 34 | &td->o.buffer_pattern, NULL, NULL, NULL); | ||
| 35 | -- | ||
| 36 | 2.48.1 | ||
| 37 | |||
diff --git a/meta-oe/recipes-benchmark/fio/fio_3.41.bb b/meta-oe/recipes-benchmark/fio/fio_3.42.bb index 3f03c41f22..dac7548d08 100644 --- a/meta-oe/recipes-benchmark/fio/fio_3.41.bb +++ b/meta-oe/recipes-benchmark/fio/fio_3.42.bb | |||
| @@ -24,15 +24,11 @@ PACKAGECONFIG[numa] = ",--disable-numa,numactl" | |||
| 24 | 24 | ||
| 25 | SRC_URI = " \ | 25 | SRC_URI = " \ |
| 26 | git://git.kernel.dk/fio.git;branch=master;tag=${BP} \ | 26 | git://git.kernel.dk/fio.git;branch=master;tag=${BP} \ |
| 27 | file://0001-fix-musl-builds.patch \ | ||
| 28 | " | 27 | " |
| 29 | SRCREV = "ed675d3477a70a42d2e757b713f6c7125a27cdca" | 28 | SRCREV = "ab77643023f5d7e3c1b71a7576a564f368bf577a" |
| 30 | |||
| 31 | SRC_URI += "file://CVE-2025-10823.patch" | ||
| 32 | 29 | ||
| 33 | UPSTREAM_CHECK_GITTAGREGEX = "fio-(?P<pver>\d+(\.\d+)+)" | 30 | UPSTREAM_CHECK_GITTAGREGEX = "fio-(?P<pver>\d+(\.\d+)+)" |
| 34 | 31 | ||
| 35 | |||
| 36 | # avoids build breaks when using no-static-libs.inc | 32 | # avoids build breaks when using no-static-libs.inc |
| 37 | DISABLE_STATIC = "" | 33 | DISABLE_STATIC = "" |
| 38 | 34 | ||
| @@ -50,3 +46,4 @@ do_install() { | |||
| 50 | } | 46 | } |
| 51 | 47 | ||
| 52 | CVE_STATUS[CVE-2025-10824] = "disputed: Maintainer could not reproduce the issue, issue is closed without change." | 48 | CVE_STATUS[CVE-2025-10824] = "disputed: Maintainer could not reproduce the issue, issue is closed without change." |
| 49 | CVE_STATUS[CVE-2026-30656] = "fixed-version: fixed in 3.42" | ||
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.20.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_3.21.bb index 7d4d6beeb8..de266551ae 100644 --- a/meta-oe/recipes-benchmark/iperf3/iperf3_3.20.bb +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_3.21.bb | |||
| @@ -10,14 +10,14 @@ SECTION = "console/network" | |||
| 10 | BUGTRACKER = "https://github.com/esnet/iperf/issues" | 10 | BUGTRACKER = "https://github.com/esnet/iperf/issues" |
| 11 | 11 | ||
| 12 | LICENSE = "BSD-3-Clause" | 12 | LICENSE = "BSD-3-Clause" |
| 13 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b51332d7f45357a9410daa9a14a3655f" | 13 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f2eb355b6d3b9d63b6b7a861cdc62440" |
| 14 | 14 | ||
| 15 | SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https \ | 15 | SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https;tag=${PV} \ |
| 16 | file://0002-Remove-pg-from-profile_CFLAGS.patch \ | 16 | file://0002-Remove-pg-from-profile_CFLAGS.patch \ |
| 17 | file://0001-configure.ac-check-for-CPP-prog.patch \ | 17 | file://0001-configure.ac-check-for-CPP-prog.patch \ |
| 18 | " | 18 | " |
| 19 | 19 | ||
| 20 | SRCREV = "0711330bacfaf1c2a804be66e7ecc26f481ede5d" | 20 | SRCREV = "d39cf41526626b4e5a130f115d931cd6cbdffc19" |
| 21 | 21 | ||
| 22 | RDEPENDS:${PN} = "libgcc" | 22 | RDEPENDS:${PN} = "libgcc" |
| 23 | 23 | ||
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb index 89ce11f6e4..dd2fbbc7cd 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 = " \ | |||
| 31 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | 31 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" |
| 32 | 32 | ||
| 33 | 33 | ||
| 34 | COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" | 34 | COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|riscv64|aarch64|arm).*-linux*" |
| 35 | 35 | ||
| 36 | LIBARGS = "LIB32=${baselib} LIB64=${baselib}" | 36 | LIBARGS = "LIB32=${baselib} LIB64=${baselib}" |
| 37 | LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" | 37 | 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 198552e5c6..3154db2705 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" | |||
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64).*-linux*" | 17 | COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64).*-linux*" |
| 18 | 18 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | |
| 19 | EXTRA_OECONF += "--enable-largefile --with-system-luajit --with-system-ck --without-gcc-arch --with-lib-prefix=no" | 19 | EXTRA_OECONF += "--enable-largefile --with-system-luajit --with-system-ck --without-gcc-arch --with-lib-prefix=no" |
| 20 | PACKAGECONFIG ??= "" | 20 | PACKAGECONFIG ??= "" |
| 21 | PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio," | 21 | 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.11.bb index 3d1686bcf6..924964f6b6 100644 --- a/meta-oe/recipes-bsp/bolt/bolt_0.9.10.bb +++ b/meta-oe/recipes-bsp/bolt/bolt_0.9.11.bb | |||
| @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | |||
| 7 | DEPENDS = "udev polkit dbus" | 7 | DEPENDS = "udev polkit dbus" |
| 8 | REQUIRED_DISTRO_FEATURES = "polkit" | 8 | REQUIRED_DISTRO_FEATURES = "polkit" |
| 9 | 9 | ||
| 10 | SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master" | 10 | SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master;tag=${PV}" |
| 11 | SRCREV = "c0d4cb2f4399e86417907a37c0d8ef3bb9fb406f" | 11 | SRCREV = "9d1d66380353dab94c28466f34adb2ba6c7e4393" |
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | CVE_PRODUCT = "freedesktop:bolt" | 14 | CVE_PRODUCT = "freedesktop:bolt" |
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 0000000000..9fb9b38a63 --- /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 @@ | |||
| 1 | From 1b54d6a42677bd4209cf5c893802c7f60dc0ad75 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 3 Apr 2026 23:43:18 -0700 | ||
| 4 | Subject: [PATCH] configure.ac: replace K5_AC_INIT with explicit AC_INIT | ||
| 5 | |||
| 6 | autoreconf expects configure.ac to contain a literal AC_INIT invocation. | ||
| 7 | krb5 currently uses the custom K5_AC_INIT wrapper, which expands to | ||
| 8 | AC_INIT but is not recognized by autoreconf's initial sanity check, | ||
| 9 | causing configuration to fail with: | ||
| 10 | |||
| 11 | autoreconf: error: configure.ac: AC_INIT not found | ||
| 12 | |||
| 13 | Replace K5_AC_INIT([aclocal.m4]) with its explicit expansion: | ||
| 14 | AC_INIT(...), AC_CONFIG_SRCDIR([aclocal.m4]), and build_dynobj=no. | ||
| 15 | |||
| 16 | This preserves the existing behavior while allowing autoreconf-based | ||
| 17 | builds to succeed. | ||
| 18 | |||
| 19 | Upstream-Status: Pending | ||
| 20 | |||
| 21 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 22 | --- | ||
| 23 | src/configure.ac | 4 +++- | ||
| 24 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/src/configure.ac b/src/configure.ac | ||
| 27 | index 4325fae..03e224f 100644 | ||
| 28 | --- a/src/configure.ac | ||
| 29 | +++ b/src/configure.ac | ||
| 30 | @@ -1,4 +1,6 @@ | ||
| 31 | -K5_AC_INIT([aclocal.m4]) | ||
| 32 | +AC_INIT([Kerberos 5], m4_defn([K5_VERSION]), m4_defn([K5_BUGADDR]), [krb5]) | ||
| 33 | +AC_CONFIG_SRCDIR([aclocal.m4]) | ||
| 34 | +build_dynobj=no | ||
| 35 | |||
| 36 | # If $runstatedir isn't set by autoconf (<2.70), set it manually. | ||
| 37 | if test x"$runstatedir" = x; then | ||
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 5d8ab2dc01..89e5502847 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.22.2.bb | |||
| @@ -23,6 +23,7 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \ | |||
| 23 | file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ | 23 | file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ |
| 24 | file://fix-strchr-conformance-to-C23.patch;striplevel=2 \ | 24 | file://fix-strchr-conformance-to-C23.patch;striplevel=2 \ |
| 25 | file://crosscompile_nm.patch \ | 25 | file://crosscompile_nm.patch \ |
| 26 | file://0001-configure.ac-replace-K5_AC_INIT-with-explicit-AC_INI.patch;striplevel=2 \ | ||
| 26 | file://etc/init.d/krb5-kdc \ | 27 | file://etc/init.d/krb5-kdc \ |
| 27 | file://etc/init.d/krb5-admin-server \ | 28 | file://etc/init.d/krb5-admin-server \ |
| 28 | file://etc/default/krb5-kdc \ | 29 | file://etc/default/krb5-kdc \ |
diff --git a/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_git.bb b/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_1.0.0.bb index daa32a8d48..bd1686e9a9 100644 --- a/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_git.bb +++ b/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_1.0.0.bb | |||
| @@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a87a7059d580c45495c1218f53e3610d" | |||
| 4 | 4 | ||
| 5 | SECTION = "libs" | 5 | SECTION = "libs" |
| 6 | 6 | ||
| 7 | SRC_URI = "git://github.com/amarula/libcppconnman.git;protocol=https;branch=main" | 7 | SRC_URI = "git://github.com/amarula/libcppconnman.git;protocol=https;branch=main;tag=v${PV}" |
| 8 | SRCREV = "d89262c2cd7336da8ba9eb06228d422847fe4b20" | 8 | SRCREV = "84fa99d3ba0908ff9debd9191c4eddabf08079d4" |
| 9 | 9 | ||
| 10 | inherit cmake pkgconfig | 10 | inherit cmake pkgconfig |
| 11 | 11 | ||
diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.8.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.9.bb index 1e9d9d74f1..63c8a0bb7d 100644 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.8.bb +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.9.bb | |||
| @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" | |||
| 7 | DEPENDS = "zlib curl libsigc++-2.0 openssl cppunit" | 7 | DEPENDS = "zlib curl libsigc++-2.0 openssl cppunit" |
| 8 | 8 | ||
| 9 | SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https;tag=v${PV}" | 9 | SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https;tag=v${PV}" |
| 10 | SRCREV = "1534b1563f464fd1636c0b55e1591b72f7d8ab6b" | 10 | SRCREV = "e88d4e7854abacd3036a0dec11927c1276c1e6b2" |
| 11 | 11 | ||
| 12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
| 13 | 13 | ||
diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb index 02843be7c3..a18f88390e 100644 --- a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb +++ b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb | |||
| @@ -22,7 +22,7 @@ PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libeve | |||
| 22 | PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev" | 22 | PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev" |
| 23 | PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" | 23 | PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" |
| 24 | PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," | 24 | PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," |
| 25 | PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl" | 25 | PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl libcap" |
| 26 | PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," | 26 | PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," |
| 27 | PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd" | 27 | PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd" |
| 28 | PACKAGECONFIG[examples] = "-DLWS_WITH_MINIMAL_EXAMPLES=ON,-DLWS_WITH_MINIMAL_EXAMPLES=OFF" | 28 | PACKAGECONFIG[examples] = "-DLWS_WITH_MINIMAL_EXAMPLES=ON,-DLWS_WITH_MINIMAL_EXAMPLES=OFF" |
| @@ -34,6 +34,7 @@ python __anonymous() { | |||
| 34 | 34 | ||
| 35 | EXTRA_OECMAKE += " \ | 35 | EXTRA_OECMAKE += " \ |
| 36 | -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ | 36 | -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ |
| 37 | -DLWS_WITHOUT_TESTAPPS=ON \ | ||
| 37 | " | 38 | " |
| 38 | 39 | ||
| 39 | do_compile:prepend() { | 40 | do_compile:prepend() { |
| @@ -41,6 +42,8 @@ do_compile:prepend() { | |||
| 41 | } | 42 | } |
| 42 | 43 | ||
| 43 | do_install:append() { | 44 | do_install:append() { |
| 45 | sed -i -e 's|${STAGING_BASELIBDIR}/libcap.so|cap|g' ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake | ||
| 46 | sed -i -e 's|${STAGING_BASELIBDIR}/libcap.so|cap|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake | ||
| 44 | sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake | 47 | sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake |
| 45 | sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake | 48 | sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake |
| 46 | sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake | 49 | sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake |
diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.8.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.9.bb index 9fc6f1e5e9..7ce38e9597 100644 --- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.8.bb +++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.9.bb | |||
| @@ -7,7 +7,7 @@ DEPENDS = "autoconf-archive libsigc++-2.0 curl cppunit libtool libtorrent ncurse | |||
| 7 | 7 | ||
| 8 | SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https;tag=v${PV}" | 8 | SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https;tag=v${PV}" |
| 9 | 9 | ||
| 10 | SRCREV = "39f186e523f6ea2e72a3715a72d6e9ae4081ed84" | 10 | SRCREV = "b78fd9aef5d0060fe7bd8447cace38606e03f41c" |
| 11 | 11 | ||
| 12 | inherit autotools pkgconfig | 12 | inherit autotools pkgconfig |
| 13 | 13 | ||
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 0000000000..8f4a1d3211 --- /dev/null +++ b/meta-oe/recipes-connectivity/ttyd/ttyd_1.7.7.bb | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | SUMMARY = "ttyd is a simple command-line tool for sharing terminal over the web." | ||
| 2 | SECTION = "console/network" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4fe5f001c65f923d49dc96cce96ce935" | ||
| 5 | |||
| 6 | SRC_URI = "git://github.com/tsl0922/ttyd.git;protocol=https;branch=main;tag=${PV}" | ||
| 7 | SRCREV = "40e79c706be14029b391f369bee6613c31667abb" | ||
| 8 | |||
| 9 | inherit cmake | ||
| 10 | |||
| 11 | DEPENDS = "libuv json-c zlib libwebsockets" | ||
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 0000000000..1d05989c74 --- /dev/null +++ b/meta-oe/recipes-core/minizip/minizip/0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | From cb14dc9ade3759352417a300e6c2ed73268f1d97 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Rui Chen <rui@chenrui.dev> | ||
| 3 | Date: Tue, 17 Feb 2026 10:48:39 -0500 | ||
| 4 | Subject: [PATCH] Add dependency to ints.h in minizip Makefile.am. | ||
| 5 | |||
| 6 | So that ints.h is part of the installation. | ||
| 7 | |||
| 8 | Upstream-Status: Backport | ||
| 9 | Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> | ||
| 10 | --- | ||
| 11 | contrib/minizip/Makefile.am | 1 + | ||
| 12 | 1 file changed, 1 insertion(+) | ||
| 13 | |||
| 14 | diff --git a/contrib/minizip/Makefile.am b/contrib/minizip/Makefile.am | ||
| 15 | index d343011..b7dea4f 100644 | ||
| 16 | --- a/contrib/minizip/Makefile.am | ||
| 17 | +++ b/contrib/minizip/Makefile.am | ||
| 18 | @@ -27,6 +27,7 @@ libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz | ||
| 19 | minizip_includedir = $(includedir)/minizip | ||
| 20 | minizip_include_HEADERS = \ | ||
| 21 | crypt.h \ | ||
| 22 | + ints.h \ | ||
| 23 | ioapi.h \ | ||
| 24 | mztools.h \ | ||
| 25 | unzip.h \ | ||
diff --git a/meta-oe/recipes-core/minizip/minizip_1.3.1.bb b/meta-oe/recipes-core/minizip/minizip_1.3.2.bb index 51a74d039b..95a605ecf4 100644 --- a/meta-oe/recipes-core/minizip/minizip_1.3.1.bb +++ b/meta-oe/recipes-core/minizip/minizip_1.3.2.bb | |||
| @@ -4,15 +4,17 @@ library which is used by many different programs." | |||
| 4 | HOMEPAGE = "http://www.winimage.com/zLibDll/minizip.html" | 4 | HOMEPAGE = "http://www.winimage.com/zLibDll/minizip.html" |
| 5 | SECTION = "libs" | 5 | SECTION = "libs" |
| 6 | LICENSE = "Zlib" | 6 | LICENSE = "Zlib" |
| 7 | LIC_FILES_CHKSUM = "file://zip.h;beginline=14;endline=30;md5=8eaa8535a3a1a2296b303f40f75385e7" | 7 | LIC_FILES_CHKSUM = "file://zip.h;beginline=14;endline=30;md5=b7d2930a7332b2bc68fc1a7fdc5ba775" |
| 8 | 8 | ||
| 9 | GITHUB_BASE_URI ?= "https://github.com/madler/zlib/releases/" | 9 | GITHUB_BASE_URI ?= "https://github.com/madler/zlib/releases/" |
| 10 | 10 | ||
| 11 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/zlib-${PV}.tar.xz" | 11 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/zlib-${PV}.tar.xz \ |
| 12 | file://0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch;patchdir=../.. \ | ||
| 13 | " | ||
| 12 | 14 | ||
| 13 | S = "${UNPACKDIR}/zlib-${PV}/contrib/minizip" | 15 | S = "${UNPACKDIR}/zlib-${PV}/contrib/minizip" |
| 14 | 16 | ||
| 15 | SRC_URI[sha256sum] = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32" | 17 | SRC_URI[sha256sum] = "d7a0654783a4da529d1bb793b7ad9c3318020af77667bcae35f95d0e42a792f3" |
| 16 | 18 | ||
| 17 | PACKAGECONFIG ??= "demos" | 19 | PACKAGECONFIG ??= "demos" |
| 18 | PACKAGECONFIG[demos] = "--enable-demos=yes,,," | 20 | PACKAGECONFIG[demos] = "--enable-demos=yes,,," |
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index c74114ee61..7c2df00207 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb | |||
| @@ -836,17 +836,15 @@ RDEPENDS:packagegroup-meta-oe-support = "\ | |||
| 836 | nss \ | 836 | nss \ |
| 837 | numactl \ | 837 | numactl \ |
| 838 | onig \ | 838 | onig \ |
| 839 | openct \ | ||
| 840 | opencv \ | 839 | opencv \ |
| 841 | openldap \ | 840 | openldap \ |
| 842 | opensc \ | 841 | opensc \ |
| 843 | p910nd \ | 842 | p910nd \ |
| 844 | pcp \ | ||
| 845 | pcsc-lite \ | 843 | pcsc-lite \ |
| 846 | pcsc-tools \ | 844 | pcsc-tools \ |
| 847 | picocom \ | 845 | picocom \ |
| 848 | pidgin \ | 846 | pidgin \ |
| 849 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pidgin-otr", "", d)} \ | 847 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pcp pidgin-otr", "", d)} \ |
| 850 | pidgin-sipe \ | 848 | pidgin-sipe \ |
| 851 | pngcheck \ | 849 | pngcheck \ |
| 852 | poco \ | 850 | poco \ |
| @@ -862,7 +860,6 @@ RDEPENDS:packagegroup-meta-oe-support = "\ | |||
| 862 | rdfind \ | 860 | rdfind \ |
| 863 | re2 \ | 861 | re2 \ |
| 864 | read-edid \ | 862 | read-edid \ |
| 865 | remmina \ | ||
| 866 | rsnapshot \ | 863 | rsnapshot \ |
| 867 | sassc \ | 864 | sassc \ |
| 868 | satyr \ | 865 | satyr \ |
| @@ -876,7 +873,7 @@ RDEPENDS:packagegroup-meta-oe-support = "\ | |||
| 876 | srecord \ | 873 | srecord \ |
| 877 | ssiapi \ | 874 | ssiapi \ |
| 878 | stm32flash \ | 875 | stm32flash \ |
| 879 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "synergy", "", d)} \ | 876 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "remmina synergy", "", d)} \ |
| 880 | syslog-ng \ | 877 | syslog-ng \ |
| 881 | tbb \ | 878 | tbb \ |
| 882 | thin-provisioning-tools \ | 879 | thin-provisioning-tools \ |
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 2aa5dee6b5..0000000000 --- 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 @@ | |||
| 1 | From 01195eb9f7d59139fb45df506ac6b3968c14a57f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 13:55:12 +0800 | ||
| 4 | Subject: [PATCH 01/22] missing_type.h: add comparison_fn_t | ||
| 5 | |||
| 6 | Make it work with musl where comparison_fn_t and is not provided. | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [musl specific] | ||
| 9 | |||
| 10 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
| 11 | [Rebased for v244] | ||
| 12 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 13 | [Rebased for v242] | ||
| 14 | Signed-off-by: Andrej Valek <andrej.valek@siemens.com> | ||
| 15 | [Rebased for v250, Drop __compare_fn_t] | ||
| 16 | Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com> | ||
| 17 | --- | ||
| 18 | src/basic/missing_type.h | 4 ++++ | ||
| 19 | src/basic/sort-util.h | 1 + | ||
| 20 | src/libsystemd/sd-journal/catalog.c | 1 + | ||
| 21 | 3 files changed, 6 insertions(+) | ||
| 22 | |||
| 23 | diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h | ||
| 24 | index f6233090a9..6c0456349d 100644 | ||
| 25 | --- a/src/basic/missing_type.h | ||
| 26 | +++ b/src/basic/missing_type.h | ||
| 27 | @@ -10,3 +10,7 @@ | ||
| 28 | #if !HAVE_CHAR16_T | ||
| 29 | #define char16_t uint16_t | ||
| 30 | #endif | ||
| 31 | + | ||
| 32 | +#ifndef __GLIBC__ | ||
| 33 | +typedef int (*comparison_fn_t)(const void *, const void *); | ||
| 34 | +#endif | ||
| 35 | diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h | ||
| 36 | index 9c818bd747..ef10c8be2c 100644 | ||
| 37 | --- a/src/basic/sort-util.h | ||
| 38 | +++ b/src/basic/sort-util.h | ||
| 39 | @@ -4,6 +4,7 @@ | ||
| 40 | #include <stdlib.h> | ||
| 41 | |||
| 42 | #include "macro.h" | ||
| 43 | +#include "missing_type.h" | ||
| 44 | |||
| 45 | /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the | ||
| 46 | * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that | ||
| 47 | diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c | ||
| 48 | index ae91534198..7f67eea38b 100644 | ||
| 49 | --- a/src/libsystemd/sd-journal/catalog.c | ||
| 50 | +++ b/src/libsystemd/sd-journal/catalog.c | ||
| 51 | @@ -28,6 +28,7 @@ | ||
| 52 | #include "string-util.h" | ||
| 53 | #include "strv.h" | ||
| 54 | #include "tmpfile-util.h" | ||
| 55 | +#include "missing_type.h" | ||
| 56 | |||
| 57 | const char * const catalog_file_dirs[] = { | ||
| 58 | "/usr/local/lib/systemd/catalog/", | ||
| 59 | -- | ||
| 60 | 2.34.1 | ||
| 61 | |||
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 900a931632..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch +++ /dev/null | |||
| @@ -1,434 +0,0 @@ | |||
| 1 | From 872b72739e62123867ce6c4f82aa37de24cc3f75 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 3 | Date: Sat, 22 May 2021 20:26:24 +0200 | ||
| 4 | Subject: [PATCH 02/22] add fallback parse_printf_format implementation | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [musl specific] | ||
| 7 | |||
| 8 | Signed-off-by: Emil Renner Berthing <systemd@esmil.dk> | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 11 | [rebased for systemd 243] | ||
| 12 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 13 | --- | ||
| 14 | meson.build | 1 + | ||
| 15 | src/basic/meson.build | 5 + | ||
| 16 | src/basic/parse-printf-format.c | 273 +++++++++++++++++++++++ | ||
| 17 | src/basic/parse-printf-format.h | 57 +++++ | ||
| 18 | src/basic/stdio-util.h | 2 +- | ||
| 19 | src/libsystemd/sd-journal/journal-send.c | 2 +- | ||
| 20 | 6 files changed, 338 insertions(+), 2 deletions(-) | ||
| 21 | create mode 100644 src/basic/parse-printf-format.c | ||
| 22 | create mode 100644 src/basic/parse-printf-format.h | ||
| 23 | |||
| 24 | diff --git a/meson.build b/meson.build | ||
| 25 | index 7419e2b0b0..01fd3ffc19 100644 | ||
| 26 | --- a/meson.build | ||
| 27 | +++ b/meson.build | ||
| 28 | @@ -725,6 +725,7 @@ endif | ||
| 29 | foreach header : ['crypt.h', | ||
| 30 | 'linux/memfd.h', | ||
| 31 | 'linux/vm_sockets.h', | ||
| 32 | + 'printf.h', | ||
| 33 | 'sys/auxv.h', | ||
| 34 | 'threads.h', | ||
| 35 | 'valgrind/memcheck.h', | ||
| 36 | diff --git a/src/basic/meson.build b/src/basic/meson.build | ||
| 37 | index d7450d8b44..c3e3daf4bd 100644 | ||
| 38 | --- a/src/basic/meson.build | ||
| 39 | +++ b/src/basic/meson.build | ||
| 40 | @@ -183,6 +183,11 @@ endforeach | ||
| 41 | |||
| 42 | basic_sources += generated_gperf_headers | ||
| 43 | |||
| 44 | +if conf.get('HAVE_PRINTF_H') != 1 | ||
| 45 | + basic_sources += [files('parse-printf-format.c')] | ||
| 46 | +endif | ||
| 47 | + | ||
| 48 | + | ||
| 49 | ############################################################ | ||
| 50 | |||
| 51 | arch_list = [ | ||
| 52 | diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c | ||
| 53 | new file mode 100644 | ||
| 54 | index 0000000000..49437e5445 | ||
| 55 | --- /dev/null | ||
| 56 | +++ b/src/basic/parse-printf-format.c | ||
| 57 | @@ -0,0 +1,273 @@ | ||
| 58 | +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ | ||
| 59 | + | ||
| 60 | +/*** | ||
| 61 | + This file is part of systemd. | ||
| 62 | + | ||
| 63 | + Copyright 2014 Emil Renner Berthing <systemd@esmil.dk> | ||
| 64 | + | ||
| 65 | + With parts from the musl C library | ||
| 66 | + Copyright 2005-2014 Rich Felker, et al. | ||
| 67 | + | ||
| 68 | + systemd is free software; you can redistribute it and/or modify it | ||
| 69 | + under the terms of the GNU Lesser General Public License as published by | ||
| 70 | + the Free Software Foundation; either version 2.1 of the License, or | ||
| 71 | + (at your option) any later version. | ||
| 72 | + | ||
| 73 | + systemd is distributed in the hope that it will be useful, but | ||
| 74 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 75 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 76 | + Lesser General Public License for more details. | ||
| 77 | + | ||
| 78 | + You should have received a copy of the GNU Lesser General Public License | ||
| 79 | + along with systemd; If not, see <http://www.gnu.org/licenses/>. | ||
| 80 | +***/ | ||
| 81 | + | ||
| 82 | +#include <stddef.h> | ||
| 83 | +#include <string.h> | ||
| 84 | + | ||
| 85 | +#include "parse-printf-format.h" | ||
| 86 | + | ||
| 87 | +static const char *consume_nonarg(const char *fmt) | ||
| 88 | +{ | ||
| 89 | + do { | ||
| 90 | + if (*fmt == '\0') | ||
| 91 | + return fmt; | ||
| 92 | + } while (*fmt++ != '%'); | ||
| 93 | + return fmt; | ||
| 94 | +} | ||
| 95 | + | ||
| 96 | +static const char *consume_num(const char *fmt) | ||
| 97 | +{ | ||
| 98 | + for (;*fmt >= '0' && *fmt <= '9'; fmt++) | ||
| 99 | + /* do nothing */; | ||
| 100 | + return fmt; | ||
| 101 | +} | ||
| 102 | + | ||
| 103 | +static const char *consume_argn(const char *fmt, size_t *arg) | ||
| 104 | +{ | ||
| 105 | + const char *p = fmt; | ||
| 106 | + size_t val = 0; | ||
| 107 | + | ||
| 108 | + if (*p < '1' || *p > '9') | ||
| 109 | + return fmt; | ||
| 110 | + do { | ||
| 111 | + val = 10*val + (*p++ - '0'); | ||
| 112 | + } while (*p >= '0' && *p <= '9'); | ||
| 113 | + | ||
| 114 | + if (*p != '$') | ||
| 115 | + return fmt; | ||
| 116 | + *arg = val; | ||
| 117 | + return p+1; | ||
| 118 | +} | ||
| 119 | + | ||
| 120 | +static const char *consume_flags(const char *fmt) | ||
| 121 | +{ | ||
| 122 | + while (1) { | ||
| 123 | + switch (*fmt) { | ||
| 124 | + case '#': | ||
| 125 | + case '0': | ||
| 126 | + case '-': | ||
| 127 | + case ' ': | ||
| 128 | + case '+': | ||
| 129 | + case '\'': | ||
| 130 | + case 'I': | ||
| 131 | + fmt++; | ||
| 132 | + continue; | ||
| 133 | + } | ||
| 134 | + return fmt; | ||
| 135 | + } | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +enum state { | ||
| 139 | + BARE, | ||
| 140 | + LPRE, | ||
| 141 | + LLPRE, | ||
| 142 | + HPRE, | ||
| 143 | + HHPRE, | ||
| 144 | + BIGLPRE, | ||
| 145 | + ZTPRE, | ||
| 146 | + JPRE, | ||
| 147 | + STOP | ||
| 148 | +}; | ||
| 149 | + | ||
| 150 | +enum type { | ||
| 151 | + NONE, | ||
| 152 | + PTR, | ||
| 153 | + INT, | ||
| 154 | + UINT, | ||
| 155 | + ULLONG, | ||
| 156 | + LONG, | ||
| 157 | + ULONG, | ||
| 158 | + SHORT, | ||
| 159 | + USHORT, | ||
| 160 | + CHAR, | ||
| 161 | + UCHAR, | ||
| 162 | + LLONG, | ||
| 163 | + SIZET, | ||
| 164 | + IMAX, | ||
| 165 | + UMAX, | ||
| 166 | + PDIFF, | ||
| 167 | + UIPTR, | ||
| 168 | + DBL, | ||
| 169 | + LDBL, | ||
| 170 | + MAXTYPE | ||
| 171 | +}; | ||
| 172 | + | ||
| 173 | +static const short pa_types[MAXTYPE] = { | ||
| 174 | + [NONE] = PA_INT, | ||
| 175 | + [PTR] = PA_POINTER, | ||
| 176 | + [INT] = PA_INT, | ||
| 177 | + [UINT] = PA_INT, | ||
| 178 | + [ULLONG] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 179 | + [LONG] = PA_INT | PA_FLAG_LONG, | ||
| 180 | + [ULONG] = PA_INT | PA_FLAG_LONG, | ||
| 181 | + [SHORT] = PA_INT | PA_FLAG_SHORT, | ||
| 182 | + [USHORT] = PA_INT | PA_FLAG_SHORT, | ||
| 183 | + [CHAR] = PA_CHAR, | ||
| 184 | + [UCHAR] = PA_CHAR, | ||
| 185 | + [LLONG] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 186 | + [SIZET] = PA_INT | PA_FLAG_LONG, | ||
| 187 | + [IMAX] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 188 | + [UMAX] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 189 | + [PDIFF] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 190 | + [UIPTR] = PA_INT | PA_FLAG_LONG, | ||
| 191 | + [DBL] = PA_DOUBLE, | ||
| 192 | + [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE | ||
| 193 | +}; | ||
| 194 | + | ||
| 195 | +#define S(x) [(x)-'A'] | ||
| 196 | +#define E(x) (STOP + (x)) | ||
| 197 | + | ||
| 198 | +static const unsigned char states[]['z'-'A'+1] = { | ||
| 199 | + { /* 0: bare types */ | ||
| 200 | + S('d') = E(INT), S('i') = E(INT), | ||
| 201 | + S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT), | ||
| 202 | + S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL), | ||
| 203 | + S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL), | ||
| 204 | + S('c') = E(CHAR),S('C') = E(INT), | ||
| 205 | + S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR), | ||
| 206 | + S('m') = E(NONE), | ||
| 207 | + S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE, | ||
| 208 | + S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE | ||
| 209 | + }, { /* 1: l-prefixed */ | ||
| 210 | + S('d') = E(LONG), S('i') = E(LONG), | ||
| 211 | + S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG), | ||
| 212 | + S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL), | ||
| 213 | + S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL), | ||
| 214 | + S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR), | ||
| 215 | + S('l') = LLPRE | ||
| 216 | + }, { /* 2: ll-prefixed */ | ||
| 217 | + S('d') = E(LLONG), S('i') = E(LLONG), | ||
| 218 | + S('o') = E(ULLONG),S('u') = E(ULLONG), | ||
| 219 | + S('x') = E(ULLONG),S('X') = E(ULLONG), | ||
| 220 | + S('n') = E(PTR) | ||
| 221 | + }, { /* 3: h-prefixed */ | ||
| 222 | + S('d') = E(SHORT), S('i') = E(SHORT), | ||
| 223 | + S('o') = E(USHORT),S('u') = E(USHORT), | ||
| 224 | + S('x') = E(USHORT),S('X') = E(USHORT), | ||
| 225 | + S('n') = E(PTR), | ||
| 226 | + S('h') = HHPRE | ||
| 227 | + }, { /* 4: hh-prefixed */ | ||
| 228 | + S('d') = E(CHAR), S('i') = E(CHAR), | ||
| 229 | + S('o') = E(UCHAR),S('u') = E(UCHAR), | ||
| 230 | + S('x') = E(UCHAR),S('X') = E(UCHAR), | ||
| 231 | + S('n') = E(PTR) | ||
| 232 | + }, { /* 5: L-prefixed */ | ||
| 233 | + S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL), | ||
| 234 | + S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL), | ||
| 235 | + S('n') = E(PTR) | ||
| 236 | + }, { /* 6: z- or t-prefixed (assumed to be same size) */ | ||
| 237 | + S('d') = E(PDIFF),S('i') = E(PDIFF), | ||
| 238 | + S('o') = E(SIZET),S('u') = E(SIZET), | ||
| 239 | + S('x') = E(SIZET),S('X') = E(SIZET), | ||
| 240 | + S('n') = E(PTR) | ||
| 241 | + }, { /* 7: j-prefixed */ | ||
| 242 | + S('d') = E(IMAX), S('i') = E(IMAX), | ||
| 243 | + S('o') = E(UMAX), S('u') = E(UMAX), | ||
| 244 | + S('x') = E(UMAX), S('X') = E(UMAX), | ||
| 245 | + S('n') = E(PTR) | ||
| 246 | + } | ||
| 247 | +}; | ||
| 248 | + | ||
| 249 | +size_t parse_printf_format(const char *fmt, size_t n, int *types) | ||
| 250 | +{ | ||
| 251 | + size_t i = 0; | ||
| 252 | + size_t last = 0; | ||
| 253 | + | ||
| 254 | + memset(types, 0, n); | ||
| 255 | + | ||
| 256 | + while (1) { | ||
| 257 | + size_t arg; | ||
| 258 | + unsigned int state; | ||
| 259 | + | ||
| 260 | + fmt = consume_nonarg(fmt); | ||
| 261 | + if (*fmt == '\0') | ||
| 262 | + break; | ||
| 263 | + if (*fmt == '%') { | ||
| 264 | + fmt++; | ||
| 265 | + continue; | ||
| 266 | + } | ||
| 267 | + arg = 0; | ||
| 268 | + fmt = consume_argn(fmt, &arg); | ||
| 269 | + /* flags */ | ||
| 270 | + fmt = consume_flags(fmt); | ||
| 271 | + /* width */ | ||
| 272 | + if (*fmt == '*') { | ||
| 273 | + size_t warg = 0; | ||
| 274 | + fmt = consume_argn(fmt+1, &warg); | ||
| 275 | + if (warg == 0) | ||
| 276 | + warg = ++i; | ||
| 277 | + if (warg > last) | ||
| 278 | + last = warg; | ||
| 279 | + if (warg <= n && types[warg-1] == NONE) | ||
| 280 | + types[warg-1] = INT; | ||
| 281 | + } else | ||
| 282 | + fmt = consume_num(fmt); | ||
| 283 | + /* precision */ | ||
| 284 | + if (*fmt == '.') { | ||
| 285 | + fmt++; | ||
| 286 | + if (*fmt == '*') { | ||
| 287 | + size_t parg = 0; | ||
| 288 | + fmt = consume_argn(fmt+1, &parg); | ||
| 289 | + if (parg == 0) | ||
| 290 | + parg = ++i; | ||
| 291 | + if (parg > last) | ||
| 292 | + last = parg; | ||
| 293 | + if (parg <= n && types[parg-1] == NONE) | ||
| 294 | + types[parg-1] = INT; | ||
| 295 | + } else { | ||
| 296 | + if (*fmt == '-') | ||
| 297 | + fmt++; | ||
| 298 | + fmt = consume_num(fmt); | ||
| 299 | + } | ||
| 300 | + } | ||
| 301 | + /* length modifier and conversion specifier */ | ||
| 302 | + state = BARE; | ||
| 303 | + do { | ||
| 304 | + unsigned char c = *fmt++; | ||
| 305 | + | ||
| 306 | + if (c < 'A' || c > 'z') | ||
| 307 | + continue; | ||
| 308 | + state = states[state]S(c); | ||
| 309 | + if (state == 0) | ||
| 310 | + continue; | ||
| 311 | + } while (state < STOP); | ||
| 312 | + | ||
| 313 | + if (state == E(NONE)) | ||
| 314 | + continue; | ||
| 315 | + | ||
| 316 | + if (arg == 0) | ||
| 317 | + arg = ++i; | ||
| 318 | + if (arg > last) | ||
| 319 | + last = arg; | ||
| 320 | + if (arg <= n) | ||
| 321 | + types[arg-1] = state - STOP; | ||
| 322 | + } | ||
| 323 | + | ||
| 324 | + if (last > n) | ||
| 325 | + last = n; | ||
| 326 | + for (i = 0; i < last; i++) | ||
| 327 | + types[i] = pa_types[types[i]]; | ||
| 328 | + | ||
| 329 | + return last; | ||
| 330 | +} | ||
| 331 | diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h | ||
| 332 | new file mode 100644 | ||
| 333 | index 0000000000..47be7522d7 | ||
| 334 | --- /dev/null | ||
| 335 | +++ b/src/basic/parse-printf-format.h | ||
| 336 | @@ -0,0 +1,57 @@ | ||
| 337 | +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ | ||
| 338 | + | ||
| 339 | +/*** | ||
| 340 | + This file is part of systemd. | ||
| 341 | + | ||
| 342 | + Copyright 2014 Emil Renner Berthing <systemd@esmil.dk> | ||
| 343 | + | ||
| 344 | + With parts from the GNU C Library | ||
| 345 | + Copyright 1991-2014 Free Software Foundation, Inc. | ||
| 346 | + | ||
| 347 | + systemd is free software; you can redistribute it and/or modify it | ||
| 348 | + under the terms of the GNU Lesser General Public License as published by | ||
| 349 | + the Free Software Foundation; either version 2.1 of the License, or | ||
| 350 | + (at your option) any later version. | ||
| 351 | + | ||
| 352 | + systemd is distributed in the hope that it will be useful, but | ||
| 353 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 354 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 355 | + Lesser General Public License for more details. | ||
| 356 | + | ||
| 357 | + You should have received a copy of the GNU Lesser General Public License | ||
| 358 | + along with systemd; If not, see <http://www.gnu.org/licenses/>. | ||
| 359 | +***/ | ||
| 360 | + | ||
| 361 | +#pragma once | ||
| 362 | + | ||
| 363 | +#include "config.h" | ||
| 364 | + | ||
| 365 | +#if HAVE_PRINTF_H | ||
| 366 | +#include <printf.h> | ||
| 367 | +#else | ||
| 368 | + | ||
| 369 | +#include <stddef.h> | ||
| 370 | + | ||
| 371 | +enum { /* C type: */ | ||
| 372 | + PA_INT, /* int */ | ||
| 373 | + PA_CHAR, /* int, cast to char */ | ||
| 374 | + PA_WCHAR, /* wide char */ | ||
| 375 | + PA_STRING, /* const char *, a '\0'-terminated string */ | ||
| 376 | + PA_WSTRING, /* const wchar_t *, wide character string */ | ||
| 377 | + PA_POINTER, /* void * */ | ||
| 378 | + PA_FLOAT, /* float */ | ||
| 379 | + PA_DOUBLE, /* double */ | ||
| 380 | + PA_LAST | ||
| 381 | +}; | ||
| 382 | + | ||
| 383 | +/* Flag bits that can be set in a type returned by `parse_printf_format'. */ | ||
| 384 | +#define PA_FLAG_MASK 0xff00 | ||
| 385 | +#define PA_FLAG_LONG_LONG (1 << 8) | ||
| 386 | +#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG | ||
| 387 | +#define PA_FLAG_LONG (1 << 9) | ||
| 388 | +#define PA_FLAG_SHORT (1 << 10) | ||
| 389 | +#define PA_FLAG_PTR (1 << 11) | ||
| 390 | + | ||
| 391 | +size_t parse_printf_format(const char *fmt, size_t n, int *types); | ||
| 392 | + | ||
| 393 | +#endif /* HAVE_PRINTF_H */ | ||
| 394 | diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h | ||
| 395 | index 4e93ac90c9..f9deb6f662 100644 | ||
| 396 | --- a/src/basic/stdio-util.h | ||
| 397 | +++ b/src/basic/stdio-util.h | ||
| 398 | @@ -1,12 +1,12 @@ | ||
| 399 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 400 | #pragma once | ||
| 401 | |||
| 402 | -#include <printf.h> | ||
| 403 | #include <stdarg.h> | ||
| 404 | #include <stdio.h> | ||
| 405 | #include <sys/types.h> | ||
| 406 | |||
| 407 | #include "macro.h" | ||
| 408 | +#include "parse-printf-format.h" | ||
| 409 | |||
| 410 | _printf_(3, 4) | ||
| 411 | static inline char *snprintf_ok(char *buf, size_t len, const char *format, ...) { | ||
| 412 | diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c | ||
| 413 | index be23b2fe75..69a2eb6404 100644 | ||
| 414 | --- a/src/libsystemd/sd-journal/journal-send.c | ||
| 415 | +++ b/src/libsystemd/sd-journal/journal-send.c | ||
| 416 | @@ -2,7 +2,6 @@ | ||
| 417 | |||
| 418 | #include <errno.h> | ||
| 419 | #include <fcntl.h> | ||
| 420 | -#include <printf.h> | ||
| 421 | #include <stddef.h> | ||
| 422 | #include <sys/un.h> | ||
| 423 | #include <unistd.h> | ||
| 424 | @@ -28,6 +27,7 @@ | ||
| 425 | #include "stdio-util.h" | ||
| 426 | #include "string-util.h" | ||
| 427 | #include "tmpfile-util.h" | ||
| 428 | +#include "parse-printf-format.h" | ||
| 429 | |||
| 430 | #define SNDBUF_SIZE (8*1024*1024) | ||
| 431 | |||
| 432 | -- | ||
| 433 | 2.34.1 | ||
| 434 | |||
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 be231cf6b2..0000000000 --- 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 @@ | |||
| 1 | From 29a58009a172e369ad7166e16dab2f4945c6b0d2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Thu, 21 Feb 2019 16:23:24 +0800 | ||
| 4 | Subject: [PATCH 1/2] binfmt: Don't install dependency links at install time | ||
| 5 | for the binfmt services | ||
| 6 | |||
| 7 | use [Install] blocks so that they get created when the service is enabled | ||
| 8 | like a traditional service. | ||
| 9 | |||
| 10 | The [Install] blocks were rejected upstream as they don't have a way to | ||
| 11 | "enable" it on install without static symlinks which can't be disabled, | ||
| 12 | only masked. We however can do that in a postinst. | ||
| 13 | |||
| 14 | Upstream-Status: Denied | ||
| 15 | |||
| 16 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 18 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 19 | [rebased for systemd 243] | ||
| 20 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 21 | --- | ||
| 22 | units/meson.build | 2 -- | ||
| 23 | units/proc-sys-fs-binfmt_misc.automount | 3 +++ | ||
| 24 | units/systemd-binfmt.service.in | 4 ++++ | ||
| 25 | 3 files changed, 7 insertions(+), 2 deletions(-) | ||
| 26 | |||
| 27 | diff --git a/units/meson.build b/units/meson.build | ||
| 28 | index e7bfb7f838..1d5ec4b178 100644 | ||
| 29 | --- a/units/meson.build | ||
| 30 | +++ b/units/meson.build | ||
| 31 | @@ -154,7 +154,6 @@ units = [ | ||
| 32 | { | ||
| 33 | 'file' : 'proc-sys-fs-binfmt_misc.automount', | ||
| 34 | 'conditions' : ['ENABLE_BINFMT'], | ||
| 35 | - 'symlinks' : ['sysinit.target.wants/'], | ||
| 36 | }, | ||
| 37 | { | ||
| 38 | 'file' : 'proc-sys-fs-binfmt_misc.mount', | ||
| 39 | @@ -251,7 +250,6 @@ units = [ | ||
| 40 | { | ||
| 41 | 'file' : 'systemd-binfmt.service.in', | ||
| 42 | 'conditions' : ['ENABLE_BINFMT'], | ||
| 43 | - 'symlinks' : ['sysinit.target.wants/'], | ||
| 44 | }, | ||
| 45 | { | ||
| 46 | 'file' : 'systemd-bless-boot.service.in', | ||
| 47 | diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount | ||
| 48 | index 5d212015a5..6c2900ca77 100644 | ||
| 49 | --- a/units/proc-sys-fs-binfmt_misc.automount | ||
| 50 | +++ b/units/proc-sys-fs-binfmt_misc.automount | ||
| 51 | @@ -22,3 +22,6 @@ Before=shutdown.target | ||
| 52 | |||
| 53 | [Automount] | ||
| 54 | Where=/proc/sys/fs/binfmt_misc | ||
| 55 | + | ||
| 56 | +[Install] | ||
| 57 | +WantedBy=sysinit.target | ||
| 58 | diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in | ||
| 59 | index 6861c76674..531e9fbd90 100644 | ||
| 60 | --- a/units/systemd-binfmt.service.in | ||
| 61 | +++ b/units/systemd-binfmt.service.in | ||
| 62 | @@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html | ||
| 63 | Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems | ||
| 64 | DefaultDependencies=no | ||
| 65 | Conflicts=shutdown.target | ||
| 66 | +Wants=proc-sys-fs-binfmt_misc.automount | ||
| 67 | After=proc-sys-fs-binfmt_misc.automount | ||
| 68 | After=proc-sys-fs-binfmt_misc.mount | ||
| 69 | After=local-fs.target | ||
| 70 | @@ -31,3 +32,6 @@ RemainAfterExit=yes | ||
| 71 | ExecStart={{LIBEXECDIR}}/systemd-binfmt | ||
| 72 | ExecStop={{LIBEXECDIR}}/systemd-binfmt --unregister | ||
| 73 | TimeoutSec=90s | ||
| 74 | + | ||
| 75 | +[Install] | ||
| 76 | +WantedBy=sysinit.target | ||
| 77 | -- | ||
| 78 | 2.34.1 | ||
| 79 | |||
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 5595b5bc23..0000000000 --- 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 @@ | |||
| 1 | From 87f1d38f40c5fe9cadf2b2de442473e4e5605788 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 14:18:21 +0800 | ||
| 4 | Subject: [PATCH 03/22] src/basic/missing.h: check for missing strndupa | ||
| 5 | |||
| 6 | include missing.h for definition of strndupa | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [musl specific] | ||
| 9 | |||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 12 | [Rebased for v242] | ||
| 13 | Signed-off-by: Andrej Valek <andrej.valek@siemens.com> | ||
| 14 | [rebased for systemd 243] | ||
| 15 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 16 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
| 17 | [rebased for systemd 244] | ||
| 18 | [Rebased for v247] | ||
| 19 | Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> | ||
| 20 | [Rebased for v254] | ||
| 21 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 22 | [Rebased for v255.1] | ||
| 23 | --- | ||
| 24 | meson.build | 1 + | ||
| 25 | src/backlight/backlight.c | 1 + | ||
| 26 | src/basic/cgroup-util.c | 1 + | ||
| 27 | src/basic/env-util.c | 1 + | ||
| 28 | src/basic/log.c | 1 + | ||
| 29 | src/basic/missing_stdlib.h | 12 ++++++++++++ | ||
| 30 | src/basic/mkdir.c | 1 + | ||
| 31 | src/basic/mountpoint-util.c | 1 + | ||
| 32 | src/basic/parse-util.c | 1 + | ||
| 33 | src/basic/path-lookup.c | 1 + | ||
| 34 | src/basic/percent-util.c | 1 + | ||
| 35 | src/basic/proc-cmdline.c | 1 + | ||
| 36 | src/basic/procfs-util.c | 1 + | ||
| 37 | src/basic/time-util.c | 1 + | ||
| 38 | src/boot/bless-boot.c | 1 + | ||
| 39 | src/core/dbus-cgroup.c | 1 + | ||
| 40 | src/core/dbus-execute.c | 1 + | ||
| 41 | src/core/dbus-util.c | 1 + | ||
| 42 | src/core/execute.c | 1 + | ||
| 43 | src/core/kmod-setup.c | 1 + | ||
| 44 | src/core/service.c | 1 + | ||
| 45 | src/coredump/coredump-vacuum.c | 1 + | ||
| 46 | src/fstab-generator/fstab-generator.c | 1 + | ||
| 47 | src/journal-remote/journal-remote-main.c | 1 + | ||
| 48 | src/journal/journalctl.c | 1 + | ||
| 49 | src/libsystemd/sd-bus/bus-message.c | 1 + | ||
| 50 | src/libsystemd/sd-bus/bus-objects.c | 1 + | ||
| 51 | src/libsystemd/sd-bus/bus-socket.c | 1 + | ||
| 52 | src/libsystemd/sd-bus/sd-bus.c | 1 + | ||
| 53 | src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + | ||
| 54 | src/libsystemd/sd-journal/sd-journal.c | 1 + | ||
| 55 | src/login/pam_systemd.c | 1 + | ||
| 56 | src/network/generator/network-generator.c | 1 + | ||
| 57 | src/nspawn/nspawn-settings.c | 1 + | ||
| 58 | src/nss-mymachines/nss-mymachines.c | 1 + | ||
| 59 | src/portable/portable.c | 1 + | ||
| 60 | src/resolve/resolvectl.c | 1 + | ||
| 61 | src/shared/bus-get-properties.c | 1 + | ||
| 62 | src/shared/bus-unit-procs.c | 1 + | ||
| 63 | src/shared/bus-unit-util.c | 1 + | ||
| 64 | src/shared/bus-util.c | 1 + | ||
| 65 | src/shared/dns-domain.c | 1 + | ||
| 66 | src/shared/journal-importer.c | 1 + | ||
| 67 | src/shared/logs-show.c | 1 + | ||
| 68 | src/shared/pager.c | 1 + | ||
| 69 | src/socket-proxy/socket-proxyd.c | 1 + | ||
| 70 | src/test/test-hexdecoct.c | 1 + | ||
| 71 | src/udev/udev-builtin-net_id.c | 1 + | ||
| 72 | src/udev/udev-builtin-path_id.c | 1 + | ||
| 73 | src/udev/udev-event.c | 1 + | ||
| 74 | src/udev/udev-rules.c | 1 + | ||
| 75 | 51 files changed, 62 insertions(+) | ||
| 76 | |||
| 77 | diff --git a/meson.build b/meson.build | ||
| 78 | index 01fd3ffc19..61a872b753 100644 | ||
| 79 | --- a/meson.build | ||
| 80 | +++ b/meson.build | ||
| 81 | @@ -567,6 +567,7 @@ foreach ident : ['secure_getenv', '__secure_getenv'] | ||
| 82 | endforeach | ||
| 83 | |||
| 84 | foreach ident : [ | ||
| 85 | + ['strndupa' , '''#include <string.h>'''], | ||
| 86 | ['memfd_create', '''#include <sys/mman.h>'''], | ||
| 87 | ['gettid', '''#include <sys/types.h> | ||
| 88 | #include <unistd.h>'''], | ||
| 89 | diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c | ||
| 90 | index 5ac9f904a9..99d5122dd7 100644 | ||
| 91 | --- a/src/backlight/backlight.c | ||
| 92 | +++ b/src/backlight/backlight.c | ||
| 93 | @@ -20,6 +20,7 @@ | ||
| 94 | #include "string-util.h" | ||
| 95 | #include "strv.h" | ||
| 96 | #include "terminal-util.h" | ||
| 97 | +#include "missing_stdlib.h" | ||
| 98 | |||
| 99 | #define PCI_CLASS_GRAPHICS_CARD 0x30000 | ||
| 100 | |||
| 101 | diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c | ||
| 102 | index 18b16ecc0e..d2be79622f 100644 | ||
| 103 | --- a/src/basic/cgroup-util.c | ||
| 104 | +++ b/src/basic/cgroup-util.c | ||
| 105 | @@ -38,6 +38,7 @@ | ||
| 106 | #include "unit-name.h" | ||
| 107 | #include "user-util.h" | ||
| 108 | #include "xattr-util.h" | ||
| 109 | +#include "missing_stdlib.h" | ||
| 110 | |||
| 111 | static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) { | ||
| 112 | _cleanup_free_ char *fs = NULL; | ||
| 113 | diff --git a/src/basic/env-util.c b/src/basic/env-util.c | ||
| 114 | index d3bf73385f..16b17358ca 100644 | ||
| 115 | --- a/src/basic/env-util.c | ||
| 116 | +++ b/src/basic/env-util.c | ||
| 117 | @@ -19,6 +19,7 @@ | ||
| 118 | #include "string-util.h" | ||
| 119 | #include "strv.h" | ||
| 120 | #include "utf8.h" | ||
| 121 | +#include "missing_stdlib.h" | ||
| 122 | |||
| 123 | /* We follow bash for the character set. Different shells have different rules. */ | ||
| 124 | #define VALID_BASH_ENV_NAME_CHARS \ | ||
| 125 | diff --git a/src/basic/log.c b/src/basic/log.c | ||
| 126 | index 1470611a75..9924ec2b9a 100644 | ||
| 127 | --- a/src/basic/log.c | ||
| 128 | +++ b/src/basic/log.c | ||
| 129 | @@ -40,6 +40,7 @@ | ||
| 130 | #include "terminal-util.h" | ||
| 131 | #include "time-util.h" | ||
| 132 | #include "utf8.h" | ||
| 133 | +#include "missing_stdlib.h" | ||
| 134 | |||
| 135 | #define SNDBUF_SIZE (8*1024*1024) | ||
| 136 | #define IOVEC_MAX 256U | ||
| 137 | diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h | ||
| 138 | index 8c76f93eb2..9068bfb4f0 100644 | ||
| 139 | --- a/src/basic/missing_stdlib.h | ||
| 140 | +++ b/src/basic/missing_stdlib.h | ||
| 141 | @@ -11,3 +11,15 @@ | ||
| 142 | # error "neither secure_getenv nor __secure_getenv are available" | ||
| 143 | # endif | ||
| 144 | #endif | ||
| 145 | + | ||
| 146 | +/* string.h */ | ||
| 147 | +#if ! HAVE_STRNDUPA | ||
| 148 | +#define strndupa(s, n) \ | ||
| 149 | + ({ \ | ||
| 150 | + const char *__old = (s); \ | ||
| 151 | + size_t __len = strnlen(__old, (n)); \ | ||
| 152 | + char *__new = (char *)alloca(__len + 1); \ | ||
| 153 | + __new[__len] = '\0'; \ | ||
| 154 | + (char *)memcpy(__new, __old, __len); \ | ||
| 155 | + }) | ||
| 156 | +#endif | ||
| 157 | diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c | ||
| 158 | index c770e5ed32..1fd8816cd0 100644 | ||
| 159 | --- a/src/basic/mkdir.c | ||
| 160 | +++ b/src/basic/mkdir.c | ||
| 161 | @@ -16,6 +16,7 @@ | ||
| 162 | #include "stat-util.h" | ||
| 163 | #include "stdio-util.h" | ||
| 164 | #include "user-util.h" | ||
| 165 | +#include "missing_stdlib.h" | ||
| 166 | |||
| 167 | int mkdirat_safe_internal( | ||
| 168 | int dir_fd, | ||
| 169 | diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c | ||
| 170 | index bf67f7e01a..409f8d8a73 100644 | ||
| 171 | --- a/src/basic/mountpoint-util.c | ||
| 172 | +++ b/src/basic/mountpoint-util.c | ||
| 173 | @@ -18,6 +18,7 @@ | ||
| 174 | #include "missing_stat.h" | ||
| 175 | #include "missing_syscall.h" | ||
| 176 | #include "mkdir.h" | ||
| 177 | +#include "missing_stdlib.h" | ||
| 178 | #include "mountpoint-util.h" | ||
| 179 | #include "nulstr-util.h" | ||
| 180 | #include "parse-util.h" | ||
| 181 | diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c | ||
| 182 | index 0430e33e40..f3728de026 100644 | ||
| 183 | --- a/src/basic/parse-util.c | ||
| 184 | +++ b/src/basic/parse-util.c | ||
| 185 | @@ -18,6 +18,7 @@ | ||
| 186 | #include "stat-util.h" | ||
| 187 | #include "string-util.h" | ||
| 188 | #include "strv.h" | ||
| 189 | +#include "missing_stdlib.h" | ||
| 190 | |||
| 191 | int parse_boolean(const char *v) { | ||
| 192 | if (!v) | ||
| 193 | diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c | ||
| 194 | index 4e3d59fc56..726e240df0 100644 | ||
| 195 | --- a/src/basic/path-lookup.c | ||
| 196 | +++ b/src/basic/path-lookup.c | ||
| 197 | @@ -16,6 +16,7 @@ | ||
| 198 | #include "strv.h" | ||
| 199 | #include "tmpfile-util.h" | ||
| 200 | #include "user-util.h" | ||
| 201 | +#include "missing_stdlib.h" | ||
| 202 | |||
| 203 | int xdg_user_runtime_dir(char **ret, const char *suffix) { | ||
| 204 | const char *e; | ||
| 205 | diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c | ||
| 206 | index cab9d0eaea..5f6ca258e9 100644 | ||
| 207 | --- a/src/basic/percent-util.c | ||
| 208 | +++ b/src/basic/percent-util.c | ||
| 209 | @@ -3,6 +3,7 @@ | ||
| 210 | #include "percent-util.h" | ||
| 211 | #include "string-util.h" | ||
| 212 | #include "parse-util.h" | ||
| 213 | +#include "missing_stdlib.h" | ||
| 214 | |||
| 215 | static int parse_parts_value_whole(const char *p, const char *symbol) { | ||
| 216 | const char *pc, *n; | ||
| 217 | diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c | ||
| 218 | index 522d8de1f4..7c129dc0fc 100644 | ||
| 219 | --- a/src/basic/proc-cmdline.c | ||
| 220 | +++ b/src/basic/proc-cmdline.c | ||
| 221 | @@ -16,6 +16,7 @@ | ||
| 222 | #include "string-util.h" | ||
| 223 | #include "strv.h" | ||
| 224 | #include "virt.h" | ||
| 225 | +#include "missing_stdlib.h" | ||
| 226 | |||
| 227 | int proc_cmdline_filter_pid1_args(char **argv, char ***ret) { | ||
| 228 | enum { | ||
| 229 | diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c | ||
| 230 | index d7cfcd9105..6cb0ddf575 100644 | ||
| 231 | --- a/src/basic/procfs-util.c | ||
| 232 | +++ b/src/basic/procfs-util.c | ||
| 233 | @@ -12,6 +12,7 @@ | ||
| 234 | #include "procfs-util.h" | ||
| 235 | #include "stdio-util.h" | ||
| 236 | #include "string-util.h" | ||
| 237 | +#include "missing_stdlib.h" | ||
| 238 | |||
| 239 | int procfs_get_pid_max(uint64_t *ret) { | ||
| 240 | _cleanup_free_ char *value = NULL; | ||
| 241 | diff --git a/src/basic/time-util.c b/src/basic/time-util.c | ||
| 242 | index f9014dc560..1d7840a5b5 100644 | ||
| 243 | --- a/src/basic/time-util.c | ||
| 244 | +++ b/src/basic/time-util.c | ||
| 245 | @@ -27,6 +27,7 @@ | ||
| 246 | #include "string-util.h" | ||
| 247 | #include "strv.h" | ||
| 248 | #include "time-util.h" | ||
| 249 | +#include "missing_stdlib.h" | ||
| 250 | |||
| 251 | static clockid_t map_clock_id(clockid_t c) { | ||
| 252 | |||
| 253 | diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c | ||
| 254 | index 0c0b4f23c7..68fe5ca509 100644 | ||
| 255 | --- a/src/boot/bless-boot.c | ||
| 256 | +++ b/src/boot/bless-boot.c | ||
| 257 | @@ -22,6 +22,7 @@ | ||
| 258 | #include "terminal-util.h" | ||
| 259 | #include "verbs.h" | ||
| 260 | #include "virt.h" | ||
| 261 | +#include "missing_stdlib.h" | ||
| 262 | |||
| 263 | static char **arg_path = NULL; | ||
| 264 | |||
| 265 | diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c | ||
| 266 | index 4237e694c0..05f9d9d9a9 100644 | ||
| 267 | --- a/src/core/dbus-cgroup.c | ||
| 268 | +++ b/src/core/dbus-cgroup.c | ||
| 269 | @@ -25,6 +25,7 @@ | ||
| 270 | #include "parse-util.h" | ||
| 271 | #include "path-util.h" | ||
| 272 | #include "percent-util.h" | ||
| 273 | +#include "missing_stdlib.h" | ||
| 274 | #include "socket-util.h" | ||
| 275 | |||
| 276 | BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve); | ||
| 277 | diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c | ||
| 278 | index 4daa1cefd3..2c77901471 100644 | ||
| 279 | --- a/src/core/dbus-execute.c | ||
| 280 | +++ b/src/core/dbus-execute.c | ||
| 281 | @@ -42,6 +42,7 @@ | ||
| 282 | #include "unit-printf.h" | ||
| 283 | #include "user-util.h" | ||
| 284 | #include "utf8.h" | ||
| 285 | +#include "missing_stdlib.h" | ||
| 286 | |||
| 287 | BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); | ||
| 288 | static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); | ||
| 289 | diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c | ||
| 290 | index d680a64268..e59f48103e 100644 | ||
| 291 | --- a/src/core/dbus-util.c | ||
| 292 | +++ b/src/core/dbus-util.c | ||
| 293 | @@ -9,6 +9,7 @@ | ||
| 294 | #include "unit-printf.h" | ||
| 295 | #include "user-util.h" | ||
| 296 | #include "unit.h" | ||
| 297 | +#include "missing_stdlib.h" | ||
| 298 | |||
| 299 | int bus_property_get_triggered_unit( | ||
| 300 | sd_bus *bus, | ||
| 301 | diff --git a/src/core/execute.c b/src/core/execute.c | ||
| 302 | index ef0bf88687..bd3da0c401 100644 | ||
| 303 | --- a/src/core/execute.c | ||
| 304 | +++ b/src/core/execute.c | ||
| 305 | @@ -72,6 +72,7 @@ | ||
| 306 | #include "unit-serialize.h" | ||
| 307 | #include "user-util.h" | ||
| 308 | #include "utmp-wtmp.h" | ||
| 309 | +#include "missing_stdlib.h" | ||
| 310 | |||
| 311 | static bool is_terminal_input(ExecInput i) { | ||
| 312 | return IN_SET(i, | ||
| 313 | diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c | ||
| 314 | index b8e3f7aadd..8ce8ca68d8 100644 | ||
| 315 | --- a/src/core/kmod-setup.c | ||
| 316 | +++ b/src/core/kmod-setup.c | ||
| 317 | @@ -13,6 +13,7 @@ | ||
| 318 | #include "string-util.h" | ||
| 319 | #include "strv.h" | ||
| 320 | #include "virt.h" | ||
| 321 | +#include "missing_stdlib.h" | ||
| 322 | |||
| 323 | #if HAVE_KMOD | ||
| 324 | #include "module-util.h" | ||
| 325 | diff --git a/src/core/service.c b/src/core/service.c | ||
| 326 | index b9eb40c555..268fe7573b 100644 | ||
| 327 | --- a/src/core/service.c | ||
| 328 | +++ b/src/core/service.c | ||
| 329 | @@ -45,6 +45,7 @@ | ||
| 330 | #include "unit-name.h" | ||
| 331 | #include "unit.h" | ||
| 332 | #include "utf8.h" | ||
| 333 | +#include "missing_stdlib.h" | ||
| 334 | |||
| 335 | #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__) | ||
| 336 | |||
| 337 | diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c | ||
| 338 | index 7e0c98cb7d..978a7f5874 100644 | ||
| 339 | --- a/src/coredump/coredump-vacuum.c | ||
| 340 | +++ b/src/coredump/coredump-vacuum.c | ||
| 341 | @@ -17,6 +17,7 @@ | ||
| 342 | #include "string-util.h" | ||
| 343 | #include "time-util.h" | ||
| 344 | #include "user-util.h" | ||
| 345 | +#include "missing_stdlib.h" | ||
| 346 | |||
| 347 | #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */ | ||
| 348 | #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */ | ||
| 349 | diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c | ||
| 350 | index 016f3baa7f..b1def81313 100644 | ||
| 351 | --- a/src/fstab-generator/fstab-generator.c | ||
| 352 | +++ b/src/fstab-generator/fstab-generator.c | ||
| 353 | @@ -37,6 +37,7 @@ | ||
| 354 | #include "unit-name.h" | ||
| 355 | #include "virt.h" | ||
| 356 | #include "volatile-util.h" | ||
| 357 | +#include "missing_stdlib.h" | ||
| 358 | |||
| 359 | typedef enum MountPointFlags { | ||
| 360 | MOUNT_NOAUTO = 1 << 0, | ||
| 361 | diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c | ||
| 362 | index da0f20d3ce..f22ce41908 100644 | ||
| 363 | --- a/src/journal-remote/journal-remote-main.c | ||
| 364 | +++ b/src/journal-remote/journal-remote-main.c | ||
| 365 | @@ -27,6 +27,7 @@ | ||
| 366 | #include "stat-util.h" | ||
| 367 | #include "string-table.h" | ||
| 368 | #include "strv.h" | ||
| 369 | +#include "missing_stdlib.h" | ||
| 370 | |||
| 371 | #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" | ||
| 372 | #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" | ||
| 373 | diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c | ||
| 374 | index 7f3dcd56a4..41b7cbaaf1 100644 | ||
| 375 | --- a/src/journal/journalctl.c | ||
| 376 | +++ b/src/journal/journalctl.c | ||
| 377 | @@ -77,6 +77,7 @@ | ||
| 378 | #include "unit-name.h" | ||
| 379 | #include "user-util.h" | ||
| 380 | #include "varlink.h" | ||
| 381 | +#include "missing_stdlib.h" | ||
| 382 | |||
| 383 | #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) | ||
| 384 | #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ | ||
| 385 | diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c | ||
| 386 | index ff0228081f..9066fcb133 100644 | ||
| 387 | --- a/src/libsystemd/sd-bus/bus-message.c | ||
| 388 | +++ b/src/libsystemd/sd-bus/bus-message.c | ||
| 389 | @@ -19,6 +19,7 @@ | ||
| 390 | #include "strv.h" | ||
| 391 | #include "time-util.h" | ||
| 392 | #include "utf8.h" | ||
| 393 | +#include "missing_stdlib.h" | ||
| 394 | |||
| 395 | static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); | ||
| 396 | static int message_parse_fields(sd_bus_message *m); | ||
| 397 | diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c | ||
| 398 | index c25c40ff37..57a5da704f 100644 | ||
| 399 | --- a/src/libsystemd/sd-bus/bus-objects.c | ||
| 400 | +++ b/src/libsystemd/sd-bus/bus-objects.c | ||
| 401 | @@ -11,6 +11,7 @@ | ||
| 402 | #include "missing_capability.h" | ||
| 403 | #include "string-util.h" | ||
| 404 | #include "strv.h" | ||
| 405 | +#include "missing_stdlib.h" | ||
| 406 | |||
| 407 | static int node_vtable_get_userdata( | ||
| 408 | sd_bus *bus, | ||
| 409 | diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c | ||
| 410 | index 3c59d0d615..746922d46f 100644 | ||
| 411 | --- a/src/libsystemd/sd-bus/bus-socket.c | ||
| 412 | +++ b/src/libsystemd/sd-bus/bus-socket.c | ||
| 413 | @@ -29,6 +29,7 @@ | ||
| 414 | #include "string-util.h" | ||
| 415 | #include "user-util.h" | ||
| 416 | #include "utf8.h" | ||
| 417 | +#include "missing_stdlib.h" | ||
| 418 | |||
| 419 | #define SNDBUF_SIZE (8*1024*1024) | ||
| 420 | |||
| 421 | diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c | ||
| 422 | index 4a0259f8bb..aaa90d2223 100644 | ||
| 423 | --- a/src/libsystemd/sd-bus/sd-bus.c | ||
| 424 | +++ b/src/libsystemd/sd-bus/sd-bus.c | ||
| 425 | @@ -46,6 +46,7 @@ | ||
| 426 | #include "string-util.h" | ||
| 427 | #include "strv.h" | ||
| 428 | #include "user-util.h" | ||
| 429 | +#include "missing_stdlib.h" | ||
| 430 | |||
| 431 | #define log_debug_bus_message(m) \ | ||
| 432 | do { \ | ||
| 433 | diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
| 434 | index d988588de0..458df8df9a 100644 | ||
| 435 | --- a/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
| 436 | +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
| 437 | @@ -14,6 +14,7 @@ | ||
| 438 | #include "string-util.h" | ||
| 439 | #include "tests.h" | ||
| 440 | #include "time-util.h" | ||
| 441 | +#include "missing_stdlib.h" | ||
| 442 | |||
| 443 | #define MAX_SIZE (2*1024*1024) | ||
| 444 | |||
| 445 | diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c | ||
| 446 | index 6b9ff0a4ed..4a5027ad0f 100644 | ||
| 447 | --- a/src/libsystemd/sd-journal/sd-journal.c | ||
| 448 | +++ b/src/libsystemd/sd-journal/sd-journal.c | ||
| 449 | @@ -44,6 +44,7 @@ | ||
| 450 | #include "strv.h" | ||
| 451 | #include "syslog-util.h" | ||
| 452 | #include "uid-alloc-range.h" | ||
| 453 | +#include "missing_stdlib.h" | ||
| 454 | |||
| 455 | #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC) | ||
| 456 | |||
| 457 | diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c | ||
| 458 | index b8da266e27..4bb8dd9496 100644 | ||
| 459 | --- a/src/login/pam_systemd.c | ||
| 460 | +++ b/src/login/pam_systemd.c | ||
| 461 | @@ -35,6 +35,7 @@ | ||
| 462 | #include "login-util.h" | ||
| 463 | #include "macro.h" | ||
| 464 | #include "missing_syscall.h" | ||
| 465 | +#include "missing_stdlib.h" | ||
| 466 | #include "pam-util.h" | ||
| 467 | #include "parse-util.h" | ||
| 468 | #include "path-util.h" | ||
| 469 | diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c | ||
| 470 | index 48527a2c73..9777fe0561 100644 | ||
| 471 | --- a/src/network/generator/network-generator.c | ||
| 472 | +++ b/src/network/generator/network-generator.c | ||
| 473 | @@ -14,6 +14,7 @@ | ||
| 474 | #include "string-table.h" | ||
| 475 | #include "string-util.h" | ||
| 476 | #include "strv.h" | ||
| 477 | +#include "missing_stdlib.h" | ||
| 478 | |||
| 479 | /* | ||
| 480 | # .network | ||
| 481 | diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c | ||
| 482 | index 161b1c1c70..ba1c459f78 100644 | ||
| 483 | --- a/src/nspawn/nspawn-settings.c | ||
| 484 | +++ b/src/nspawn/nspawn-settings.c | ||
| 485 | @@ -16,6 +16,7 @@ | ||
| 486 | #include "string-util.h" | ||
| 487 | #include "strv.h" | ||
| 488 | #include "user-util.h" | ||
| 489 | +#include "missing_stdlib.h" | ||
| 490 | |||
| 491 | Settings *settings_new(void) { | ||
| 492 | Settings *s; | ||
| 493 | diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c | ||
| 494 | index c64e79bdff..eda26b0b9a 100644 | ||
| 495 | --- a/src/nss-mymachines/nss-mymachines.c | ||
| 496 | +++ b/src/nss-mymachines/nss-mymachines.c | ||
| 497 | @@ -21,6 +21,7 @@ | ||
| 498 | #include "nss-util.h" | ||
| 499 | #include "signal-util.h" | ||
| 500 | #include "string-util.h" | ||
| 501 | +#include "missing_stdlib.h" | ||
| 502 | |||
| 503 | static void setup_logging_once(void) { | ||
| 504 | static pthread_once_t once = PTHREAD_ONCE_INIT; | ||
| 505 | diff --git a/src/portable/portable.c b/src/portable/portable.c | ||
| 506 | index d4b448a627..bb26623565 100644 | ||
| 507 | --- a/src/portable/portable.c | ||
| 508 | +++ b/src/portable/portable.c | ||
| 509 | @@ -40,6 +40,7 @@ | ||
| 510 | #include "strv.h" | ||
| 511 | #include "tmpfile-util.h" | ||
| 512 | #include "user-util.h" | ||
| 513 | +#include "missing_stdlib.h" | ||
| 514 | |||
| 515 | /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was | ||
| 516 | * dropped there by the portable service logic and b) for which image it was dropped there. */ | ||
| 517 | diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c | ||
| 518 | index afa537f160..32ccee4ae5 100644 | ||
| 519 | --- a/src/resolve/resolvectl.c | ||
| 520 | +++ b/src/resolve/resolvectl.c | ||
| 521 | @@ -48,6 +48,7 @@ | ||
| 522 | #include "varlink.h" | ||
| 523 | #include "verb-log-control.h" | ||
| 524 | #include "verbs.h" | ||
| 525 | +#include "missing_stdlib.h" | ||
| 526 | |||
| 527 | static int arg_family = AF_UNSPEC; | ||
| 528 | static int arg_ifindex = 0; | ||
| 529 | diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c | ||
| 530 | index 53e5d6b99f..851ecd5644 100644 | ||
| 531 | --- a/src/shared/bus-get-properties.c | ||
| 532 | +++ b/src/shared/bus-get-properties.c | ||
| 533 | @@ -4,6 +4,7 @@ | ||
| 534 | #include "rlimit-util.h" | ||
| 535 | #include "stdio-util.h" | ||
| 536 | #include "string-util.h" | ||
| 537 | +#include "missing_stdlib.h" | ||
| 538 | |||
| 539 | int bus_property_get_bool( | ||
| 540 | sd_bus *bus, | ||
| 541 | diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c | ||
| 542 | index 8b462b5627..183ce1c18e 100644 | ||
| 543 | --- a/src/shared/bus-unit-procs.c | ||
| 544 | +++ b/src/shared/bus-unit-procs.c | ||
| 545 | @@ -11,6 +11,7 @@ | ||
| 546 | #include "sort-util.h" | ||
| 547 | #include "string-util.h" | ||
| 548 | #include "terminal-util.h" | ||
| 549 | +#include "missing_stdlib.h" | ||
| 550 | |||
| 551 | struct CGroupInfo { | ||
| 552 | char *cgroup_path; | ||
| 553 | diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c | ||
| 554 | index 4ee9706847..30c8084847 100644 | ||
| 555 | --- a/src/shared/bus-unit-util.c | ||
| 556 | +++ b/src/shared/bus-unit-util.c | ||
| 557 | @@ -50,6 +50,7 @@ | ||
| 558 | #include "unit-def.h" | ||
| 559 | #include "user-util.h" | ||
| 560 | #include "utf8.h" | ||
| 561 | +#include "missing_stdlib.h" | ||
| 562 | |||
| 563 | int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) { | ||
| 564 | assert(message); | ||
| 565 | diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c | ||
| 566 | index 4123152d93..74f148c8b4 100644 | ||
| 567 | --- a/src/shared/bus-util.c | ||
| 568 | +++ b/src/shared/bus-util.c | ||
| 569 | @@ -24,6 +24,7 @@ | ||
| 570 | #include "path-util.h" | ||
| 571 | #include "socket-util.h" | ||
| 572 | #include "stdio-util.h" | ||
| 573 | +#include "missing_stdlib.h" | ||
| 574 | |||
| 575 | static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { | ||
| 576 | sd_event *e = ASSERT_PTR(userdata); | ||
| 577 | diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c | ||
| 578 | index b41c9b06ca..e69050a507 100644 | ||
| 579 | --- a/src/shared/dns-domain.c | ||
| 580 | +++ b/src/shared/dns-domain.c | ||
| 581 | @@ -18,6 +18,7 @@ | ||
| 582 | #include "string-util.h" | ||
| 583 | #include "strv.h" | ||
| 584 | #include "utf8.h" | ||
| 585 | +#include "missing_stdlib.h" | ||
| 586 | |||
| 587 | int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { | ||
| 588 | const char *n; | ||
| 589 | diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c | ||
| 590 | index 83e9834bbf..74eaae6f5e 100644 | ||
| 591 | --- a/src/shared/journal-importer.c | ||
| 592 | +++ b/src/shared/journal-importer.c | ||
| 593 | @@ -16,6 +16,7 @@ | ||
| 594 | #include "string-util.h" | ||
| 595 | #include "strv.h" | ||
| 596 | #include "unaligned.h" | ||
| 597 | +#include "missing_stdlib.h" | ||
| 598 | |||
| 599 | enum { | ||
| 600 | IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ | ||
| 601 | diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c | ||
| 602 | index a5d04003bd..10392c132d 100644 | ||
| 603 | --- a/src/shared/logs-show.c | ||
| 604 | +++ b/src/shared/logs-show.c | ||
| 605 | @@ -41,6 +41,7 @@ | ||
| 606 | #include "time-util.h" | ||
| 607 | #include "utf8.h" | ||
| 608 | #include "web-util.h" | ||
| 609 | +#include "missing_stdlib.h" | ||
| 610 | |||
| 611 | /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ | ||
| 612 | #define PRINT_LINE_THRESHOLD 3 | ||
| 613 | diff --git a/src/shared/pager.c b/src/shared/pager.c | ||
| 614 | index 19deefab56..6b6d0af1a0 100644 | ||
| 615 | --- a/src/shared/pager.c | ||
| 616 | +++ b/src/shared/pager.c | ||
| 617 | @@ -25,6 +25,7 @@ | ||
| 618 | #include "string-util.h" | ||
| 619 | #include "strv.h" | ||
| 620 | #include "terminal-util.h" | ||
| 621 | +#include "missing_stdlib.h" | ||
| 622 | |||
| 623 | static pid_t pager_pid = 0; | ||
| 624 | |||
| 625 | diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c | ||
| 626 | index 287fd6c181..8f8d5493da 100644 | ||
| 627 | --- a/src/socket-proxy/socket-proxyd.c | ||
| 628 | +++ b/src/socket-proxy/socket-proxyd.c | ||
| 629 | @@ -27,6 +27,7 @@ | ||
| 630 | #include "set.h" | ||
| 631 | #include "socket-util.h" | ||
| 632 | #include "string-util.h" | ||
| 633 | +#include "missing_stdlib.h" | ||
| 634 | |||
| 635 | #define BUFFER_SIZE (256 * 1024) | ||
| 636 | |||
| 637 | diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c | ||
| 638 | index f884008660..987e180697 100644 | ||
| 639 | --- a/src/test/test-hexdecoct.c | ||
| 640 | +++ b/src/test/test-hexdecoct.c | ||
| 641 | @@ -7,6 +7,7 @@ | ||
| 642 | #include "macro.h" | ||
| 643 | #include "random-util.h" | ||
| 644 | #include "string-util.h" | ||
| 645 | +#include "missing_stdlib.h" | ||
| 646 | #include "tests.h" | ||
| 647 | |||
| 648 | TEST(hexchar) { | ||
| 649 | diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c | ||
| 650 | index 91b40088f4..f528a46b8e 100644 | ||
| 651 | --- a/src/udev/udev-builtin-net_id.c | ||
| 652 | +++ b/src/udev/udev-builtin-net_id.c | ||
| 653 | @@ -39,6 +39,7 @@ | ||
| 654 | #include "strv.h" | ||
| 655 | #include "strxcpyx.h" | ||
| 656 | #include "udev-builtin.h" | ||
| 657 | +#include "missing_stdlib.h" | ||
| 658 | |||
| 659 | #define ONBOARD_14BIT_INDEX_MAX ((1U << 14) - 1) | ||
| 660 | #define ONBOARD_16BIT_INDEX_MAX ((1U << 16) - 1) | ||
| 661 | diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c | ||
| 662 | index 467c9a6ad3..f74dae60af 100644 | ||
| 663 | --- a/src/udev/udev-builtin-path_id.c | ||
| 664 | +++ b/src/udev/udev-builtin-path_id.c | ||
| 665 | @@ -24,6 +24,7 @@ | ||
| 666 | #include "sysexits.h" | ||
| 667 | #include "udev-builtin.h" | ||
| 668 | #include "udev-util.h" | ||
| 669 | +#include "missing_stdlib.h" | ||
| 670 | |||
| 671 | _printf_(2,3) | ||
| 672 | static void path_prepend(char **path, const char *fmt, ...) { | ||
| 673 | diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c | ||
| 674 | index ed22c8b679..19ebe20237 100644 | ||
| 675 | --- a/src/udev/udev-event.c | ||
| 676 | +++ b/src/udev/udev-event.c | ||
| 677 | @@ -16,6 +16,7 @@ | ||
| 678 | #include "udev-util.h" | ||
| 679 | #include "udev-watch.h" | ||
| 680 | #include "user-util.h" | ||
| 681 | +#include "missing_stdlib.h" | ||
| 682 | |||
| 683 | UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) { | ||
| 684 | UdevEvent *event; | ||
| 685 | diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c | ||
| 686 | index 5f12002394..febe345b4c 100644 | ||
| 687 | --- a/src/udev/udev-rules.c | ||
| 688 | +++ b/src/udev/udev-rules.c | ||
| 689 | @@ -41,6 +41,7 @@ | ||
| 690 | #include "udev-util.h" | ||
| 691 | #include "user-util.h" | ||
| 692 | #include "virt.h" | ||
| 693 | +#include "missing_stdlib.h" | ||
| 694 | |||
| 695 | #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d")) | ||
| 696 | |||
| 697 | -- | ||
| 698 | 2.34.1 | ||
| 699 | |||
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 15877bea88..0000000000 --- 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 @@ | |||
| 1 | From 5325ab5813617f35f03806ec420829dde7104387 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 14:56:21 +0800 | ||
| 4 | Subject: [PATCH 04/22] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not | ||
| 5 | defined | ||
| 6 | |||
| 7 | If the standard library doesn't provide brace | ||
| 8 | expansion users just won't get it. | ||
| 9 | |||
| 10 | Dont use GNU GLOB extentions on non-glibc systems | ||
| 11 | |||
| 12 | Conditionalize use of GLOB_ALTDIRFUNC | ||
| 13 | |||
| 14 | Upstream-Status: Inappropriate [musl specific] | ||
| 15 | |||
| 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 17 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 18 | [rebased for systemd 243] | ||
| 19 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 20 | --- | ||
| 21 | src/basic/glob-util.c | 12 ++++++++++++ | ||
| 22 | src/test/test-glob-util.c | 16 ++++++++++++++++ | ||
| 23 | src/tmpfiles/tmpfiles.c | 10 ++++++++++ | ||
| 24 | 3 files changed, 38 insertions(+) | ||
| 25 | |||
| 26 | diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c | ||
| 27 | index 802ca8c655..23818a67c6 100644 | ||
| 28 | --- a/src/basic/glob-util.c | ||
| 29 | +++ b/src/basic/glob-util.c | ||
| 30 | @@ -12,6 +12,12 @@ | ||
| 31 | #include "path-util.h" | ||
| 32 | #include "strv.h" | ||
| 33 | |||
| 34 | +/* Don't fail if the standard library | ||
| 35 | + * doesn't provide brace expansion */ | ||
| 36 | +#ifndef GLOB_BRACE | ||
| 37 | +#define GLOB_BRACE 0 | ||
| 38 | +#endif | ||
| 39 | + | ||
| 40 | static void closedir_wrapper(void* v) { | ||
| 41 | (void) closedir(v); | ||
| 42 | } | ||
| 43 | @@ -19,6 +25,7 @@ static void closedir_wrapper(void* v) { | ||
| 44 | int safe_glob(const char *path, int flags, glob_t *pglob) { | ||
| 45 | int k; | ||
| 46 | |||
| 47 | +#ifdef GLOB_ALTDIRFUNC | ||
| 48 | /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */ | ||
| 49 | assert(!(flags & GLOB_ALTDIRFUNC)); | ||
| 50 | |||
| 51 | @@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) { | ||
| 52 | pglob->gl_lstat = lstat; | ||
| 53 | if (!pglob->gl_stat) | ||
| 54 | pglob->gl_stat = stat; | ||
| 55 | +#endif | ||
| 56 | |||
| 57 | errno = 0; | ||
| 58 | +#ifdef GLOB_ALTDIRFUNC | ||
| 59 | k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob); | ||
| 60 | +#else | ||
| 61 | + k = glob(path, flags, NULL, pglob); | ||
| 62 | +#endif | ||
| 63 | if (k == GLOB_NOMATCH) | ||
| 64 | return -ENOENT; | ||
| 65 | if (k == GLOB_NOSPACE) | ||
| 66 | diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c | ||
| 67 | index 9b3e73cce0..3790ba3be5 100644 | ||
| 68 | --- a/src/test/test-glob-util.c | ||
| 69 | +++ b/src/test/test-glob-util.c | ||
| 70 | @@ -34,6 +34,12 @@ TEST(glob_first) { | ||
| 71 | assert_se(first == NULL); | ||
| 72 | } | ||
| 73 | |||
| 74 | +/* Don't fail if the standard library | ||
| 75 | + * doesn't provide brace expansion */ | ||
| 76 | +#ifndef GLOB_BRACE | ||
| 77 | +#define GLOB_BRACE 0 | ||
| 78 | +#endif | ||
| 79 | + | ||
| 80 | TEST(glob_exists) { | ||
| 81 | char name[] = "/tmp/test-glob_exists.XXXXXX"; | ||
| 82 | int fd = -EBADF; | ||
| 83 | @@ -61,11 +67,13 @@ TEST(glob_no_dot) { | ||
| 84 | const char *fn; | ||
| 85 | |||
| 86 | _cleanup_globfree_ glob_t g = { | ||
| 87 | +#ifdef GLOB_ALTDIRFUNC | ||
| 88 | .gl_closedir = closedir_wrapper, | ||
| 89 | .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot, | ||
| 90 | .gl_opendir = (void *(*)(const char *)) opendir, | ||
| 91 | .gl_lstat = lstat, | ||
| 92 | .gl_stat = stat, | ||
| 93 | +#endif | ||
| 94 | }; | ||
| 95 | |||
| 96 | int r; | ||
| 97 | @@ -73,11 +81,19 @@ TEST(glob_no_dot) { | ||
| 98 | assert_se(mkdtemp(template)); | ||
| 99 | |||
| 100 | fn = strjoina(template, "/*"); | ||
| 101 | +#ifdef GLOB_ALTDIRFUNC | ||
| 102 | r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g); | ||
| 103 | +#else | ||
| 104 | + r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g); | ||
| 105 | +#endif | ||
| 106 | assert_se(r == GLOB_NOMATCH); | ||
| 107 | |||
| 108 | fn = strjoina(template, "/.*"); | ||
| 109 | +#ifdef GLOB_ALTDIRFUNC | ||
| 110 | r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g); | ||
| 111 | +#else | ||
| 112 | + r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g); | ||
| 113 | +#endif | ||
| 114 | assert_se(r == GLOB_NOMATCH); | ||
| 115 | |||
| 116 | (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); | ||
| 117 | diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c | ||
| 118 | index 230ec09b97..2cc5f391d7 100644 | ||
| 119 | --- a/src/tmpfiles/tmpfiles.c | ||
| 120 | +++ b/src/tmpfiles/tmpfiles.c | ||
| 121 | @@ -73,6 +73,12 @@ | ||
| 122 | #include "user-util.h" | ||
| 123 | #include "virt.h" | ||
| 124 | |||
| 125 | +/* Don't fail if the standard library | ||
| 126 | + * doesn't provide brace expansion */ | ||
| 127 | +#ifndef GLOB_BRACE | ||
| 128 | +#define GLOB_BRACE 0 | ||
| 129 | +#endif | ||
| 130 | + | ||
| 131 | /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates | ||
| 132 | * them in the file system. This is intended to be used to create | ||
| 133 | * properly owned directories beneath /tmp, /var/tmp, /run, which are | ||
| 134 | @@ -2434,7 +2440,9 @@ finish: | ||
| 135 | |||
| 136 | static int glob_item(Context *c, Item *i, action_t action) { | ||
| 137 | _cleanup_globfree_ glob_t g = { | ||
| 138 | +#ifdef GLOB_ALTDIRFUNC | ||
| 139 | .gl_opendir = (void *(*)(const char *)) opendir_nomod, | ||
| 140 | +#endif | ||
| 141 | }; | ||
| 142 | int r = 0, k; | ||
| 143 | |||
| 144 | @@ -2461,7 +2469,9 @@ static int glob_item_recursively( | ||
| 145 | fdaction_t action) { | ||
| 146 | |||
| 147 | _cleanup_globfree_ glob_t g = { | ||
| 148 | +#ifdef GLOB_ALTDIRFUNC | ||
| 149 | .gl_opendir = (void *(*)(const char *)) opendir_nomod, | ||
| 150 | +#endif | ||
| 151 | }; | ||
| 152 | int r = 0, k; | ||
| 153 | |||
| 154 | -- | ||
| 155 | 2.34.1 | ||
| 156 | |||
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 a1dfca22cd..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | From dad7f897c0de654fa5592fda3e90f874639849f9 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 15:00:06 +0800 | ||
| 4 | Subject: [PATCH 05/22] add missing FTW_ macros for musl | ||
| 5 | |||
| 6 | This is to avoid build failures like below for musl. | ||
| 7 | |||
| 8 | locale-util.c:296:24: error: 'FTW_STOP' undeclared | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [musl specific] | ||
| 11 | |||
| 12 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 13 | --- | ||
| 14 | src/basic/missing_type.h | 4 ++++ | ||
| 15 | src/test/test-recurse-dir.c | 1 + | ||
| 16 | 2 files changed, 5 insertions(+) | ||
| 17 | |||
| 18 | diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h | ||
| 19 | index 6c0456349d..73a5b90e3c 100644 | ||
| 20 | --- a/src/basic/missing_type.h | ||
| 21 | +++ b/src/basic/missing_type.h | ||
| 22 | @@ -14,3 +14,7 @@ | ||
| 23 | #ifndef __GLIBC__ | ||
| 24 | typedef int (*comparison_fn_t)(const void *, const void *); | ||
| 25 | #endif | ||
| 26 | + | ||
| 27 | +#ifndef FTW_CONTINUE | ||
| 28 | +#define FTW_CONTINUE 0 | ||
| 29 | +#endif | ||
| 30 | diff --git a/src/test/test-recurse-dir.c b/src/test/test-recurse-dir.c | ||
| 31 | index 8684d064ec..70fc2b5376 100644 | ||
| 32 | --- a/src/test/test-recurse-dir.c | ||
| 33 | +++ b/src/test/test-recurse-dir.c | ||
| 34 | @@ -8,6 +8,7 @@ | ||
| 35 | #include "recurse-dir.h" | ||
| 36 | #include "strv.h" | ||
| 37 | #include "tests.h" | ||
| 38 | +#include "missing_type.h" | ||
| 39 | |||
| 40 | static char **list_nftw = NULL; | ||
| 41 | |||
| 42 | -- | ||
| 43 | 2.34.1 | ||
| 44 | |||
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 4be14b72ec..0000000000 --- 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 @@ | |||
| 1 | From 96e975a2412a20e5f80bd3ab144057d275eb8597 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 15:12:41 +0800 | ||
| 4 | Subject: [PATCH 06/22] Use uintmax_t for handling rlim_t | ||
| 5 | |||
| 6 | PRIu{32,64} is not right format to represent rlim_t type | ||
| 7 | therefore use %ju and typecast the rlim_t variables to | ||
| 8 | uintmax_t. | ||
| 9 | |||
| 10 | Fixes portablility errors like | ||
| 11 | |||
| 12 | 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=] | ||
| 13 | | fprintf(f, "%s%s: " RLIM_FMT "\n", | ||
| 14 | | ^~~~~~~~ | ||
| 15 | | prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max); | ||
| 16 | | ~~~~~~~~~~~~~~~~~~~~~~ | ||
| 17 | |||
| 18 | Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199] | ||
| 19 | |||
| 20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 21 | [Rebased for v241] | ||
| 22 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 23 | --- | ||
| 24 | src/basic/format-util.h | 8 +------- | ||
| 25 | src/basic/rlimit-util.c | 12 ++++++------ | ||
| 26 | src/core/execute.c | 4 ++-- | ||
| 27 | 3 files changed, 9 insertions(+), 15 deletions(-) | ||
| 28 | |||
| 29 | diff --git a/src/basic/format-util.h b/src/basic/format-util.h | ||
| 30 | index 8719df3e29..9becc96066 100644 | ||
| 31 | --- a/src/basic/format-util.h | ||
| 32 | +++ b/src/basic/format-util.h | ||
| 33 | @@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t)); | ||
| 34 | # error Unknown timex member size | ||
| 35 | #endif | ||
| 36 | |||
| 37 | -#if SIZEOF_RLIM_T == 8 | ||
| 38 | -# define RLIM_FMT "%" PRIu64 | ||
| 39 | -#elif SIZEOF_RLIM_T == 4 | ||
| 40 | -# define RLIM_FMT "%" PRIu32 | ||
| 41 | -#else | ||
| 42 | -# error Unknown rlim_t size | ||
| 43 | -#endif | ||
| 44 | +#define RLIM_FMT "%ju" | ||
| 45 | |||
| 46 | #if SIZEOF_DEV_T == 8 | ||
| 47 | # define DEV_FMT "%" PRIu64 | ||
| 48 | diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c | ||
| 49 | index c1f0b2b974..61c5412582 100644 | ||
| 50 | --- a/src/basic/rlimit-util.c | ||
| 51 | +++ b/src/basic/rlimit-util.c | ||
| 52 | @@ -44,7 +44,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { | ||
| 53 | fixed.rlim_max == highest.rlim_max) | ||
| 54 | return 0; | ||
| 55 | |||
| 56 | - 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); | ||
| 57 | + 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); | ||
| 58 | |||
| 59 | return RET_NERRNO(setrlimit(resource, &fixed)); | ||
| 60 | } | ||
| 61 | @@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { | ||
| 62 | if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) | ||
| 63 | r = free_and_strdup(&s, "infinity"); | ||
| 64 | else if (rl->rlim_cur >= RLIM_INFINITY) | ||
| 65 | - r = asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max); | ||
| 66 | + r = asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max); | ||
| 67 | else if (rl->rlim_max >= RLIM_INFINITY) | ||
| 68 | - r = asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur); | ||
| 69 | + r = asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur); | ||
| 70 | else if (rl->rlim_cur == rl->rlim_max) | ||
| 71 | - r = asprintf(&s, RLIM_FMT, rl->rlim_cur); | ||
| 72 | + r = asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur); | ||
| 73 | else | ||
| 74 | - r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max); | ||
| 75 | + r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max); | ||
| 76 | if (r < 0) | ||
| 77 | return -ENOMEM; | ||
| 78 | |||
| 79 | @@ -422,7 +422,7 @@ int rlimit_nofile_safe(void) { | ||
| 80 | rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open()); | ||
| 81 | rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max); | ||
| 82 | if (setrlimit(RLIMIT_NOFILE, &rl) < 0) | ||
| 83 | - return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur); | ||
| 84 | + return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur); | ||
| 85 | |||
| 86 | return 1; | ||
| 87 | } | ||
| 88 | diff --git a/src/core/execute.c b/src/core/execute.c | ||
| 89 | index bd3da0c401..df1870fd2f 100644 | ||
| 90 | --- a/src/core/execute.c | ||
| 91 | +++ b/src/core/execute.c | ||
| 92 | @@ -1045,9 +1045,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { | ||
| 93 | for (unsigned i = 0; i < RLIM_NLIMITS; i++) | ||
| 94 | if (c->rlimit[i]) { | ||
| 95 | fprintf(f, "%sLimit%s: " RLIM_FMT "\n", | ||
| 96 | - prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max); | ||
| 97 | + prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max); | ||
| 98 | fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n", | ||
| 99 | - prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur); | ||
| 100 | + prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur); | ||
| 101 | } | ||
| 102 | |||
| 103 | if (c->ioprio_set) { | ||
| 104 | -- | ||
| 105 | 2.34.1 | ||
| 106 | |||
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 8d6084239e..0000000000 --- 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 @@ | |||
| 1 | From 4842cff4f1329f0b5034b529d56f8ad1f234ac4c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andre McCurdy <armccurdy@gmail.com> | ||
| 3 | Date: Tue, 10 Oct 2017 14:33:30 -0700 | ||
| 4 | Subject: [PATCH 07/22] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() | ||
| 5 | |||
| 6 | Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right | ||
| 7 | thing to do and it's not portable (not supported by musl). See: | ||
| 8 | |||
| 9 | http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html | ||
| 10 | http://www.openwall.com/lists/musl/2015/02/05/2 | ||
| 11 | |||
| 12 | Note that laccess() is never passing AT_EACCESS so a lot of the | ||
| 13 | discussion in the links above doesn't apply. Note also that | ||
| 14 | (currently) all systemd callers of laccess() pass mode as F_OK, so | ||
| 15 | only check for existence of a file, not access permissions. | ||
| 16 | Therefore, in this case, the only distiction between faccessat() | ||
| 17 | with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour | ||
| 18 | for broken symlinks; laccess() on a broken symlink will succeed with | ||
| 19 | (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). | ||
| 20 | |||
| 21 | The laccess() macros was added to systemd some time ago and it's not | ||
| 22 | clear if or why it needs to return success for broken symlinks. Maybe | ||
| 23 | just historical and not actually necessary or desired behaviour? | ||
| 24 | |||
| 25 | Upstream-Status: Inappropriate [musl specific] | ||
| 26 | |||
| 27 | Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | ||
| 28 | --- | ||
| 29 | src/basic/fs-util.h | 21 ++++++++++++++++++++- | ||
| 30 | src/shared/base-filesystem.c | 6 +++--- | ||
| 31 | 2 files changed, 23 insertions(+), 4 deletions(-) | ||
| 32 | |||
| 33 | diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h | ||
| 34 | index 1023ab73ca..c78ff6f27f 100644 | ||
| 35 | --- a/src/basic/fs-util.h | ||
| 36 | +++ b/src/basic/fs-util.h | ||
| 37 | @@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); | ||
| 38 | int fd_warn_permissions(const char *path, int fd); | ||
| 39 | int stat_warn_permissions(const char *path, const struct stat *st); | ||
| 40 | |||
| 41 | +/* | ||
| 42 | + Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to | ||
| 43 | + do and it's not portable (not supported by musl). See: | ||
| 44 | + | ||
| 45 | + http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html | ||
| 46 | + http://www.openwall.com/lists/musl/2015/02/05/2 | ||
| 47 | + | ||
| 48 | + Note that laccess() is never passing AT_EACCESS so a lot of the discussion in | ||
| 49 | + the links above doesn't apply. Note also that (currently) all systemd callers | ||
| 50 | + of laccess() pass mode as F_OK, so only check for existence of a file, not | ||
| 51 | + access permissions. Therefore, in this case, the only distiction between | ||
| 52 | + faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the | ||
| 53 | + behaviour for broken symlinks; laccess() on a broken symlink will succeed | ||
| 54 | + with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). | ||
| 55 | + | ||
| 56 | + The laccess() macros was added to systemd some time ago and it's not clear if | ||
| 57 | + or why it needs to return success for broken symlinks. Maybe just historical | ||
| 58 | + and not actually necessary or desired behaviour? | ||
| 59 | +*/ | ||
| 60 | #define laccess(path, mode) \ | ||
| 61 | - RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)) | ||
| 62 | + RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0)) | ||
| 63 | |||
| 64 | int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); | ||
| 65 | |||
| 66 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | ||
| 67 | index 569ef466c3..7ae921a113 100644 | ||
| 68 | --- a/src/shared/base-filesystem.c | ||
| 69 | +++ b/src/shared/base-filesystem.c | ||
| 70 | @@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
| 71 | /* The "root" parameter is decoration only – it's only used as part of log messages */ | ||
| 72 | |||
| 73 | for (size_t i = 0; i < ELEMENTSOF(table); i++) { | ||
| 74 | - if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0) | ||
| 75 | + if (faccessat(fd, table[i].dir, F_OK, 0) >= 0) | ||
| 76 | continue; | ||
| 77 | |||
| 78 | if (table[i].target) { /* Create as symlink? */ | ||
| 79 | @@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
| 80 | |||
| 81 | /* check if one of the targets exists */ | ||
| 82 | NULSTR_FOREACH(s, table[i].target) { | ||
| 83 | - if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0) | ||
| 84 | + if (faccessat(fd, s, F_OK, 0) < 0) | ||
| 85 | continue; | ||
| 86 | |||
| 87 | /* check if a specific file exists at the target path */ | ||
| 88 | @@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
| 89 | if (!p) | ||
| 90 | return log_oom(); | ||
| 91 | |||
| 92 | - if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0) | ||
| 93 | + if (faccessat(fd, p, F_OK, 0) < 0) | ||
| 94 | continue; | ||
| 95 | } | ||
| 96 | |||
| 97 | -- | ||
| 98 | 2.34.1 | ||
| 99 | |||
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 c1a8bb19fe..0000000000 --- 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 @@ | |||
| 1 | From bab07e779ff23d5593bb118efaaa31b60a6dce87 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sun, 27 May 2018 08:36:44 -0700 | ||
| 4 | Subject: [PATCH 08/22] Define glibc compatible basename() for non-glibc | ||
| 5 | systems | ||
| 6 | |||
| 7 | Fixes builds with musl, even though systemd is adamant about | ||
| 8 | using non-posix basename implementation, we have a way out | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [musl specific] | ||
| 11 | |||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | src/basic/string-util.h | 4 ++++ | ||
| 15 | 1 file changed, 4 insertions(+) | ||
| 16 | |||
| 17 | diff --git a/src/basic/string-util.h b/src/basic/string-util.h | ||
| 18 | index b6d8be3083..0a29036c4c 100644 | ||
| 19 | --- a/src/basic/string-util.h | ||
| 20 | +++ b/src/basic/string-util.h | ||
| 21 | @@ -26,6 +26,10 @@ | ||
| 22 | #define URI_UNRESERVED ALPHANUMERICAL "-._~" /* [RFC3986] */ | ||
| 23 | #define URI_VALID URI_RESERVED URI_UNRESERVED /* [RFC3986] */ | ||
| 24 | |||
| 25 | +#if !defined(__GLIBC__) | ||
| 26 | +#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src) | ||
| 27 | +#endif | ||
| 28 | + | ||
| 29 | static inline char* strstr_ptr(const char *haystack, const char *needle) { | ||
| 30 | if (!haystack || !needle) | ||
| 31 | return NULL; | ||
| 32 | -- | ||
| 33 | 2.34.1 | ||
| 34 | |||
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 acff18dc43..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | From 5712d56f1cd654d2e5d2e9117ff77fe4c299f76b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sat, 5 Sep 2015 06:31:47 +0000 | ||
| 4 | Subject: [PATCH] implment systemd-sysv-install for OE | ||
| 5 | |||
| 6 | Use update-rc.d for enabling/disabling and status command | ||
| 7 | to check the status of the sysv service | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | src/systemctl/systemd-sysv-install.SKELETON | 6 +++--- | ||
| 14 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON | ||
| 17 | index cb58d8243b..000bdf6165 100755 | ||
| 18 | --- a/src/systemctl/systemd-sysv-install.SKELETON | ||
| 19 | +++ b/src/systemctl/systemd-sysv-install.SKELETON | ||
| 20 | @@ -34,17 +34,17 @@ case "$1" in | ||
| 21 | enable) | ||
| 22 | # call the command to enable SysV init script $NAME here | ||
| 23 | # (consider optional $ROOT) | ||
| 24 | - echo "IMPLEMENT ME: enabling SysV init.d script $NAME" | ||
| 25 | + update-rc.d -f $NAME defaults | ||
| 26 | ;; | ||
| 27 | disable) | ||
| 28 | # call the command to disable SysV init script $NAME here | ||
| 29 | # (consider optional $ROOT) | ||
| 30 | - echo "IMPLEMENT ME: disabling SysV init.d script $NAME" | ||
| 31 | + update-rc.d -f $NAME remove | ||
| 32 | ;; | ||
| 33 | is-enabled) | ||
| 34 | # exit with 0 if $NAME is enabled, non-zero if it is disabled | ||
| 35 | # (consider optional $ROOT) | ||
| 36 | - echo "IMPLEMENT ME: checking SysV init.d script $NAME" | ||
| 37 | + /etc/init.d/$NAME status | ||
| 38 | ;; | ||
| 39 | *) | ||
| 40 | usage ;; | ||
| 41 | -- | ||
| 42 | 2.39.2 | ||
| 43 | |||
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 3ff0177ae3..0000000000 --- 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 @@ | |||
| 1 | From 25093c5017725b8577c444dfea0f42ad85b43522 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Wed, 4 Jul 2018 15:00:44 +0800 | ||
| 4 | Subject: [PATCH 09/22] Do not disable buffering when writing to oom_score_adj | ||
| 5 | |||
| 6 | On musl, disabling buffering when writing to oom_score_adj will | ||
| 7 | cause the following error. | ||
| 8 | |||
| 9 | Failed to adjust OOM setting: Invalid argument | ||
| 10 | |||
| 11 | This error appears for systemd-udevd.service and dbus.service. | ||
| 12 | This is because kernel receives '-' instead of the whole '-900' | ||
| 13 | if buffering is disabled. | ||
| 14 | |||
| 15 | This is libc implementation specific, as glibc does not have this issue. | ||
| 16 | |||
| 17 | Upstream-Status: Inappropriate [musl specific] | ||
| 18 | |||
| 19 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 20 | [rebased for systemd 243] | ||
| 21 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 22 | --- | ||
| 23 | src/basic/process-util.c | 2 +- | ||
| 24 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/src/basic/process-util.c b/src/basic/process-util.c | ||
| 27 | index 201c5596ae..ea51595b6c 100644 | ||
| 28 | --- a/src/basic/process-util.c | ||
| 29 | +++ b/src/basic/process-util.c | ||
| 30 | @@ -1716,7 +1716,7 @@ int set_oom_score_adjust(int value) { | ||
| 31 | xsprintf(t, "%i", value); | ||
| 32 | |||
| 33 | return write_string_file("/proc/self/oom_score_adj", t, | ||
| 34 | - WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 35 | + WRITE_STRING_FILE_VERIFY_ON_FAILURE); | ||
| 36 | } | ||
| 37 | |||
| 38 | int get_oom_score_adjust(int *ret) { | ||
| 39 | -- | ||
| 40 | 2.34.1 | ||
| 41 | |||
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 cf59ac7d06..0000000000 --- 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 @@ | |||
| 1 | From 2adbe9773cd65c48eec9df96868d4a738927c8d9 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Tue, 10 Jul 2018 15:40:17 +0800 | ||
| 4 | Subject: [PATCH 10/22] distinguish XSI-compliant strerror_r from GNU-specifi | ||
| 5 | strerror_r | ||
| 6 | |||
| 7 | XSI-compliant strerror_r and GNU-specifi strerror_r are different. | ||
| 8 | |||
| 9 | int strerror_r(int errnum, char *buf, size_t buflen); | ||
| 10 | /* XSI-compliant */ | ||
| 11 | |||
| 12 | char *strerror_r(int errnum, char *buf, size_t buflen); | ||
| 13 | /* GNU-specific */ | ||
| 14 | |||
| 15 | We need to distinguish between them. Otherwise, we'll get an int value | ||
| 16 | assigned to (char *) variable, resulting in segment fault. | ||
| 17 | |||
| 18 | Upstream-Status: Inappropriate [musl specific] | ||
| 19 | |||
| 20 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 21 | --- | ||
| 22 | src/libsystemd/sd-bus/bus-error.c | 11 ++++++++++- | ||
| 23 | src/libsystemd/sd-journal/journal-send.c | 5 +++++ | ||
| 24 | 2 files changed, 15 insertions(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c | ||
| 27 | index 77b2e1a0fd..fdba0e0142 100644 | ||
| 28 | --- a/src/libsystemd/sd-bus/bus-error.c | ||
| 29 | +++ b/src/libsystemd/sd-bus/bus-error.c | ||
| 30 | @@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { | ||
| 31 | return; | ||
| 32 | |||
| 33 | errno = 0; | ||
| 34 | +#ifndef __GLIBC__ | ||
| 35 | + strerror_r(error, m, k); | ||
| 36 | + x = m; | ||
| 37 | +#else | ||
| 38 | x = strerror_r(error, m, k); | ||
| 39 | +#endif | ||
| 40 | if (errno == ERANGE || strlen(x) >= k - 1) { | ||
| 41 | free(m); | ||
| 42 | k *= 2; | ||
| 43 | @@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static | ||
| 44 | |||
| 45 | if (e && e->message) | ||
| 46 | return e->message; | ||
| 47 | - | ||
| 48 | +#ifndef __GLIBC__ | ||
| 49 | + strerror_r(abs(error), buf, ERRNO_BUF_LEN); | ||
| 50 | + return buf; | ||
| 51 | +#else | ||
| 52 | return strerror_r(abs(error), buf, ERRNO_BUF_LEN); | ||
| 53 | +#endif | ||
| 54 | } | ||
| 55 | |||
| 56 | static bool map_ok(const sd_bus_error_map *map) { | ||
| 57 | diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c | ||
| 58 | index 69a2eb6404..1561859650 100644 | ||
| 59 | --- a/src/libsystemd/sd-journal/journal-send.c | ||
| 60 | +++ b/src/libsystemd/sd-journal/journal-send.c | ||
| 61 | @@ -361,7 +361,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove | ||
| 62 | char* j; | ||
| 63 | |||
| 64 | errno = 0; | ||
| 65 | +#ifndef __GLIBC__ | ||
| 66 | + strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); | ||
| 67 | + j = buffer + 8 + k; | ||
| 68 | +#else | ||
| 69 | j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); | ||
| 70 | +#endif | ||
| 71 | if (errno == 0) { | ||
| 72 | char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; | ||
| 73 | |||
| 74 | -- | ||
| 75 | 2.34.1 | ||
| 76 | |||
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 e481b2e2e4..0000000000 --- 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 @@ | |||
| 1 | From 49c446cfb78cf74a909bed8c3798b77a5469866a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 15:44:54 +0800 | ||
| 4 | Subject: [PATCH 11/22] avoid redefinition of prctl_mm_map structure | ||
| 5 | |||
| 6 | Fix the following compile failure: | ||
| 7 | error: redefinition of 'struct prctl_mm_map' | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [musl specific] | ||
| 10 | |||
| 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 12 | --- | ||
| 13 | src/basic/missing_prctl.h | 2 ++ | ||
| 14 | 1 file changed, 2 insertions(+) | ||
| 15 | |||
| 16 | diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h | ||
| 17 | index 7d9e395c92..88c2d7dfac 100644 | ||
| 18 | --- a/src/basic/missing_prctl.h | ||
| 19 | +++ b/src/basic/missing_prctl.h | ||
| 20 | @@ -1,7 +1,9 @@ | ||
| 21 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 22 | #pragma once | ||
| 23 | |||
| 24 | +#ifdef __GLIBC__ | ||
| 25 | #include <linux/prctl.h> | ||
| 26 | +#endif | ||
| 27 | |||
| 28 | /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ | ||
| 29 | #ifndef PR_CAP_AMBIENT | ||
| 30 | -- | ||
| 31 | 2.34.1 | ||
| 32 | |||
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 c23d9b7551..0000000000 --- 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 @@ | |||
| 1 | From e4885a8e60f883d9217e26e1db3754c2906aca31 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Fri, 1 Mar 2019 15:22:15 +0800 | ||
| 4 | Subject: [PATCH 12/22] do not disable buffer in writing files | ||
| 5 | |||
| 6 | Do not disable buffer in writing files, otherwise we get | ||
| 7 | failure at boot for musl like below. | ||
| 8 | |||
| 9 | [!!!!!!] Failed to allocate manager object. | ||
| 10 | |||
| 11 | And there will be other failures, critical or not critical. | ||
| 12 | This is specific to musl. | ||
| 13 | |||
| 14 | Upstream-Status: Inappropriate [musl] | ||
| 15 | |||
| 16 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 17 | [Rebased for v242] | ||
| 18 | Signed-off-by: Andrej Valek <andrej.valek@siemens.com> | ||
| 19 | [rebased for systemd 243] | ||
| 20 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 21 | [rebased for systemd 254] | ||
| 22 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 23 | [rebased for systemd 255.1] | ||
| 24 | --- | ||
| 25 | src/basic/cgroup-util.c | 12 ++++++------ | ||
| 26 | src/basic/namespace-util.c | 4 ++-- | ||
| 27 | src/basic/procfs-util.c | 4 ++-- | ||
| 28 | src/basic/sysctl-util.c | 2 +- | ||
| 29 | src/binfmt/binfmt.c | 6 +++--- | ||
| 30 | src/core/cgroup.c | 2 +- | ||
| 31 | src/core/main.c | 2 +- | ||
| 32 | src/core/smack-setup.c | 8 ++++---- | ||
| 33 | src/home/homework.c | 2 +- | ||
| 34 | src/libsystemd/sd-device/sd-device.c | 2 +- | ||
| 35 | src/nspawn/nspawn-cgroup.c | 2 +- | ||
| 36 | src/nspawn/nspawn.c | 6 +++--- | ||
| 37 | src/shared/binfmt-util.c | 2 +- | ||
| 38 | src/shared/cgroup-setup.c | 4 ++-- | ||
| 39 | src/shared/coredump-util.c | 4 ++-- | ||
| 40 | src/shared/hibernate-util.c | 4 ++-- | ||
| 41 | src/shared/smack-util.c | 2 +- | ||
| 42 | src/shared/watchdog.c | 2 +- | ||
| 43 | src/sleep/sleep.c | 4 ++-- | ||
| 44 | src/storagetm/storagetm.c | 24 ++++++++++++------------ | ||
| 45 | src/udev/udev-rules.c | 1 - | ||
| 46 | src/vconsole/vconsole-setup.c | 2 +- | ||
| 47 | 22 files changed, 50 insertions(+), 51 deletions(-) | ||
| 48 | |||
| 49 | --- a/src/basic/cgroup-util.c | ||
| 50 | +++ b/src/basic/cgroup-util.c | ||
| 51 | @@ -417,7 +417,7 @@ int cg_kill_kernel_sigkill(const char *p | ||
| 52 | if (r < 0) | ||
| 53 | return r; | ||
| 54 | |||
| 55 | - r = write_string_file(killfile, "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 56 | + r = write_string_file(killfile, "1", 0); | ||
| 57 | if (r < 0) | ||
| 58 | return r; | ||
| 59 | |||
| 60 | @@ -843,7 +843,7 @@ int cg_install_release_agent(const char | ||
| 61 | |||
| 62 | sc = strstrip(contents); | ||
| 63 | if (isempty(sc)) { | ||
| 64 | - r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 65 | + r = write_string_file(fs, agent, 0); | ||
| 66 | if (r < 0) | ||
| 67 | return r; | ||
| 68 | } else if (!path_equal(sc, agent)) | ||
| 69 | @@ -861,7 +861,7 @@ int cg_install_release_agent(const char | ||
| 70 | |||
| 71 | sc = strstrip(contents); | ||
| 72 | if (streq(sc, "0")) { | ||
| 73 | - r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 74 | + r = write_string_file(fs, "1", 0); | ||
| 75 | if (r < 0) | ||
| 76 | return r; | ||
| 77 | |||
| 78 | @@ -888,7 +888,7 @@ int cg_uninstall_release_agent(const cha | ||
| 79 | if (r < 0) | ||
| 80 | return r; | ||
| 81 | |||
| 82 | - r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 83 | + r = write_string_file(fs, "0", 0); | ||
| 84 | if (r < 0) | ||
| 85 | return r; | ||
| 86 | |||
| 87 | @@ -898,7 +898,7 @@ int cg_uninstall_release_agent(const cha | ||
| 88 | if (r < 0) | ||
| 89 | return r; | ||
| 90 | |||
| 91 | - r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 92 | + r = write_string_file(fs, "", 0); | ||
| 93 | if (r < 0) | ||
| 94 | return r; | ||
| 95 | |||
| 96 | @@ -1814,7 +1814,7 @@ int cg_set_attribute(const char *control | ||
| 97 | if (r < 0) | ||
| 98 | return r; | ||
| 99 | |||
| 100 | - return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 101 | + return write_string_file(p, value, 0); | ||
| 102 | } | ||
| 103 | |||
| 104 | int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { | ||
| 105 | --- a/src/basic/namespace-util.c | ||
| 106 | +++ b/src/basic/namespace-util.c | ||
| 107 | @@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map, | ||
| 108 | freeze(); | ||
| 109 | |||
| 110 | xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); | ||
| 111 | - r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 112 | + r = write_string_file(path, uid_map, 0); | ||
| 113 | if (r < 0) | ||
| 114 | return log_error_errno(r, "Failed to write UID map: %m"); | ||
| 115 | |||
| 116 | xsprintf(path, "/proc/" PID_FMT "/gid_map", pid); | ||
| 117 | - r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 118 | + r = write_string_file(path, gid_map, 0); | ||
| 119 | if (r < 0) | ||
| 120 | return log_error_errno(r, "Failed to write GID map: %m"); | ||
| 121 | |||
| 122 | --- a/src/basic/procfs-util.c | ||
| 123 | +++ b/src/basic/procfs-util.c | ||
| 124 | @@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limi | ||
| 125 | * decrease it, as threads-max is the much more relevant sysctl. */ | ||
| 126 | if (limit > pid_max-1) { | ||
| 127 | sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ | ||
| 128 | - r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 129 | + r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0); | ||
| 130 | if (r < 0) | ||
| 131 | return r; | ||
| 132 | } | ||
| 133 | |||
| 134 | sprintf(buffer, "%" PRIu64, limit); | ||
| 135 | - r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 136 | + r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0); | ||
| 137 | if (r < 0) { | ||
| 138 | uint64_t threads_max; | ||
| 139 | |||
| 140 | --- a/src/basic/sysctl-util.c | ||
| 141 | +++ b/src/basic/sysctl-util.c | ||
| 142 | @@ -58,7 +58,7 @@ int sysctl_write(const char *property, c | ||
| 143 | |||
| 144 | log_debug("Setting '%s' to '%s'", p, value); | ||
| 145 | |||
| 146 | - return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); | ||
| 147 | + return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); | ||
| 148 | } | ||
| 149 | |||
| 150 | int sysctl_writef(const char *property, const char *format, ...) { | ||
| 151 | --- a/src/binfmt/binfmt.c | ||
| 152 | +++ b/src/binfmt/binfmt.c | ||
| 153 | @@ -30,7 +30,7 @@ static bool arg_unregister = false; | ||
| 154 | |||
| 155 | static int delete_rule(const char *rulename) { | ||
| 156 | const char *fn = strjoina("/proc/sys/fs/binfmt_misc/", rulename); | ||
| 157 | - return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 158 | + return write_string_file(fn, "-1", 0); | ||
| 159 | } | ||
| 160 | |||
| 161 | static int apply_rule(const char *filename, unsigned line, const char *rule) { | ||
| 162 | @@ -58,7 +58,7 @@ static int apply_rule(const char *filena | ||
| 163 | if (r >= 0) | ||
| 164 | log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename); | ||
| 165 | |||
| 166 | - r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 167 | + r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0); | ||
| 168 | if (r < 0) | ||
| 169 | return log_error_errno(r, "%s:%u: Failed to add binary format '%s': %m", | ||
| 170 | filename, line, rulename); | ||
| 171 | @@ -248,7 +248,7 @@ static int run(int argc, char *argv[]) { | ||
| 172 | return r; | ||
| 173 | |||
| 174 | /* Flush out all rules */ | ||
| 175 | - r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 176 | + r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); | ||
| 177 | if (r < 0) | ||
| 178 | log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m"); | ||
| 179 | else | ||
| 180 | --- a/src/core/cgroup.c | ||
| 181 | +++ b/src/core/cgroup.c | ||
| 182 | @@ -4578,7 +4578,7 @@ int unit_cgroup_freezer_action(Unit *u, | ||
| 183 | u->freezer_state = FREEZER_THAWING; | ||
| 184 | } | ||
| 185 | |||
| 186 | - r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 187 | + r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0); | ||
| 188 | if (r < 0) | ||
| 189 | return r; | ||
| 190 | |||
| 191 | --- a/src/core/main.c | ||
| 192 | +++ b/src/core/main.c | ||
| 193 | @@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool | ||
| 194 | if (getpid_cached() != 1) | ||
| 195 | return; | ||
| 196 | |||
| 197 | - r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 198 | + r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0); | ||
| 199 | if (r < 0) | ||
| 200 | log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", | ||
| 201 | arg_early_core_pattern); | ||
| 202 | --- a/src/core/smack-setup.c | ||
| 203 | +++ b/src/core/smack-setup.c | ||
| 204 | @@ -321,17 +321,17 @@ int mac_smack_setup(bool *loaded_policy) | ||
| 205 | } | ||
| 206 | |||
| 207 | #if HAVE_SMACK_RUN_LABEL | ||
| 208 | - r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 209 | + r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0); | ||
| 210 | if (r < 0) | ||
| 211 | log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m"); | ||
| 212 | - r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 213 | + r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0); | ||
| 214 | if (r < 0) | ||
| 215 | log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m"); | ||
| 216 | r = write_string_file("/sys/fs/smackfs/netlabel", | ||
| 217 | - "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 218 | + "0.0.0.0/0 " SMACK_RUN_LABEL, 0); | ||
| 219 | if (r < 0) | ||
| 220 | log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m"); | ||
| 221 | - r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 222 | + r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0); | ||
| 223 | if (r < 0) | ||
| 224 | log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); | ||
| 225 | #endif | ||
| 226 | --- a/src/home/homework.c | ||
| 227 | +++ b/src/home/homework.c | ||
| 228 | @@ -278,7 +278,7 @@ static void drop_caches_now(void) { | ||
| 229 | * for details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but | ||
| 230 | * not more. */ | ||
| 231 | |||
| 232 | - r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 233 | + r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0); | ||
| 234 | if (r < 0) | ||
| 235 | log_warning_errno(r, "Failed to drop caches, ignoring: %m"); | ||
| 236 | else | ||
| 237 | --- a/src/libsystemd/sd-device/sd-device.c | ||
| 238 | +++ b/src/libsystemd/sd-device/sd-device.c | ||
| 239 | @@ -2516,7 +2516,7 @@ _public_ int sd_device_set_sysattr_value | ||
| 240 | if (!value) | ||
| 241 | return -ENOMEM; | ||
| 242 | |||
| 243 | - r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW); | ||
| 244 | + r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW); | ||
| 245 | if (r < 0) { | ||
| 246 | /* On failure, clear cache entry, as we do not know how it fails. */ | ||
| 247 | device_remove_cached_sysattr_value(device, sysattr); | ||
| 248 | --- a/src/nspawn/nspawn-cgroup.c | ||
| 249 | +++ b/src/nspawn/nspawn-cgroup.c | ||
| 250 | @@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified | ||
| 251 | fn = strjoina(tree, cgroup, "/cgroup.procs"); | ||
| 252 | |||
| 253 | sprintf(pid_string, PID_FMT, pid); | ||
| 254 | - r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755); | ||
| 255 | + r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755); | ||
| 256 | if (r < 0) { | ||
| 257 | log_error_errno(r, "Failed to move process: %m"); | ||
| 258 | goto finish; | ||
| 259 | --- a/src/nspawn/nspawn.c | ||
| 260 | +++ b/src/nspawn/nspawn.c | ||
| 261 | @@ -2690,7 +2690,7 @@ static int reset_audit_loginuid(void) { | ||
| 262 | if (streq(p, "4294967295")) | ||
| 263 | return 0; | ||
| 264 | |||
| 265 | - r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 266 | + r = write_string_file("/proc/self/loginuid", "4294967295", 0); | ||
| 267 | if (r < 0) { | ||
| 268 | log_error_errno(r, | ||
| 269 | "Failed to reset audit login UID. This probably means that your kernel is too\n" | ||
| 270 | @@ -4143,7 +4143,7 @@ static int setup_uid_map( | ||
| 271 | return log_oom(); | ||
| 272 | |||
| 273 | xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); | ||
| 274 | - r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 275 | + r = write_string_file(uid_map, s, 0); | ||
| 276 | if (r < 0) | ||
| 277 | return log_error_errno(r, "Failed to write UID map: %m"); | ||
| 278 | |||
| 279 | @@ -4153,7 +4153,7 @@ static int setup_uid_map( | ||
| 280 | return log_oom(); | ||
| 281 | |||
| 282 | xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); | ||
| 283 | - r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 284 | + r = write_string_file(uid_map, s, 0); | ||
| 285 | if (r < 0) | ||
| 286 | return log_error_errno(r, "Failed to write GID map: %m"); | ||
| 287 | |||
| 288 | --- a/src/shared/binfmt-util.c | ||
| 289 | +++ b/src/shared/binfmt-util.c | ||
| 290 | @@ -46,7 +46,7 @@ int disable_binfmt(void) { | ||
| 291 | return 0; | ||
| 292 | } | ||
| 293 | |||
| 294 | - r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 295 | + r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); | ||
| 296 | if (r < 0) | ||
| 297 | return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m"); | ||
| 298 | |||
| 299 | --- a/src/shared/cgroup-setup.c | ||
| 300 | +++ b/src/shared/cgroup-setup.c | ||
| 301 | @@ -351,7 +351,7 @@ int cg_attach(const char *controller, co | ||
| 302 | |||
| 303 | xsprintf(c, PID_FMT "\n", pid); | ||
| 304 | |||
| 305 | - r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 306 | + r = write_string_file(fs, c, 0); | ||
| 307 | if (r == -EOPNOTSUPP && cg_is_threaded(path) > 0) | ||
| 308 | /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */ | ||
| 309 | return -EUCLEAN; | ||
| 310 | @@ -966,7 +966,7 @@ int cg_enable_everywhere( | ||
| 311 | return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p); | ||
| 312 | } | ||
| 313 | |||
| 314 | - r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 315 | + r = write_string_stream(f, s, 0); | ||
| 316 | if (r < 0) { | ||
| 317 | log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", | ||
| 318 | FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); | ||
| 319 | --- a/src/shared/coredump-util.c | ||
| 320 | +++ b/src/shared/coredump-util.c | ||
| 321 | @@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) | ||
| 322 | xsprintf(t, "0x%"PRIx64, value); | ||
| 323 | |||
| 324 | return write_string_file("/proc/self/coredump_filter", t, | ||
| 325 | - WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 326 | + 0); | ||
| 327 | } | ||
| 328 | |||
| 329 | /* Turn off core dumps but only if we're running outside of a container. */ | ||
| 330 | @@ -173,7 +173,7 @@ void disable_coredumps(void) { | ||
| 331 | if (detect_container() > 0) | ||
| 332 | return; | ||
| 333 | |||
| 334 | - r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 335 | + r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0); | ||
| 336 | if (r < 0) | ||
| 337 | log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); | ||
| 338 | } | ||
| 339 | --- a/src/shared/hibernate-util.c | ||
| 340 | +++ b/src/shared/hibernate-util.c | ||
| 341 | @@ -501,7 +501,7 @@ int write_resume_config(dev_t devno, uin | ||
| 342 | |||
| 343 | /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so | ||
| 344 | * fail gracefully if it doesn't exist and we're only overwriting it with 0. */ | ||
| 345 | - r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 346 | + r = write_string_file("/sys/power/resume_offset", offset_str, 0); | ||
| 347 | if (r == -ENOENT) { | ||
| 348 | if (offset != 0) | ||
| 349 | return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), | ||
| 350 | @@ -517,7 +517,7 @@ int write_resume_config(dev_t devno, uin | ||
| 351 | log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", | ||
| 352 | offset_str, device); | ||
| 353 | |||
| 354 | - r = write_string_file("/sys/power/resume", devno_str, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 355 | + r = write_string_file("/sys/power/resume", devno_str, 0); | ||
| 356 | if (r < 0) | ||
| 357 | return log_error_errno(r, | ||
| 358 | "Failed to write device '%s' (%s) to /sys/power/resume: %m", | ||
| 359 | --- a/src/shared/smack-util.c | ||
| 360 | +++ b/src/shared/smack-util.c | ||
| 361 | @@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const | ||
| 362 | return 0; | ||
| 363 | |||
| 364 | p = procfs_file_alloca(pid, "attr/current"); | ||
| 365 | - r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 366 | + r = write_string_file(p, label, 0); | ||
| 367 | if (r < 0) | ||
| 368 | return r; | ||
| 369 | |||
| 370 | --- a/src/shared/watchdog.c | ||
| 371 | +++ b/src/shared/watchdog.c | ||
| 372 | @@ -93,7 +93,7 @@ static int set_pretimeout_governor(const | ||
| 373 | |||
| 374 | r = write_string_file(sys_fn, | ||
| 375 | governor, | ||
| 376 | - WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
| 377 | + WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
| 378 | if (r < 0) | ||
| 379 | return log_error_errno(r, "Failed to set watchdog pretimeout_governor to '%s': %m", governor); | ||
| 380 | |||
| 381 | --- a/src/sleep/sleep.c | ||
| 382 | +++ b/src/sleep/sleep.c | ||
| 383 | @@ -137,7 +137,7 @@ static int write_state(int fd, char * co | ||
| 384 | if (k < 0) | ||
| 385 | return RET_GATHER(r, k); | ||
| 386 | |||
| 387 | - k = write_string_stream(f, *state, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 388 | + k = write_string_stream(f, *state, 0); | ||
| 389 | if (k >= 0) { | ||
| 390 | log_debug("Using sleep state '%s'.", *state); | ||
| 391 | return 0; | ||
| 392 | @@ -155,7 +155,7 @@ static int write_mode(char * const *mode | ||
| 393 | STRV_FOREACH(mode, modes) { | ||
| 394 | int k; | ||
| 395 | |||
| 396 | - k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 397 | + k = write_string_file("/sys/power/disk", *mode, 0); | ||
| 398 | if (k >= 0) { | ||
| 399 | log_debug("Using sleep disk mode '%s'.", *mode); | ||
| 400 | return 0; | ||
| 401 | --- a/src/storagetm/storagetm.c | ||
| 402 | +++ b/src/storagetm/storagetm.c | ||
| 403 | @@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSub | ||
| 404 | if (!enable_fn) | ||
| 405 | return log_oom(); | ||
| 406 | |||
| 407 | - r = write_string_file_at(namespaces_fd, enable_fn, "0", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 408 | + r = write_string_file_at(namespaces_fd, enable_fn, "0", 0); | ||
| 409 | if (r < 0) | ||
| 410 | log_warning_errno(r, "Failed to disable namespace '%s' of NVME subsystem '%s', ignoring: %m", e->d_name, s->name); | ||
| 411 | |||
| 412 | @@ -254,7 +254,7 @@ static int nvme_subsystem_write_metadata | ||
| 413 | _cleanup_free_ char *truncated = strndup(w, 40); /* kernel refuses more than 40 chars (as per nvme spec) */ | ||
| 414 | |||
| 415 | /* The default string stored in 'attr_model' is "Linux" btw. */ | ||
| 416 | - r = write_string_file_at(subsystem_fd, "attr_model", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 417 | + r = write_string_file_at(subsystem_fd, "attr_model", truncated, 0); | ||
| 418 | if (r < 0) | ||
| 419 | log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", w); | ||
| 420 | } | ||
| 421 | @@ -268,7 +268,7 @@ static int nvme_subsystem_write_metadata | ||
| 422 | return log_oom(); | ||
| 423 | |||
| 424 | /* The default string stored in 'attr_firmware' is `uname -r` btw, but truncated to 8 chars. */ | ||
| 425 | - r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 426 | + r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, 0); | ||
| 427 | if (r < 0) | ||
| 428 | log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", truncated); | ||
| 429 | } | ||
| 430 | @@ -295,7 +295,7 @@ static int nvme_subsystem_write_metadata | ||
| 431 | if (!truncated) | ||
| 432 | return log_oom(); | ||
| 433 | |||
| 434 | - r = write_string_file_at(subsystem_fd, "attr_serial", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 435 | + r = write_string_file_at(subsystem_fd, "attr_serial", truncated, 0); | ||
| 436 | if (r < 0) | ||
| 437 | log_warning_errno(r, "Failed to set serial of subsystem to '%s', ignoring: %m", truncated); | ||
| 438 | } | ||
| 439 | @@ -345,7 +345,7 @@ static int nvme_namespace_write_metadata | ||
| 440 | id = id128_digest(j, l); | ||
| 441 | } | ||
| 442 | |||
| 443 | - r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 444 | + r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), 0); | ||
| 445 | if (r < 0) | ||
| 446 | log_warning_errno(r, "Failed to set uuid of namespace to '%s', ignoring: %m", SD_ID128_TO_UUID_STRING(id)); | ||
| 447 | |||
| 448 | @@ -408,7 +408,7 @@ static int nvme_subsystem_add(const char | ||
| 449 | if (subsystem_fd < 0) | ||
| 450 | return log_error_errno(subsystem_fd, "Failed to create NVME subsystem '%s': %m", j); | ||
| 451 | |||
| 452 | - r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 453 | + r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", 0); | ||
| 454 | if (r < 0) | ||
| 455 | return log_error_errno(r, "Failed to set 'attr_allow_any_host' flag: %m"); | ||
| 456 | |||
| 457 | @@ -423,11 +423,11 @@ static int nvme_subsystem_add(const char | ||
| 458 | |||
| 459 | /* We use /proc/$PID/fd/$FD rather than /proc/self/fd/$FD, because this string is visible to others | ||
| 460 | * via configfs, and by including the PID it's clear to who the stuff belongs. */ | ||
| 461 | - r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 462 | + r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), 0); | ||
| 463 | if (r < 0) | ||
| 464 | return log_error_errno(r, "Failed to write 'device_path' attribute: %m"); | ||
| 465 | |||
| 466 | - r = write_string_file_at(namespace_fd, "enable", "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 467 | + r = write_string_file_at(namespace_fd, "enable", "1", 0); | ||
| 468 | if (r < 0) | ||
| 469 | return log_error_errno(r, "Failed to write 'enable' attribute: %m"); | ||
| 470 | |||
| 471 | @@ -557,19 +557,19 @@ static int nvme_port_add_portnr( | ||
| 472 | return 0; | ||
| 473 | } | ||
| 474 | |||
| 475 | - r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 476 | + r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), 0); | ||
| 477 | if (r < 0) | ||
| 478 | return log_error_errno(r, "Failed to set address family on NVME port %" PRIu16 ": %m", portnr); | ||
| 479 | |||
| 480 | - r = write_string_file_at(port_fd, "addr_trtype", "tcp", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 481 | + r = write_string_file_at(port_fd, "addr_trtype", "tcp", 0); | ||
| 482 | if (r < 0) | ||
| 483 | return log_error_errno(r, "Failed to set transport type on NVME port %" PRIu16 ": %m", portnr); | ||
| 484 | |||
| 485 | - r = write_string_file_at(port_fd, "addr_trsvcid", fname, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 486 | + r = write_string_file_at(port_fd, "addr_trsvcid", fname, 0); | ||
| 487 | if (r < 0) | ||
| 488 | return log_error_errno(r, "Failed to set IP port on NVME port %" PRIu16 ": %m", portnr); | ||
| 489 | |||
| 490 | - r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 491 | + r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", 0); | ||
| 492 | if (r < 0) | ||
| 493 | return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr); | ||
| 494 | |||
| 495 | --- a/src/udev/udev-rules.c | ||
| 496 | +++ b/src/udev/udev-rules.c | ||
| 497 | @@ -2711,7 +2711,6 @@ static int udev_rule_apply_token_to_even | ||
| 498 | log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value); | ||
| 499 | r = write_string_file(buf, value, | ||
| 500 | WRITE_STRING_FILE_VERIFY_ON_FAILURE | | ||
| 501 | - WRITE_STRING_FILE_DISABLE_BUFFER | | ||
| 502 | WRITE_STRING_FILE_AVOID_NEWLINE | | ||
| 503 | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
| 504 | if (r < 0) | ||
| 505 | --- a/src/vconsole/vconsole-setup.c | ||
| 506 | +++ b/src/vconsole/vconsole-setup.c | ||
| 507 | @@ -261,7 +261,7 @@ static int toggle_utf8_vc(const char *na | ||
| 508 | static int toggle_utf8_sysfs(bool utf8) { | ||
| 509 | int r; | ||
| 510 | |||
| 511 | - r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 512 | + r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0); | ||
| 513 | if (r < 0) | ||
| 514 | return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); | ||
| 515 | |||
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 43f75373a6..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch +++ /dev/null | |||
| @@ -1,60 +0,0 @@ | |||
| 1 | From 2f90f8463423cfbb7e83fcef42f1071018c3b56e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Scott Murray <scott.murray@konsulko.com> | ||
| 3 | Date: Fri, 13 Sep 2019 19:26:27 -0400 | ||
| 4 | Subject: [PATCH 13/22] Handle __cpu_mask usage | ||
| 5 | |||
| 6 | Fixes errors: | ||
| 7 | |||
| 8 | src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function) | ||
| 9 | src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function) | ||
| 10 | |||
| 11 | __cpu_mask is an internal type of glibc's cpu_set implementation, not | ||
| 12 | part of the POSIX definition, which is problematic when building with | ||
| 13 | musl, which does not define a matching type. From inspection of musl's | ||
| 14 | sched.h, however, it is clear that the corresponding type would be | ||
| 15 | unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So, | ||
| 16 | add a typedef to cpu-set-util.h defining __cpu_mask appropriately. | ||
| 17 | |||
| 18 | Upstream-Status: Inappropriate [musl specific] | ||
| 19 | |||
| 20 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 21 | --- | ||
| 22 | src/shared/cpu-set-util.h | 2 ++ | ||
| 23 | src/test/test-sizeof.c | 2 +- | ||
| 24 | 2 files changed, 3 insertions(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h | ||
| 27 | index 3c63a58826..4c2d4347fc 100644 | ||
| 28 | --- a/src/shared/cpu-set-util.h | ||
| 29 | +++ b/src/shared/cpu-set-util.h | ||
| 30 | @@ -6,6 +6,8 @@ | ||
| 31 | #include "macro.h" | ||
| 32 | #include "missing_syscall.h" | ||
| 33 | |||
| 34 | +typedef unsigned long __cpu_mask; | ||
| 35 | + | ||
| 36 | /* This wraps the libc interface with a variable to keep the allocated size. */ | ||
| 37 | typedef struct CPUSet { | ||
| 38 | cpu_set_t *set; | ||
| 39 | diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c | ||
| 40 | index ea0c58770e..b65c0bd370 100644 | ||
| 41 | --- a/src/test/test-sizeof.c | ||
| 42 | +++ b/src/test/test-sizeof.c | ||
| 43 | @@ -1,6 +1,5 @@ | ||
| 44 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 45 | |||
| 46 | -#include <sched.h> | ||
| 47 | #include <stdio.h> | ||
| 48 | #include <string.h> | ||
| 49 | #include <sys/resource.h> | ||
| 50 | @@ -12,6 +11,7 @@ | ||
| 51 | #include <float.h> | ||
| 52 | |||
| 53 | #include "time-util.h" | ||
| 54 | +#include "cpu-set-util.h" | ||
| 55 | |||
| 56 | /* Print information about various types. Useful when diagnosing | ||
| 57 | * gcc diagnostics on an unfamiliar architecture. */ | ||
| 58 | -- | ||
| 59 | 2.34.1 | ||
| 60 | |||
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 a751e1ba6f..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch +++ /dev/null | |||
| @@ -1,173 +0,0 @@ | |||
| 1 | From b7c827bb44edbb6251c9fcdb80aa03982c0e7bf3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alex Kiernan <alex.kiernan@gmail.com> | ||
| 3 | Date: Tue, 10 Mar 2020 11:05:20 +0000 | ||
| 4 | Subject: [PATCH 14/22] Handle missing gshadow | ||
| 5 | |||
| 6 | gshadow usage is now present in the userdb code. Mask all uses of it to | ||
| 7 | allow compilation on musl | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [musl specific] | ||
| 10 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
| 11 | [Rebased for v247] | ||
| 12 | Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> | ||
| 13 | --- | ||
| 14 | src/shared/user-record-nss.c | 20 ++++++++++++++++++++ | ||
| 15 | src/shared/user-record-nss.h | 4 ++++ | ||
| 16 | src/shared/userdb.c | 7 ++++++- | ||
| 17 | 3 files changed, 30 insertions(+), 1 deletion(-) | ||
| 18 | |||
| 19 | diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c | ||
| 20 | index 414a49331b..1a4e1b628c 100644 | ||
| 21 | --- a/src/shared/user-record-nss.c | ||
| 22 | +++ b/src/shared/user-record-nss.c | ||
| 23 | @@ -329,8 +329,10 @@ int nss_group_to_group_record( | ||
| 24 | if (isempty(grp->gr_name)) | ||
| 25 | return -EINVAL; | ||
| 26 | |||
| 27 | +#if ENABLE_GSHADOW | ||
| 28 | if (sgrp && !streq_ptr(sgrp->sg_namp, grp->gr_name)) | ||
| 29 | return -EINVAL; | ||
| 30 | +#endif | ||
| 31 | |||
| 32 | g = group_record_new(); | ||
| 33 | if (!g) | ||
| 34 | @@ -346,6 +348,7 @@ int nss_group_to_group_record( | ||
| 35 | |||
| 36 | g->gid = grp->gr_gid; | ||
| 37 | |||
| 38 | +#if ENABLE_GSHADOW | ||
| 39 | if (sgrp) { | ||
| 40 | if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) { | ||
| 41 | g->hashed_password = strv_new(sgrp->sg_passwd); | ||
| 42 | @@ -361,6 +364,7 @@ int nss_group_to_group_record( | ||
| 43 | if (r < 0) | ||
| 44 | return r; | ||
| 45 | } | ||
| 46 | +#endif | ||
| 47 | |||
| 48 | r = json_build(&g->json, JSON_BUILD_OBJECT( | ||
| 49 | JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)), | ||
| 50 | @@ -387,6 +391,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re | ||
| 51 | assert(ret_sgrp); | ||
| 52 | assert(ret_buffer); | ||
| 53 | |||
| 54 | +#if ENABLE_GSHADOW | ||
| 55 | for (;;) { | ||
| 56 | _cleanup_free_ char *buf = NULL; | ||
| 57 | struct sgrp sgrp, *result; | ||
| 58 | @@ -415,6 +420,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re | ||
| 59 | buflen *= 2; | ||
| 60 | buf = mfree(buf); | ||
| 61 | } | ||
| 62 | +#else | ||
| 63 | + return -ESRCH; | ||
| 64 | +#endif | ||
| 65 | } | ||
| 66 | |||
| 67 | int nss_group_record_by_name( | ||
| 68 | @@ -426,7 +434,9 @@ int nss_group_record_by_name( | ||
| 69 | struct group grp, *result; | ||
| 70 | bool incomplete = false; | ||
| 71 | size_t buflen = 4096; | ||
| 72 | +#if ENABLE_GSHADOW | ||
| 73 | struct sgrp sgrp, *sresult = NULL; | ||
| 74 | +#endif | ||
| 75 | int r; | ||
| 76 | |||
| 77 | assert(name); | ||
| 78 | @@ -455,6 +465,7 @@ int nss_group_record_by_name( | ||
| 79 | buf = mfree(buf); | ||
| 80 | } | ||
| 81 | |||
| 82 | +#if ENABLE_GSHADOW | ||
| 83 | if (with_shadow) { | ||
| 84 | r = nss_sgrp_for_group(result, &sgrp, &sbuf); | ||
| 85 | if (r < 0) { | ||
| 86 | @@ -466,6 +477,9 @@ int nss_group_record_by_name( | ||
| 87 | incomplete = true; | ||
| 88 | |||
| 89 | r = nss_group_to_group_record(result, sresult, ret); | ||
| 90 | +#else | ||
| 91 | + r = nss_group_to_group_record(result, NULL, ret); | ||
| 92 | +#endif | ||
| 93 | if (r < 0) | ||
| 94 | return r; | ||
| 95 | |||
| 96 | @@ -483,7 +497,9 @@ int nss_group_record_by_gid( | ||
| 97 | struct group grp, *result; | ||
| 98 | bool incomplete = false; | ||
| 99 | size_t buflen = 4096; | ||
| 100 | +#if ENABLE_GSHADOW | ||
| 101 | struct sgrp sgrp, *sresult = NULL; | ||
| 102 | +#endif | ||
| 103 | int r; | ||
| 104 | |||
| 105 | for (;;) { | ||
| 106 | @@ -509,6 +525,7 @@ int nss_group_record_by_gid( | ||
| 107 | buf = mfree(buf); | ||
| 108 | } | ||
| 109 | |||
| 110 | +#if ENABLE_GSHADOW | ||
| 111 | if (with_shadow) { | ||
| 112 | r = nss_sgrp_for_group(result, &sgrp, &sbuf); | ||
| 113 | if (r < 0) { | ||
| 114 | @@ -520,6 +537,9 @@ int nss_group_record_by_gid( | ||
| 115 | incomplete = true; | ||
| 116 | |||
| 117 | r = nss_group_to_group_record(result, sresult, ret); | ||
| 118 | +#else | ||
| 119 | + r = nss_group_to_group_record(result, NULL, ret); | ||
| 120 | +#endif | ||
| 121 | if (r < 0) | ||
| 122 | return r; | ||
| 123 | |||
| 124 | diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h | ||
| 125 | index 22ab04d6ee..4e52e7a911 100644 | ||
| 126 | --- a/src/shared/user-record-nss.h | ||
| 127 | +++ b/src/shared/user-record-nss.h | ||
| 128 | @@ -2,7 +2,11 @@ | ||
| 129 | #pragma once | ||
| 130 | |||
| 131 | #include <grp.h> | ||
| 132 | +#if ENABLE_GSHADOW | ||
| 133 | #include <gshadow.h> | ||
| 134 | +#else | ||
| 135 | +struct sgrp; | ||
| 136 | +#endif | ||
| 137 | #include <pwd.h> | ||
| 138 | #include <shadow.h> | ||
| 139 | |||
| 140 | diff --git a/src/shared/userdb.c b/src/shared/userdb.c | ||
| 141 | index f60d48ace4..e878199a28 100644 | ||
| 142 | --- a/src/shared/userdb.c | ||
| 143 | +++ b/src/shared/userdb.c | ||
| 144 | @@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { | ||
| 145 | if (gr) { | ||
| 146 | _cleanup_free_ char *buffer = NULL; | ||
| 147 | bool incomplete = false; | ||
| 148 | +#if ENABLE_GSHADOW | ||
| 149 | struct sgrp sgrp; | ||
| 150 | - | ||
| 151 | +#endif | ||
| 152 | if (streq_ptr(gr->gr_name, "root")) | ||
| 153 | iterator->synthesize_root = false; | ||
| 154 | if (gr->gr_gid == GID_NOBODY) | ||
| 155 | iterator->synthesize_nobody = false; | ||
| 156 | |||
| 157 | +#if ENABLE_GSHADOW | ||
| 158 | if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { | ||
| 159 | r = nss_sgrp_for_group(gr, &sgrp, &buffer); | ||
| 160 | if (r < 0) { | ||
| 161 | @@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { | ||
| 162 | } | ||
| 163 | |||
| 164 | r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); | ||
| 165 | +#else | ||
| 166 | + r = nss_group_to_group_record(gr, NULL, ret); | ||
| 167 | +#endif | ||
| 168 | if (r < 0) | ||
| 169 | return r; | ||
| 170 | |||
| 171 | -- | ||
| 172 | 2.34.1 | ||
| 173 | |||
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 e112766a9b..0000000000 --- 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 @@ | |||
| 1 | From 3dc9d9d410bcce54fddfd94f43f7f77f3aa8e281 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 12 Apr 2021 23:44:53 -0700 | ||
| 4 | Subject: [PATCH 15/22] missing_syscall.h: Define MIPS ABI defines for musl | ||
| 5 | |||
| 6 | musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64 | ||
| 7 | unlike glibc where these are provided by libc headers, therefore define | ||
| 8 | them here in case they are undefined | ||
| 9 | |||
| 10 | Upstream-Status: Pending | ||
| 11 | |||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | src/basic/missing_syscall.h | 6 ++++++ | ||
| 15 | src/shared/base-filesystem.c | 1 + | ||
| 16 | 2 files changed, 7 insertions(+) | ||
| 17 | |||
| 18 | diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h | ||
| 19 | index d795efd8f2..d6729d3c1d 100644 | ||
| 20 | --- a/src/basic/missing_syscall.h | ||
| 21 | +++ b/src/basic/missing_syscall.h | ||
| 22 | @@ -20,6 +20,12 @@ | ||
| 23 | #include <asm/sgidefs.h> | ||
| 24 | #endif | ||
| 25 | |||
| 26 | +#ifndef _MIPS_SIM_ABI32 | ||
| 27 | +#define _MIPS_SIM_ABI32 1 | ||
| 28 | +#define _MIPS_SIM_NABI32 2 | ||
| 29 | +#define _MIPS_SIM_ABI64 3 | ||
| 30 | +#endif | ||
| 31 | + | ||
| 32 | #include "macro.h" | ||
| 33 | #include "missing_keyctl.h" | ||
| 34 | #include "missing_stat.h" | ||
| 35 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | ||
| 36 | index 7ae921a113..0ef9d1fd39 100644 | ||
| 37 | --- a/src/shared/base-filesystem.c | ||
| 38 | +++ b/src/shared/base-filesystem.c | ||
| 39 | @@ -20,6 +20,7 @@ | ||
| 40 | #include "string-util.h" | ||
| 41 | #include "umask-util.h" | ||
| 42 | #include "user-util.h" | ||
| 43 | +#include "missing_syscall.h" | ||
| 44 | |||
| 45 | typedef struct BaseFilesystem { | ||
| 46 | const char *dir; /* directory or symlink to create */ | ||
| 47 | -- | ||
| 48 | 2.34.1 | ||
| 49 | |||
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 0be817e62d..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | From 0994b59dba9f248ad31cb7087046dc00b72cb4ea Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 21 Jan 2022 15:15:11 -0800 | ||
| 4 | Subject: [PATCH 16/22] pass correct parameters to getdents64 | ||
| 5 | |||
| 6 | Fixes | ||
| 7 | ../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] | ||
| 8 | n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size); | ||
| 9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 10 | |||
| 11 | ../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] | ||
| 12 | n = getdents64(fd, &buffer, sizeof(buffer)); | ||
| 13 | ^~~~~~~ | ||
| 14 | |||
| 15 | Upstream-Status: Inappropriate [musl specific] | ||
| 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 17 | Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com> | ||
| 18 | --- | ||
| 19 | src/basic/recurse-dir.c | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c | ||
| 23 | index 5e98b7a5d8..aef065047b 100644 | ||
| 24 | --- a/src/basic/recurse-dir.c | ||
| 25 | +++ b/src/basic/recurse-dir.c | ||
| 26 | @@ -55,7 +55,7 @@ int readdir_all(int dir_fd, | ||
| 27 | bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX); | ||
| 28 | assert(bs > de->buffer_size); | ||
| 29 | |||
| 30 | - n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size); | ||
| 31 | + n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size); | ||
| 32 | if (n < 0) | ||
| 33 | return -errno; | ||
| 34 | if (n == 0) | ||
| 35 | -- | ||
| 36 | 2.34.1 | ||
| 37 | |||
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 4176522a1c..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch +++ /dev/null | |||
| @@ -1,572 +0,0 @@ | |||
| 1 | From 3c094d443ca30f19114392fd8ef274af6eabc12d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 21 Jan 2022 22:19:37 -0800 | ||
| 4 | Subject: [PATCH 17/22] Adjust for musl headers | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [musl specific] | ||
| 7 | |||
| 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 9 | |||
| 10 | [Rebased for v255.1] | ||
| 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 12 | --- | ||
| 13 | src/libsystemd-network/sd-dhcp6-client.c | 2 +- | ||
| 14 | src/network/netdev/bareudp.c | 2 +- | ||
| 15 | src/network/netdev/batadv.c | 2 +- | ||
| 16 | src/network/netdev/bond.c | 2 +- | ||
| 17 | src/network/netdev/bridge.c | 2 +- | ||
| 18 | src/network/netdev/dummy.c | 2 +- | ||
| 19 | src/network/netdev/geneve.c | 2 +- | ||
| 20 | src/network/netdev/ifb.c | 2 +- | ||
| 21 | src/network/netdev/ipoib.c | 2 +- | ||
| 22 | src/network/netdev/ipvlan.c | 2 +- | ||
| 23 | src/network/netdev/macsec.c | 2 +- | ||
| 24 | src/network/netdev/macvlan.c | 2 +- | ||
| 25 | src/network/netdev/netdev.c | 2 +- | ||
| 26 | src/network/netdev/netdevsim.c | 2 +- | ||
| 27 | src/network/netdev/nlmon.c | 2 +- | ||
| 28 | src/network/netdev/tunnel.c | 2 +- | ||
| 29 | src/network/netdev/vcan.c | 2 +- | ||
| 30 | src/network/netdev/veth.c | 2 +- | ||
| 31 | src/network/netdev/vlan.c | 2 +- | ||
| 32 | src/network/netdev/vrf.c | 2 +- | ||
| 33 | src/network/netdev/vxcan.c | 2 +- | ||
| 34 | src/network/netdev/vxlan.c | 2 +- | ||
| 35 | src/network/netdev/wireguard.c | 2 +- | ||
| 36 | src/network/netdev/xfrm.c | 2 +- | ||
| 37 | src/network/networkd-bridge-mdb.c | 4 ++-- | ||
| 38 | src/network/networkd-dhcp-common.c | 3 ++- | ||
| 39 | src/network/networkd-dhcp-prefix-delegation.c | 3 ++- | ||
| 40 | src/network/networkd-dhcp-server.c | 2 +- | ||
| 41 | src/network/networkd-dhcp4.c | 2 +- | ||
| 42 | src/network/networkd-ipv6ll.c | 2 +- | ||
| 43 | src/network/networkd-link.c | 2 +- | ||
| 44 | src/network/networkd-ndisc.c | 2 +- | ||
| 45 | src/network/networkd-route.c | 8 ++++---- | ||
| 46 | src/network/networkd-setlink.c | 2 +- | ||
| 47 | src/network/networkd-sysctl.c | 2 +- | ||
| 48 | src/shared/linux/ethtool.h | 3 ++- | ||
| 49 | src/shared/netif-util.c | 2 +- | ||
| 50 | src/udev/udev-builtin-net_id.c | 2 +- | ||
| 51 | 38 files changed, 45 insertions(+), 42 deletions(-) | ||
| 52 | |||
| 53 | diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c | ||
| 54 | index c20367dfc9..b8d4cd8c2a 100644 | ||
| 55 | --- a/src/libsystemd-network/sd-dhcp6-client.c | ||
| 56 | +++ b/src/libsystemd-network/sd-dhcp6-client.c | ||
| 57 | @@ -5,7 +5,7 @@ | ||
| 58 | |||
| 59 | #include <errno.h> | ||
| 60 | #include <sys/ioctl.h> | ||
| 61 | -#include <linux/if_arp.h> | ||
| 62 | +//#include <linux/if_arp.h> | ||
| 63 | #include <linux/if_infiniband.h> | ||
| 64 | |||
| 65 | #include "sd-dhcp6-client.h" | ||
| 66 | diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c | ||
| 67 | index 1df886573b..c8b6714726 100644 | ||
| 68 | --- a/src/network/netdev/bareudp.c | ||
| 69 | +++ b/src/network/netdev/bareudp.c | ||
| 70 | @@ -2,7 +2,7 @@ | ||
| 71 | * Copyright © 2020 VMware, Inc. */ | ||
| 72 | |||
| 73 | #include <netinet/in.h> | ||
| 74 | -#include <linux/if_arp.h> | ||
| 75 | +//#include <linux/if_arp.h> | ||
| 76 | |||
| 77 | #include "bareudp.h" | ||
| 78 | #include "netlink-util.h" | ||
| 79 | diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c | ||
| 80 | index 26da0231d4..2e8002af8c 100644 | ||
| 81 | --- a/src/network/netdev/batadv.c | ||
| 82 | +++ b/src/network/netdev/batadv.c | ||
| 83 | @@ -3,7 +3,7 @@ | ||
| 84 | #include <inttypes.h> | ||
| 85 | #include <netinet/in.h> | ||
| 86 | #include <linux/genetlink.h> | ||
| 87 | -#include <linux/if_arp.h> | ||
| 88 | +//#include <linux/if_arp.h> | ||
| 89 | |||
| 90 | #include "batadv.h" | ||
| 91 | #include "fileio.h" | ||
| 92 | diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c | ||
| 93 | index 4d75a0d6bf..985b3197e0 100644 | ||
| 94 | --- a/src/network/netdev/bond.c | ||
| 95 | +++ b/src/network/netdev/bond.c | ||
| 96 | @@ -1,7 +1,7 @@ | ||
| 97 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 98 | |||
| 99 | #include <netinet/in.h> | ||
| 100 | -#include <linux/if_arp.h> | ||
| 101 | +//#include <linux/if_arp.h> | ||
| 102 | |||
| 103 | #include "alloc-util.h" | ||
| 104 | #include "bond.h" | ||
| 105 | diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c | ||
| 106 | index 3e394edadf..f12f667687 100644 | ||
| 107 | --- a/src/network/netdev/bridge.c | ||
| 108 | +++ b/src/network/netdev/bridge.c | ||
| 109 | @@ -2,7 +2,7 @@ | ||
| 110 | |||
| 111 | #include <net/if.h> | ||
| 112 | #include <netinet/in.h> | ||
| 113 | -#include <linux/if_arp.h> | ||
| 114 | +//#include <linux/if_arp.h> | ||
| 115 | #include <linux/if_bridge.h> | ||
| 116 | |||
| 117 | #include "bridge.h" | ||
| 118 | diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c | ||
| 119 | index 00df1d2787..77b506b422 100644 | ||
| 120 | --- a/src/network/netdev/dummy.c | ||
| 121 | +++ b/src/network/netdev/dummy.c | ||
| 122 | @@ -1,6 +1,6 @@ | ||
| 123 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 124 | |||
| 125 | -#include <linux/if_arp.h> | ||
| 126 | +//#include <linux/if_arp.h> | ||
| 127 | |||
| 128 | #include "dummy.h" | ||
| 129 | |||
| 130 | diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c | ||
| 131 | index bc655ec7ff..a77e8e17e4 100644 | ||
| 132 | --- a/src/network/netdev/geneve.c | ||
| 133 | +++ b/src/network/netdev/geneve.c | ||
| 134 | @@ -2,7 +2,7 @@ | ||
| 135 | |||
| 136 | #include <net/if.h> | ||
| 137 | #include <netinet/in.h> | ||
| 138 | -#include <linux/if_arp.h> | ||
| 139 | +//#include <linux/if_arp.h> | ||
| 140 | |||
| 141 | #include "alloc-util.h" | ||
| 142 | #include "conf-parser.h" | ||
| 143 | diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c | ||
| 144 | index d7ff44cb9e..e037629ae4 100644 | ||
| 145 | --- a/src/network/netdev/ifb.c | ||
| 146 | +++ b/src/network/netdev/ifb.c | ||
| 147 | @@ -1,7 +1,7 @@ | ||
| 148 | /* SPDX-License-Identifier: LGPL-2.1-or-later | ||
| 149 | * Copyright © 2019 VMware, Inc. */ | ||
| 150 | |||
| 151 | -#include <linux/if_arp.h> | ||
| 152 | +//#include <linux/if_arp.h> | ||
| 153 | |||
| 154 | #include "ifb.h" | ||
| 155 | |||
| 156 | diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c | ||
| 157 | index d5fe299b7b..c9c8002eac 100644 | ||
| 158 | --- a/src/network/netdev/ipoib.c | ||
| 159 | +++ b/src/network/netdev/ipoib.c | ||
| 160 | @@ -1,6 +1,6 @@ | ||
| 161 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 162 | |||
| 163 | -#include <linux/if_arp.h> | ||
| 164 | +//#include <linux/if_arp.h> | ||
| 165 | #include <linux/if_link.h> | ||
| 166 | |||
| 167 | #include "ipoib.h" | ||
| 168 | diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c | ||
| 169 | index 05d5d010f6..d440f49537 100644 | ||
| 170 | --- a/src/network/netdev/ipvlan.c | ||
| 171 | +++ b/src/network/netdev/ipvlan.c | ||
| 172 | @@ -2,7 +2,7 @@ | ||
| 173 | |||
| 174 | #include <net/if.h> | ||
| 175 | #include <netinet/in.h> | ||
| 176 | -#include <linux/if_arp.h> | ||
| 177 | +//#include <linux/if_arp.h> | ||
| 178 | |||
| 179 | #include "conf-parser.h" | ||
| 180 | #include "ipvlan.h" | ||
| 181 | diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c | ||
| 182 | index 17d6acefb6..679d0984f9 100644 | ||
| 183 | --- a/src/network/netdev/macsec.c | ||
| 184 | +++ b/src/network/netdev/macsec.c | ||
| 185 | @@ -1,7 +1,7 @@ | ||
| 186 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 187 | |||
| 188 | #include <netinet/in.h> | ||
| 189 | -#include <linux/if_arp.h> | ||
| 190 | +//#include <linux/if_arp.h> | ||
| 191 | #include <linux/if_ether.h> | ||
| 192 | #include <linux/if_macsec.h> | ||
| 193 | #include <linux/genetlink.h> | ||
| 194 | diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c | ||
| 195 | index 203807e3a5..8ab09a387e 100644 | ||
| 196 | --- a/src/network/netdev/macvlan.c | ||
| 197 | +++ b/src/network/netdev/macvlan.c | ||
| 198 | @@ -2,7 +2,7 @@ | ||
| 199 | |||
| 200 | #include <net/if.h> | ||
| 201 | #include <netinet/in.h> | ||
| 202 | -#include <linux/if_arp.h> | ||
| 203 | +//#include <linux/if_arp.h> | ||
| 204 | |||
| 205 | #include "conf-parser.h" | ||
| 206 | #include "macvlan.h" | ||
| 207 | diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c | ||
| 208 | index 57127a861a..7f787d0b9f 100644 | ||
| 209 | --- a/src/network/netdev/netdev.c | ||
| 210 | +++ b/src/network/netdev/netdev.c | ||
| 211 | @@ -2,7 +2,7 @@ | ||
| 212 | |||
| 213 | #include <net/if.h> | ||
| 214 | #include <netinet/in.h> | ||
| 215 | -#include <linux/if_arp.h> | ||
| 216 | +//#include <linux/if_arp.h> | ||
| 217 | #include <unistd.h> | ||
| 218 | |||
| 219 | #include "alloc-util.h" | ||
| 220 | diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c | ||
| 221 | index 15d5c132f9..a3ffa48b15 100644 | ||
| 222 | --- a/src/network/netdev/netdevsim.c | ||
| 223 | +++ b/src/network/netdev/netdevsim.c | ||
| 224 | @@ -1,6 +1,6 @@ | ||
| 225 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 226 | |||
| 227 | -#include <linux/if_arp.h> | ||
| 228 | +//#include <linux/if_arp.h> | ||
| 229 | |||
| 230 | #include "netdevsim.h" | ||
| 231 | |||
| 232 | diff --git a/src/network/netdev/nlmon.c b/src/network/netdev/nlmon.c | ||
| 233 | index ff372092e6..eef66811f4 100644 | ||
| 234 | --- a/src/network/netdev/nlmon.c | ||
| 235 | +++ b/src/network/netdev/nlmon.c | ||
| 236 | @@ -1,6 +1,6 @@ | ||
| 237 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 238 | |||
| 239 | -#include <linux/if_arp.h> | ||
| 240 | +//#include <linux/if_arp.h> | ||
| 241 | |||
| 242 | #include "nlmon.h" | ||
| 243 | |||
| 244 | diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c | ||
| 245 | index db84e7cf6e..93d5642962 100644 | ||
| 246 | --- a/src/network/netdev/tunnel.c | ||
| 247 | +++ b/src/network/netdev/tunnel.c | ||
| 248 | @@ -2,7 +2,7 @@ | ||
| 249 | |||
| 250 | #include <netinet/in.h> | ||
| 251 | #include <linux/fou.h> | ||
| 252 | -#include <linux/if_arp.h> | ||
| 253 | +//#include <linux/if_arp.h> | ||
| 254 | #include <linux/if_tunnel.h> | ||
| 255 | #include <linux/ip.h> | ||
| 256 | #include <linux/ip6_tunnel.h> | ||
| 257 | diff --git a/src/network/netdev/vcan.c b/src/network/netdev/vcan.c | ||
| 258 | index 380547ee1e..137c1adf8a 100644 | ||
| 259 | --- a/src/network/netdev/vcan.c | ||
| 260 | +++ b/src/network/netdev/vcan.c | ||
| 261 | @@ -1,6 +1,6 @@ | ||
| 262 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 263 | |||
| 264 | -#include <linux/if_arp.h> | ||
| 265 | +//#include <linux/if_arp.h> | ||
| 266 | |||
| 267 | #include "vcan.h" | ||
| 268 | |||
| 269 | diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c | ||
| 270 | index e0f5b4ebb1..8a424ed03d 100644 | ||
| 271 | --- a/src/network/netdev/veth.c | ||
| 272 | +++ b/src/network/netdev/veth.c | ||
| 273 | @@ -3,7 +3,7 @@ | ||
| 274 | #include <errno.h> | ||
| 275 | #include <net/if.h> | ||
| 276 | #include <netinet/in.h> | ||
| 277 | -#include <linux/if_arp.h> | ||
| 278 | +//#include <linux/if_arp.h> | ||
| 279 | #include <linux/veth.h> | ||
| 280 | |||
| 281 | #include "netlink-util.h" | ||
| 282 | diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c | ||
| 283 | index 2390206993..efec630e30 100644 | ||
| 284 | --- a/src/network/netdev/vlan.c | ||
| 285 | +++ b/src/network/netdev/vlan.c | ||
| 286 | @@ -2,7 +2,7 @@ | ||
| 287 | |||
| 288 | #include <errno.h> | ||
| 289 | #include <net/if.h> | ||
| 290 | -#include <linux/if_arp.h> | ||
| 291 | +//#include <linux/if_arp.h> | ||
| 292 | #include <linux/if_vlan.h> | ||
| 293 | |||
| 294 | #include "parse-util.h" | ||
| 295 | diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c | ||
| 296 | index b75ec2bcc6..6aeeea640b 100644 | ||
| 297 | --- a/src/network/netdev/vrf.c | ||
| 298 | +++ b/src/network/netdev/vrf.c | ||
| 299 | @@ -2,7 +2,7 @@ | ||
| 300 | |||
| 301 | #include <net/if.h> | ||
| 302 | #include <netinet/in.h> | ||
| 303 | -#include <linux/if_arp.h> | ||
| 304 | +//#include <linux/if_arp.h> | ||
| 305 | |||
| 306 | #include "vrf.h" | ||
| 307 | |||
| 308 | diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c | ||
| 309 | index c0343f45b6..f9e718f40b 100644 | ||
| 310 | --- a/src/network/netdev/vxcan.c | ||
| 311 | +++ b/src/network/netdev/vxcan.c | ||
| 312 | @@ -1,7 +1,7 @@ | ||
| 313 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 314 | |||
| 315 | #include <linux/can/vxcan.h> | ||
| 316 | -#include <linux/if_arp.h> | ||
| 317 | +//#include <linux/if_arp.h> | ||
| 318 | |||
| 319 | #include "vxcan.h" | ||
| 320 | |||
| 321 | diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c | ||
| 322 | index b11fdbbd0d..a971a917f0 100644 | ||
| 323 | --- a/src/network/netdev/vxlan.c | ||
| 324 | +++ b/src/network/netdev/vxlan.c | ||
| 325 | @@ -2,7 +2,7 @@ | ||
| 326 | |||
| 327 | #include <net/if.h> | ||
| 328 | #include <netinet/in.h> | ||
| 329 | -#include <linux/if_arp.h> | ||
| 330 | +//#include <linux/if_arp.h> | ||
| 331 | |||
| 332 | #include "conf-parser.h" | ||
| 333 | #include "alloc-util.h" | ||
| 334 | diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c | ||
| 335 | index 4c7d837c41..6df6dfb816 100644 | ||
| 336 | --- a/src/network/netdev/wireguard.c | ||
| 337 | +++ b/src/network/netdev/wireguard.c | ||
| 338 | @@ -6,7 +6,7 @@ | ||
| 339 | #include <sys/ioctl.h> | ||
| 340 | #include <net/if.h> | ||
| 341 | #include <netinet/in.h> | ||
| 342 | -#include <linux/if_arp.h> | ||
| 343 | +//#include <linux/if_arp.h> | ||
| 344 | #include <linux/ipv6_route.h> | ||
| 345 | |||
| 346 | #include "sd-resolve.h" | ||
| 347 | diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c | ||
| 348 | index 905bfc0bdf..39e34dbb3b 100644 | ||
| 349 | --- a/src/network/netdev/xfrm.c | ||
| 350 | +++ b/src/network/netdev/xfrm.c | ||
| 351 | @@ -1,6 +1,6 @@ | ||
| 352 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 353 | |||
| 354 | -#include <linux/if_arp.h> | ||
| 355 | +//#include <linux/if_arp.h> | ||
| 356 | |||
| 357 | #include "missing_network.h" | ||
| 358 | #include "xfrm.h" | ||
| 359 | diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c | ||
| 360 | index bd1a9745dc..949d3da029 100644 | ||
| 361 | --- a/src/network/networkd-bridge-mdb.c | ||
| 362 | +++ b/src/network/networkd-bridge-mdb.c | ||
| 363 | @@ -1,7 +1,5 @@ | ||
| 364 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 365 | |||
| 366 | -#include <net/if.h> | ||
| 367 | -#include <linux/if_bridge.h> | ||
| 368 | |||
| 369 | #include "netlink-util.h" | ||
| 370 | #include "networkd-bridge-mdb.h" | ||
| 371 | @@ -11,6 +9,8 @@ | ||
| 372 | #include "networkd-queue.h" | ||
| 373 | #include "string-util.h" | ||
| 374 | #include "vlan-util.h" | ||
| 375 | +#include <net/if.h> | ||
| 376 | +#include <linux/if_bridge.h> | ||
| 377 | |||
| 378 | #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U | ||
| 379 | |||
| 380 | diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c | ||
| 381 | index 080b15387c..efe8283957 100644 | ||
| 382 | --- a/src/network/networkd-dhcp-common.c | ||
| 383 | +++ b/src/network/networkd-dhcp-common.c | ||
| 384 | @@ -1,7 +1,8 @@ | ||
| 385 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 386 | |||
| 387 | #include <netinet/in.h> | ||
| 388 | -#include <linux/if_arp.h> | ||
| 389 | +//#include <linux/if_arp.h> | ||
| 390 | +#include <net/if.h> | ||
| 391 | |||
| 392 | #include "bus-error.h" | ||
| 393 | #include "bus-locator.h" | ||
| 394 | diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c | ||
| 395 | index af2fe9efcd..511565700f 100644 | ||
| 396 | --- a/src/network/networkd-dhcp-prefix-delegation.c | ||
| 397 | +++ b/src/network/networkd-dhcp-prefix-delegation.c | ||
| 398 | @@ -1,6 +1,5 @@ | ||
| 399 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 400 | |||
| 401 | -#include <linux/ipv6_route.h> | ||
| 402 | |||
| 403 | #include "dhcp6-lease-internal.h" | ||
| 404 | #include "hashmap.h" | ||
| 405 | @@ -20,6 +19,8 @@ | ||
| 406 | #include "strv.h" | ||
| 407 | #include "tunnel.h" | ||
| 408 | |||
| 409 | +#include <linux/ipv6_route.h> | ||
| 410 | + | ||
| 411 | bool link_dhcp_pd_is_enabled(Link *link) { | ||
| 412 | assert(link); | ||
| 413 | |||
| 414 | diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c | ||
| 415 | index 607fe0053c..9ce4005874 100644 | ||
| 416 | --- a/src/network/networkd-dhcp-server.c | ||
| 417 | +++ b/src/network/networkd-dhcp-server.c | ||
| 418 | @@ -1,7 +1,7 @@ | ||
| 419 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 420 | |||
| 421 | #include <netinet/in.h> | ||
| 422 | -#include <linux/if_arp.h> | ||
| 423 | +//#include <linux/if_arp.h> | ||
| 424 | #include <linux/if.h> | ||
| 425 | |||
| 426 | #include "sd-dhcp-server.h" | ||
| 427 | diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c | ||
| 428 | index efbae6d868..1ea2151d50 100644 | ||
| 429 | --- a/src/network/networkd-dhcp4.c | ||
| 430 | +++ b/src/network/networkd-dhcp4.c | ||
| 431 | @@ -3,7 +3,7 @@ | ||
| 432 | #include <netinet/in.h> | ||
| 433 | #include <netinet/ip.h> | ||
| 434 | #include <linux/if.h> | ||
| 435 | -#include <linux/if_arp.h> | ||
| 436 | +//#include <linux/if_arp.h> | ||
| 437 | |||
| 438 | #include "alloc-util.h" | ||
| 439 | #include "dhcp-client-internal.h" | ||
| 440 | diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c | ||
| 441 | index 32229a3fc7..662a345d6e 100644 | ||
| 442 | --- a/src/network/networkd-ipv6ll.c | ||
| 443 | +++ b/src/network/networkd-ipv6ll.c | ||
| 444 | @@ -1,7 +1,7 @@ | ||
| 445 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 446 | |||
| 447 | #include <linux/if.h> | ||
| 448 | -#include <linux/if_arp.h> | ||
| 449 | +//#include <linux/if_arp.h> | ||
| 450 | |||
| 451 | #include "in-addr-util.h" | ||
| 452 | #include "networkd-address.h" | ||
| 453 | diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c | ||
| 454 | index ee5f0f2c0a..ea5269a2de 100644 | ||
| 455 | --- a/src/network/networkd-link.c | ||
| 456 | +++ b/src/network/networkd-link.c | ||
| 457 | @@ -3,7 +3,7 @@ | ||
| 458 | #include <net/if.h> | ||
| 459 | #include <netinet/in.h> | ||
| 460 | #include <linux/if.h> | ||
| 461 | -#include <linux/if_arp.h> | ||
| 462 | +//#include <linux/if_arp.h> | ||
| 463 | #include <linux/if_link.h> | ||
| 464 | #include <linux/netdevice.h> | ||
| 465 | #include <sys/socket.h> | ||
| 466 | diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c | ||
| 467 | index ab9eeb13a5..dd96fe7483 100644 | ||
| 468 | --- a/src/network/networkd-ndisc.c | ||
| 469 | +++ b/src/network/networkd-ndisc.c | ||
| 470 | @@ -6,7 +6,7 @@ | ||
| 471 | #include <arpa/inet.h> | ||
| 472 | #include <netinet/icmp6.h> | ||
| 473 | #include <linux/if.h> | ||
| 474 | -#include <linux/if_arp.h> | ||
| 475 | +//#include <linux/if_arp.h> | ||
| 476 | |||
| 477 | #include "sd-ndisc.h" | ||
| 478 | |||
| 479 | diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c | ||
| 480 | index 7218d799fc..30d5574eae 100644 | ||
| 481 | --- a/src/network/networkd-route.c | ||
| 482 | +++ b/src/network/networkd-route.c | ||
| 483 | @@ -1,9 +1,5 @@ | ||
| 484 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 485 | |||
| 486 | -#include <linux/icmpv6.h> | ||
| 487 | -#include <linux/ipv6_route.h> | ||
| 488 | -#include <linux/nexthop.h> | ||
| 489 | - | ||
| 490 | #include "alloc-util.h" | ||
| 491 | #include "event-util.h" | ||
| 492 | #include "netlink-util.h" | ||
| 493 | @@ -21,6 +17,10 @@ | ||
| 494 | #include "vrf.h" | ||
| 495 | #include "wireguard.h" | ||
| 496 | |||
| 497 | +#include <linux/icmpv6.h> | ||
| 498 | +#include <linux/ipv6_route.h> | ||
| 499 | +#include <linux/nexthop.h> | ||
| 500 | + | ||
| 501 | int route_new(Route **ret) { | ||
| 502 | _cleanup_(route_freep) Route *route = NULL; | ||
| 503 | |||
| 504 | diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c | ||
| 505 | index 2298f9ea3a..7d5f87de53 100644 | ||
| 506 | --- a/src/network/networkd-setlink.c | ||
| 507 | +++ b/src/network/networkd-setlink.c | ||
| 508 | @@ -2,7 +2,7 @@ | ||
| 509 | |||
| 510 | #include <netinet/in.h> | ||
| 511 | #include <linux/if.h> | ||
| 512 | -#include <linux/if_arp.h> | ||
| 513 | +//#include <linux/if_arp.h> | ||
| 514 | #include <linux/if_bridge.h> | ||
| 515 | |||
| 516 | #include "missing_network.h" | ||
| 517 | diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c | ||
| 518 | index 2b226b2e2a..f12a474e2f 100644 | ||
| 519 | --- a/src/network/networkd-sysctl.c | ||
| 520 | +++ b/src/network/networkd-sysctl.c | ||
| 521 | @@ -2,7 +2,7 @@ | ||
| 522 | |||
| 523 | #include <netinet/in.h> | ||
| 524 | #include <linux/if.h> | ||
| 525 | -#include <linux/if_arp.h> | ||
| 526 | +//#include <linux/if_arp.h> | ||
| 527 | |||
| 528 | #include "missing_network.h" | ||
| 529 | #include "networkd-link.h" | ||
| 530 | diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h | ||
| 531 | index 3d1da515c0..3fca9a4faf 100644 | ||
| 532 | --- a/src/shared/linux/ethtool.h | ||
| 533 | +++ b/src/shared/linux/ethtool.h | ||
| 534 | @@ -16,7 +16,8 @@ | ||
| 535 | |||
| 536 | #include <linux/const.h> | ||
| 537 | #include <linux/types.h> | ||
| 538 | -#include <linux/if_ether.h> | ||
| 539 | +#include <netinet/if_ether.h> | ||
| 540 | +//#include <linux/if_ether.h> | ||
| 541 | |||
| 542 | #include <limits.h> /* for INT_MAX */ | ||
| 543 | |||
| 544 | diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c | ||
| 545 | index f56c5646c1..5af28ff119 100644 | ||
| 546 | --- a/src/shared/netif-util.c | ||
| 547 | +++ b/src/shared/netif-util.c | ||
| 548 | @@ -1,7 +1,7 @@ | ||
| 549 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 550 | |||
| 551 | #include <linux/if.h> | ||
| 552 | -#include <linux/if_arp.h> | ||
| 553 | +//#include <linux/if_arp.h> | ||
| 554 | |||
| 555 | #include "arphrd-util.h" | ||
| 556 | #include "device-util.h" | ||
| 557 | diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c | ||
| 558 | index f528a46b8e..830318cda5 100644 | ||
| 559 | --- a/src/udev/udev-builtin-net_id.c | ||
| 560 | +++ b/src/udev/udev-builtin-net_id.c | ||
| 561 | @@ -18,7 +18,7 @@ | ||
| 562 | #include <stdarg.h> | ||
| 563 | #include <unistd.h> | ||
| 564 | #include <linux/if.h> | ||
| 565 | -#include <linux/if_arp.h> | ||
| 566 | +//#include <linux/if_arp.h> | ||
| 567 | #include <linux/netdevice.h> | ||
| 568 | #include <linux/pci_regs.h> | ||
| 569 | |||
| 570 | -- | ||
| 571 | 2.34.1 | ||
| 572 | |||
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 75f6b9094a..0000000000 --- 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 @@ | |||
| 1 | From be02bd0876a061728661535a709d313e39fe1ac3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Tue, 8 Nov 2022 13:31:34 -0800 | ||
| 4 | Subject: [PATCH 18/22] test-bus-error: strerror() is assumed to be GNU | ||
| 5 | specific version mark it so | ||
| 6 | |||
| 7 | Upstream-Status: Inappropriate [Upstream systemd only supports glibc] | ||
| 8 | |||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | src/libsystemd/sd-bus/test-bus-error.c | 2 ++ | ||
| 12 | src/test/test-errno-util.c | 3 ++- | ||
| 13 | 2 files changed, 4 insertions(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c | ||
| 16 | index a55f3f9856..4123bf3da0 100644 | ||
| 17 | --- a/src/libsystemd/sd-bus/test-bus-error.c | ||
| 18 | +++ b/src/libsystemd/sd-bus/test-bus-error.c | ||
| 19 | @@ -99,7 +99,9 @@ TEST(error) { | ||
| 20 | assert_se(!sd_bus_error_is_set(&error)); | ||
| 21 | assert_se(sd_bus_error_set_errno(&error, EBUSY) == -EBUSY); | ||
| 22 | assert_se(streq(error.name, "System.Error.EBUSY")); | ||
| 23 | +#ifdef __GLIBC__ | ||
| 24 | assert_se(streq(error.message, STRERROR(EBUSY))); | ||
| 25 | +#endif | ||
| 26 | assert_se(sd_bus_error_has_name(&error, "System.Error.EBUSY")); | ||
| 27 | assert_se(sd_bus_error_get_errno(&error) == EBUSY); | ||
| 28 | assert_se(sd_bus_error_is_set(&error)); | ||
| 29 | diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c | ||
| 30 | index 376d532281..967cfd4d67 100644 | ||
| 31 | --- a/src/test/test-errno-util.c | ||
| 32 | +++ b/src/test/test-errno-util.c | ||
| 33 | @@ -4,7 +4,7 @@ | ||
| 34 | #include "stdio-util.h" | ||
| 35 | #include "string-util.h" | ||
| 36 | #include "tests.h" | ||
| 37 | - | ||
| 38 | +#ifdef __GLIBC__ | ||
| 39 | TEST(strerror_not_threadsafe) { | ||
| 40 | /* Just check that strerror really is not thread-safe. */ | ||
| 41 | log_info("strerror(%d) → %s", 200, strerror(200)); | ||
| 42 | @@ -46,6 +46,7 @@ TEST(STRERROR_OR_ELSE) { | ||
| 43 | log_info("STRERROR_OR_ELSE(EPERM, \"EOF\") → %s", STRERROR_OR_EOF(EPERM)); | ||
| 44 | log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM)); | ||
| 45 | } | ||
| 46 | +#endif /* __GLIBC__ */ | ||
| 47 | |||
| 48 | TEST(PROTECT_ERRNO) { | ||
| 49 | errno = 12; | ||
| 50 | -- | ||
| 51 | 2.34.1 | ||
| 52 | |||
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 e038b73678..0000000000 --- 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 @@ | |||
| 1 | From 46d80840bfe37e67d4f18c37a77751ea1fe63a07 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 23 Jan 2023 23:39:46 -0800 | ||
| 4 | Subject: [PATCH 19/22] errno-util: Make STRERROR portable for musl | ||
| 5 | |||
| 6 | Sadly, systemd has decided to use yet another GNU extention in a macro | ||
| 7 | lets make this such that we can use XSI compliant strerror_r() for | ||
| 8 | non-glibc hosts | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [musl specific] | ||
| 11 | |||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | src/basic/errno-util.h | 12 ++++++++++-- | ||
| 15 | 1 file changed, 10 insertions(+), 2 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h | ||
| 18 | index 27804e6382..274c1c6ef1 100644 | ||
| 19 | --- a/src/basic/errno-util.h | ||
| 20 | +++ b/src/basic/errno-util.h | ||
| 21 | @@ -15,8 +15,16 @@ | ||
| 22 | * https://stackoverflow.com/questions/34880638/compound-literal-lifetime-and-if-blocks | ||
| 23 | * | ||
| 24 | * Note that we use the GNU variant of strerror_r() here. */ | ||
| 25 | -#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN) | ||
| 26 | - | ||
| 27 | +static inline const char * STRERROR(int errnum); | ||
| 28 | + | ||
| 29 | +static inline const char * STRERROR(int errnum) { | ||
| 30 | +#ifdef __GLIBC__ | ||
| 31 | + return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN); | ||
| 32 | +#else | ||
| 33 | + static __thread char buf[ERRNO_BUF_LEN]; | ||
| 34 | + return strerror_r(abs(errnum), buf, ERRNO_BUF_LEN) ? "unknown error" : buf; | ||
| 35 | +#endif | ||
| 36 | +} | ||
| 37 | /* A helper to print an error message or message for functions that return 0 on EOF. | ||
| 38 | * Note that we can't use ({ … }) to define a temporary variable, so errnum is | ||
| 39 | * evaluated twice. */ | ||
| 40 | -- | ||
| 41 | 2.34.1 | ||
| 42 | |||
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 b83fffe793..0000000000 --- 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 @@ | |||
| 1 | From 9eb4867b4e2dbdb2484ae854022aff97e2f0feb3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 2 Aug 2023 12:06:27 -0700 | ||
| 4 | Subject: [PATCH 20/22] sd-event: Make malloc_trim() conditional on glibc | ||
| 5 | |||
| 6 | musl does not have this API | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [musl-specific] | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | src/libsystemd/sd-event/sd-event.c | 4 +++- | ||
| 12 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c | ||
| 15 | index 288798a0dc..6419a7f216 100644 | ||
| 16 | --- a/src/libsystemd/sd-event/sd-event.c | ||
| 17 | +++ b/src/libsystemd/sd-event/sd-event.c | ||
| 18 | @@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit( | ||
| 19 | } | ||
| 20 | |||
| 21 | _public_ int sd_event_trim_memory(void) { | ||
| 22 | - int r; | ||
| 23 | + int r = 0; | ||
| 24 | |||
| 25 | /* A default implementation of a memory pressure callback. Simply releases our own allocation caches | ||
| 26 | * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a | ||
| 27 | @@ -1888,7 +1888,9 @@ _public_ int sd_event_trim_memory(void) { | ||
| 28 | |||
| 29 | usec_t before_timestamp = now(CLOCK_MONOTONIC); | ||
| 30 | hashmap_trim_pools(); | ||
| 31 | +#ifdef __GLIBC__ | ||
| 32 | r = malloc_trim(0); | ||
| 33 | +#endif | ||
| 34 | usec_t after_timestamp = now(CLOCK_MONOTONIC); | ||
| 35 | |||
| 36 | if (r > 0) | ||
| 37 | -- | ||
| 38 | 2.34.1 | ||
| 39 | |||
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 7eff069bb7..0000000000 --- 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 @@ | |||
| 1 | From 502597b9ddd6b145541b23fadca0b1d3ca9f6367 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 2 Aug 2023 12:20:40 -0700 | ||
| 4 | Subject: [PATCH 21/22] shared: Do not use malloc_info on musl | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [musl-specific] | ||
| 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 8 | --- | ||
| 9 | src/shared/bus-util.c | 5 +++-- | ||
| 10 | src/shared/common-signal.c | 4 ++-- | ||
| 11 | 2 files changed, 5 insertions(+), 4 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c | ||
| 14 | index 74f148c8b4..2d862a123d 100644 | ||
| 15 | --- a/src/shared/bus-util.c | ||
| 16 | +++ b/src/shared/bus-util.c | ||
| 17 | @@ -611,15 +611,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat | ||
| 18 | _cleanup_close_ int fd = -EBADF; | ||
| 19 | size_t dump_size; | ||
| 20 | FILE *f; | ||
| 21 | - int r; | ||
| 22 | + int r = 0; | ||
| 23 | |||
| 24 | assert(message); | ||
| 25 | |||
| 26 | f = memstream_init(&m); | ||
| 27 | if (!f) | ||
| 28 | return -ENOMEM; | ||
| 29 | - | ||
| 30 | +#ifdef __GLIBC__ | ||
| 31 | r = RET_NERRNO(malloc_info(/* options= */ 0, f)); | ||
| 32 | +#endif | ||
| 33 | if (r < 0) | ||
| 34 | return r; | ||
| 35 | |||
| 36 | diff --git a/src/shared/common-signal.c b/src/shared/common-signal.c | ||
| 37 | index 8e70e365dd..9e782caec9 100644 | ||
| 38 | --- a/src/shared/common-signal.c | ||
| 39 | +++ b/src/shared/common-signal.c | ||
| 40 | @@ -65,12 +65,12 @@ int sigrtmin18_handler(sd_event_source *s, const struct signalfd_siginfo *si, vo | ||
| 41 | log_oom(); | ||
| 42 | break; | ||
| 43 | } | ||
| 44 | - | ||
| 45 | +#ifdef __GLIBC__ | ||
| 46 | if (malloc_info(0, f) < 0) { | ||
| 47 | log_error_errno(errno, "Failed to invoke malloc_info(): %m"); | ||
| 48 | break; | ||
| 49 | } | ||
| 50 | - | ||
| 51 | +#endif | ||
| 52 | (void) memstream_dump(LOG_INFO, &m); | ||
| 53 | break; | ||
| 54 | } | ||
| 55 | -- | ||
| 56 | 2.34.1 | ||
| 57 | |||
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 56755ac559..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch +++ /dev/null | |||
| @@ -1,36 +0,0 @@ | |||
| 1 | From 97d3ed7834bd86615ba4acdbef984c677b7e7791 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Tue, 2 Jan 2024 11:03:27 +0800 | ||
| 4 | Subject: [PATCH] avoid missing LOCK_EX declaration | ||
| 5 | |||
| 6 | This only happens on MUSL. Include sys/file.h to avoid compilation | ||
| 7 | error about missing LOCK_EX declaration. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [musl specific] | ||
| 10 | |||
| 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 12 | --- | ||
| 13 | src/core/exec-invoke.c | 1 + | ||
| 14 | src/shared/dev-setup.h | 1 + | ||
| 15 | 2 files changed, 2 insertions(+) | ||
| 16 | |||
| 17 | --- a/src/core/exec-invoke.c | ||
| 18 | +++ b/src/core/exec-invoke.c | ||
| 19 | @@ -4,6 +4,7 @@ | ||
| 20 | #include <sys/ioctl.h> | ||
| 21 | #include <sys/mount.h> | ||
| 22 | #include <sys/prctl.h> | ||
| 23 | +#include <sys/file.h> | ||
| 24 | |||
| 25 | #if HAVE_PAM | ||
| 26 | #include <security/pam_appl.h> | ||
| 27 | --- a/src/shared/dev-setup.h | ||
| 28 | +++ b/src/shared/dev-setup.h | ||
| 29 | @@ -2,6 +2,7 @@ | ||
| 30 | #pragma once | ||
| 31 | |||
| 32 | #include <sys/types.h> | ||
| 33 | +#include <sys/file.h> | ||
| 34 | |||
| 35 | int lock_dev_console(void); | ||
| 36 | |||
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 9c39d40d23..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.6.bb +++ /dev/null | |||
| @@ -1,76 +0,0 @@ | |||
| 1 | SUMMARY = "libsystemd static library" | ||
| 2 | DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++" | ||
| 3 | |||
| 4 | SECTION = "libs" | ||
| 5 | |||
| 6 | LICENSE = "LGPL-2.1-or-later" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" | ||
| 8 | |||
| 9 | inherit meson pkgconfig | ||
| 10 | |||
| 11 | DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native" | ||
| 12 | |||
| 13 | SRCREV = "5810c25792d4268282dd3892af1a253b690423c9" | ||
| 14 | SRCBRANCH = "v255-stable" | ||
| 15 | SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \ | ||
| 16 | file://static-libsystemd-pkgconfig.patch \ | ||
| 17 | " | ||
| 18 | |||
| 19 | # patches needed by musl | ||
| 20 | SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}" | ||
| 21 | |||
| 22 | SRC_URI_MUSL = "\ | ||
| 23 | file://0001-missing_type.h-add-comparison_fn_t.patch \ | ||
| 24 | file://0002-add-fallback-parse_printf_format-implementation.patch \ | ||
| 25 | file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ | ||
| 26 | file://0003-src-basic-missing.h-check-for-missing-strndupa.patch \ | ||
| 27 | file://0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ | ||
| 28 | file://0005-add-missing-FTW_-macros-for-musl.patch \ | ||
| 29 | file://0006-Use-uintmax_t-for-handling-rlim_t.patch \ | ||
| 30 | file://0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ | ||
| 31 | file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ | ||
| 32 | file://0008-implment-systemd-sysv-install-for-OE.patch \ | ||
| 33 | file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ | ||
| 34 | file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ | ||
| 35 | file://0011-avoid-redefinition-of-prctl_mm_map-structure.patch \ | ||
| 36 | file://0012-do-not-disable-buffer-in-writing-files.patch \ | ||
| 37 | file://0013-Handle-__cpu_mask-usage.patch \ | ||
| 38 | file://0014-Handle-missing-gshadow.patch \ | ||
| 39 | file://0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ | ||
| 40 | file://0016-pass-correct-parameters-to-getdents64.patch \ | ||
| 41 | file://0017-Adjust-for-musl-headers.patch \ | ||
| 42 | file://0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \ | ||
| 43 | file://0019-errno-util-Make-STRERROR-portable-for-musl.patch \ | ||
| 44 | file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \ | ||
| 45 | file://0021-shared-Do-not-use-malloc_info-on-musl.patch \ | ||
| 46 | file://0022-avoid-missing-LOCK_EX-declaration.patch \ | ||
| 47 | " | ||
| 48 | |||
| 49 | PACKAGECONFIG ??= "gshadow idn" | ||
| 50 | PACKAGECONFIG:remove:libc-musl = " gshadow idn" | ||
| 51 | PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" | ||
| 52 | PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" | ||
| 53 | |||
| 54 | CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " | ||
| 55 | |||
| 56 | EXTRA_OEMESON += "-Dstatic-libsystemd=pic" | ||
| 57 | |||
| 58 | |||
| 59 | RDEPENDS:${PN}-dev = "" | ||
| 60 | |||
| 61 | do_compile() { | ||
| 62 | ninja -v ${PARALLEL_MAKE} version.h | ||
| 63 | ninja -v ${PARALLEL_MAKE} libsystemd.a | ||
| 64 | ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc | ||
| 65 | } | ||
| 66 | |||
| 67 | do_install () { | ||
| 68 | install -d ${D}${libdir} | ||
| 69 | install ${B}/libsystemd.a ${D}${libdir} | ||
| 70 | |||
| 71 | install -d ${D}${includedir}/systemd | ||
| 72 | install ${S}/src/systemd/*.h ${D}${includedir}/systemd | ||
| 73 | |||
| 74 | install -d ${D}${libdir}/pkgconfig | ||
| 75 | install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig | ||
| 76 | } | ||
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 0000000000..63a7bc7c27 --- /dev/null +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_259.5.bb | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | SUMMARY = "libsystemd static library" | ||
| 2 | DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++" | ||
| 3 | |||
| 4 | SECTION = "libs" | ||
| 5 | |||
| 6 | LICENSE = "LGPL-2.1-or-later" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=be0aaf4a380f73f7e00b420a007368f2" | ||
| 8 | |||
| 9 | inherit meson pkgconfig | ||
| 10 | |||
| 11 | DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native" | ||
| 12 | |||
| 13 | SRCREV = "b3d8fc43e9cb531d958c17ef2cd93b374bc14e8a" | ||
| 14 | SRCBRANCH = "v259-stable" | ||
| 15 | SRC_URI = "git://github.com/systemd/systemd;protocol=https;branch=${SRCBRANCH};tag=v${PV} \ | ||
| 16 | file://static-libsystemd-pkgconfig.patch \ | ||
| 17 | " | ||
| 18 | |||
| 19 | PACKAGECONFIG ??= "gshadow idn" | ||
| 20 | PACKAGECONFIG:remove:libc-musl = " gshadow idn" | ||
| 21 | PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" | ||
| 22 | PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" | ||
| 23 | |||
| 24 | CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " | ||
| 25 | |||
| 26 | EXTRA_OEMESON += "-Dstatic-libsystemd=pic" | ||
| 27 | |||
| 28 | |||
| 29 | RDEPENDS:${PN}-dev = "" | ||
| 30 | |||
| 31 | do_compile() { | ||
| 32 | ninja -v ${PARALLEL_MAKE} libsystemd.a | ||
| 33 | ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc | ||
| 34 | } | ||
| 35 | |||
| 36 | do_install () { | ||
| 37 | install -d ${D}${libdir} | ||
| 38 | install ${B}/libsystemd.a ${D}${libdir} | ||
| 39 | |||
| 40 | install -d ${D}${includedir}/systemd | ||
| 41 | install ${S}/src/systemd/*.h ${D}${includedir}/systemd | ||
| 42 | |||
| 43 | install -d ${D}${libdir}/pkgconfig | ||
| 44 | install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig | ||
| 45 | } | ||
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 0e842a9c91..0118cc3f32 100644 --- a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc +++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc | |||
| @@ -7,9 +7,9 @@ SRC_URI += " \ | |||
| 7 | crate://crates.io/allocator-api2/0.2.21 \ | 7 | crate://crates.io/allocator-api2/0.2.21 \ |
| 8 | crate://crates.io/android_system_properties/0.1.5 \ | 8 | crate://crates.io/android_system_properties/0.1.5 \ |
| 9 | crate://crates.io/ansi-width/0.1.0 \ | 9 | crate://crates.io/ansi-width/0.1.0 \ |
| 10 | crate://crates.io/anstream/0.6.21 \ | 10 | crate://crates.io/anstream/1.0.0 \ |
| 11 | crate://crates.io/anstyle/1.0.13 \ | 11 | crate://crates.io/anstyle/1.0.13 \ |
| 12 | crate://crates.io/anstyle-parse/0.2.7 \ | 12 | crate://crates.io/anstyle-parse/1.0.0 \ |
| 13 | crate://crates.io/anstyle-query/1.1.5 \ | 13 | crate://crates.io/anstyle-query/1.1.5 \ |
| 14 | crate://crates.io/anstyle-wincon/3.0.11 \ | 14 | crate://crates.io/anstyle-wincon/3.0.11 \ |
| 15 | crate://crates.io/anyhow/1.0.101 \ | 15 | crate://crates.io/anyhow/1.0.101 \ |
| @@ -22,43 +22,47 @@ SRC_URI += " \ | |||
| 22 | crate://crates.io/binary-heap-plus/0.5.0 \ | 22 | crate://crates.io/binary-heap-plus/0.5.0 \ |
| 23 | crate://crates.io/bindgen/0.72.1 \ | 23 | crate://crates.io/bindgen/0.72.1 \ |
| 24 | crate://crates.io/bitflags/1.3.2 \ | 24 | crate://crates.io/bitflags/1.3.2 \ |
| 25 | crate://crates.io/bitflags/2.10.0 \ | 25 | crate://crates.io/bitflags/2.11.0 \ |
| 26 | crate://crates.io/bitvec/1.0.1 \ | 26 | crate://crates.io/bitvec/1.0.1 \ |
| 27 | crate://crates.io/blake2b_simd/1.0.4 \ | 27 | crate://crates.io/blake2b_simd/1.0.4 \ |
| 28 | crate://crates.io/blake3/1.8.3 \ | 28 | crate://crates.io/blake3/1.8.4 \ |
| 29 | crate://crates.io/block-buffer/0.10.4 \ | 29 | crate://crates.io/block-buffer/0.10.4 \ |
| 30 | crate://crates.io/block-buffer/0.12.0 \ | ||
| 30 | crate://crates.io/block2/0.6.2 \ | 31 | crate://crates.io/block2/0.6.2 \ |
| 31 | crate://crates.io/bstr/1.12.1 \ | 32 | crate://crates.io/bstr/1.12.1 \ |
| 32 | crate://crates.io/bumpalo/3.19.1 \ | 33 | crate://crates.io/bumpalo/3.19.1 \ |
| 33 | crate://crates.io/bytecount/0.6.9 \ | 34 | crate://crates.io/bytecount/0.6.9 \ |
| 34 | crate://crates.io/byteorder/1.5.0 \ | 35 | crate://crates.io/byteorder/1.5.0 \ |
| 35 | crate://crates.io/calendrical_calculations/0.2.3 \ | 36 | crate://crates.io/calendrical_calculations/0.2.4 \ |
| 36 | crate://crates.io/cc/1.2.55 \ | 37 | crate://crates.io/cc/1.2.55 \ |
| 37 | crate://crates.io/cexpr/0.6.0 \ | 38 | crate://crates.io/cexpr/0.6.0 \ |
| 38 | crate://crates.io/cfg-if/1.0.4 \ | 39 | crate://crates.io/cfg-if/1.0.4 \ |
| 39 | crate://crates.io/cfg_aliases/0.2.1 \ | 40 | crate://crates.io/cfg_aliases/0.2.1 \ |
| 41 | crate://crates.io/chacha20/0.10.0 \ | ||
| 40 | crate://crates.io/chrono/0.4.43 \ | 42 | crate://crates.io/chrono/0.4.43 \ |
| 41 | crate://crates.io/clang-sys/1.8.1 \ | 43 | crate://crates.io/clang-sys/1.8.1 \ |
| 42 | crate://crates.io/clap/4.5.60 \ | 44 | crate://crates.io/clap/4.6.0 \ |
| 43 | crate://crates.io/clap_builder/4.5.60 \ | 45 | crate://crates.io/clap_builder/4.6.0 \ |
| 44 | crate://crates.io/clap_complete/4.5.66 \ | 46 | crate://crates.io/clap_complete/4.6.0 \ |
| 45 | crate://crates.io/clap_lex/1.0.0 \ | 47 | crate://crates.io/clap_lex/1.0.0 \ |
| 46 | crate://crates.io/clap_mangen/0.2.31 \ | 48 | crate://crates.io/clap_mangen/0.3.0 \ |
| 47 | crate://crates.io/codspeed/4.3.0 \ | 49 | crate://crates.io/codspeed/4.4.1 \ |
| 48 | crate://crates.io/codspeed-divan-compat/4.3.0 \ | 50 | crate://crates.io/codspeed-divan-compat/4.4.1 \ |
| 49 | crate://crates.io/codspeed-divan-compat-macros/4.3.0 \ | 51 | crate://crates.io/codspeed-divan-compat-macros/4.4.1 \ |
| 50 | crate://crates.io/codspeed-divan-compat-walltime/4.3.0 \ | 52 | crate://crates.io/codspeed-divan-compat-walltime/4.4.1 \ |
| 51 | crate://crates.io/colorchoice/1.0.4 \ | 53 | crate://crates.io/colorchoice/1.0.4 \ |
| 52 | crate://crates.io/colored/2.2.0 \ | 54 | crate://crates.io/colored/2.2.0 \ |
| 53 | crate://crates.io/compare/0.1.0 \ | 55 | crate://crates.io/compare/0.1.0 \ |
| 54 | crate://crates.io/condtype/1.3.0 \ | 56 | crate://crates.io/condtype/1.3.0 \ |
| 55 | crate://crates.io/console/0.16.2 \ | 57 | crate://crates.io/console/0.16.3 \ |
| 58 | crate://crates.io/const-oid/0.10.2 \ | ||
| 56 | crate://crates.io/const-random/0.1.18 \ | 59 | crate://crates.io/const-random/0.1.18 \ |
| 57 | crate://crates.io/const-random-macro/0.1.16 \ | 60 | crate://crates.io/const-random-macro/0.1.16 \ |
| 58 | crate://crates.io/constant_time_eq/0.4.2 \ | 61 | crate://crates.io/constant_time_eq/0.4.2 \ |
| 59 | crate://crates.io/core-foundation-sys/0.8.7 \ | 62 | crate://crates.io/core-foundation-sys/0.8.7 \ |
| 60 | crate://crates.io/core_maths/0.1.1 \ | 63 | crate://crates.io/core_maths/0.1.1 \ |
| 61 | crate://crates.io/cpufeatures/0.2.17 \ | 64 | crate://crates.io/cpufeatures/0.2.17 \ |
| 65 | crate://crates.io/cpufeatures/0.3.0 \ | ||
| 62 | crate://crates.io/crc/3.3.0 \ | 66 | crate://crates.io/crc/3.3.0 \ |
| 63 | crate://crates.io/crc-catalog/2.4.0 \ | 67 | crate://crates.io/crc-catalog/2.4.0 \ |
| 64 | crate://crates.io/crc-fast/1.9.0 \ | 68 | crate://crates.io/crc-fast/1.9.0 \ |
| @@ -70,22 +74,24 @@ SRC_URI += " \ | |||
| 70 | crate://crates.io/crossterm_winapi/0.9.1 \ | 74 | crate://crates.io/crossterm_winapi/0.9.1 \ |
| 71 | crate://crates.io/crunchy/0.2.4 \ | 75 | crate://crates.io/crunchy/0.2.4 \ |
| 72 | crate://crates.io/crypto-common/0.1.7 \ | 76 | crate://crates.io/crypto-common/0.1.7 \ |
| 73 | crate://crates.io/ctor/0.6.3 \ | 77 | crate://crates.io/crypto-common/0.2.1 \ |
| 78 | crate://crates.io/ctor/0.8.0 \ | ||
| 74 | crate://crates.io/ctor-proc-macro/0.0.7 \ | 79 | crate://crates.io/ctor-proc-macro/0.0.7 \ |
| 75 | crate://crates.io/ctrlc/3.5.1 \ | 80 | crate://crates.io/ctrlc/3.5.2 \ |
| 76 | crate://crates.io/data-encoding/2.10.0 \ | 81 | crate://crates.io/data-encoding/2.10.0 \ |
| 77 | crate://crates.io/data-encoding-macro/0.1.19 \ | 82 | crate://crates.io/data-encoding-macro/0.1.19 \ |
| 78 | crate://crates.io/data-encoding-macro-internal/0.1.17 \ | 83 | crate://crates.io/data-encoding-macro-internal/0.1.17 \ |
| 79 | crate://crates.io/deranged/0.5.5 \ | 84 | crate://crates.io/deranged/0.5.5 \ |
| 80 | crate://crates.io/diff/0.1.13 \ | 85 | crate://crates.io/diff/0.1.13 \ |
| 81 | crate://crates.io/digest/0.10.7 \ | 86 | crate://crates.io/digest/0.10.7 \ |
| 87 | crate://crates.io/digest/0.11.2 \ | ||
| 82 | crate://crates.io/dispatch2/0.3.0 \ | 88 | crate://crates.io/dispatch2/0.3.0 \ |
| 83 | crate://crates.io/displaydoc/0.2.5 \ | 89 | crate://crates.io/displaydoc/0.2.5 \ |
| 84 | crate://crates.io/divan-macros/0.1.17 \ | 90 | crate://crates.io/divan-macros/0.1.17 \ |
| 85 | crate://crates.io/dlv-list/0.5.2 \ | 91 | crate://crates.io/dlv-list/0.5.2 \ |
| 86 | crate://crates.io/dns-lookup/3.0.1 \ | 92 | crate://crates.io/dns-lookup/3.0.1 \ |
| 87 | crate://crates.io/document-features/0.2.12 \ | 93 | crate://crates.io/document-features/0.2.12 \ |
| 88 | crate://crates.io/dtor/0.1.1 \ | 94 | crate://crates.io/dtor/0.3.0 \ |
| 89 | crate://crates.io/dtor-proc-macro/0.0.6 \ | 95 | crate://crates.io/dtor-proc-macro/0.0.6 \ |
| 90 | crate://crates.io/dunce/1.0.5 \ | 96 | crate://crates.io/dunce/1.0.5 \ |
| 91 | crate://crates.io/either/1.15.0 \ | 97 | crate://crates.io/either/1.15.0 \ |
| @@ -98,7 +104,7 @@ SRC_URI += " \ | |||
| 98 | crate://crates.io/filedescriptor/0.8.3 \ | 104 | crate://crates.io/filedescriptor/0.8.3 \ |
| 99 | crate://crates.io/filetime/0.2.27 \ | 105 | crate://crates.io/filetime/0.2.27 \ |
| 100 | crate://crates.io/find-msvc-tools/0.1.9 \ | 106 | crate://crates.io/find-msvc-tools/0.1.9 \ |
| 101 | crate://crates.io/fixed_decimal/0.7.1 \ | 107 | crate://crates.io/fixed_decimal/0.7.2 \ |
| 102 | crate://crates.io/flate2/1.1.9 \ | 108 | crate://crates.io/flate2/1.1.9 \ |
| 103 | crate://crates.io/fluent/0.17.0 \ | 109 | crate://crates.io/fluent/0.17.0 \ |
| 104 | crate://crates.io/fluent-bundle/0.16.0 \ | 110 | crate://crates.io/fluent-bundle/0.16.0 \ |
| @@ -118,39 +124,42 @@ SRC_URI += " \ | |||
| 118 | crate://crates.io/gcd/2.3.0 \ | 124 | crate://crates.io/gcd/2.3.0 \ |
| 119 | crate://crates.io/generic-array/0.14.7 \ | 125 | crate://crates.io/generic-array/0.14.7 \ |
| 120 | crate://crates.io/getrandom/0.2.17 \ | 126 | crate://crates.io/getrandom/0.2.17 \ |
| 121 | crate://crates.io/getrandom/0.3.4 \ | 127 | crate://crates.io/getrandom/0.4.2 \ |
| 122 | crate://crates.io/glob/0.3.3 \ | 128 | crate://crates.io/glob/0.3.3 \ |
| 123 | crate://crates.io/half/2.7.1 \ | 129 | crate://crates.io/half/2.7.1 \ |
| 124 | crate://crates.io/hashbrown/0.14.5 \ | 130 | crate://crates.io/hashbrown/0.14.5 \ |
| 125 | crate://crates.io/hashbrown/0.15.5 \ | 131 | crate://crates.io/hashbrown/0.15.5 \ |
| 126 | crate://crates.io/hashbrown/0.16.1 \ | 132 | crate://crates.io/hashbrown/0.16.1 \ |
| 133 | crate://crates.io/heck/0.5.0 \ | ||
| 127 | crate://crates.io/hex/0.4.3 \ | 134 | crate://crates.io/hex/0.4.3 \ |
| 128 | crate://crates.io/hex-literal/1.1.0 \ | 135 | crate://crates.io/hex-literal/1.1.0 \ |
| 129 | crate://crates.io/hostname/0.4.2 \ | 136 | crate://crates.io/hostname/0.4.2 \ |
| 137 | crate://crates.io/hybrid-array/0.4.8 \ | ||
| 130 | crate://crates.io/iana-time-zone/0.1.65 \ | 138 | crate://crates.io/iana-time-zone/0.1.65 \ |
| 131 | crate://crates.io/iana-time-zone-haiku/0.1.2 \ | 139 | crate://crates.io/iana-time-zone-haiku/0.1.2 \ |
| 132 | crate://crates.io/icu_calendar/2.1.1 \ | 140 | crate://crates.io/icu_calendar/2.2.1 \ |
| 133 | crate://crates.io/icu_calendar_data/2.1.1 \ | 141 | crate://crates.io/icu_calendar_data/2.2.0 \ |
| 134 | crate://crates.io/icu_collator/2.1.1 \ | 142 | crate://crates.io/icu_collator/2.2.0 \ |
| 135 | crate://crates.io/icu_collator_data/2.1.1 \ | 143 | crate://crates.io/icu_collator_data/2.2.0 \ |
| 136 | crate://crates.io/icu_collections/2.1.1 \ | 144 | crate://crates.io/icu_collections/2.2.0 \ |
| 137 | crate://crates.io/icu_datetime/2.1.1 \ | 145 | crate://crates.io/icu_datetime/2.2.0 \ |
| 138 | crate://crates.io/icu_datetime_data/2.1.2 \ | 146 | crate://crates.io/icu_datetime_data/2.2.0 \ |
| 139 | crate://crates.io/icu_decimal/2.1.1 \ | 147 | crate://crates.io/icu_decimal/2.2.0 \ |
| 140 | crate://crates.io/icu_decimal_data/2.1.1 \ | 148 | crate://crates.io/icu_decimal_data/2.2.0 \ |
| 141 | crate://crates.io/icu_locale/2.1.1 \ | 149 | crate://crates.io/icu_locale/2.2.0 \ |
| 142 | crate://crates.io/icu_locale_core/2.1.1 \ | 150 | crate://crates.io/icu_locale_core/2.2.0 \ |
| 143 | crate://crates.io/icu_locale_data/2.1.2 \ | 151 | crate://crates.io/icu_locale_data/2.2.0 \ |
| 144 | crate://crates.io/icu_normalizer/2.1.1 \ | 152 | crate://crates.io/icu_normalizer/2.2.0 \ |
| 145 | crate://crates.io/icu_normalizer_data/2.1.1 \ | 153 | crate://crates.io/icu_normalizer_data/2.2.0 \ |
| 146 | crate://crates.io/icu_pattern/0.4.1 \ | 154 | crate://crates.io/icu_pattern/0.4.2 \ |
| 147 | crate://crates.io/icu_plurals/2.1.1 \ | 155 | crate://crates.io/icu_plurals/2.2.0 \ |
| 148 | crate://crates.io/icu_plurals_data/2.1.1 \ | 156 | crate://crates.io/icu_plurals_data/2.2.0 \ |
| 149 | crate://crates.io/icu_properties/2.1.2 \ | 157 | crate://crates.io/icu_properties/2.2.0 \ |
| 150 | crate://crates.io/icu_properties_data/2.1.2 \ | 158 | crate://crates.io/icu_properties_data/2.2.0 \ |
| 151 | crate://crates.io/icu_provider/2.1.1 \ | 159 | crate://crates.io/icu_provider/2.2.0 \ |
| 152 | crate://crates.io/icu_time/2.1.1 \ | 160 | crate://crates.io/icu_time/2.2.0 \ |
| 153 | crate://crates.io/icu_time_data/2.1.1 \ | 161 | crate://crates.io/icu_time_data/2.2.0 \ |
| 162 | crate://crates.io/id-arena/2.3.0 \ | ||
| 154 | crate://crates.io/indexmap/2.13.0 \ | 163 | crate://crates.io/indexmap/2.13.0 \ |
| 155 | crate://crates.io/indicatif/0.18.4 \ | 164 | crate://crates.io/indicatif/0.18.4 \ |
| 156 | crate://crates.io/inotify/0.11.0 \ | 165 | crate://crates.io/inotify/0.11.0 \ |
| @@ -160,8 +169,7 @@ SRC_URI += " \ | |||
| 160 | crate://crates.io/is_terminal_polyfill/1.70.2 \ | 169 | crate://crates.io/is_terminal_polyfill/1.70.2 \ |
| 161 | crate://crates.io/itertools/0.13.0 \ | 170 | crate://crates.io/itertools/0.13.0 \ |
| 162 | crate://crates.io/itertools/0.14.0 \ | 171 | crate://crates.io/itertools/0.14.0 \ |
| 163 | crate://crates.io/itoa/1.0.17 \ | 172 | crate://crates.io/itoa/1.0.18 \ |
| 164 | crate://crates.io/ixdtf/0.6.4 \ | ||
| 165 | crate://crates.io/jiff/0.2.23 \ | 173 | crate://crates.io/jiff/0.2.23 \ |
| 166 | crate://crates.io/jiff-icu/0.2.2 \ | 174 | crate://crates.io/jiff-icu/0.2.2 \ |
| 167 | crate://crates.io/jiff-static/0.2.23 \ | 175 | crate://crates.io/jiff-static/0.2.23 \ |
| @@ -172,10 +180,11 @@ SRC_URI += " \ | |||
| 172 | crate://crates.io/kqueue/1.1.1 \ | 180 | crate://crates.io/kqueue/1.1.1 \ |
| 173 | crate://crates.io/kqueue-sys/1.0.4 \ | 181 | crate://crates.io/kqueue-sys/1.0.4 \ |
| 174 | crate://crates.io/lazy_static/1.5.0 \ | 182 | crate://crates.io/lazy_static/1.5.0 \ |
| 183 | crate://crates.io/leb128fmt/0.1.0 \ | ||
| 175 | crate://crates.io/libc/0.2.182 \ | 184 | crate://crates.io/libc/0.2.182 \ |
| 176 | crate://crates.io/libloading/0.8.9 \ | 185 | crate://crates.io/libloading/0.8.9 \ |
| 177 | crate://crates.io/libm/0.2.16 \ | 186 | crate://crates.io/libm/0.2.16 \ |
| 178 | crate://crates.io/libredox/0.1.12 \ | 187 | crate://crates.io/libredox/0.1.15 \ |
| 179 | crate://crates.io/linux-raw-sys/0.12.1 \ | 188 | crate://crates.io/linux-raw-sys/0.12.1 \ |
| 180 | crate://crates.io/litemap/0.8.1 \ | 189 | crate://crates.io/litemap/0.8.1 \ |
| 181 | crate://crates.io/litrs/1.0.0 \ | 190 | crate://crates.io/litrs/1.0.0 \ |
| @@ -190,7 +199,7 @@ SRC_URI += " \ | |||
| 190 | crate://crates.io/minimal-lexical/0.2.1 \ | 199 | crate://crates.io/minimal-lexical/0.2.1 \ |
| 191 | crate://crates.io/miniz_oxide/0.8.9 \ | 200 | crate://crates.io/miniz_oxide/0.8.9 \ |
| 192 | crate://crates.io/mio/1.1.1 \ | 201 | crate://crates.io/mio/1.1.1 \ |
| 193 | crate://crates.io/nix/0.30.1 \ | 202 | crate://crates.io/nix/0.31.2 \ |
| 194 | crate://crates.io/nom/7.1.3 \ | 203 | crate://crates.io/nom/7.1.3 \ |
| 195 | crate://crates.io/nom/8.0.0 \ | 204 | crate://crates.io/nom/8.0.0 \ |
| 196 | crate://crates.io/notify/8.2.0 \ | 205 | crate://crates.io/notify/8.2.0 \ |
| @@ -221,7 +230,8 @@ SRC_URI += " \ | |||
| 221 | crate://crates.io/phf_shared/0.13.1 \ | 230 | crate://crates.io/phf_shared/0.13.1 \ |
| 222 | crate://crates.io/pin-project-lite/0.2.16 \ | 231 | crate://crates.io/pin-project-lite/0.2.16 \ |
| 223 | crate://crates.io/pkg-config/0.3.32 \ | 232 | crate://crates.io/pkg-config/0.3.32 \ |
| 224 | crate://crates.io/platform-info/2.0.5 \ | 233 | crate://crates.io/plain/0.2.3 \ |
| 234 | crate://crates.io/platform-info/2.1.0 \ | ||
| 225 | crate://crates.io/portable-atomic/1.13.1 \ | 235 | crate://crates.io/portable-atomic/1.13.1 \ |
| 226 | crate://crates.io/portable-atomic-util/0.2.5 \ | 236 | crate://crates.io/portable-atomic-util/0.2.5 \ |
| 227 | crate://crates.io/potential_utf/0.1.4 \ | 237 | crate://crates.io/potential_utf/0.1.4 \ |
| @@ -234,14 +244,14 @@ SRC_URI += " \ | |||
| 234 | crate://crates.io/procfs/0.18.0 \ | 244 | crate://crates.io/procfs/0.18.0 \ |
| 235 | crate://crates.io/procfs-core/0.18.0 \ | 245 | crate://crates.io/procfs-core/0.18.0 \ |
| 236 | crate://crates.io/quote/1.0.45 \ | 246 | crate://crates.io/quote/1.0.45 \ |
| 237 | crate://crates.io/r-efi/5.3.0 \ | 247 | crate://crates.io/r-efi/6.0.0 \ |
| 238 | crate://crates.io/radium/0.7.0 \ | 248 | crate://crates.io/radium/0.7.0 \ |
| 239 | crate://crates.io/rand/0.8.5 \ | 249 | crate://crates.io/rand/0.8.5 \ |
| 240 | crate://crates.io/rand/0.9.2 \ | 250 | crate://crates.io/rand/0.10.0 \ |
| 241 | crate://crates.io/rand_chacha/0.3.1 \ | 251 | crate://crates.io/rand_chacha/0.3.1 \ |
| 242 | crate://crates.io/rand_chacha/0.9.0 \ | 252 | crate://crates.io/rand_chacha/0.10.0 \ |
| 243 | crate://crates.io/rand_core/0.6.4 \ | 253 | crate://crates.io/rand_core/0.6.4 \ |
| 244 | crate://crates.io/rand_core/0.9.5 \ | 254 | crate://crates.io/rand_core/0.10.0 \ |
| 245 | crate://crates.io/rayon/1.11.0 \ | 255 | crate://crates.io/rayon/1.11.0 \ |
| 246 | crate://crates.io/rayon-core/1.13.0 \ | 256 | crate://crates.io/rayon-core/1.13.0 \ |
| 247 | crate://crates.io/redox_syscall/0.5.18 \ | 257 | crate://crates.io/redox_syscall/0.5.18 \ |
| @@ -252,11 +262,12 @@ SRC_URI += " \ | |||
| 252 | crate://crates.io/regex-syntax/0.8.9 \ | 262 | crate://crates.io/regex-syntax/0.8.9 \ |
| 253 | crate://crates.io/relative-path/1.9.3 \ | 263 | crate://crates.io/relative-path/1.9.3 \ |
| 254 | crate://crates.io/rlimit/0.11.0 \ | 264 | crate://crates.io/rlimit/0.11.0 \ |
| 255 | crate://crates.io/roff/0.2.2 \ | 265 | crate://crates.io/roff/1.1.0 \ |
| 256 | crate://crates.io/rstest/0.26.1 \ | 266 | crate://crates.io/rstest/0.26.1 \ |
| 257 | crate://crates.io/rstest_macros/0.26.1 \ | 267 | crate://crates.io/rstest_macros/0.26.1 \ |
| 268 | crate://crates.io/rstest_reuse/0.7.0 \ | ||
| 258 | crate://crates.io/rust-ini/0.21.3 \ | 269 | crate://crates.io/rust-ini/0.21.3 \ |
| 259 | crate://crates.io/rustc-hash/2.1.1 \ | 270 | crate://crates.io/rustc-hash/2.1.2 \ |
| 260 | crate://crates.io/rustc_version/0.4.1 \ | 271 | crate://crates.io/rustc_version/0.4.1 \ |
| 261 | crate://crates.io/rustix/1.1.4 \ | 272 | crate://crates.io/rustix/1.1.4 \ |
| 262 | crate://crates.io/rustversion/1.0.22 \ | 273 | crate://crates.io/rustversion/1.0.22 \ |
| @@ -280,7 +291,7 @@ SRC_URI += " \ | |||
| 280 | crate://crates.io/simd-adler32/0.3.8 \ | 291 | crate://crates.io/simd-adler32/0.3.8 \ |
| 281 | crate://crates.io/siphasher/1.0.2 \ | 292 | crate://crates.io/siphasher/1.0.2 \ |
| 282 | crate://crates.io/slab/0.4.12 \ | 293 | crate://crates.io/slab/0.4.12 \ |
| 283 | crate://crates.io/sm3/0.4.2 \ | 294 | crate://crates.io/sm3/0.5.0 \ |
| 284 | crate://crates.io/smallvec/1.15.1 \ | 295 | crate://crates.io/smallvec/1.15.1 \ |
| 285 | crate://crates.io/smawk/0.3.2 \ | 296 | crate://crates.io/smawk/0.3.2 \ |
| 286 | crate://crates.io/socket2/0.6.2 \ | 297 | crate://crates.io/socket2/0.6.2 \ |
| @@ -292,8 +303,8 @@ SRC_URI += " \ | |||
| 292 | crate://crates.io/syn/2.0.114 \ | 303 | crate://crates.io/syn/2.0.114 \ |
| 293 | crate://crates.io/synstructure/0.13.2 \ | 304 | crate://crates.io/synstructure/0.13.2 \ |
| 294 | crate://crates.io/tap/1.0.1 \ | 305 | crate://crates.io/tap/1.0.1 \ |
| 295 | crate://crates.io/tempfile/3.26.0 \ | 306 | crate://crates.io/tempfile/3.27.0 \ |
| 296 | crate://crates.io/terminal_size/0.4.3 \ | 307 | crate://crates.io/terminal_size/0.4.4 \ |
| 297 | crate://crates.io/textwrap/0.16.2 \ | 308 | crate://crates.io/textwrap/0.16.2 \ |
| 298 | crate://crates.io/thiserror/1.0.69 \ | 309 | crate://crates.io/thiserror/1.0.69 \ |
| 299 | crate://crates.io/thiserror/2.0.18 \ | 310 | crate://crates.io/thiserror/2.0.18 \ |
| @@ -303,7 +314,7 @@ SRC_URI += " \ | |||
| 303 | crate://crates.io/time-core/0.1.8 \ | 314 | crate://crates.io/time-core/0.1.8 \ |
| 304 | crate://crates.io/time-macros/0.2.27 \ | 315 | crate://crates.io/time-macros/0.2.27 \ |
| 305 | crate://crates.io/tiny-keccak/2.0.2 \ | 316 | crate://crates.io/tiny-keccak/2.0.2 \ |
| 306 | crate://crates.io/tinystr/0.8.2 \ | 317 | crate://crates.io/tinystr/0.8.3 \ |
| 307 | crate://crates.io/toml_datetime/0.7.5+spec-1.1.0 \ | 318 | crate://crates.io/toml_datetime/0.7.5+spec-1.1.0 \ |
| 308 | crate://crates.io/toml_edit/0.23.10+spec-1.0.0 \ | 319 | crate://crates.io/toml_edit/0.23.10+spec-1.0.0 \ |
| 309 | crate://crates.io/toml_parser/1.0.6+spec-1.1.0 \ | 320 | crate://crates.io/toml_parser/1.0.6+spec-1.1.0 \ |
| @@ -316,6 +327,7 @@ SRC_URI += " \ | |||
| 316 | crate://crates.io/unicode-linebreak/0.1.5 \ | 327 | crate://crates.io/unicode-linebreak/0.1.5 \ |
| 317 | crate://crates.io/unicode-width/0.1.14 \ | 328 | crate://crates.io/unicode-width/0.1.14 \ |
| 318 | crate://crates.io/unicode-width/0.2.2 \ | 329 | crate://crates.io/unicode-width/0.2.2 \ |
| 330 | crate://crates.io/unicode-xid/0.2.6 \ | ||
| 319 | crate://crates.io/unindent/0.2.4 \ | 331 | crate://crates.io/unindent/0.2.4 \ |
| 320 | crate://crates.io/unit-prefix/0.5.2 \ | 332 | crate://crates.io/unit-prefix/0.5.2 \ |
| 321 | crate://crates.io/utf16_iter/1.0.5 \ | 333 | crate://crates.io/utf16_iter/1.0.5 \ |
| @@ -324,16 +336,20 @@ SRC_URI += " \ | |||
| 324 | crate://crates.io/utmp-classic/0.1.6 \ | 336 | crate://crates.io/utmp-classic/0.1.6 \ |
| 325 | crate://crates.io/utmp-classic-raw/0.1.3 \ | 337 | crate://crates.io/utmp-classic-raw/0.1.3 \ |
| 326 | crate://crates.io/uuid/1.20.0 \ | 338 | crate://crates.io/uuid/1.20.0 \ |
| 327 | crate://crates.io/uutils_term_grid/0.7.0 \ | 339 | crate://crates.io/uutils_term_grid/0.8.0 \ |
| 328 | crate://crates.io/version_check/0.9.5 \ | 340 | crate://crates.io/version_check/0.9.5 \ |
| 329 | crate://crates.io/vsimd/0.8.0 \ | 341 | crate://crates.io/vsimd/0.8.0 \ |
| 330 | crate://crates.io/walkdir/2.5.0 \ | 342 | crate://crates.io/walkdir/2.5.0 \ |
| 331 | crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ | 343 | crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ |
| 332 | crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ | 344 | crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ |
| 345 | crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ | ||
| 333 | crate://crates.io/wasm-bindgen/0.2.108 \ | 346 | crate://crates.io/wasm-bindgen/0.2.108 \ |
| 334 | crate://crates.io/wasm-bindgen-macro/0.2.108 \ | 347 | crate://crates.io/wasm-bindgen-macro/0.2.108 \ |
| 335 | crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ | 348 | crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ |
| 336 | crate://crates.io/wasm-bindgen-shared/0.2.108 \ | 349 | crate://crates.io/wasm-bindgen-shared/0.2.108 \ |
| 350 | crate://crates.io/wasm-encoder/0.244.0 \ | ||
| 351 | crate://crates.io/wasm-metadata/0.244.0 \ | ||
| 352 | crate://crates.io/wasmparser/0.244.0 \ | ||
| 337 | crate://crates.io/web-time/1.1.0 \ | 353 | crate://crates.io/web-time/1.1.0 \ |
| 338 | crate://crates.io/wild/2.2.1 \ | 354 | crate://crates.io/wild/2.2.1 \ |
| 339 | crate://crates.io/winapi/0.3.9 \ | 355 | crate://crates.io/winapi/0.3.9 \ |
| @@ -369,13 +385,18 @@ SRC_URI += " \ | |||
| 369 | crate://crates.io/windows_x86_64_msvc/0.53.1 \ | 385 | crate://crates.io/windows_x86_64_msvc/0.53.1 \ |
| 370 | crate://crates.io/winnow/0.7.14 \ | 386 | crate://crates.io/winnow/0.7.14 \ |
| 371 | crate://crates.io/wit-bindgen/0.51.0 \ | 387 | crate://crates.io/wit-bindgen/0.51.0 \ |
| 388 | crate://crates.io/wit-bindgen-core/0.51.0 \ | ||
| 389 | crate://crates.io/wit-bindgen-rust/0.51.0 \ | ||
| 390 | crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ | ||
| 391 | crate://crates.io/wit-component/0.244.0 \ | ||
| 392 | crate://crates.io/wit-parser/0.244.0 \ | ||
| 372 | crate://crates.io/write16/1.0.0 \ | 393 | crate://crates.io/write16/1.0.0 \ |
| 373 | crate://crates.io/writeable/0.6.2 \ | 394 | crate://crates.io/writeable/0.6.2 \ |
| 374 | crate://crates.io/wyz/0.5.1 \ | 395 | crate://crates.io/wyz/0.5.1 \ |
| 375 | crate://crates.io/xattr/1.6.1 \ | 396 | crate://crates.io/xattr/1.6.1 \ |
| 376 | crate://crates.io/yansi/1.0.1 \ | 397 | crate://crates.io/yansi/1.0.1 \ |
| 377 | crate://crates.io/yoke/0.8.1 \ | 398 | crate://crates.io/yoke/0.8.2 \ |
| 378 | crate://crates.io/yoke-derive/0.8.1 \ | 399 | crate://crates.io/yoke-derive/0.8.2 \ |
| 379 | crate://crates.io/z85/3.0.7 \ | 400 | crate://crates.io/z85/3.0.7 \ |
| 380 | crate://crates.io/zerocopy/0.7.35 \ | 401 | crate://crates.io/zerocopy/0.7.35 \ |
| 381 | crate://crates.io/zerocopy/0.8.39 \ | 402 | crate://crates.io/zerocopy/0.8.39 \ |
| @@ -383,10 +404,10 @@ SRC_URI += " \ | |||
| 383 | crate://crates.io/zerocopy-derive/0.8.39 \ | 404 | crate://crates.io/zerocopy-derive/0.8.39 \ |
| 384 | crate://crates.io/zerofrom/0.1.6 \ | 405 | crate://crates.io/zerofrom/0.1.6 \ |
| 385 | crate://crates.io/zerofrom-derive/0.1.6 \ | 406 | crate://crates.io/zerofrom-derive/0.1.6 \ |
| 386 | crate://crates.io/zerotrie/0.2.3 \ | 407 | crate://crates.io/zerotrie/0.2.4 \ |
| 387 | crate://crates.io/zerovec/0.11.5 \ | 408 | crate://crates.io/zerovec/0.11.6 \ |
| 388 | crate://crates.io/zerovec-derive/0.11.2 \ | 409 | crate://crates.io/zerovec-derive/0.11.3 \ |
| 389 | crate://crates.io/zip/8.2.0 \ | 410 | crate://crates.io/zip/8.5.0 \ |
| 390 | crate://crates.io/zlib-rs/0.6.0 \ | 411 | crate://crates.io/zlib-rs/0.6.0 \ |
| 391 | crate://crates.io/zmij/1.0.19 \ | 412 | crate://crates.io/zmij/1.0.19 \ |
| 392 | crate://crates.io/zopfli/0.8.3 \ | 413 | crate://crates.io/zopfli/0.8.3 \ |
| @@ -397,9 +418,9 @@ SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b2 | |||
| 397 | SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" | 418 | SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" |
| 398 | SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" | 419 | SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" |
| 399 | SRC_URI[ansi-width-0.1.0.sha256sum] = "219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608" | 420 | SRC_URI[ansi-width-0.1.0.sha256sum] = "219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608" |
| 400 | SRC_URI[anstream-0.6.21.sha256sum] = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" | 421 | SRC_URI[anstream-1.0.0.sha256sum] = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" |
| 401 | SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" | 422 | SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" |
| 402 | SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" | 423 | SRC_URI[anstyle-parse-1.0.0.sha256sum] = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" |
| 403 | SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" | 424 | SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" |
| 404 | SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" | 425 | SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" |
| 405 | SRC_URI[anyhow-1.0.101.sha256sum] = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" | 426 | SRC_URI[anyhow-1.0.101.sha256sum] = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" |
| @@ -412,43 +433,47 @@ SRC_URI[bigdecimal-0.4.10.sha256sum] = "4d6867f1565b3aad85681f1015055b087fcfd840 | |||
| 412 | SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296" | 433 | SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296" |
| 413 | SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" | 434 | SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" |
| 414 | SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" | 435 | SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" |
| 415 | SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" | 436 | SRC_URI[bitflags-2.11.0.sha256sum] = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" |
| 416 | SRC_URI[bitvec-1.0.1.sha256sum] = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" | 437 | SRC_URI[bitvec-1.0.1.sha256sum] = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" |
| 417 | SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" | 438 | SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" |
| 418 | SRC_URI[blake3-1.8.3.sha256sum] = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" | 439 | SRC_URI[blake3-1.8.4.sha256sum] = "4d2d5991425dfd0785aed03aedcf0b321d61975c9b5b3689c774a2610ae0b51e" |
| 419 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" | 440 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" |
| 441 | SRC_URI[block-buffer-0.12.0.sha256sum] = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" | ||
| 420 | SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" | 442 | SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" |
| 421 | SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" | 443 | SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" |
| 422 | SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" | 444 | SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" |
| 423 | SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" | 445 | SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" |
| 424 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" | 446 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" |
| 425 | SRC_URI[calendrical_calculations-0.2.3.sha256sum] = "3a0b39595c6ee54a8d0900204ba4c401d0ab4eb45adaf07178e8d017541529e7" | 447 | SRC_URI[calendrical_calculations-0.2.4.sha256sum] = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26" |
| 426 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" | 448 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" |
| 427 | SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" | 449 | SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" |
| 428 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" | 450 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" |
| 429 | SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" | 451 | SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" |
| 452 | SRC_URI[chacha20-0.10.0.sha256sum] = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" | ||
| 430 | SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" | 453 | SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" |
| 431 | SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" | 454 | SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" |
| 432 | SRC_URI[clap-4.5.60.sha256sum] = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" | 455 | SRC_URI[clap-4.6.0.sha256sum] = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" |
| 433 | SRC_URI[clap_builder-4.5.60.sha256sum] = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" | 456 | SRC_URI[clap_builder-4.6.0.sha256sum] = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" |
| 434 | SRC_URI[clap_complete-4.5.66.sha256sum] = "c757a3b7e39161a4e56f9365141ada2a6c915a8622c408ab6bb4b5d047371031" | 457 | SRC_URI[clap_complete-4.6.0.sha256sum] = "19c9f1dde76b736e3681f28cec9d5a61299cbaae0fce80a68e43724ad56031eb" |
| 435 | SRC_URI[clap_lex-1.0.0.sha256sum] = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" | 458 | SRC_URI[clap_lex-1.0.0.sha256sum] = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" |
| 436 | SRC_URI[clap_mangen-0.2.31.sha256sum] = "439ea63a92086df93893164221ad4f24142086d535b3a0957b9b9bea2dc86301" | 459 | SRC_URI[clap_mangen-0.3.0.sha256sum] = "d82842b45bf9f6a3be090dd860095ac30728042c08e0d6261ca7259b5d850f07" |
| 437 | SRC_URI[codspeed-4.3.0.sha256sum] = "38c2eb3388ebe26b5a0ab6bf4969d9c4840143d7f6df07caa3cc851b0606cef6" | 460 | SRC_URI[codspeed-4.4.1.sha256sum] = "b684e94583e85a5ca7e1a6454a89d76a5121240f2fb67eb564129d9bafdb9db0" |
| 438 | SRC_URI[codspeed-divan-compat-4.3.0.sha256sum] = "b2de65b7489a59709724d489070c6d05b7744039e4bf751d0a2006b90bb5593d" | 461 | SRC_URI[codspeed-divan-compat-4.4.1.sha256sum] = "89e4bf8c7793c170fd0fcf3be97b9032b2ae39c2b9e8818aba3cc10ca0f0c6c0" |
| 439 | SRC_URI[codspeed-divan-compat-macros-4.3.0.sha256sum] = "56ca01ce4fd22b8dcc6c770dcd6b74343642e842482b94e8920d14e10c57638d" | 462 | SRC_URI[codspeed-divan-compat-macros-4.4.1.sha256sum] = "78aae02f2a278588e16e8ca62ea1915b8ab30f8230a09926671bba19ede801a4" |
| 440 | SRC_URI[codspeed-divan-compat-walltime-4.3.0.sha256sum] = "720ab9d0714718afe5f5832be6e5f5eb5ce97836e24ca7bf7042eea4308b9fb8" | 463 | SRC_URI[codspeed-divan-compat-walltime-4.4.1.sha256sum] = "59ffd32c0c59ab8b674b15be65ba7c59aebac047036cfa7fa1e11bc2c178b81f" |
| 441 | SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" | 464 | SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" |
| 442 | SRC_URI[colored-2.2.0.sha256sum] = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" | 465 | SRC_URI[colored-2.2.0.sha256sum] = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" |
| 443 | SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" | 466 | SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" |
| 444 | SRC_URI[condtype-1.3.0.sha256sum] = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" | 467 | SRC_URI[condtype-1.3.0.sha256sum] = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" |
| 445 | SRC_URI[console-0.16.2.sha256sum] = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" | 468 | SRC_URI[console-0.16.3.sha256sum] = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" |
| 469 | SRC_URI[const-oid-0.10.2.sha256sum] = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" | ||
| 446 | SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" | 470 | SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" |
| 447 | SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" | 471 | SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" |
| 448 | SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" | 472 | SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" |
| 449 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" | 473 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" |
| 450 | SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" | 474 | SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" |
| 451 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" | 475 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" |
| 476 | SRC_URI[cpufeatures-0.3.0.sha256sum] = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" | ||
| 452 | SRC_URI[crc-3.3.0.sha256sum] = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" | 477 | SRC_URI[crc-3.3.0.sha256sum] = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" |
| 453 | SRC_URI[crc-catalog-2.4.0.sha256sum] = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" | 478 | SRC_URI[crc-catalog-2.4.0.sha256sum] = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" |
| 454 | SRC_URI[crc-fast-1.9.0.sha256sum] = "2fd92aca2c6001b1bf5ba0ff84ee74ec8501b52bbef0cac80bf25a6c1d87a83d" | 479 | SRC_URI[crc-fast-1.9.0.sha256sum] = "2fd92aca2c6001b1bf5ba0ff84ee74ec8501b52bbef0cac80bf25a6c1d87a83d" |
| @@ -460,22 +485,24 @@ SRC_URI[crossterm-0.29.0.sha256sum] = "d8b9f2e4c67f833b660cdb0a3523065869fb35570 | |||
| 460 | SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" | 485 | SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" |
| 461 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" | 486 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" |
| 462 | SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" | 487 | SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" |
| 463 | SRC_URI[ctor-0.6.3.sha256sum] = "424e0138278faeb2b401f174ad17e715c829512d74f3d1e81eb43365c2e0590e" | 488 | SRC_URI[crypto-common-0.2.1.sha256sum] = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" |
| 489 | SRC_URI[ctor-0.8.0.sha256sum] = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" | ||
| 464 | SRC_URI[ctor-proc-macro-0.0.7.sha256sum] = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" | 490 | SRC_URI[ctor-proc-macro-0.0.7.sha256sum] = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" |
| 465 | SRC_URI[ctrlc-3.5.1.sha256sum] = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" | 491 | SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" |
| 466 | SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" | 492 | SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" |
| 467 | SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" | 493 | SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" |
| 468 | SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" | 494 | SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" |
| 469 | SRC_URI[deranged-0.5.5.sha256sum] = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" | 495 | SRC_URI[deranged-0.5.5.sha256sum] = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" |
| 470 | SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" | 496 | SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" |
| 471 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" | 497 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" |
| 498 | SRC_URI[digest-0.11.2.sha256sum] = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" | ||
| 472 | SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" | 499 | SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" |
| 473 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" | 500 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" |
| 474 | SRC_URI[divan-macros-0.1.17.sha256sum] = "8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c" | 501 | SRC_URI[divan-macros-0.1.17.sha256sum] = "8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c" |
| 475 | SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" | 502 | SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" |
| 476 | SRC_URI[dns-lookup-3.0.1.sha256sum] = "6e39034cee21a2f5bbb66ba0e3689819c4bb5d00382a282006e802a7ffa6c41d" | 503 | SRC_URI[dns-lookup-3.0.1.sha256sum] = "6e39034cee21a2f5bbb66ba0e3689819c4bb5d00382a282006e802a7ffa6c41d" |
| 477 | SRC_URI[document-features-0.2.12.sha256sum] = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" | 504 | SRC_URI[document-features-0.2.12.sha256sum] = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" |
| 478 | SRC_URI[dtor-0.1.1.sha256sum] = "404d02eeb088a82cfd873006cb713fe411306c7d182c344905e101fb1167d301" | 505 | SRC_URI[dtor-0.3.0.sha256sum] = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" |
| 479 | SRC_URI[dtor-proc-macro-0.0.6.sha256sum] = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" | 506 | SRC_URI[dtor-proc-macro-0.0.6.sha256sum] = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" |
| 480 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" | 507 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" |
| 481 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" | 508 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" |
| @@ -488,7 +515,7 @@ SRC_URI[file_diff-1.0.0.sha256sum] = "31a7a908b8f32538a2143e59a6e4e2508988832d5d | |||
| 488 | SRC_URI[filedescriptor-0.8.3.sha256sum] = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" | 515 | SRC_URI[filedescriptor-0.8.3.sha256sum] = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" |
| 489 | SRC_URI[filetime-0.2.27.sha256sum] = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" | 516 | SRC_URI[filetime-0.2.27.sha256sum] = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" |
| 490 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" | 517 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" |
| 491 | SRC_URI[fixed_decimal-0.7.1.sha256sum] = "35eabf480f94d69182677e37571d3be065822acfafd12f2f085db44fbbcc8e57" | 518 | SRC_URI[fixed_decimal-0.7.2.sha256sum] = "79c3c892f121fff406e5dd6b28c1b30096b95111c30701a899d4f2b18da6d1bd" |
| 492 | SRC_URI[flate2-1.1.9.sha256sum] = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" | 519 | SRC_URI[flate2-1.1.9.sha256sum] = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" |
| 493 | SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" | 520 | SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" |
| 494 | SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" | 521 | SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" |
| @@ -508,39 +535,42 @@ SRC_URI[futures-util-0.3.32.sha256sum] = "389ca41296e6190b48053de0321d02a77f32f8 | |||
| 508 | SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" | 535 | SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" |
| 509 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | 536 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" |
| 510 | SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" | 537 | SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" |
| 511 | SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" | 538 | SRC_URI[getrandom-0.4.2.sha256sum] = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" |
| 512 | SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" | 539 | SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" |
| 513 | SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" | 540 | SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" |
| 514 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" | 541 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" |
| 515 | SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" | 542 | SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" |
| 516 | SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" | 543 | SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" |
| 544 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 517 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" | 545 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" |
| 518 | SRC_URI[hex-literal-1.1.0.sha256sum] = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" | 546 | SRC_URI[hex-literal-1.1.0.sha256sum] = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" |
| 519 | SRC_URI[hostname-0.4.2.sha256sum] = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" | 547 | SRC_URI[hostname-0.4.2.sha256sum] = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" |
| 548 | SRC_URI[hybrid-array-0.4.8.sha256sum] = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" | ||
| 520 | SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" | 549 | SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" |
| 521 | SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" | 550 | SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" |
| 522 | SRC_URI[icu_calendar-2.1.1.sha256sum] = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" | 551 | SRC_URI[icu_calendar-2.2.1.sha256sum] = "a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45" |
| 523 | SRC_URI[icu_calendar_data-2.1.1.sha256sum] = "527f04223b17edfe0bd43baf14a0cb1b017830db65f3950dc00224860a9a446d" | 552 | SRC_URI[icu_calendar_data-2.2.0.sha256sum] = "118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d" |
| 524 | SRC_URI[icu_collator-2.1.1.sha256sum] = "32eed11a5572f1088b63fa21dc2e70d4a865e5739fc2d10abc05be93bae97019" | 553 | SRC_URI[icu_collator-2.2.0.sha256sum] = "b521b92a2666061ddda902769d8a4cf730b5c9529a845cc1b69770b12a6c9a71" |
| 525 | SRC_URI[icu_collator_data-2.1.1.sha256sum] = "5ab06f0e83a613efddba3e4913e00e43ed4001fae651cb7d40fc7e66b83b6fb9" | 554 | SRC_URI[icu_collator_data-2.2.0.sha256sum] = "038ed8e5817f2059c2f3efb0945ba78d060d3d25e8f1a1bea5139f821a21a2f0" |
| 526 | SRC_URI[icu_collections-2.1.1.sha256sum] = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" | 555 | SRC_URI[icu_collections-2.2.0.sha256sum] = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" |
| 527 | SRC_URI[icu_datetime-2.1.1.sha256sum] = "1b9d49f41ded8e63761b6b4c3120dfdc289415a1ed10107db6198eb311057ca5" | 556 | SRC_URI[icu_datetime-2.2.0.sha256sum] = "989d56ea5bbc43ae2b4e0388874b002884eaf4ed3a76c84a6c8c5ad575e04d72" |
| 528 | SRC_URI[icu_datetime_data-2.1.2.sha256sum] = "46597233625417b7c8052a63d916e4fdc73df21614ac0b679492a5d6e3b01aeb" | 557 | SRC_URI[icu_datetime_data-2.2.0.sha256sum] = "40d3cc1b690d9703202bc319692ac8a1f3a6390686f0930ff40542450fa34f0b" |
| 529 | SRC_URI[icu_decimal-2.1.1.sha256sum] = "a38c52231bc348f9b982c1868a2af3195199623007ba2c7650f432038f5b3e8e" | 558 | SRC_URI[icu_decimal-2.2.0.sha256sum] = "288247df2e32aa776ac54fdd64de552149ac43cb840f2761811f0e8d09719dd4" |
| 530 | SRC_URI[icu_decimal_data-2.1.1.sha256sum] = "2905b4044eab2dd848fe84199f9195567b63ab3a93094711501363f63546fef7" | 559 | SRC_URI[icu_decimal_data-2.2.0.sha256sum] = "6f14a5ca9e8af29eef62064f269078424283d90dbaffeac5225addf62aaabc22" |
| 531 | SRC_URI[icu_locale-2.1.1.sha256sum] = "532b11722e350ab6bf916ba6eb0efe3ee54b932666afec989465f9243fe6dd60" | 560 | SRC_URI[icu_locale-2.2.0.sha256sum] = "d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26" |
| 532 | SRC_URI[icu_locale_core-2.1.1.sha256sum] = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" | 561 | SRC_URI[icu_locale_core-2.2.0.sha256sum] = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" |
| 533 | SRC_URI[icu_locale_data-2.1.2.sha256sum] = "1c5f1d16b4c3a2642d3a719f18f6b06070ab0aef246a6418130c955ae08aa831" | 562 | SRC_URI[icu_locale_data-2.2.0.sha256sum] = "d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993" |
| 534 | SRC_URI[icu_normalizer-2.1.1.sha256sum] = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" | 563 | SRC_URI[icu_normalizer-2.2.0.sha256sum] = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" |
| 535 | SRC_URI[icu_normalizer_data-2.1.1.sha256sum] = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" | 564 | SRC_URI[icu_normalizer_data-2.2.0.sha256sum] = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" |
| 536 | SRC_URI[icu_pattern-0.4.1.sha256sum] = "7a7ff8c0ff6f61cdce299dcb54f557b0a251adbc78f6f0c35a21332c452b4a1b" | 565 | SRC_URI[icu_pattern-0.4.2.sha256sum] = "1c4c568054ffe735398a9f4c55aec37ad7c768844553cc0978f09cc9b933a1fb" |
| 537 | SRC_URI[icu_plurals-2.1.1.sha256sum] = "4f9cfe49f5b1d1163cc58db451562339916a9ca5cbcaae83924d41a0bf839474" | 566 | SRC_URI[icu_plurals-2.2.0.sha256sum] = "2a50023f1d49ad5c4333380328a0d4a19e4b9d6d842ec06639affd5ba47c8103" |
| 538 | SRC_URI[icu_plurals_data-2.1.1.sha256sum] = "f018a98dccf7f0eb02ba06ac0ff67d102d8ded80734724305e924de304e12ff0" | 567 | SRC_URI[icu_plurals_data-2.2.0.sha256sum] = "8485497155dc865f901decb93ecc20d3e467df67bfeceb91e3ba34e2b11e8e1d" |
| 539 | SRC_URI[icu_properties-2.1.2.sha256sum] = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" | 568 | SRC_URI[icu_properties-2.2.0.sha256sum] = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" |
| 540 | SRC_URI[icu_properties_data-2.1.2.sha256sum] = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" | 569 | SRC_URI[icu_properties_data-2.2.0.sha256sum] = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" |
| 541 | SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" | 570 | SRC_URI[icu_provider-2.2.0.sha256sum] = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" |
| 542 | SRC_URI[icu_time-2.1.1.sha256sum] = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" | 571 | SRC_URI[icu_time-2.2.0.sha256sum] = "ec3af0c141da0a61d4f6970cd1d5f4b388b17ea22f8124f8f6049d3d5147586a" |
| 543 | SRC_URI[icu_time_data-2.1.1.sha256sum] = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" | 572 | SRC_URI[icu_time_data-2.2.0.sha256sum] = "6f2f8aeca682d874a5247084aa4fb7d1cef9ba45d889c21209a8818dcaaa0ec9" |
| 573 | SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" | ||
| 544 | SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" | 574 | SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" |
| 545 | SRC_URI[indicatif-0.18.4.sha256sum] = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" | 575 | SRC_URI[indicatif-0.18.4.sha256sum] = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" |
| 546 | SRC_URI[inotify-0.11.0.sha256sum] = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" | 576 | SRC_URI[inotify-0.11.0.sha256sum] = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" |
| @@ -550,8 +580,7 @@ SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff607 | |||
| 550 | SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" | 580 | SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" |
| 551 | SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" | 581 | SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" |
| 552 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" | 582 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" |
| 553 | SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" | 583 | SRC_URI[itoa-1.0.18.sha256sum] = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" |
| 554 | SRC_URI[ixdtf-0.6.4.sha256sum] = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" | ||
| 555 | SRC_URI[jiff-0.2.23.sha256sum] = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" | 584 | SRC_URI[jiff-0.2.23.sha256sum] = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" |
| 556 | SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" | 585 | SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" |
| 557 | SRC_URI[jiff-static-0.2.23.sha256sum] = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" | 586 | SRC_URI[jiff-static-0.2.23.sha256sum] = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" |
| @@ -562,10 +591,11 @@ SRC_URI[keccak-0.1.6.sha256sum] = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56d | |||
| 562 | SRC_URI[kqueue-1.1.1.sha256sum] = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" | 591 | SRC_URI[kqueue-1.1.1.sha256sum] = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" |
| 563 | SRC_URI[kqueue-sys-1.0.4.sha256sum] = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" | 592 | SRC_URI[kqueue-sys-1.0.4.sha256sum] = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" |
| 564 | SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" | 593 | SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" |
| 594 | SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" | ||
| 565 | SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" | 595 | SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" |
| 566 | SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" | 596 | SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" |
| 567 | SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" | 597 | SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" |
| 568 | SRC_URI[libredox-0.1.12.sha256sum] = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" | 598 | SRC_URI[libredox-0.1.15.sha256sum] = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" |
| 569 | SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" | 599 | SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" |
| 570 | SRC_URI[litemap-0.8.1.sha256sum] = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" | 600 | SRC_URI[litemap-0.8.1.sha256sum] = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" |
| 571 | SRC_URI[litrs-1.0.0.sha256sum] = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" | 601 | SRC_URI[litrs-1.0.0.sha256sum] = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" |
| @@ -580,7 +610,7 @@ SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce444 | |||
| 580 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" | 610 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" |
| 581 | SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" | 611 | SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" |
| 582 | SRC_URI[mio-1.1.1.sha256sum] = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" | 612 | SRC_URI[mio-1.1.1.sha256sum] = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" |
| 583 | SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" | 613 | SRC_URI[nix-0.31.2.sha256sum] = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" |
| 584 | SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" | 614 | SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" |
| 585 | SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" | 615 | SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" |
| 586 | SRC_URI[notify-8.2.0.sha256sum] = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" | 616 | SRC_URI[notify-8.2.0.sha256sum] = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" |
| @@ -611,7 +641,8 @@ SRC_URI[phf_generator-0.13.1.sha256sum] = "135ace3a761e564ec88c03a77317a7c6b80bb | |||
| 611 | SRC_URI[phf_shared-0.13.1.sha256sum] = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" | 641 | SRC_URI[phf_shared-0.13.1.sha256sum] = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" |
| 612 | SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" | 642 | SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" |
| 613 | SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" | 643 | SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" |
| 614 | SRC_URI[platform-info-2.0.5.sha256sum] = "7539aeb3fdd8cb4f6a331307cf71a1039cee75e94e8a71725b9484f4a0d9451a" | 644 | SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" |
| 645 | SRC_URI[platform-info-2.1.0.sha256sum] = "9368d62437c8cbb7c31ee37fd8c08a7d390e09a3ff75698a674953f46705ffcb" | ||
| 615 | SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" | 646 | SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" |
| 616 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" | 647 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" |
| 617 | SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" | 648 | SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" |
| @@ -624,14 +655,14 @@ SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa | |||
| 624 | SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" | 655 | SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" |
| 625 | SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" | 656 | SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" |
| 626 | SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" | 657 | SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" |
| 627 | SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" | 658 | SRC_URI[r-efi-6.0.0.sha256sum] = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" |
| 628 | SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" | 659 | SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" |
| 629 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | 660 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" |
| 630 | SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" | 661 | SRC_URI[rand-0.10.0.sha256sum] = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" |
| 631 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | 662 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" |
| 632 | SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" | 663 | SRC_URI[rand_chacha-0.10.0.sha256sum] = "3e6af7f3e25ded52c41df4e0b1af2d047e45896c2f3281792ed68a1c243daedb" |
| 633 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | 664 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" |
| 634 | SRC_URI[rand_core-0.9.5.sha256sum] = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" | 665 | SRC_URI[rand_core-0.10.0.sha256sum] = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" |
| 635 | SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" | 666 | SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" |
| 636 | SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" | 667 | SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" |
| 637 | SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" | 668 | SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" |
| @@ -642,11 +673,12 @@ SRC_URI[regex-lite-0.1.9.sha256sum] = "cab834c73d247e67f4fae452806d17d3c7501756d | |||
| 642 | SRC_URI[regex-syntax-0.8.9.sha256sum] = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" | 673 | SRC_URI[regex-syntax-0.8.9.sha256sum] = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" |
| 643 | SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" | 674 | SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" |
| 644 | SRC_URI[rlimit-0.11.0.sha256sum] = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3" | 675 | SRC_URI[rlimit-0.11.0.sha256sum] = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3" |
| 645 | SRC_URI[roff-0.2.2.sha256sum] = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" | 676 | SRC_URI[roff-1.1.0.sha256sum] = "dbf2048e0e979efb2ca7b91c4f1a8d77c91853e9b987c94c555668a8994915ad" |
| 646 | SRC_URI[rstest-0.26.1.sha256sum] = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" | 677 | SRC_URI[rstest-0.26.1.sha256sum] = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" |
| 647 | SRC_URI[rstest_macros-0.26.1.sha256sum] = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" | 678 | SRC_URI[rstest_macros-0.26.1.sha256sum] = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" |
| 679 | SRC_URI[rstest_reuse-0.7.0.sha256sum] = "b3a8fb4672e840a587a66fc577a5491375df51ddb88f2a2c2a792598c326fe14" | ||
| 648 | SRC_URI[rust-ini-0.21.3.sha256sum] = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" | 680 | SRC_URI[rust-ini-0.21.3.sha256sum] = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" |
| 649 | SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" | 681 | SRC_URI[rustc-hash-2.1.2.sha256sum] = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" |
| 650 | SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" | 682 | SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" |
| 651 | SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" | 683 | SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" |
| 652 | SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" | 684 | SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" |
| @@ -670,7 +702,7 @@ SRC_URI[signal-hook-registry-1.4.8.sha256sum] = "c4db69cba1110affc0e9f7bcd48bbf8 | |||
| 670 | SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" | 702 | SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" |
| 671 | SRC_URI[siphasher-1.0.2.sha256sum] = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" | 703 | SRC_URI[siphasher-1.0.2.sha256sum] = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" |
| 672 | SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" | 704 | SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" |
| 673 | SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860" | 705 | SRC_URI[sm3-0.5.0.sha256sum] = "da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6" |
| 674 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" | 706 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" |
| 675 | SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" | 707 | SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" |
| 676 | SRC_URI[socket2-0.6.2.sha256sum] = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" | 708 | SRC_URI[socket2-0.6.2.sha256sum] = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" |
| @@ -682,8 +714,8 @@ SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70 | |||
| 682 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" | 714 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" |
| 683 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" | 715 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" |
| 684 | SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" | 716 | SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" |
| 685 | SRC_URI[tempfile-3.26.0.sha256sum] = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" | 717 | SRC_URI[tempfile-3.27.0.sha256sum] = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" |
| 686 | SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" | 718 | SRC_URI[terminal_size-0.4.4.sha256sum] = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" |
| 687 | SRC_URI[textwrap-0.16.2.sha256sum] = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" | 719 | SRC_URI[textwrap-0.16.2.sha256sum] = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" |
| 688 | SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" | 720 | SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" |
| 689 | SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" | 721 | SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" |
| @@ -693,7 +725,7 @@ SRC_URI[time-0.3.47.sha256sum] = "743bd48c283afc0388f9b8827b976905fb217ad9e647fa | |||
| 693 | SRC_URI[time-core-0.1.8.sha256sum] = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" | 725 | SRC_URI[time-core-0.1.8.sha256sum] = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" |
| 694 | SRC_URI[time-macros-0.2.27.sha256sum] = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" | 726 | SRC_URI[time-macros-0.2.27.sha256sum] = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" |
| 695 | SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" | 727 | SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" |
| 696 | SRC_URI[tinystr-0.8.2.sha256sum] = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" | 728 | SRC_URI[tinystr-0.8.3.sha256sum] = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" |
| 697 | SRC_URI[toml_datetime-0.7.5+spec-1.1.0.sha256sum] = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" | 729 | SRC_URI[toml_datetime-0.7.5+spec-1.1.0.sha256sum] = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" |
| 698 | SRC_URI[toml_edit-0.23.10+spec-1.0.0.sha256sum] = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" | 730 | SRC_URI[toml_edit-0.23.10+spec-1.0.0.sha256sum] = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" |
| 699 | SRC_URI[toml_parser-1.0.6+spec-1.1.0.sha256sum] = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" | 731 | SRC_URI[toml_parser-1.0.6+spec-1.1.0.sha256sum] = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" |
| @@ -706,6 +738,7 @@ SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059 | |||
| 706 | SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" | 738 | SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" |
| 707 | SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" | 739 | SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" |
| 708 | SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" | 740 | SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" |
| 741 | SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" | ||
| 709 | SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" | 742 | SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" |
| 710 | SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" | 743 | SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" |
| 711 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" | 744 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" |
| @@ -714,16 +747,20 @@ SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa570 | |||
| 714 | SRC_URI[utmp-classic-0.1.6.sha256sum] = "e24c654e19afaa6b8f3877ece5d3bed849c2719c56f6752b18ca7da4fcc6e85a" | 747 | SRC_URI[utmp-classic-0.1.6.sha256sum] = "e24c654e19afaa6b8f3877ece5d3bed849c2719c56f6752b18ca7da4fcc6e85a" |
| 715 | SRC_URI[utmp-classic-raw-0.1.3.sha256sum] = "22c226537a3d6e01c440c1926ca0256dbee2d19b2229ede6fc4863a6493dd831" | 748 | SRC_URI[utmp-classic-raw-0.1.3.sha256sum] = "22c226537a3d6e01c440c1926ca0256dbee2d19b2229ede6fc4863a6493dd831" |
| 716 | SRC_URI[uuid-1.20.0.sha256sum] = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" | 749 | SRC_URI[uuid-1.20.0.sha256sum] = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" |
| 717 | SRC_URI[uutils_term_grid-0.7.0.sha256sum] = "fcba141ce511bad08e80b43f02976571072e1ff4286f7d628943efbd277c6361" | 750 | SRC_URI[uutils_term_grid-0.8.0.sha256sum] = "382d49b39de4a115f203305057741126b09a615892d773a2d419a2b816e30e39" |
| 718 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" | 751 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" |
| 719 | SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" | 752 | SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" |
| 720 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" | 753 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" |
| 721 | SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" | 754 | SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" |
| 722 | SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" | 755 | SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" |
| 756 | SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" | ||
| 723 | SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" | 757 | SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" |
| 724 | SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" | 758 | SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" |
| 725 | SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" | 759 | SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" |
| 726 | SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" | 760 | SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" |
| 761 | SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" | ||
| 762 | SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" | ||
| 763 | SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" | ||
| 727 | SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" | 764 | SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" |
| 728 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" | 765 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" |
| 729 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" | 766 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" |
| @@ -759,13 +796,18 @@ SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661 | |||
| 759 | SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" | 796 | SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" |
| 760 | SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" | 797 | SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" |
| 761 | SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" | 798 | SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" |
| 799 | SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" | ||
| 800 | SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" | ||
| 801 | SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" | ||
| 802 | SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" | ||
| 803 | SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" | ||
| 762 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" | 804 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" |
| 763 | SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" | 805 | SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" |
| 764 | SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" | 806 | SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" |
| 765 | SRC_URI[xattr-1.6.1.sha256sum] = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" | 807 | SRC_URI[xattr-1.6.1.sha256sum] = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" |
| 766 | SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" | 808 | SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" |
| 767 | SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" | 809 | SRC_URI[yoke-0.8.2.sha256sum] = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" |
| 768 | SRC_URI[yoke-derive-0.8.1.sha256sum] = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" | 810 | SRC_URI[yoke-derive-0.8.2.sha256sum] = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" |
| 769 | SRC_URI[z85-3.0.7.sha256sum] = "c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675" | 811 | SRC_URI[z85-3.0.7.sha256sum] = "c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675" |
| 770 | SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" | 812 | SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" |
| 771 | SRC_URI[zerocopy-0.8.39.sha256sum] = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" | 813 | SRC_URI[zerocopy-0.8.39.sha256sum] = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" |
| @@ -773,10 +815,10 @@ SRC_URI[zerocopy-derive-0.7.35.sha256sum] = "fa4f8080344d4671fb4e831a13ad1e68092 | |||
| 773 | SRC_URI[zerocopy-derive-0.8.39.sha256sum] = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" | 815 | SRC_URI[zerocopy-derive-0.8.39.sha256sum] = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" |
| 774 | SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" | 816 | SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" |
| 775 | SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" | 817 | SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" |
| 776 | SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" | 818 | SRC_URI[zerotrie-0.2.4.sha256sum] = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" |
| 777 | SRC_URI[zerovec-0.11.5.sha256sum] = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" | 819 | SRC_URI[zerovec-0.11.6.sha256sum] = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" |
| 778 | SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" | 820 | SRC_URI[zerovec-derive-0.11.3.sha256sum] = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" |
| 779 | SRC_URI[zip-8.2.0.sha256sum] = "b680f2a0cd479b4cff6e1233c483fdead418106eae419dc60200ae9850f6d004" | 821 | SRC_URI[zip-8.5.0.sha256sum] = "2726508a48f38dceb22b35ecbbd2430efe34ff05c62bd3285f965d7911b33464" |
| 780 | SRC_URI[zlib-rs-0.6.0.sha256sum] = "a7948af682ccbc3342b6e9420e8c51c1fe5d7bf7756002b4a3c6cabfe96a7e3c" | 822 | SRC_URI[zlib-rs-0.6.0.sha256sum] = "a7948af682ccbc3342b6e9420e8c51c1fe5d7bf7756002b4a3c6cabfe96a7e3c" |
| 781 | SRC_URI[zmij-1.0.19.sha256sum] = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" | 823 | SRC_URI[zmij-1.0.19.sha256sum] = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" |
| 782 | SRC_URI[zopfli-0.8.3.sha256sum] = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" | 824 | SRC_URI[zopfli-0.8.3.sha256sum] = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" |
| @@ -790,6 +832,7 @@ SRC_URI += " \ | |||
| 790 | crate://crates.io/anstyle-parse/0.2.7 \ | 832 | crate://crates.io/anstyle-parse/0.2.7 \ |
| 791 | crate://crates.io/anstyle-query/1.1.5 \ | 833 | crate://crates.io/anstyle-query/1.1.5 \ |
| 792 | crate://crates.io/anstyle-wincon/3.0.11 \ | 834 | crate://crates.io/anstyle-wincon/3.0.11 \ |
| 835 | crate://crates.io/anyhow/1.0.102 \ | ||
| 793 | crate://crates.io/arbitrary/1.4.2 \ | 836 | crate://crates.io/arbitrary/1.4.2 \ |
| 794 | crate://crates.io/arrayref/0.3.9 \ | 837 | crate://crates.io/arrayref/0.3.9 \ |
| 795 | crate://crates.io/arrayvec/0.7.6 \ | 838 | crate://crates.io/arrayvec/0.7.6 \ |
| @@ -801,6 +844,7 @@ SRC_URI += " \ | |||
| 801 | crate://crates.io/blake2b_simd/1.0.4 \ | 844 | crate://crates.io/blake2b_simd/1.0.4 \ |
| 802 | crate://crates.io/blake3/1.8.3 \ | 845 | crate://crates.io/blake3/1.8.3 \ |
| 803 | crate://crates.io/block-buffer/0.10.4 \ | 846 | crate://crates.io/block-buffer/0.10.4 \ |
| 847 | crate://crates.io/block-buffer/0.12.0 \ | ||
| 804 | crate://crates.io/block2/0.6.2 \ | 848 | crate://crates.io/block2/0.6.2 \ |
| 805 | crate://crates.io/bstr/1.12.1 \ | 849 | crate://crates.io/bstr/1.12.1 \ |
| 806 | crate://crates.io/bumpalo/3.19.1 \ | 850 | crate://crates.io/bumpalo/3.19.1 \ |
| @@ -809,19 +853,22 @@ SRC_URI += " \ | |||
| 809 | crate://crates.io/cc/1.2.55 \ | 853 | crate://crates.io/cc/1.2.55 \ |
| 810 | crate://crates.io/cfg-if/1.0.4 \ | 854 | crate://crates.io/cfg-if/1.0.4 \ |
| 811 | crate://crates.io/cfg_aliases/0.2.1 \ | 855 | crate://crates.io/cfg_aliases/0.2.1 \ |
| 856 | crate://crates.io/chacha20/0.10.0 \ | ||
| 812 | crate://crates.io/chrono/0.4.43 \ | 857 | crate://crates.io/chrono/0.4.43 \ |
| 813 | crate://crates.io/clap/4.5.57 \ | 858 | crate://crates.io/clap/4.5.57 \ |
| 814 | crate://crates.io/clap_builder/4.5.57 \ | 859 | crate://crates.io/clap_builder/4.5.57 \ |
| 815 | crate://crates.io/clap_lex/0.7.7 \ | 860 | crate://crates.io/clap_lex/0.7.7 \ |
| 816 | crate://crates.io/colorchoice/1.0.4 \ | 861 | crate://crates.io/colorchoice/1.0.4 \ |
| 817 | crate://crates.io/compare/0.1.0 \ | 862 | crate://crates.io/compare/0.1.0 \ |
| 818 | crate://crates.io/console/0.16.2 \ | 863 | crate://crates.io/console/0.16.3 \ |
| 864 | crate://crates.io/const-oid/0.10.2 \ | ||
| 819 | crate://crates.io/const-random/0.1.18 \ | 865 | crate://crates.io/const-random/0.1.18 \ |
| 820 | crate://crates.io/const-random-macro/0.1.16 \ | 866 | crate://crates.io/const-random-macro/0.1.16 \ |
| 821 | crate://crates.io/constant_time_eq/0.4.2 \ | 867 | crate://crates.io/constant_time_eq/0.4.2 \ |
| 822 | crate://crates.io/core-foundation-sys/0.8.7 \ | 868 | crate://crates.io/core-foundation-sys/0.8.7 \ |
| 823 | crate://crates.io/core_maths/0.1.1 \ | 869 | crate://crates.io/core_maths/0.1.1 \ |
| 824 | crate://crates.io/cpufeatures/0.2.17 \ | 870 | crate://crates.io/cpufeatures/0.2.17 \ |
| 871 | crate://crates.io/cpufeatures/0.3.0 \ | ||
| 825 | crate://crates.io/crc-fast/1.10.0 \ | 872 | crate://crates.io/crc-fast/1.10.0 \ |
| 826 | crate://crates.io/crc32fast/1.5.0 \ | 873 | crate://crates.io/crc32fast/1.5.0 \ |
| 827 | crate://crates.io/crossbeam-deque/0.8.6 \ | 874 | crate://crates.io/crossbeam-deque/0.8.6 \ |
| @@ -829,17 +876,20 @@ SRC_URI += " \ | |||
| 829 | crate://crates.io/crossbeam-utils/0.8.21 \ | 876 | crate://crates.io/crossbeam-utils/0.8.21 \ |
| 830 | crate://crates.io/crunchy/0.2.4 \ | 877 | crate://crates.io/crunchy/0.2.4 \ |
| 831 | crate://crates.io/crypto-common/0.1.7 \ | 878 | crate://crates.io/crypto-common/0.1.7 \ |
| 832 | crate://crates.io/ctrlc/3.5.1 \ | 879 | crate://crates.io/crypto-common/0.2.1 \ |
| 880 | crate://crates.io/ctrlc/3.5.2 \ | ||
| 833 | crate://crates.io/data-encoding/2.10.0 \ | 881 | crate://crates.io/data-encoding/2.10.0 \ |
| 834 | crate://crates.io/data-encoding-macro/0.1.19 \ | 882 | crate://crates.io/data-encoding-macro/0.1.19 \ |
| 835 | crate://crates.io/data-encoding-macro-internal/0.1.17 \ | 883 | crate://crates.io/data-encoding-macro-internal/0.1.17 \ |
| 836 | crate://crates.io/digest/0.10.7 \ | 884 | crate://crates.io/digest/0.10.7 \ |
| 885 | crate://crates.io/digest/0.11.2 \ | ||
| 837 | crate://crates.io/dispatch2/0.3.0 \ | 886 | crate://crates.io/dispatch2/0.3.0 \ |
| 838 | crate://crates.io/displaydoc/0.2.5 \ | 887 | crate://crates.io/displaydoc/0.2.5 \ |
| 839 | crate://crates.io/dlv-list/0.5.2 \ | 888 | crate://crates.io/dlv-list/0.5.2 \ |
| 840 | crate://crates.io/dunce/1.0.5 \ | 889 | crate://crates.io/dunce/1.0.5 \ |
| 841 | crate://crates.io/either/1.15.0 \ | 890 | crate://crates.io/either/1.15.0 \ |
| 842 | crate://crates.io/encode_unicode/1.0.0 \ | 891 | crate://crates.io/encode_unicode/1.0.0 \ |
| 892 | crate://crates.io/equivalent/1.0.2 \ | ||
| 843 | crate://crates.io/errno/0.3.14 \ | 893 | crate://crates.io/errno/0.3.14 \ |
| 844 | crate://crates.io/fastrand/2.3.0 \ | 894 | crate://crates.io/fastrand/2.3.0 \ |
| 845 | crate://crates.io/find-msvc-tools/0.1.9 \ | 895 | crate://crates.io/find-msvc-tools/0.1.9 \ |
| @@ -849,13 +899,19 @@ SRC_URI += " \ | |||
| 849 | crate://crates.io/fluent-bundle/0.16.0 \ | 899 | crate://crates.io/fluent-bundle/0.16.0 \ |
| 850 | crate://crates.io/fluent-langneg/0.13.1 \ | 900 | crate://crates.io/fluent-langneg/0.13.1 \ |
| 851 | crate://crates.io/fluent-syntax/0.12.0 \ | 901 | crate://crates.io/fluent-syntax/0.12.0 \ |
| 902 | crate://crates.io/foldhash/0.1.5 \ | ||
| 852 | crate://crates.io/foldhash/0.2.0 \ | 903 | crate://crates.io/foldhash/0.2.0 \ |
| 853 | crate://crates.io/generic-array/0.14.7 \ | 904 | crate://crates.io/generic-array/0.14.7 \ |
| 854 | crate://crates.io/getrandom/0.2.17 \ | 905 | crate://crates.io/getrandom/0.2.17 \ |
| 855 | crate://crates.io/getrandom/0.3.4 \ | 906 | crate://crates.io/getrandom/0.3.4 \ |
| 907 | crate://crates.io/getrandom/0.4.1 \ | ||
| 856 | crate://crates.io/glob/0.3.3 \ | 908 | crate://crates.io/glob/0.3.3 \ |
| 857 | crate://crates.io/hashbrown/0.14.5 \ | 909 | crate://crates.io/hashbrown/0.14.5 \ |
| 910 | crate://crates.io/hashbrown/0.15.5 \ | ||
| 911 | crate://crates.io/hashbrown/0.16.1 \ | ||
| 912 | crate://crates.io/heck/0.5.0 \ | ||
| 858 | crate://crates.io/hex/0.4.3 \ | 913 | crate://crates.io/hex/0.4.3 \ |
| 914 | crate://crates.io/hybrid-array/0.4.8 \ | ||
| 859 | crate://crates.io/iana-time-zone/0.1.65 \ | 915 | crate://crates.io/iana-time-zone/0.1.65 \ |
| 860 | crate://crates.io/iana-time-zone-haiku/0.1.2 \ | 916 | crate://crates.io/iana-time-zone-haiku/0.1.2 \ |
| 861 | crate://crates.io/icu_calendar/2.1.1 \ | 917 | crate://crates.io/icu_calendar/2.1.1 \ |
| @@ -880,11 +936,13 @@ SRC_URI += " \ | |||
| 880 | crate://crates.io/icu_provider/2.1.1 \ | 936 | crate://crates.io/icu_provider/2.1.1 \ |
| 881 | crate://crates.io/icu_time/2.1.1 \ | 937 | crate://crates.io/icu_time/2.1.1 \ |
| 882 | crate://crates.io/icu_time_data/2.1.1 \ | 938 | crate://crates.io/icu_time_data/2.1.1 \ |
| 939 | crate://crates.io/id-arena/2.3.0 \ | ||
| 940 | crate://crates.io/indexmap/2.13.0 \ | ||
| 883 | crate://crates.io/intl-memoizer/0.5.3 \ | 941 | crate://crates.io/intl-memoizer/0.5.3 \ |
| 884 | crate://crates.io/intl_pluralrules/7.0.2 \ | 942 | crate://crates.io/intl_pluralrules/7.0.2 \ |
| 885 | crate://crates.io/is_terminal_polyfill/1.70.2 \ | 943 | crate://crates.io/is_terminal_polyfill/1.70.2 \ |
| 886 | crate://crates.io/itertools/0.14.0 \ | 944 | crate://crates.io/itertools/0.14.0 \ |
| 887 | crate://crates.io/ixdtf/0.6.4 \ | 945 | crate://crates.io/itoa/1.0.17 \ |
| 888 | crate://crates.io/jiff/0.2.19 \ | 946 | crate://crates.io/jiff/0.2.19 \ |
| 889 | crate://crates.io/jiff-icu/0.2.2 \ | 947 | crate://crates.io/jiff-icu/0.2.2 \ |
| 890 | crate://crates.io/jiff-static/0.2.19 \ | 948 | crate://crates.io/jiff-static/0.2.19 \ |
| @@ -893,6 +951,7 @@ SRC_URI += " \ | |||
| 893 | crate://crates.io/jobserver/0.1.34 \ | 951 | crate://crates.io/jobserver/0.1.34 \ |
| 894 | crate://crates.io/js-sys/0.3.85 \ | 952 | crate://crates.io/js-sys/0.3.85 \ |
| 895 | crate://crates.io/keccak/0.1.6 \ | 953 | crate://crates.io/keccak/0.1.6 \ |
| 954 | crate://crates.io/leb128fmt/0.1.0 \ | ||
| 896 | crate://crates.io/libc/0.2.182 \ | 955 | crate://crates.io/libc/0.2.182 \ |
| 897 | crate://crates.io/libfuzzer-sys/0.4.12 \ | 956 | crate://crates.io/libfuzzer-sys/0.4.12 \ |
| 898 | crate://crates.io/libm/0.2.16 \ | 957 | crate://crates.io/libm/0.2.16 \ |
| @@ -902,7 +961,7 @@ SRC_URI += " \ | |||
| 902 | crate://crates.io/md-5/0.10.6 \ | 961 | crate://crates.io/md-5/0.10.6 \ |
| 903 | crate://crates.io/memchr/2.8.0 \ | 962 | crate://crates.io/memchr/2.8.0 \ |
| 904 | crate://crates.io/miniz_oxide/0.8.9 \ | 963 | crate://crates.io/miniz_oxide/0.8.9 \ |
| 905 | crate://crates.io/nix/0.30.1 \ | 964 | crate://crates.io/nix/0.31.2 \ |
| 906 | crate://crates.io/nom/8.0.0 \ | 965 | crate://crates.io/nom/8.0.0 \ |
| 907 | crate://crates.io/num-bigint/0.4.6 \ | 966 | crate://crates.io/num-bigint/0.4.6 \ |
| 908 | crate://crates.io/num-integer/0.1.46 \ | 967 | crate://crates.io/num-integer/0.1.46 \ |
| @@ -922,14 +981,17 @@ SRC_URI += " \ | |||
| 922 | crate://crates.io/portable-atomic-util/0.2.5 \ | 981 | crate://crates.io/portable-atomic-util/0.2.5 \ |
| 923 | crate://crates.io/potential_utf/0.1.4 \ | 982 | crate://crates.io/potential_utf/0.1.4 \ |
| 924 | crate://crates.io/ppv-lite86/0.2.21 \ | 983 | crate://crates.io/ppv-lite86/0.2.21 \ |
| 984 | crate://crates.io/prettyplease/0.2.37 \ | ||
| 925 | crate://crates.io/proc-macro2/1.0.106 \ | 985 | crate://crates.io/proc-macro2/1.0.106 \ |
| 926 | crate://crates.io/procfs/0.18.0 \ | 986 | crate://crates.io/procfs/0.18.0 \ |
| 927 | crate://crates.io/procfs-core/0.18.0 \ | 987 | crate://crates.io/procfs-core/0.18.0 \ |
| 928 | crate://crates.io/quote/1.0.44 \ | 988 | crate://crates.io/quote/1.0.44 \ |
| 929 | crate://crates.io/r-efi/5.3.0 \ | 989 | crate://crates.io/r-efi/5.3.0 \ |
| 930 | crate://crates.io/rand/0.9.2 \ | 990 | crate://crates.io/rand/0.9.2 \ |
| 991 | crate://crates.io/rand/0.10.0 \ | ||
| 931 | crate://crates.io/rand_chacha/0.9.0 \ | 992 | crate://crates.io/rand_chacha/0.9.0 \ |
| 932 | crate://crates.io/rand_core/0.9.5 \ | 993 | crate://crates.io/rand_core/0.9.5 \ |
| 994 | crate://crates.io/rand_core/0.10.0 \ | ||
| 933 | crate://crates.io/rayon/1.11.0 \ | 995 | crate://crates.io/rayon/1.11.0 \ |
| 934 | crate://crates.io/rayon-core/1.13.0 \ | 996 | crate://crates.io/rayon-core/1.13.0 \ |
| 935 | crate://crates.io/regex/1.12.3 \ | 997 | crate://crates.io/regex/1.12.3 \ |
| @@ -940,23 +1002,25 @@ SRC_URI += " \ | |||
| 940 | crate://crates.io/rustix/1.1.4 \ | 1002 | crate://crates.io/rustix/1.1.4 \ |
| 941 | crate://crates.io/rustversion/1.0.22 \ | 1003 | crate://crates.io/rustversion/1.0.22 \ |
| 942 | crate://crates.io/self_cell/1.2.2 \ | 1004 | crate://crates.io/self_cell/1.2.2 \ |
| 1005 | crate://crates.io/semver/1.0.27 \ | ||
| 943 | crate://crates.io/serde/1.0.228 \ | 1006 | crate://crates.io/serde/1.0.228 \ |
| 944 | crate://crates.io/serde_core/1.0.228 \ | 1007 | crate://crates.io/serde_core/1.0.228 \ |
| 945 | crate://crates.io/serde_derive/1.0.228 \ | 1008 | crate://crates.io/serde_derive/1.0.228 \ |
| 1009 | crate://crates.io/serde_json/1.0.149 \ | ||
| 946 | crate://crates.io/sha1/0.10.6 \ | 1010 | crate://crates.io/sha1/0.10.6 \ |
| 947 | crate://crates.io/sha2/0.10.9 \ | 1011 | crate://crates.io/sha2/0.10.9 \ |
| 948 | crate://crates.io/sha3/0.10.8 \ | 1012 | crate://crates.io/sha3/0.10.8 \ |
| 949 | crate://crates.io/shlex/1.3.0 \ | 1013 | crate://crates.io/shlex/1.3.0 \ |
| 950 | crate://crates.io/simd-adler32/0.3.8 \ | 1014 | crate://crates.io/simd-adler32/0.3.8 \ |
| 951 | crate://crates.io/similar/2.7.0 \ | 1015 | crate://crates.io/similar/3.0.0 \ |
| 952 | crate://crates.io/sm3/0.4.2 \ | 1016 | crate://crates.io/sm3/0.5.0 \ |
| 953 | crate://crates.io/smallvec/1.15.1 \ | 1017 | crate://crates.io/smallvec/1.15.1 \ |
| 954 | crate://crates.io/spin/0.10.0 \ | 1018 | crate://crates.io/spin/0.10.0 \ |
| 955 | crate://crates.io/stable_deref_trait/1.2.1 \ | 1019 | crate://crates.io/stable_deref_trait/1.2.1 \ |
| 956 | crate://crates.io/strsim/0.11.1 \ | 1020 | crate://crates.io/strsim/0.11.1 \ |
| 957 | crate://crates.io/syn/2.0.114 \ | 1021 | crate://crates.io/syn/2.0.114 \ |
| 958 | crate://crates.io/synstructure/0.13.2 \ | 1022 | crate://crates.io/synstructure/0.13.2 \ |
| 959 | crate://crates.io/tempfile/3.26.0 \ | 1023 | crate://crates.io/tempfile/3.27.0 \ |
| 960 | crate://crates.io/terminal_size/0.4.3 \ | 1024 | crate://crates.io/terminal_size/0.4.3 \ |
| 961 | crate://crates.io/thiserror/2.0.18 \ | 1025 | crate://crates.io/thiserror/2.0.18 \ |
| 962 | crate://crates.io/thiserror-impl/2.0.18 \ | 1026 | crate://crates.io/thiserror-impl/2.0.18 \ |
| @@ -968,6 +1032,7 @@ SRC_URI += " \ | |||
| 968 | crate://crates.io/unic-langid-impl/0.9.6 \ | 1032 | crate://crates.io/unic-langid-impl/0.9.6 \ |
| 969 | crate://crates.io/unicode-ident/1.0.22 \ | 1033 | crate://crates.io/unicode-ident/1.0.22 \ |
| 970 | crate://crates.io/unicode-width/0.2.2 \ | 1034 | crate://crates.io/unicode-width/0.2.2 \ |
| 1035 | crate://crates.io/unicode-xid/0.2.6 \ | ||
| 971 | crate://crates.io/unit-prefix/0.5.2 \ | 1036 | crate://crates.io/unit-prefix/0.5.2 \ |
| 972 | crate://crates.io/utf16_iter/1.0.5 \ | 1037 | crate://crates.io/utf16_iter/1.0.5 \ |
| 973 | crate://crates.io/utf8_iter/1.0.4 \ | 1038 | crate://crates.io/utf8_iter/1.0.4 \ |
| @@ -976,10 +1041,14 @@ SRC_URI += " \ | |||
| 976 | crate://crates.io/vsimd/0.8.0 \ | 1041 | crate://crates.io/vsimd/0.8.0 \ |
| 977 | crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ | 1042 | crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ |
| 978 | crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ | 1043 | crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ |
| 1044 | crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ | ||
| 979 | crate://crates.io/wasm-bindgen/0.2.108 \ | 1045 | crate://crates.io/wasm-bindgen/0.2.108 \ |
| 980 | crate://crates.io/wasm-bindgen-macro/0.2.108 \ | 1046 | crate://crates.io/wasm-bindgen-macro/0.2.108 \ |
| 981 | crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ | 1047 | crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ |
| 982 | crate://crates.io/wasm-bindgen-shared/0.2.108 \ | 1048 | crate://crates.io/wasm-bindgen-shared/0.2.108 \ |
| 1049 | crate://crates.io/wasm-encoder/0.244.0 \ | ||
| 1050 | crate://crates.io/wasm-metadata/0.244.0 \ | ||
| 1051 | crate://crates.io/wasmparser/0.244.0 \ | ||
| 983 | crate://crates.io/wild/2.2.1 \ | 1052 | crate://crates.io/wild/2.2.1 \ |
| 984 | crate://crates.io/winapi-util/0.1.11 \ | 1053 | crate://crates.io/winapi-util/0.1.11 \ |
| 985 | crate://crates.io/windows-core/0.62.2 \ | 1054 | crate://crates.io/windows-core/0.62.2 \ |
| @@ -1001,6 +1070,11 @@ SRC_URI += " \ | |||
| 1001 | crate://crates.io/windows_x86_64_msvc/0.53.1 \ | 1070 | crate://crates.io/windows_x86_64_msvc/0.53.1 \ |
| 1002 | crate://crates.io/winnow/0.7.14 \ | 1071 | crate://crates.io/winnow/0.7.14 \ |
| 1003 | crate://crates.io/wit-bindgen/0.51.0 \ | 1072 | crate://crates.io/wit-bindgen/0.51.0 \ |
| 1073 | crate://crates.io/wit-bindgen-core/0.51.0 \ | ||
| 1074 | crate://crates.io/wit-bindgen-rust/0.51.0 \ | ||
| 1075 | crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ | ||
| 1076 | crate://crates.io/wit-component/0.244.0 \ | ||
| 1077 | crate://crates.io/wit-parser/0.244.0 \ | ||
| 1004 | crate://crates.io/write16/1.0.0 \ | 1078 | crate://crates.io/write16/1.0.0 \ |
| 1005 | crate://crates.io/writeable/0.6.2 \ | 1079 | crate://crates.io/writeable/0.6.2 \ |
| 1006 | crate://crates.io/yoke/0.8.1 \ | 1080 | crate://crates.io/yoke/0.8.1 \ |
| @@ -1013,6 +1087,7 @@ SRC_URI += " \ | |||
| 1013 | crate://crates.io/zerotrie/0.2.3 \ | 1087 | crate://crates.io/zerotrie/0.2.3 \ |
| 1014 | crate://crates.io/zerovec/0.11.5 \ | 1088 | crate://crates.io/zerovec/0.11.5 \ |
| 1015 | crate://crates.io/zerovec-derive/0.11.2 \ | 1089 | crate://crates.io/zerovec-derive/0.11.2 \ |
| 1090 | crate://crates.io/zmij/1.0.21 \ | ||
| 1016 | " | 1091 | " |
| 1017 | 1092 | ||
| 1018 | SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" | 1093 | SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" |
| @@ -1023,6 +1098,7 @@ SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfe | |||
| 1023 | SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" | 1098 | SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" |
| 1024 | SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" | 1099 | SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" |
| 1025 | SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" | 1100 | SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" |
| 1101 | SRC_URI[anyhow-1.0.102.sha256sum] = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" | ||
| 1026 | SRC_URI[arbitrary-1.4.2.sha256sum] = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" | 1102 | SRC_URI[arbitrary-1.4.2.sha256sum] = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" |
| 1027 | SRC_URI[arrayref-0.3.9.sha256sum] = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" | 1103 | SRC_URI[arrayref-0.3.9.sha256sum] = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" |
| 1028 | SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" | 1104 | SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" |
| @@ -1034,6 +1110,7 @@ SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acf | |||
| 1034 | SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" | 1110 | SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" |
| 1035 | SRC_URI[blake3-1.8.3.sha256sum] = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" | 1111 | SRC_URI[blake3-1.8.3.sha256sum] = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" |
| 1036 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" | 1112 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" |
| 1113 | SRC_URI[block-buffer-0.12.0.sha256sum] = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" | ||
| 1037 | SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" | 1114 | SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" |
| 1038 | SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" | 1115 | SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" |
| 1039 | SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" | 1116 | SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" |
| @@ -1042,19 +1119,22 @@ SRC_URI[calendrical_calculations-0.2.3.sha256sum] = "3a0b39595c6ee54a8d0900204ba | |||
| 1042 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" | 1119 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" |
| 1043 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" | 1120 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" |
| 1044 | SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" | 1121 | SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" |
| 1122 | SRC_URI[chacha20-0.10.0.sha256sum] = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" | ||
| 1045 | SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" | 1123 | SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" |
| 1046 | SRC_URI[clap-4.5.57.sha256sum] = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" | 1124 | SRC_URI[clap-4.5.57.sha256sum] = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" |
| 1047 | SRC_URI[clap_builder-4.5.57.sha256sum] = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" | 1125 | SRC_URI[clap_builder-4.5.57.sha256sum] = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" |
| 1048 | SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" | 1126 | SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" |
| 1049 | SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" | 1127 | SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" |
| 1050 | SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" | 1128 | SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" |
| 1051 | SRC_URI[console-0.16.2.sha256sum] = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" | 1129 | SRC_URI[console-0.16.3.sha256sum] = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" |
| 1130 | SRC_URI[const-oid-0.10.2.sha256sum] = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" | ||
| 1052 | SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" | 1131 | SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" |
| 1053 | SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" | 1132 | SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" |
| 1054 | SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" | 1133 | SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" |
| 1055 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" | 1134 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" |
| 1056 | SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" | 1135 | SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" |
| 1057 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" | 1136 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" |
| 1137 | SRC_URI[cpufeatures-0.3.0.sha256sum] = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" | ||
| 1058 | SRC_URI[crc-fast-1.10.0.sha256sum] = "e75b2483e97a5a7da73ac68a05b629f9c53cff58d8ed1c77866079e18b00dba5" | 1138 | SRC_URI[crc-fast-1.10.0.sha256sum] = "e75b2483e97a5a7da73ac68a05b629f9c53cff58d8ed1c77866079e18b00dba5" |
| 1059 | SRC_URI[crc32fast-1.5.0.sha256sum] = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" | 1139 | SRC_URI[crc32fast-1.5.0.sha256sum] = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" |
| 1060 | SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" | 1140 | SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" |
| @@ -1062,17 +1142,20 @@ SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5 | |||
| 1062 | SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" | 1142 | SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" |
| 1063 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" | 1143 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" |
| 1064 | SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" | 1144 | SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" |
| 1065 | SRC_URI[ctrlc-3.5.1.sha256sum] = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" | 1145 | SRC_URI[crypto-common-0.2.1.sha256sum] = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" |
| 1146 | SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" | ||
| 1066 | SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" | 1147 | SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" |
| 1067 | SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" | 1148 | SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" |
| 1068 | SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" | 1149 | SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" |
| 1069 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" | 1150 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" |
| 1151 | SRC_URI[digest-0.11.2.sha256sum] = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" | ||
| 1070 | SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" | 1152 | SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" |
| 1071 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" | 1153 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" |
| 1072 | SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" | 1154 | SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" |
| 1073 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" | 1155 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" |
| 1074 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" | 1156 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" |
| 1075 | SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" | 1157 | SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" |
| 1158 | SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" | ||
| 1076 | SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" | 1159 | SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" |
| 1077 | SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" | 1160 | SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" |
| 1078 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" | 1161 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" |
| @@ -1082,13 +1165,19 @@ SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f1 | |||
| 1082 | SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" | 1165 | SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" |
| 1083 | SRC_URI[fluent-langneg-0.13.1.sha256sum] = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" | 1166 | SRC_URI[fluent-langneg-0.13.1.sha256sum] = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" |
| 1084 | SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" | 1167 | SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" |
| 1168 | SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" | ||
| 1085 | SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" | 1169 | SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" |
| 1086 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | 1170 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" |
| 1087 | SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" | 1171 | SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" |
| 1088 | SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" | 1172 | SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" |
| 1173 | SRC_URI[getrandom-0.4.1.sha256sum] = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" | ||
| 1089 | SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" | 1174 | SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" |
| 1090 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" | 1175 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" |
| 1176 | SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" | ||
| 1177 | SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" | ||
| 1178 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 1091 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" | 1179 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" |
| 1180 | SRC_URI[hybrid-array-0.4.8.sha256sum] = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" | ||
| 1092 | SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" | 1181 | SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" |
| 1093 | SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" | 1182 | SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" |
| 1094 | SRC_URI[icu_calendar-2.1.1.sha256sum] = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" | 1183 | SRC_URI[icu_calendar-2.1.1.sha256sum] = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" |
| @@ -1113,11 +1202,13 @@ SRC_URI[icu_properties_data-2.1.2.sha256sum] = "616c294cf8d725c6afcd8f55abc17c56 | |||
| 1113 | SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" | 1202 | SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" |
| 1114 | SRC_URI[icu_time-2.1.1.sha256sum] = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" | 1203 | SRC_URI[icu_time-2.1.1.sha256sum] = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" |
| 1115 | SRC_URI[icu_time_data-2.1.1.sha256sum] = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" | 1204 | SRC_URI[icu_time_data-2.1.1.sha256sum] = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" |
| 1205 | SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" | ||
| 1206 | SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" | ||
| 1116 | SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" | 1207 | SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" |
| 1117 | SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" | 1208 | SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" |
| 1118 | SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" | 1209 | SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" |
| 1119 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" | 1210 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" |
| 1120 | SRC_URI[ixdtf-0.6.4.sha256sum] = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" | 1211 | SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" |
| 1121 | SRC_URI[jiff-0.2.19.sha256sum] = "d89a5b5e10d5a9ad6e5d1f4bd58225f655d6fe9767575a5e8ac5a6fe64e04495" | 1212 | SRC_URI[jiff-0.2.19.sha256sum] = "d89a5b5e10d5a9ad6e5d1f4bd58225f655d6fe9767575a5e8ac5a6fe64e04495" |
| 1122 | SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" | 1213 | SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" |
| 1123 | SRC_URI[jiff-static-0.2.19.sha256sum] = "ff7a39c8862fc1369215ccf0a8f12dd4598c7f6484704359f0351bd617034dbf" | 1214 | SRC_URI[jiff-static-0.2.19.sha256sum] = "ff7a39c8862fc1369215ccf0a8f12dd4598c7f6484704359f0351bd617034dbf" |
| @@ -1126,6 +1217,7 @@ SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1c | |||
| 1126 | SRC_URI[jobserver-0.1.34.sha256sum] = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" | 1217 | SRC_URI[jobserver-0.1.34.sha256sum] = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" |
| 1127 | SRC_URI[js-sys-0.3.85.sha256sum] = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" | 1218 | SRC_URI[js-sys-0.3.85.sha256sum] = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" |
| 1128 | SRC_URI[keccak-0.1.6.sha256sum] = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" | 1219 | SRC_URI[keccak-0.1.6.sha256sum] = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" |
| 1220 | SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" | ||
| 1129 | SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" | 1221 | SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" |
| 1130 | SRC_URI[libfuzzer-sys-0.4.12.sha256sum] = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" | 1222 | SRC_URI[libfuzzer-sys-0.4.12.sha256sum] = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" |
| 1131 | SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" | 1223 | SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" |
| @@ -1135,7 +1227,7 @@ SRC_URI[log-0.4.29.sha256sum] = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a659083 | |||
| 1135 | SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" | 1227 | SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" |
| 1136 | SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" | 1228 | SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" |
| 1137 | SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" | 1229 | SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" |
| 1138 | SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" | 1230 | SRC_URI[nix-0.31.2.sha256sum] = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" |
| 1139 | SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" | 1231 | SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" |
| 1140 | SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" | 1232 | SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" |
| 1141 | SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" | 1233 | SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" |
| @@ -1155,14 +1247,17 @@ SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd | |||
| 1155 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" | 1247 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" |
| 1156 | SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" | 1248 | SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" |
| 1157 | SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" | 1249 | SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" |
| 1250 | SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" | ||
| 1158 | SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" | 1251 | SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" |
| 1159 | SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" | 1252 | SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" |
| 1160 | SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" | 1253 | SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" |
| 1161 | SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" | 1254 | SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" |
| 1162 | SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" | 1255 | SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" |
| 1163 | SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" | 1256 | SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" |
| 1257 | SRC_URI[rand-0.10.0.sha256sum] = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" | ||
| 1164 | SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" | 1258 | SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" |
| 1165 | SRC_URI[rand_core-0.9.5.sha256sum] = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" | 1259 | SRC_URI[rand_core-0.9.5.sha256sum] = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" |
| 1260 | SRC_URI[rand_core-0.10.0.sha256sum] = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" | ||
| 1166 | SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" | 1261 | SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" |
| 1167 | SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" | 1262 | SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" |
| 1168 | SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" | 1263 | SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" |
| @@ -1173,23 +1268,25 @@ SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4 | |||
| 1173 | SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" | 1268 | SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" |
| 1174 | SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" | 1269 | SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" |
| 1175 | SRC_URI[self_cell-1.2.2.sha256sum] = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" | 1270 | SRC_URI[self_cell-1.2.2.sha256sum] = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" |
| 1271 | SRC_URI[semver-1.0.27.sha256sum] = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" | ||
| 1176 | SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" | 1272 | SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" |
| 1177 | SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" | 1273 | SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" |
| 1178 | SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" | 1274 | SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" |
| 1275 | SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" | ||
| 1179 | SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" | 1276 | SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" |
| 1180 | SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" | 1277 | SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" |
| 1181 | SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" | 1278 | SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" |
| 1182 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | 1279 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" |
| 1183 | SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" | 1280 | SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" |
| 1184 | SRC_URI[similar-2.7.0.sha256sum] = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" | 1281 | SRC_URI[similar-3.0.0.sha256sum] = "26d0b06eba54f0ca0770f970a3e89823e766ca638dd940f8469fa0fa50c75396" |
| 1185 | SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860" | 1282 | SRC_URI[sm3-0.5.0.sha256sum] = "da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6" |
| 1186 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" | 1283 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" |
| 1187 | SRC_URI[spin-0.10.0.sha256sum] = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" | 1284 | SRC_URI[spin-0.10.0.sha256sum] = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" |
| 1188 | SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" | 1285 | SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" |
| 1189 | SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" | 1286 | SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" |
| 1190 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" | 1287 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" |
| 1191 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" | 1288 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" |
| 1192 | SRC_URI[tempfile-3.26.0.sha256sum] = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" | 1289 | SRC_URI[tempfile-3.27.0.sha256sum] = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" |
| 1193 | SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" | 1290 | SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" |
| 1194 | SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" | 1291 | SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" |
| 1195 | SRC_URI[thiserror-impl-2.0.18.sha256sum] = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" | 1292 | SRC_URI[thiserror-impl-2.0.18.sha256sum] = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" |
| @@ -1201,6 +1298,7 @@ SRC_URI[unic-langid-0.9.6.sha256sum] = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84c | |||
| 1201 | SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" | 1298 | SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" |
| 1202 | SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" | 1299 | SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" |
| 1203 | SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" | 1300 | SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" |
| 1301 | SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" | ||
| 1204 | SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" | 1302 | SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" |
| 1205 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" | 1303 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" |
| 1206 | SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" | 1304 | SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" |
| @@ -1209,10 +1307,14 @@ SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5 | |||
| 1209 | SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" | 1307 | SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" |
| 1210 | SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" | 1308 | SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" |
| 1211 | SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" | 1309 | SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" |
| 1310 | SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" | ||
| 1212 | SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" | 1311 | SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" |
| 1213 | SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" | 1312 | SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" |
| 1214 | SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" | 1313 | SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" |
| 1215 | SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" | 1314 | SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" |
| 1315 | SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" | ||
| 1316 | SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" | ||
| 1317 | SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" | ||
| 1216 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" | 1318 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" |
| 1217 | SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" | 1319 | SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" |
| 1218 | SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" | 1320 | SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" |
| @@ -1234,6 +1336,11 @@ SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436 | |||
| 1234 | SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" | 1336 | SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" |
| 1235 | SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" | 1337 | SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" |
| 1236 | SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" | 1338 | SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" |
| 1339 | SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" | ||
| 1340 | SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" | ||
| 1341 | SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" | ||
| 1342 | SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" | ||
| 1343 | SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" | ||
| 1237 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" | 1344 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" |
| 1238 | SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" | 1345 | SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" |
| 1239 | SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" | 1346 | SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" |
| @@ -1246,3 +1353,4 @@ SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcb | |||
| 1246 | SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" | 1353 | SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" |
| 1247 | SRC_URI[zerovec-0.11.5.sha256sum] = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" | 1354 | SRC_URI[zerovec-0.11.5.sha256sum] = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" |
| 1248 | SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" | 1355 | SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" |
| 1356 | SRC_URI[zmij-1.0.21.sha256sum] = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" | ||
diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.7.0.bb b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.8.0.bb index 5103d86e92..8b9b4dc199 100644 --- a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.7.0.bb +++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.8.0.bb | |||
| @@ -11,7 +11,7 @@ SRC_URI = " \ | |||
| 11 | git://github.com/uutils/coreutils.git;protocol=https;branch=main;tag=${PV} \ | 11 | git://github.com/uutils/coreutils.git;protocol=https;branch=main;tag=${PV} \ |
| 12 | " | 12 | " |
| 13 | 13 | ||
| 14 | SRCREV = "995c9e04a6cc34a3a95b23a26fa59ae87e7744bd" | 14 | SRCREV = "c4093734e2ebe2efb7d65e216cd1444664bcf26a" |
| 15 | 15 | ||
| 16 | require ${BPN}-crates.inc | 16 | require ${BPN}-crates.inc |
| 17 | 17 | ||
diff --git a/meta-oe/recipes-crypto/botan/botan_3.11.0.bb b/meta-oe/recipes-crypto/botan/botan_3.11.1.bb index e60d826459..2d6b64ad64 100644 --- a/meta-oe/recipes-crypto/botan/botan_3.11.0.bb +++ b/meta-oe/recipes-crypto/botan/botan_3.11.1.bb | |||
| @@ -6,7 +6,7 @@ SECTION = "libs" | |||
| 6 | 6 | ||
| 7 | SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz \ | 7 | SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz \ |
| 8 | file://run-ptest" | 8 | file://run-ptest" |
| 9 | SRC_URI[sha256sum] = "e8dd48556818da2c03a9a30932ad05db9e50b12fec90809301ecc64ea51bd11e" | 9 | SRC_URI[sha256sum] = "c1cd7152519f4188591fa4f6ddeb116bc1004491f5f3c58aa99b00582eb8a137" |
| 10 | 10 | ||
| 11 | S = "${UNPACKDIR}/Botan-${PV}" | 11 | S = "${UNPACKDIR}/Botan-${PV}" |
| 12 | 12 | ||
| @@ -65,3 +65,6 @@ FILES:${PN}-test = "${bindir}/botan-test ${datadir}/${PN}/tests/data" | |||
| 65 | COMPATIBLE_HOST:riscv32 = "null" | 65 | COMPATIBLE_HOST:riscv32 = "null" |
| 66 | 66 | ||
| 67 | BBCLASSEXTEND = "native nativesdk" | 67 | BBCLASSEXTEND = "native nativesdk" |
| 68 | |||
| 69 | CVE_STATUS[CVE-2026-32877] = "fixed-version: fixed since 3.11.0" | ||
| 70 | 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.6.bb index 34755fc3ad..c74b7a1f35 100644 --- a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.4.bb +++ b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.6.bb | |||
| @@ -24,7 +24,7 @@ DEPENDS:append:libc-musl = " argp-standalone" | |||
| 24 | LDFLAGS:append:libc-musl = " -largp" | 24 | LDFLAGS:append:libc-musl = " -largp" |
| 25 | 25 | ||
| 26 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" | 26 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" |
| 27 | SRC_URI[sha256sum] = "443e46f8964c9acc780f455afbb8e23aa0e8ed7ec504cfc59e04f406fa1e8a83" | 27 | SRC_URI[sha256sum] = "8004265fd993885d08f7b633dbe056851de1a210307613a4ebddc743fccefe5a" |
| 28 | 28 | ||
| 29 | inherit autotools gettext pkgconfig | 29 | inherit autotools gettext pkgconfig |
| 30 | 30 | ||
diff --git a/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.0.bb b/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.2.bb index 7c9187ab94..4c42b77490 100644 --- a/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.0.bb +++ b/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.2.bb | |||
| @@ -14,11 +14,12 @@ SECTION = "libs" | |||
| 14 | SRC_URI = "git://github.com/smuellerDD/leancrypto.git;branch=master;protocol=https;tag=v${PV} \ | 14 | SRC_URI = "git://github.com/smuellerDD/leancrypto.git;branch=master;protocol=https;tag=v${PV} \ |
| 15 | file://leancrypto-tests.sh \ | 15 | file://leancrypto-tests.sh \ |
| 16 | " | 16 | " |
| 17 | # SRCREV tagged v1.7.0 | 17 | SRCREV = "8a3e942baa3388ec9597c35005264ef9aefbf97c" |
| 18 | SRCREV = "e60fba94e8cabf1661a1da488b78b84a4fba56e9" | ||
| 19 | 18 | ||
| 20 | inherit pkgconfig meson | 19 | inherit pkgconfig meson |
| 21 | 20 | ||
| 21 | CVE_STATUS[CVE-2026-34610] = "fixed-version: fixed since v1.7.1" | ||
| 22 | |||
| 22 | EXTRA_OEMESON = "-Dstrip=false" | 23 | EXTRA_OEMESON = "-Dstrip=false" |
| 23 | TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" | 24 | TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" |
| 24 | 25 | ||
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 7d27081964..532c9e29df 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 | |||
| 9 | 9 | ||
| 10 | inherit autotools | 10 | inherit autotools |
| 11 | 11 | ||
| 12 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 13 | |||
| 12 | PACKAGECONFIG ??= "" | 14 | PACKAGECONFIG ??= "" |
| 13 | PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash" | 15 | PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash" |
| 14 | PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,," | 16 | 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 c55a01d3b9..fca29eed05 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<pver>\d+(\.\d+)+)/" | |||
| 16 | 16 | ||
| 17 | inherit autotools-brokensep gettext binconfig multilib_script | 17 | inherit autotools-brokensep gettext binconfig multilib_script |
| 18 | 18 | ||
| 19 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 20 | |||
| 19 | CFLAGS += "-Wno-error=implicit-int" | 21 | CFLAGS += "-Wno-error=implicit-int" |
| 20 | 22 | ||
| 21 | do_configure() { | 23 | do_configure() { |
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium/0001-Fix-compilation-with-GCC-on-aarch64.patch b/meta-oe/recipes-crypto/libsodium/libsodium/0001-Fix-compilation-with-GCC-on-aarch64.patch deleted file mode 100644 index c5c0d12b87..0000000000 --- a/meta-oe/recipes-crypto/libsodium/libsodium/0001-Fix-compilation-with-GCC-on-aarch64.patch +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | From fc66d1bd0d3db6392424a1fd10dcf4343ce72c52 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Frank Denis <github@pureftpd.org> | ||
| 3 | Date: Wed, 7 Jan 2026 12:00:49 +0100 | ||
| 4 | Subject: [PATCH] Fix compilation with GCC on aarch64 | ||
| 5 | |||
| 6 | Use unsigned NEON intrinsics everywhere | ||
| 7 | |||
| 8 | Fixes #1502 | ||
| 9 | |||
| 10 | Upstream-Status: Backport [https://github.com/jedisct1/libsodium/commit/6702f69bef6044163acc7715e6ac7e430890ce78] | ||
| 11 | --- | ||
| 12 | src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c | 14 +++++++------- | ||
| 13 | 1 file changed, 7 insertions(+), 7 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c b/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c | ||
| 16 | index c5a27e92..bad4ce38 100644 | ||
| 17 | --- a/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c | ||
| 18 | +++ b/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c | ||
| 19 | @@ -37,7 +37,7 @@ typedef uint64x2_t BlockVec; | ||
| 20 | # define XOR128_3(a, b, c) veorq_u64(veorq_u64((a), (b)), (c)) | ||
| 21 | # define SET64x2(a, b) vsetq_lane_u64((uint64_t) (a), vmovq_n_u64((uint64_t) (b)), 1) | ||
| 22 | # define BYTESHL128(a, b) \ | ||
| 23 | - vreinterpretq_u64_u8(vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_u64(a), 16 - (b))) | ||
| 24 | + vreinterpretq_u64_u8(vextq_u8(vdupq_n_u8(0), vreinterpretq_u8_u64(a), 16 - (b))) | ||
| 25 | |||
| 26 | # define AES_XENCRYPT(block_vec, rkey) \ | ||
| 27 | vreinterpretq_u64_u8( \ | ||
| 28 | @@ -348,12 +348,12 @@ pfx_set_bit(uint8_t ip16[16], const unsigned int bit_index, const uint8_t bit_va | ||
| 29 | static void | ||
| 30 | pfx_shift_left(uint8_t ip16[16]) | ||
| 31 | { | ||
| 32 | - BlockVec v = LOAD128(ip16); | ||
| 33 | - const BlockVec shl = vshlq_n_u8(vreinterpretq_u8_u64(v), 1); | ||
| 34 | - const BlockVec msb = vshrq_n_u8(vreinterpretq_u8_u64(v), 7); | ||
| 35 | - const BlockVec zero = vdupq_n_u8(0); | ||
| 36 | - const BlockVec carries = vextq_u8(vreinterpretq_u8_u64(msb), zero, 1); | ||
| 37 | - v = vreinterpretq_u64_u8(vorrq_u8(shl, carries)); | ||
| 38 | + BlockVec v = LOAD128(ip16); | ||
| 39 | + const uint8x16_t shl = vshlq_n_u8(vreinterpretq_u8_u64(v), 1); | ||
| 40 | + const uint8x16_t msb = vshrq_n_u8(vreinterpretq_u8_u64(v), 7); | ||
| 41 | + const uint8x16_t zero = vdupq_n_u8(0); | ||
| 42 | + const uint8x16_t carries = vextq_u8(msb, zero, 1); | ||
| 43 | + v = vreinterpretq_u64_u8(vorrq_u8(shl, carries)); | ||
| 44 | STORE128(ip16, v); | ||
| 45 | } | ||
| 46 | |||
| 47 | -- | ||
| 48 | 2.47.3 | ||
| 49 | |||
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.21.bb b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.22.bb index a1647d2a30..fbd14a8181 100644 --- a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.21.bb +++ b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.22.bb | |||
| @@ -4,10 +4,8 @@ BUGTRACKER = "https://github.com/jedisct1/libsodium/issues" | |||
| 4 | LICENSE = "ISC" | 4 | LICENSE = "ISC" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4942a8ebbbc7f2212bd68a47df264a4f" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4942a8ebbbc7f2212bd68a47df264a4f" |
| 6 | 6 | ||
| 7 | SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz \ | 7 | SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz" |
| 8 | file://0001-Fix-compilation-with-GCC-on-aarch64.patch \ | 8 | SRC_URI[sha256sum] = "adbdd8f16149e81ac6078a03aca6fc03b592b89ef7b5ed83841c086191be3349" |
| 9 | " | ||
| 10 | SRC_URI[sha256sum] = "9e4285c7a419e82dedb0be63a72eea357d6943bc3e28e6735bf600dd4883feaf" | ||
| 11 | 9 | ||
| 12 | 10 | ||
| 13 | inherit autotools | 11 | inherit autotools |
diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb index cc0e887ea5..b810911b98 100644 --- a/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb +++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb | |||
| @@ -41,6 +41,7 @@ PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" | |||
| 41 | PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" | 41 | PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" |
| 42 | PACKAGECONFIG[liburing] = "-DWITH_LIBURING=ON,-DWITH_LIBURING=OFF,liburing" | 42 | PACKAGECONFIG[liburing] = "-DWITH_LIBURING=ON,-DWITH_LIBURING=OFF,liburing" |
| 43 | PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" | 43 | PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" |
| 44 | PACKAGECONFIG[rocksdb_static] = "-DROCKSDB_BUILD_STATIC=ON, -DROCKSDB_BUILD_STATIC=OFF" | ||
| 44 | 45 | ||
| 45 | # Tools and tests currently don't compile on armv5 so we disable them | 46 | # Tools and tests currently don't compile on armv5 so we disable them |
| 46 | EXTRA_OECMAKE = "\ | 47 | EXTRA_OECMAKE = "\ |
| @@ -49,7 +50,6 @@ EXTRA_OECMAKE = "\ | |||
| 49 | -DWITH_BENCHMARK_TOOLS=OFF \ | 50 | -DWITH_BENCHMARK_TOOLS=OFF \ |
| 50 | -DWITH_TOOLS=OFF \ | 51 | -DWITH_TOOLS=OFF \ |
| 51 | -DFAIL_ON_WARNINGS=OFF \ | 52 | -DFAIL_ON_WARNINGS=OFF \ |
| 52 | -DROCKSDB_BUILD_STATIC=OFF \ | ||
| 53 | " | 53 | " |
| 54 | 54 | ||
| 55 | CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" | 55 | CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" |
diff --git a/meta-oe/recipes-devtools/b4/b4_0.15.1.bb b/meta-oe/recipes-devtools/b4/b4_0.15.2.bb index beb8dcbd27..002f6ccfeb 100644 --- a/meta-oe/recipes-devtools/b4/b4_0.15.1.bb +++ b/meta-oe/recipes-devtools/b4/b4_0.15.2.bb | |||
| @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | |||
| 5 | 5 | ||
| 6 | inherit pypi python_pep517 python_setuptools_build_meta | 6 | inherit pypi python_pep517 python_setuptools_build_meta |
| 7 | 7 | ||
| 8 | SRC_URI[sha256sum] = "e48c44bb579fadabb1fc3f15bf1874afd721bc1a63fba10c96f568bc1f47ccb3" | 8 | SRC_URI[sha256sum] = "b815f2aed2288718cfe2a14c76421a00bc4f0918ea32b45dd1645c999fdda69d" |
| 9 | 9 | ||
| 10 | RDEPENDS:${PN} += " \ | 10 | RDEPENDS:${PN} += " \ |
| 11 | python3-mailbox \ | 11 | python3-mailbox \ |
diff --git a/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb b/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb index 77f8905358..9cb2a51879 100644 --- a/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb +++ b/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb | |||
| @@ -26,3 +26,5 @@ FILES:${PN}-utils = "${bindir}" | |||
| 26 | BBCLASSEXTEND = "native" | 26 | BBCLASSEXTEND = "native" |
| 27 | 27 | ||
| 28 | RDEPENDS:${PN}-utils = "perl" | 28 | RDEPENDS:${PN}-utils = "perl" |
| 29 | |||
| 30 | CVE_STATUS[CVE-2026-23868] = "fixed-version: fixed since v6.1.2" | ||
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 0000000000..12a64a75ed --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/0001-Support-building-with-disable-maintainer-mode-and-so.patch | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | From 27f417f4812e688a59fc5186b7768cec004cd6e5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Peter Kjellerstedt <peter.kjellerstedt@gmail.com> | ||
| 3 | Date: Wed, 8 Apr 2026 05:58:49 +0200 | ||
| 4 | Subject: [PATCH] Support building with --disable-maintainer-mode and source != | ||
| 5 | build dir (#3518) | ||
| 6 | |||
| 7 | If --disable-maintainer-mode is enabled, then the rules for generating | ||
| 8 | parser.[ch] and lexer.[ch] did nothing. This worked fine if the source | ||
| 9 | and build directories are the same as the pre-generated parser.c and | ||
| 10 | lexer.c files would suffice. However, if the build directory is not the | ||
| 11 | same as the source directory, then the rest of the Make rules expect | ||
| 12 | parser.[ch] and lexer.[ch] to have been created in the build directory | ||
| 13 | if their source files (parser.y and lexer.l) are newer than the target | ||
| 14 | files, which can happen in case the source is fetched using Git. | ||
| 15 | |||
| 16 | Avoid the problem by copying the files to the build directory if needed. | ||
| 17 | |||
| 18 | Co-authored-by: Peter Kjellerstedt <pkj@axis.com> | ||
| 19 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/27f417f4812e688a59fc5186b7768cec004cd6e5] | ||
| 20 | --- | ||
| 21 | Makefile.am | 9 +++++++-- | ||
| 22 | 1 file changed, 7 insertions(+), 2 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/Makefile.am b/Makefile.am | ||
| 25 | index 96d6038..acb9443 100644 | ||
| 26 | --- a/Makefile.am | ||
| 27 | +++ b/Makefile.am | ||
| 28 | @@ -41,9 +41,14 @@ src/lexer.h: src/lexer.c | ||
| 29 | else | ||
| 30 | BUILT_SOURCES = src/builtin.inc src/config_opts.inc src/version.h | ||
| 31 | .y.c: | ||
| 32 | - $(AM_V_YACC) echo "NOT building parser.c!" | ||
| 33 | + $(AM_V_YACC) [ "$(<D)" = "$(@D)" ] || cp $(<D)/$(@F) $@ | ||
| 34 | + $(AM_V_YACC) [ "$(<D)" = "$(@D)" ] || cp $(<D)/$(*F).h $*.h | ||
| 35 | + $(AM_V_YACC) touch $@ $*.h | ||
| 36 | + | ||
| 37 | .l.c: | ||
| 38 | - $(AM_V_LEX) echo "NOT building lexer.c!" | ||
| 39 | + $(AM_V_LEX) [ "$(<D)" = "$(@D)" ] || cp $(<D)/$(@F) $@ | ||
| 40 | + $(AM_V_LEX) [ "$(<D)" = "$(@D)" ] || cp $(<D)/$(*F).h $*.h | ||
| 41 | + $(AM_V_LEX) touch $@ $*.h | ||
| 42 | endif | ||
| 43 | |||
| 44 | # Tell YACC (Bison) autoconf macros that you want a header file created. | ||
diff --git a/meta-oe/recipes-devtools/jq/jq/CVE-2026-32316.patch b/meta-oe/recipes-devtools/jq/jq/CVE-2026-32316.patch new file mode 100644 index 0000000000..1277b356d8 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-32316.patch | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | From 321e62b356df2d4ed47aba4f3818e447ec4d77fc Mon Sep 17 00:00:00 2001 | ||
| 2 | From: itchyny <itchyny@cybozu.co.jp> | ||
| 3 | Date: Thu, 12 Mar 2026 20:28:43 +0900 | ||
| 4 | Subject: [PATCH] Fix heap buffer overflow in `jvp_string_append` and | ||
| 5 | `jvp_string_copy_replace_bad` | ||
| 6 | |||
| 7 | In `jvp_string_append`, the allocation size `(currlen + len) * 2` could | ||
| 8 | overflow `uint32_t` when `currlen + len` exceeds `INT_MAX`, causing a small | ||
| 9 | allocation followed by a large `memcpy`. | ||
| 10 | |||
| 11 | In `jvp_string_copy_replace_bad`, the output buffer size calculation | ||
| 12 | `length * 3 + 1` could overflow `uint32_t`, again resulting in a small | ||
| 13 | allocation followed by a large write. | ||
| 14 | |||
| 15 | Add overflow checks to both functions to return an error for strings | ||
| 16 | that would exceed `INT_MAX` in length. Fixes CVE-2026-32316. | ||
| 17 | |||
| 18 | CVE: CVE-2026-32316 | ||
| 19 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/e47e56d226519635768e6aab2f38f0ab037c09e5] | ||
| 20 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 21 | --- | ||
| 22 | src/jv.c | 11 ++++++++++- | ||
| 23 | 1 file changed, 10 insertions(+), 1 deletion(-) | ||
| 24 | |||
| 25 | diff --git a/src/jv.c b/src/jv.c | ||
| 26 | index e4529a4..74be05a 100644 | ||
| 27 | --- a/src/jv.c | ||
| 28 | +++ b/src/jv.c | ||
| 29 | @@ -1114,7 +1114,12 @@ static jv jvp_string_copy_replace_bad(const char* data, uint32_t length) { | ||
| 30 | const char* end = data + length; | ||
| 31 | const char* i = data; | ||
| 32 | |||
| 33 | - uint32_t maxlength = length * 3 + 1; // worst case: all bad bytes, each becomes a 3-byte U+FFFD | ||
| 34 | + // worst case: all bad bytes, each becomes a 3-byte U+FFFD | ||
| 35 | + uint64_t maxlength = (uint64_t)length * 3 + 1; | ||
| 36 | + if (maxlength >= INT_MAX) { | ||
| 37 | + return jv_invalid_with_msg(jv_string("String too long")); | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | jvp_string* s = jvp_string_alloc(maxlength); | ||
| 41 | char* out = s->data; | ||
| 42 | int c = 0; | ||
| 43 | @@ -1174,6 +1179,10 @@ static uint32_t jvp_string_remaining_space(jvp_string* s) { | ||
| 44 | static jv jvp_string_append(jv string, const char* data, uint32_t len) { | ||
| 45 | jvp_string* s = jvp_string_ptr(string); | ||
| 46 | uint32_t currlen = jvp_string_length(s); | ||
| 47 | + if ((uint64_t)currlen + len >= INT_MAX) { | ||
| 48 | + jv_free(string); | ||
| 49 | + return jv_invalid_with_msg(jv_string("String too long")); | ||
| 50 | + } | ||
| 51 | |||
| 52 | if (jvp_refcnt_unshared(string.u.ptr) && | ||
| 53 | 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 0000000000..69a8381f06 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33947.patch | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | From 5fd935884a6f5b3d8ecdcacfc5d3982140f3a478 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: itchyny <itchyny@cybozu.co.jp> | ||
| 3 | Date: Mon, 13 Apr 2026 11:23:40 +0900 | ||
| 4 | Subject: [PATCH] Limit path depth to prevent stack overflow | ||
| 5 | |||
| 6 | Deeply nested path arrays can cause unbounded recursion in | ||
| 7 | `jv_setpath`, `jv_getpath`, and `jv_delpaths`, leading to | ||
| 8 | stack overflow. Add a depth limit of 10000 to match the | ||
| 9 | existing `tojson` depth limit. This fixes CVE-2026-33947. | ||
| 10 | |||
| 11 | CVE: CVE-2026-33947 | ||
| 12 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/fb59f1491058d58bdc3e8dd28f1773d1ac690a1f] | ||
| 13 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 14 | --- | ||
| 15 | src/jv_aux.c | 21 +++++++++++++++++++++ | ||
| 16 | tests/jq.test | 25 +++++++++++++++++++++++++ | ||
| 17 | 2 files changed, 46 insertions(+) | ||
| 18 | |||
| 19 | diff --git a/src/jv_aux.c b/src/jv_aux.c | ||
| 20 | index bc1405f..594a21f 100644 | ||
| 21 | --- a/src/jv_aux.c | ||
| 22 | +++ b/src/jv_aux.c | ||
| 23 | @@ -375,6 +375,10 @@ static jv jv_dels(jv t, jv keys) { | ||
| 24 | return t; | ||
| 25 | } | ||
| 26 | |||
| 27 | +#ifndef MAX_PATH_DEPTH | ||
| 28 | +#define MAX_PATH_DEPTH (10000) | ||
| 29 | +#endif | ||
| 30 | + | ||
| 31 | jv jv_setpath(jv root, jv path, jv value) { | ||
| 32 | if (jv_get_kind(path) != JV_KIND_ARRAY) { | ||
| 33 | jv_free(value); | ||
| 34 | @@ -382,6 +386,12 @@ jv jv_setpath(jv root, jv path, jv value) { | ||
| 35 | jv_free(path); | ||
| 36 | return jv_invalid_with_msg(jv_string("Path must be specified as an array")); | ||
| 37 | } | ||
| 38 | + if (jv_array_length(jv_copy(path)) > MAX_PATH_DEPTH) { | ||
| 39 | + jv_free(value); | ||
| 40 | + jv_free(root); | ||
| 41 | + jv_free(path); | ||
| 42 | + return jv_invalid_with_msg(jv_string("Path too deep")); | ||
| 43 | + } | ||
| 44 | if (!jv_is_valid(root)){ | ||
| 45 | jv_free(value); | ||
| 46 | jv_free(path); | ||
| 47 | @@ -434,6 +444,11 @@ jv jv_getpath(jv root, jv path) { | ||
| 48 | jv_free(path); | ||
| 49 | return jv_invalid_with_msg(jv_string("Path must be specified as an array")); | ||
| 50 | } | ||
| 51 | + if (jv_array_length(jv_copy(path)) > MAX_PATH_DEPTH) { | ||
| 52 | + jv_free(root); | ||
| 53 | + jv_free(path); | ||
| 54 | + return jv_invalid_with_msg(jv_string("Path too deep")); | ||
| 55 | + } | ||
| 56 | if (!jv_is_valid(root)) { | ||
| 57 | jv_free(path); | ||
| 58 | return root; | ||
| 59 | @@ -511,6 +526,12 @@ jv jv_delpaths(jv object, jv paths) { | ||
| 60 | jv_free(elem); | ||
| 61 | return err; | ||
| 62 | } | ||
| 63 | + if (jv_array_length(jv_copy(elem)) > MAX_PATH_DEPTH) { | ||
| 64 | + jv_free(object); | ||
| 65 | + jv_free(paths); | ||
| 66 | + jv_free(elem); | ||
| 67 | + return jv_invalid_with_msg(jv_string("Path too deep")); | ||
| 68 | + } | ||
| 69 | jv_free(elem); | ||
| 70 | } | ||
| 71 | if (jv_array_length(jv_copy(paths)) == 0) { | ||
| 72 | diff --git a/tests/jq.test b/tests/jq.test | ||
| 73 | index 4ecf72f..6186d8b 100644 | ||
| 74 | --- a/tests/jq.test | ||
| 75 | +++ b/tests/jq.test | ||
| 76 | @@ -2507,3 +2507,28 @@ strflocaltime("" | ., @uri) | ||
| 77 | 0 | ||
| 78 | "" | ||
| 79 | "" | ||
| 80 | + | ||
| 81 | +# regression test for CVE-2026-33947 | ||
| 82 | +setpath([range(10000) | 0]; 0) | flatten | ||
| 83 | +null | ||
| 84 | +[0] | ||
| 85 | + | ||
| 86 | +try setpath([range(10001) | 0]; 0) catch . | ||
| 87 | +null | ||
| 88 | +"Path too deep" | ||
| 89 | + | ||
| 90 | +getpath([range(10000) | 0]) | ||
| 91 | +null | ||
| 92 | +null | ||
| 93 | + | ||
| 94 | +try getpath([range(10001) | 0]) catch . | ||
| 95 | +null | ||
| 96 | +"Path too deep" | ||
| 97 | + | ||
| 98 | +delpaths([[range(10000) | 0]]) | ||
| 99 | +null | ||
| 100 | +null | ||
| 101 | + | ||
| 102 | +try delpaths([[range(10001) | 0]]) catch . | ||
| 103 | +null | ||
| 104 | +"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 0000000000..8625429c74 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33948.patch | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | From 19a792c4cdb6b91c056eac033ac3367af6e67755 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: itchyny <itchyny@cybozu.co.jp> | ||
| 3 | Date: Mon, 13 Apr 2026 08:46:11 +0900 | ||
| 4 | Subject: [PATCH] Fix NUL truncation in the JSON parser | ||
| 5 | |||
| 6 | This fixes CVE-2026-33948. | ||
| 7 | |||
| 8 | CVE: CVE-2026-33948 | ||
| 9 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b] | ||
| 10 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 11 | --- | ||
| 12 | src/util.c | 8 +------- | ||
| 13 | tests/shtest | 6 ++++++ | ||
| 14 | 2 files changed, 7 insertions(+), 7 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/util.c b/src/util.c | ||
| 17 | index bcb86da..60ec4d5 100644 | ||
| 18 | --- a/src/util.c | ||
| 19 | +++ b/src/util.c | ||
| 20 | @@ -309,13 +309,7 @@ static int jq_util_input_read_more(jq_util_input_state *state) { | ||
| 21 | if (p != NULL) | ||
| 22 | state->current_line++; | ||
| 23 | |||
| 24 | - if (p == NULL && state->parser != NULL) { | ||
| 25 | - /* | ||
| 26 | - * There should be no NULs in JSON texts (but JSON text | ||
| 27 | - * sequences are another story). | ||
| 28 | - */ | ||
| 29 | - state->buf_valid_len = strlen(state->buf); | ||
| 30 | - } else if (p == NULL && feof(state->current_input)) { | ||
| 31 | + if (p == NULL && feof(state->current_input)) { | ||
| 32 | size_t i; | ||
| 33 | |||
| 34 | /* | ||
| 35 | diff --git a/tests/shtest b/tests/shtest | ||
| 36 | index 887a6bb..a046afe 100755 | ||
| 37 | --- a/tests/shtest | ||
| 38 | +++ b/tests/shtest | ||
| 39 | @@ -842,4 +842,10 @@ if ! $msys && ! $mingw; then | ||
| 40 | fi | ||
| 41 | fi | ||
| 42 | |||
| 43 | +# CVE-2026-33948: No NUL truncation in the JSON parser | ||
| 44 | +if printf '{}\x00{}' | $JQ >/dev/null 2> /dev/null; then | ||
| 45 | + printf 'Error expected but jq exited successfully\n' 1>&2 | ||
| 46 | + exit 1 | ||
| 47 | +fi | ||
| 48 | + | ||
| 49 | 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 0000000000..40c57a46a0 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-39979.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From ac09f274b6c029a23e3dffc38afac819b5daacc4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: itchyny <itchyny@cybozu.co.jp> | ||
| 3 | Date: Mon, 13 Apr 2026 11:04:52 +0900 | ||
| 4 | Subject: [PATCH] Fix out-of-bounds read in jv_parse_sized() | ||
| 5 | |||
| 6 | This fixes CVE-2026-39979. | ||
| 7 | |||
| 8 | Co-authored-by: Mattias Wadman <mattias.wadman@gmail.com> | ||
| 9 | |||
| 10 | CVE: CVE-2026-39979 | ||
| 11 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/2f09060afab23fe9390cce7cb860b10416e1bf5f] | ||
| 12 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 13 | --- | ||
| 14 | src/jv_parse.c | 3 ++- | ||
| 15 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/src/jv_parse.c b/src/jv_parse.c | ||
| 18 | index ffcf51f..e6b8aa9 100644 | ||
| 19 | --- a/src/jv_parse.c | ||
| 20 | +++ b/src/jv_parse.c | ||
| 21 | @@ -892,8 +892,9 @@ jv jv_parse_sized_custom_flags(const char* string, int length, int flags) { | ||
| 22 | |||
| 23 | if (!jv_is_valid(value) && jv_invalid_has_msg(jv_copy(value))) { | ||
| 24 | jv msg = jv_invalid_get_msg(value); | ||
| 25 | - value = jv_invalid_with_msg(jv_string_fmt("%s (while parsing '%s')", | ||
| 26 | + value = jv_invalid_with_msg(jv_string_fmt("%s (while parsing '%.*s')", | ||
| 27 | jv_string_value(msg), | ||
| 28 | + length, | ||
| 29 | string)); | ||
| 30 | jv_free(msg); | ||
| 31 | } | ||
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 b9383c76f7..026f6bfa71 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" | |||
| 8 | LICENSE = "MIT & BSD-2-Clause" | 8 | LICENSE = "MIT & BSD-2-Clause" |
| 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=cf7fcb0a1def4a7ad62c028f7d0dca47" | 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=cf7fcb0a1def4a7ad62c028f7d0dca47" |
| 10 | 10 | ||
| 11 | GITHUB_BASE_URI = "https://github.com/jqlang/${BPN}/releases/" | 11 | SRCREV = "4467af7068b1bcd7f882defff6e7ea674c5357f4" |
| 12 | SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ | ||
| 13 | file://run-ptest \ | ||
| 14 | " | ||
| 15 | SRC_URI[sha256sum] = "2be64e7129cecb11d5906290eba10af694fb9e3e7f9fc208a311dc33ca837eb0" | ||
| 16 | 12 | ||
| 17 | inherit autotools github-releases ptest | 13 | SRC_URI = "git://github.com/jqlang/jq.git;protocol=https;branch=master;tag=jq-${PV} \ |
| 14 | file://run-ptest \ | ||
| 15 | file://0001-Support-building-with-disable-maintainer-mode-and-so.patch \ | ||
| 16 | file://CVE-2026-32316.patch \ | ||
| 17 | file://CVE-2026-33947.patch \ | ||
| 18 | file://CVE-2026-33948.patch \ | ||
| 19 | file://CVE-2026-39979.patch \ | ||
| 20 | " | ||
| 18 | 21 | ||
| 19 | UPSTREAM_CHECK_REGEX = "releases/tag/${BPN}-(?P<pver>\d+(\.\d+)+)" | 22 | inherit autotools ptest |
| 23 | |||
| 24 | UPSTREAM_CHECK_GITTAGREGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)" | ||
| 20 | 25 | ||
| 21 | PACKAGECONFIG ?= "oniguruma" | 26 | PACKAGECONFIG ?= "oniguruma" |
| 22 | 27 | ||
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 0000000000..2cb892b187 --- /dev/null +++ b/meta-oe/recipes-devtools/jsoncpp/files/run-ptest | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | cd src | ||
| 4 | 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_1.9.7.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb index b70a84304f..797f093f33 100644 --- a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb +++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb | |||
| @@ -14,11 +14,33 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926" | |||
| 14 | PE = "1" | 14 | PE = "1" |
| 15 | 15 | ||
| 16 | SRCREV = "3455302847cf1e4671f1d8f5fa953fd46a7b1404" | 16 | SRCREV = "3455302847cf1e4671f1d8f5fa953fd46a7b1404" |
| 17 | SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https;tag=${PV}" | 17 | SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https;tag=${PV} \ |
| 18 | 18 | file://run-ptest \ | |
| 19 | 19 | " | |
| 20 | inherit cmake | 20 | |
| 21 | 21 | inherit cmake ptest | |
| 22 | EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF -DJSONCPP_WITH_TESTS=OFF" | 22 | |
| 23 | EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF \ | ||
| 24 | ${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSONCPP_WITH_TESTS=ON -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF', '-DJSONCPP_WITH_TESTS=OFF', d)} \ | ||
| 25 | " | ||
| 26 | |||
| 27 | DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)}" | ||
| 28 | RDEPENDS:${PN}-ptest += "cmake python3-core" | ||
| 29 | |||
| 30 | do_install_ptest () { | ||
| 31 | cp -r ${B}/bin ${D}${PTEST_PATH} | ||
| 32 | cp -r ${S}/test ${D}${PTEST_PATH} | ||
| 33 | |||
| 34 | rsync -a ${B}/src ${D}${PTEST_PATH} \ | ||
| 35 | --exclude CMakeFiles \ | ||
| 36 | --exclude cmake_install.cmake \ | ||
| 37 | --exclude Makefile \ | ||
| 38 | --exclude generated | ||
| 39 | sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 40 | sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 41 | sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 42 | sed -i -e 's#${PYTHON}#/usr/bin/python3#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 43 | sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 44 | } | ||
| 23 | 45 | ||
| 24 | BBCLASSEXTEND = "native nativesdk" | 46 | BBCLASSEXTEND = "native nativesdk" |
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 0000000000..5bff81eaf6 --- /dev/null +++ b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From 6af7de3d5eaae59c53c42aab8eca1e1e9a365da5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Steffen Winter <steffen.winter@proton.me> | ||
| 3 | Date: Thu, 25 Dec 2025 20:48:02 +0100 | ||
| 4 | Subject: [PATCH] Remove more whitespaces after operator"" | ||
| 5 | |||
| 6 | Upstream-Status: Submitted [https://github.com/ToruNiina/toml11/pull/306] | ||
| 7 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 8 | --- | ||
| 9 | include/toml11/fwd/literal_fwd.hpp | 4 ++-- | ||
| 10 | include/toml11/impl/literal_impl.hpp | 4 ++-- | ||
| 11 | 2 files changed, 4 insertions(+), 4 deletions(-) | ||
| 12 | |||
| 13 | --- a/include/toml11/fwd/literal_fwd.hpp | ||
| 14 | +++ b/include/toml11/fwd/literal_fwd.hpp | ||
| 15 | @@ -24,7 +24,7 @@ inline namespace toml_literals | ||
| 16 | #if defined(TOML11_HAS_CHAR8_T) | ||
| 17 | // value of u8"" literal has been changed from char to char8_t and char8_t is | ||
| 18 | // NOT compatible to char | ||
| 19 | -::toml::value operator"" _toml(const char8_t* str, std::size_t len); | ||
| 20 | +::toml::value operator""_toml(const char8_t* str, std::size_t len); | ||
| 21 | #endif | ||
| 22 | |||
| 23 | } // toml_literals | ||
| 24 | --- a/include/toml11/impl/literal_impl.hpp | ||
| 25 | +++ b/include/toml11/impl/literal_impl.hpp | ||
| 26 | @@ -146,7 +146,7 @@ operator""_toml(const char* str, std::si | ||
| 27 | // value of u8"" literal has been changed from char to char8_t and char8_t is | ||
| 28 | // NOT compatible to char | ||
| 29 | TOML11_INLINE ::toml::value | ||
| 30 | -operator"" _toml(const char8_t* str, std::size_t len) | ||
| 31 | +operator""_toml(const char8_t* str, std::size_t len) | ||
| 32 | { | ||
| 33 | if(len == 0) | ||
| 34 | { | ||
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 7e097e4612..49f9840f06 100644 --- a/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb +++ b/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb | |||
| @@ -16,12 +16,15 @@ PE = "1" | |||
| 16 | SRC_URI = "\ | 16 | SRC_URI = "\ |
| 17 | gitsm://github.com/ToruNiina/toml11.git;protocol=https;branch=main;tag=v${PV} \ | 17 | gitsm://github.com/ToruNiina/toml11.git;protocol=https;branch=main;tag=v${PV} \ |
| 18 | file://0001-Remove-whitespace-in-operator.patch \ | 18 | file://0001-Remove-whitespace-in-operator.patch \ |
| 19 | file://0001-Remove-more-whitespaces-after-operator.patch \ | ||
| 19 | file://run-ptest \ | 20 | file://run-ptest \ |
| 20 | " | 21 | " |
| 21 | SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286" | 22 | SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286" |
| 22 | 23 | ||
| 23 | inherit cmake ptest | 24 | inherit cmake ptest |
| 24 | 25 | ||
| 26 | CXXFLAGS:append:toolchain-clang = " -Wno-error=c2y-extensions" | ||
| 27 | |||
| 25 | EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \ | 28 | EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \ |
| 26 | -DTOML11_BUILD_TESTS=${@bb.utils.contains("PTEST_ENABLED", "1", "ON", "OFF", d)} \ | 29 | -DTOML11_BUILD_TESTS=${@bb.utils.contains("PTEST_ENABLED", "1", "ON", "OFF", d)} \ |
| 27 | " | 30 | " |
diff --git a/meta-oe/recipes-devtools/lshw/lshw_02.20.bb b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb index 95e2084255..2f1367341a 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}'" | |||
| 32 | 32 | ||
| 33 | do_compile() { | 33 | do_compile() { |
| 34 | # build core only - don't ship gui | 34 | # build core only - don't ship gui |
| 35 | oe_runmake -C src core | 35 | oe_runmake -C src SBINDIR=${sbindir} core |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | do_install() { | 38 | do_install() { |
| 39 | oe_runmake install DESTDIR=${D} | 39 | oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | BBCLASSEXTEND = "native" | 42 | 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 61932269bd..0000000000 --- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch +++ /dev/null | |||
| @@ -1,86 +0,0 @@ | |||
| 1 | From 491b3b153f6b5cbf2d23a9778e5676eb29a6705f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 6 Feb 2023 16:37:19 -0800 | ||
| 4 | Subject: [PATCH] Fix type of single bit bitfields | ||
| 5 | |||
| 6 | clang16 warns | ||
| 7 | 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] | ||
| 8 | |||
| 9 | quash the warning by using an unsigned type to allow | ||
| 10 | an assignment of 0 or 1 without implicit conversion. | ||
| 11 | |||
| 12 | Upstream-Status: Pending | ||
| 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 14 | --- | ||
| 15 | library.h | 6 +++--- | ||
| 16 | prototype.h | 2 +- | ||
| 17 | sysdeps/linux-gnu/trace.h | 10 +++++----- | ||
| 18 | 3 files changed, 9 insertions(+), 9 deletions(-) | ||
| 19 | |||
| 20 | --- a/library.h | ||
| 21 | +++ b/library.h | ||
| 22 | @@ -71,20 +71,20 @@ struct library_symbol { | ||
| 23 | * looking up one in LIB->protolib. */ | ||
| 24 | struct prototype *proto; | ||
| 25 | |||
| 26 | - int own_name : 1; | ||
| 27 | + unsigned int own_name : 1; | ||
| 28 | |||
| 29 | /* This is relevant for PLT symbols. Latent PLT symbols are | ||
| 30 | * those that don't match any of the -e rules, but that might | ||
| 31 | * potentially become active if a library implementing them | ||
| 32 | * appears that matches a -l rule. Ltrace core is responsible | ||
| 33 | * for clearing latent flag. */ | ||
| 34 | - int latent : 1; | ||
| 35 | + unsigned latent : 1; | ||
| 36 | |||
| 37 | /* Delayed symbols are those for which a breakpoint shouldn't | ||
| 38 | * be enabled yet. They are similar to latent symbols, but | ||
| 39 | * backend is responsible for clearing the delayed flag. See | ||
| 40 | * proc_activate_delayed_symbol. */ | ||
| 41 | - int delayed : 1; | ||
| 42 | + unsigned int delayed : 1; | ||
| 43 | |||
| 44 | struct arch_library_symbol_data arch; | ||
| 45 | struct os_library_symbol_data os; | ||
| 46 | --- a/prototype.h | ||
| 47 | +++ b/prototype.h | ||
| 48 | @@ -162,7 +162,7 @@ struct protolib_cache { | ||
| 49 | |||
| 50 | /* For tracking uses of cache during cache's own | ||
| 51 | * initialization. */ | ||
| 52 | - int bootstrap : 1; | ||
| 53 | + unsigned int bootstrap : 1; | ||
| 54 | }; | ||
| 55 | |||
| 56 | /* Initialize CACHE. Returns 0 on success or a negative value on | ||
| 57 | --- a/sysdeps/linux-gnu/trace.h | ||
| 58 | +++ b/sysdeps/linux-gnu/trace.h | ||
| 59 | @@ -33,11 +33,11 @@ | ||
| 60 | struct pid_task { | ||
| 61 | pid_t pid; /* This may be 0 for tasks that exited | ||
| 62 | * mid-handling. */ | ||
| 63 | - int sigstopped : 1; | ||
| 64 | - int got_event : 1; | ||
| 65 | - int delivered : 1; | ||
| 66 | - int vforked : 1; | ||
| 67 | - int sysret : 1; | ||
| 68 | + unsigned int sigstopped : 1; | ||
| 69 | + unsigned int got_event : 1; | ||
| 70 | + unsigned int delivered : 1; | ||
| 71 | + unsigned int vforked : 1; | ||
| 72 | + unsigned int sysret : 1; | ||
| 73 | }; | ||
| 74 | |||
| 75 | struct pid_set { | ||
| 76 | --- a/sysdeps/linux-gnu/trace.c | ||
| 77 | +++ b/sysdeps/linux-gnu/trace.c | ||
| 78 | @@ -1043,7 +1043,7 @@ ltrace_exiting_install_handler(struct pr | ||
| 79 | struct process_vfork_handler | ||
| 80 | { | ||
| 81 | struct event_handler super; | ||
| 82 | - int vfork_bp_refd:1; | ||
| 83 | + unsigned int vfork_bp_refd:1; | ||
| 84 | }; | ||
| 85 | |||
| 86 | 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 f3a6d9e599..0000000000 --- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | From c1d3aaf5ec810c2594938438c7b4ccd20943f255 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 7 Jul 2017 10:20:52 -0700 | ||
| 4 | Subject: [PATCH] configure: Recognise linux-musl as a host OS | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 7 | --- | ||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | configure.ac | 1 + | ||
| 11 | 1 file changed, 1 insertion(+) | ||
| 12 | |||
| 13 | diff --git a/configure.ac b/configure.ac | ||
| 14 | index 3e8667f..95d6642 100644 | ||
| 15 | --- a/configure.ac | ||
| 16 | +++ b/configure.ac | ||
| 17 | @@ -35,6 +35,7 @@ AC_CANONICAL_HOST | ||
| 18 | case "${host_os}" in | ||
| 19 | linux-gnu*) HOST_OS="linux-gnu" ;; | ||
| 20 | linux-uclibc*) HOST_OS="linux-gnu" ;; | ||
| 21 | + linux-musl*) HOST_OS="linux-gnu" ;; | ||
| 22 | *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;; | ||
| 23 | esac | ||
| 24 | AC_SUBST(HOST_OS) | ||
| 25 | -- | ||
| 26 | 2.13.2 | ||
| 27 | |||
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 0000000000..e7aa0fdabe --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From d568c0cbdecf31a7020f2a0574470d014f447a86 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sun, 12 Apr 2026 00:07:06 -0700 | ||
| 4 | Subject: [PATCH] dwarf_prototypes: return NULL from NEXT_SIBLING on error | ||
| 5 | |||
| 6 | NEXT_SIBLING is used in functions that return pointers, so returning | ||
| 7 | false on error is misleading and relies on implicit conversion. | ||
| 8 | Return (void *)0 instead to make the failure value explicit and match | ||
| 9 | the surrounding function return type. | ||
| 10 | |||
| 11 | This is flagged by clang-22 due to | ||
| 12 | Replacing return false with return (void *)0 | ||
| 13 | avoids clang's -Wbool-conversion error when the macro expands | ||
| 14 | inside functions returning a pointer type. | ||
| 15 | |||
| 16 | Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/30] | ||
| 17 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 18 | --- | ||
| 19 | dwarf_prototypes.c | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/dwarf_prototypes.c b/dwarf_prototypes.c | ||
| 23 | index bfac177..e7ea1bc 100644 | ||
| 24 | --- a/dwarf_prototypes.c | ||
| 25 | +++ b/dwarf_prototypes.c | ||
| 26 | @@ -36,7 +36,7 @@ | ||
| 27 | #define NEXT_SIBLING(die) \ | ||
| 28 | int res = dwarf_siblingof(die, die); \ | ||
| 29 | if (res == 0) continue; /* sibling exists */ \ | ||
| 30 | - if (res < 0) return false; /* error */ \ | ||
| 31 | + if (res < 0) return (void *)0; /* error */ \ | ||
| 32 | break /* no sibling exists */ | ||
| 33 | |||
| 34 | 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 0000000000..0f8a9766f4 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch | |||
| @@ -0,0 +1,86 @@ | |||
| 1 | From 65c5a621a366a25b8572cd29c01b4aa92c02903a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sun, 12 Apr 2026 00:46:20 -0700 | ||
| 4 | Subject: [PATCH] trace: fix 1-bit bitfield assignments for clang | ||
| 5 | -Wsingle-bit-bitfield-constant-conversion | ||
| 6 | |||
| 7 | Replace '1' with 'true' for all 1-bit signed bitfield assignments. | ||
| 8 | Assigning integer 1 to a 1-bit signed bitfield truncates to -1; using | ||
| 9 | 'true' which is a bool is well-defined and avoids the clang error. | ||
| 10 | |||
| 11 | Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/30] | ||
| 12 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 13 | --- | ||
| 14 | ltrace-elf.c | 2 +- | ||
| 15 | sysdeps/linux-gnu/trace.c | 12 ++++++------ | ||
| 16 | 2 files changed, 7 insertions(+), 7 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/ltrace-elf.c b/ltrace-elf.c | ||
| 19 | index beaf69f..2be609c 100644 | ||
| 20 | --- a/ltrace-elf.c | ||
| 21 | +++ b/ltrace-elf.c | ||
| 22 | @@ -819,7 +819,7 @@ mark_chain_latent(struct library_symbol *libsym) | ||
| 23 | { | ||
| 24 | for (; libsym != NULL; libsym = libsym->next) { | ||
| 25 | debug(DEBUG_FUNCTION, "marking %s latent", libsym->name); | ||
| 26 | - libsym->latent = 1; | ||
| 27 | + libsym->latent = true; | ||
| 28 | } | ||
| 29 | } | ||
| 30 | |||
| 31 | diff --git a/sysdeps/linux-gnu/trace.c b/sysdeps/linux-gnu/trace.c | ||
| 32 | index 12c8747..b7f4c57 100644 | ||
| 33 | --- a/sysdeps/linux-gnu/trace.c | ||
| 34 | +++ b/sysdeps/linux-gnu/trace.c | ||
| 35 | @@ -310,13 +310,13 @@ send_sigstop(struct process *task, void *data) | ||
| 36 | * weed out unnecessary looping. */ | ||
| 37 | if (st == PS_SLEEPING | ||
| 38 | && is_vfork_parent(task)) { | ||
| 39 | - task_info->vforked = 1; | ||
| 40 | + task_info->vforked = true; | ||
| 41 | return CBS_CONT; | ||
| 42 | } | ||
| 43 | |||
| 44 | if (task_kill(task->pid, SIGSTOP) >= 0) { | ||
| 45 | debug(DEBUG_PROCESS, "send SIGSTOP to %d", task->pid); | ||
| 46 | - task_info->sigstopped = 1; | ||
| 47 | + task_info->sigstopped = true; | ||
| 48 | } else | ||
| 49 | fprintf(stderr, | ||
| 50 | "Warning: couldn't send SIGSTOP to %d\n", task->pid); | ||
| 51 | @@ -442,7 +442,7 @@ handle_stopping_event(struct pid_task *task_info, Event **eventp) | ||
| 52 | { | ||
| 53 | /* Mark all events, so that we know whom to SIGCONT later. */ | ||
| 54 | if (task_info != NULL) | ||
| 55 | - task_info->got_event = 1; | ||
| 56 | + task_info->got_event = true; | ||
| 57 | |||
| 58 | Event *event = *eventp; | ||
| 59 | |||
| 60 | @@ -454,7 +454,7 @@ handle_stopping_event(struct pid_task *task_info, Event **eventp) | ||
| 61 | debug(DEBUG_PROCESS, "SIGSTOP delivered to %d", task_info->pid); | ||
| 62 | if (task_info->sigstopped | ||
| 63 | && !task_info->delivered) { | ||
| 64 | - task_info->delivered = 1; | ||
| 65 | + task_info->delivered = true; | ||
| 66 | *eventp = NULL; // sink the event | ||
| 67 | } else | ||
| 68 | fprintf(stderr, "suspicious: %d got SIGSTOP, but " | ||
| 69 | @@ -748,7 +748,7 @@ process_stopping_on_event(struct event_handler *super, Event *event) | ||
| 70 | debug(1, "%d LT_EV_SYSRET", event->proc->pid); | ||
| 71 | event_to_queue = 0; | ||
| 72 | if (task_info != NULL) | ||
| 73 | - task_info->sysret = 1; | ||
| 74 | + task_info->sysret = true; | ||
| 75 | } | ||
| 76 | |||
| 77 | switch (state) { | ||
| 78 | @@ -1070,7 +1070,7 @@ process_vfork_on_event(struct event_handler *super, Event *event) | ||
| 79 | &event->e_un.brk_addr, &sbp); | ||
| 80 | assert(sbp != NULL); | ||
| 81 | breakpoint_turn_on(sbp, proc->leader); | ||
| 82 | - self->vfork_bp_refd = 1; | ||
| 83 | + self->vfork_bp_refd = true; | ||
| 84 | } | ||
| 85 | break; | ||
| 86 | |||
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_0.8.1.bb index f84d989eef..77bb61830b 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_0.8.1.bb | |||
| @@ -9,25 +9,24 @@ HOMEPAGE = "http://ltrace.org/" | |||
| 9 | LICENSE = "GPL-2.0-only" | 9 | LICENSE = "GPL-2.0-only" |
| 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" | 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" |
| 11 | 11 | ||
| 12 | PE = "1" | 12 | PE = "2" |
| 13 | PV = "7.91+git" | 13 | SRCREV = "7ef6e6097586b751cce298c256a919404dab259d" |
| 14 | SRCREV = "8eabf684ba6b11ae7a1a843aca3c0657c6329d73" | ||
| 15 | 14 | ||
| 16 | DEPENDS = "elfutils" | 15 | DEPENDS = "elfutils" |
| 17 | SRC_URI = "git://gitlab.com/cespedes/ltrace.git;protocol=https;branch=main \ | 16 | SRC_URI = "git://gitlab.com/cespedes/ltrace.git;protocol=https;branch=main;tag=${PV} \ |
| 18 | file://configure-allow-to-disable-selinux-support.patch \ | 17 | file://configure-allow-to-disable-selinux-support.patch \ |
| 19 | file://0001-Use-correct-enum-type.patch \ | 18 | file://0001-Use-correct-enum-type.patch \ |
| 20 | file://0002-Fix-const-qualifier-error.patch \ | 19 | file://0002-Fix-const-qualifier-error.patch \ |
| 21 | file://0001-Add-support-for-mips64-n32-n64.patch \ | 20 | file://0001-Add-support-for-mips64-n32-n64.patch \ |
| 22 | file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ | ||
| 23 | file://0001-mips-plt.c-Delete-include-error.h.patch \ | 21 | file://0001-mips-plt.c-Delete-include-error.h.patch \ |
| 24 | file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \ | 22 | file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \ |
| 25 | file://0001-hook-Do-not-append-int-to-std-string.patch \ | 23 | file://0001-hook-Do-not-append-int-to-std-string.patch \ |
| 26 | file://0001-Bug-fix-for-data-type-length-judgment.patch \ | 24 | file://0001-Bug-fix-for-data-type-length-judgment.patch \ |
| 27 | file://0001-ppc-Remove-unused-host_powerpc64-function.patch \ | 25 | file://0001-ppc-Remove-unused-host_powerpc64-function.patch \ |
| 28 | file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \ | 26 | file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \ |
| 29 | file://0001-Fix-type-of-single-bit-bitfields.patch \ | ||
| 30 | file://0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch \ | 27 | file://0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch \ |
| 28 | file://0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch \ | ||
| 29 | file://0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch \ | ||
| 31 | " | 30 | " |
| 32 | SRC_URI:append:libc-musl = " file://add_ppc64le.patch" | 31 | SRC_URI:append:libc-musl = " file://add_ppc64le.patch" |
| 33 | 32 | ||
diff --git a/meta-oe/recipes-devtools/mpich/mpich_5.0.0.bb b/meta-oe/recipes-devtools/mpich/mpich_5.0.1.bb index 505fc6f92b..55f6cde82f 100644 --- a/meta-oe/recipes-devtools/mpich/mpich_5.0.0.bb +++ b/meta-oe/recipes-devtools/mpich/mpich_5.0.1.bb | |||
| @@ -6,7 +6,7 @@ LICENSE = "BSD-2-Clause" | |||
| 6 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a296dfb961b957b0e8adf67d8478d3d" | 6 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a296dfb961b957b0e8adf67d8478d3d" |
| 7 | 7 | ||
| 8 | SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" | 8 | SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" |
| 9 | SRC_URI[sha256sum] = "e9350e32224283e95311f22134f36c98e3cd1c665d17fae20a6cc92ed3cffe11" | 9 | SRC_URI[sha256sum] = "8c1832a13ddacf071685069f5fadfd1f2877a29e1a628652892c65211b1f3327" |
| 10 | 10 | ||
| 11 | RDEPENDS:${PN} += "bash perl libxml2" | 11 | RDEPENDS:${PN} += "bash perl libxml2" |
| 12 | 12 | ||
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb index 8bd5f008af..3a1385f70a 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb | |||
| @@ -214,3 +214,11 @@ python __anonymous () { | |||
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | BBCLASSEXTEND = "native" | 216 | BBCLASSEXTEND = "native" |
| 217 | |||
| 218 | CVE_STATUS[CVE-2026-21710] = "fixed-version: fixed since v22.22.2" | ||
| 219 | CVE_STATUS[CVE-2026-21712] = "cpe-incorrect: only v24 and v25 are affected" | ||
| 220 | CVE_STATUS[CVE-2026-21713] = "fixed-version: fixed since v22.22.2" | ||
| 221 | CVE_STATUS[CVE-2026-21714] = "fixed-version: fixed since v22.22.2" | ||
| 222 | CVE_STATUS[CVE-2026-21715] = "fixed-version: fixed since v22.22.2" | ||
| 223 | CVE_STATUS[CVE-2026-21716] = "fixed-version: fixed since v22.22.2" | ||
| 224 | CVE_STATUS[CVE-2026-21717] = "fixed-version: fixed since v22.22.2" | ||
diff --git a/meta-oe/recipes-devtools/php/php_8.5.4.bb b/meta-oe/recipes-devtools/php/php_8.5.5.bb index efa778b6d8..2924b478ad 100644 --- a/meta-oe/recipes-devtools/php/php_8.5.4.bb +++ b/meta-oe/recipes-devtools/php/php_8.5.5.bb | |||
| @@ -32,7 +32,7 @@ UPSTREAM_CHECK_REGEX = "releases/tag/php-(?P<pver>\d+(\.\d+)+)" | |||
| 32 | 32 | ||
| 33 | S = "${UNPACKDIR}/php-${PV}" | 33 | S = "${UNPACKDIR}/php-${PV}" |
| 34 | 34 | ||
| 35 | SRC_URI[sha256sum] = "2ac929a29a6b7ef4b8acec981a417b91bdf7f548f597df665cc56ab9ea95fc75" | 35 | SRC_URI[sha256sum] = "ee262beff61c431965d1f97192854b36208adeac38983c3498bb3500ae87283c" |
| 36 | 36 | ||
| 37 | CVE_STATUS_GROUPS += "CVE_STATUS_PHP" | 37 | CVE_STATUS_GROUPS += "CVE_STATUS_PHP" |
| 38 | 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." | 38 | 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." |
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 1aae1f17b0..0000000000 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch +++ /dev/null | |||
| @@ -1,1446 +0,0 @@ | |||
| 1 | From b28683f8027bf1e886b748b5603eb16d203b5a92 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 3 | Date: Sat, 8 Feb 2025 18:18:33 -0500 | ||
| 4 | Subject: [PATCH 01/11] protoc-gen-c/c_helpers.h: Move compat defines into new | ||
| 5 | header file compat.h | ||
| 6 | |||
| 7 | Upstream-Status: Backport [https://gitlab.archlinux.org/archlinux/packaging/packages/protobuf-c/-/blob/main/protobuf-30.patch] | ||
| 8 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 9 | |||
| 10 | --- | ||
| 11 | protoc-gen-c/c_field.cc | 1 + | ||
| 12 | protoc-gen-c/c_helpers.cc | 1 + | ||
| 13 | protoc-gen-c/c_helpers.h | 10 ------- | ||
| 14 | protoc-gen-c/c_message.cc | 1 + | ||
| 15 | protoc-gen-c/c_primitive_field.cc | 1 + | ||
| 16 | protoc-gen-c/compat.h | 46 +++++++++++++++++++++++++++++++ | ||
| 17 | protoc-gen-c/main.cc | 1 + | ||
| 18 | 7 files changed, 51 insertions(+), 10 deletions(-) | ||
| 19 | create mode 100644 protoc-gen-c/compat.h | ||
| 20 | |||
| 21 | diff --git a/protoc-gen-c/c_field.cc b/protoc-gen-c/c_field.cc | ||
| 22 | index 5e79967b..d6d8597e 100644 | ||
| 23 | --- a/protoc-gen-c/c_field.cc | ||
| 24 | +++ b/protoc-gen-c/c_field.cc | ||
| 25 | @@ -74,6 +74,7 @@ | ||
| 26 | #include "c_message_field.h" | ||
| 27 | #include "c_primitive_field.h" | ||
| 28 | #include "c_string_field.h" | ||
| 29 | +#include "compat.h" | ||
| 30 | |||
| 31 | namespace protobuf_c { | ||
| 32 | |||
| 33 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 34 | index 5edcf904..c38843f8 100644 | ||
| 35 | --- a/protoc-gen-c/c_helpers.cc | ||
| 36 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 37 | @@ -73,6 +73,7 @@ | ||
| 38 | #include <google/protobuf/stubs/common.h> | ||
| 39 | |||
| 40 | #include "c_helpers.h" | ||
| 41 | +#include "compat.h" | ||
| 42 | |||
| 43 | namespace protobuf_c { | ||
| 44 | |||
| 45 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 46 | index 943676e9..e69504bb 100644 | ||
| 47 | --- a/protoc-gen-c/c_helpers.h | ||
| 48 | +++ b/protoc-gen-c/c_helpers.h | ||
| 49 | @@ -186,16 +186,6 @@ inline int FieldSyntax(const google::protobuf::FieldDescriptor* field) { | ||
| 50 | return 2; | ||
| 51 | } | ||
| 52 | |||
| 53 | -// Work around changes in protobuf >= 22.x without breaking compilation against | ||
| 54 | -// older protobuf versions. | ||
| 55 | -#if GOOGLE_PROTOBUF_VERSION >= 4022000 | ||
| 56 | -# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE | ||
| 57 | -# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 58 | -# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 59 | -# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE | ||
| 60 | -# define GOOGLE_LOG ABSL_LOG | ||
| 61 | -#endif | ||
| 62 | - | ||
| 63 | } // namespace protobuf_c | ||
| 64 | |||
| 65 | #endif // PROTOBUF_C_PROTOC_GEN_C_C_HELPERS_H__ | ||
| 66 | diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc | ||
| 67 | index d4a9a01e..46413873 100644 | ||
| 68 | --- a/protoc-gen-c/c_message.cc | ||
| 69 | +++ b/protoc-gen-c/c_message.cc | ||
| 70 | @@ -78,6 +78,7 @@ | ||
| 71 | #include "c_extension.h" | ||
| 72 | #include "c_helpers.h" | ||
| 73 | #include "c_message.h" | ||
| 74 | +#include "compat.h" | ||
| 75 | |||
| 76 | namespace protobuf_c { | ||
| 77 | |||
| 78 | diff --git a/protoc-gen-c/c_primitive_field.cc b/protoc-gen-c/c_primitive_field.cc | ||
| 79 | index 253b00bd..588f60e6 100644 | ||
| 80 | --- a/protoc-gen-c/c_primitive_field.cc | ||
| 81 | +++ b/protoc-gen-c/c_primitive_field.cc | ||
| 82 | @@ -67,6 +67,7 @@ | ||
| 83 | |||
| 84 | #include "c_helpers.h" | ||
| 85 | #include "c_primitive_field.h" | ||
| 86 | +#include "compat.h" | ||
| 87 | |||
| 88 | namespace protobuf_c { | ||
| 89 | |||
| 90 | diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h | ||
| 91 | new file mode 100644 | ||
| 92 | index 00000000..2ee78281 | ||
| 93 | --- /dev/null | ||
| 94 | +++ b/protoc-gen-c/compat.h | ||
| 95 | @@ -0,0 +1,46 @@ | ||
| 96 | +// Copyright (c) 2008-2025, Dave Benson and the protobuf-c authors. | ||
| 97 | +// All rights reserved. | ||
| 98 | +// | ||
| 99 | +// Redistribution and use in source and binary forms, with or without | ||
| 100 | +// modification, are permitted provided that the following conditions are | ||
| 101 | +// met: | ||
| 102 | +// | ||
| 103 | +// * Redistributions of source code must retain the above copyright | ||
| 104 | +// notice, this list of conditions and the following disclaimer. | ||
| 105 | +// | ||
| 106 | +// * Redistributions in binary form must reproduce the above | ||
| 107 | +// copyright notice, this list of conditions and the following disclaimer | ||
| 108 | +// in the documentation and/or other materials provided with the | ||
| 109 | +// distribution. | ||
| 110 | +// | ||
| 111 | +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| 112 | +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| 113 | +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
| 114 | +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| 115 | +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| 116 | +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 117 | +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| 118 | +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| 119 | +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| 120 | +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| 121 | +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 122 | + | ||
| 123 | +#ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 124 | +#define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 125 | + | ||
| 126 | +#if GOOGLE_PROTOBUF_VERSION >= 4022000 | ||
| 127 | +# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE | ||
| 128 | +# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 129 | +# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE | ||
| 130 | +# define GOOGLE_LOG ABSL_LOG | ||
| 131 | +#endif | ||
| 132 | + | ||
| 133 | +namespace protobuf_c { | ||
| 134 | + | ||
| 135 | +namespace compat { | ||
| 136 | + | ||
| 137 | +} // namespace compat | ||
| 138 | + | ||
| 139 | +} // namespace protobuf_c | ||
| 140 | + | ||
| 141 | +#endif // PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 142 | diff --git a/protoc-gen-c/main.cc b/protoc-gen-c/main.cc | ||
| 143 | index 0656c113..5ab929d3 100644 | ||
| 144 | --- a/protoc-gen-c/main.cc | ||
| 145 | +++ b/protoc-gen-c/main.cc | ||
| 146 | @@ -32,6 +32,7 @@ | ||
| 147 | |||
| 148 | #include "c_generator.h" | ||
| 149 | #include "c_helpers.h" | ||
| 150 | +#include "compat.h" | ||
| 151 | |||
| 152 | int main(int argc, char* argv[]) { | ||
| 153 | protobuf_c::CGenerator c_generator; | ||
| 154 | |||
| 155 | From 1678f1fba6f2d3e5c1db2817495ddcd72bd4e87b Mon Sep 17 00:00:00 2001 | ||
| 156 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 157 | Date: Sat, 8 Feb 2025 20:09:03 -0500 | ||
| 158 | Subject: [PATCH 02/11] protoc-gen-c/compat.h: Add `compat::StringView` type | ||
| 159 | |||
| 160 | protobuf >= 30.x replaces `const std::string&` in various APIs with | ||
| 161 | its own string view type that may actually be a `absl::string_view`. | ||
| 162 | Introduce our own `compat::StringView` type that we can use instead | ||
| 163 | of `const std::string&` in order to support compiling across multiple | ||
| 164 | protobuf versions. | ||
| 165 | --- | ||
| 166 | protoc-gen-c/compat.h | 8 ++++++++ | ||
| 167 | 1 file changed, 8 insertions(+) | ||
| 168 | |||
| 169 | diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h | ||
| 170 | index 2ee78281..fe8041b5 100644 | ||
| 171 | --- a/protoc-gen-c/compat.h | ||
| 172 | +++ b/protoc-gen-c/compat.h | ||
| 173 | @@ -28,6 +28,8 @@ | ||
| 174 | #ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 175 | #define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 176 | |||
| 177 | +#include <string> | ||
| 178 | + | ||
| 179 | #if GOOGLE_PROTOBUF_VERSION >= 4022000 | ||
| 180 | # define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE | ||
| 181 | # define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 182 | @@ -39,6 +41,12 @@ namespace protobuf_c { | ||
| 183 | |||
| 184 | namespace compat { | ||
| 185 | |||
| 186 | +#if GOOGLE_PROTOBUF_VERSION >= 6030000 | ||
| 187 | +typedef google::protobuf::internal::DescriptorStringView StringView; | ||
| 188 | +#else | ||
| 189 | +typedef const std::string& StringView; | ||
| 190 | +#endif | ||
| 191 | + | ||
| 192 | } // namespace compat | ||
| 193 | |||
| 194 | } // namespace protobuf_c | ||
| 195 | |||
| 196 | From db5252c131c82fb48ee599179b6989a577b7fbc8 Mon Sep 17 00:00:00 2001 | ||
| 197 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 198 | Date: Sat, 8 Feb 2025 20:13:44 -0500 | ||
| 199 | Subject: [PATCH 03/11] Remove some unused functions | ||
| 200 | |||
| 201 | --- | ||
| 202 | protoc-gen-c/c_helpers.cc | 64 --------------------------------------- | ||
| 203 | protoc-gen-c/c_helpers.h | 3 -- | ||
| 204 | 2 files changed, 67 deletions(-) | ||
| 205 | |||
| 206 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 207 | index c38843f8..bbb4a615 100644 | ||
| 208 | --- a/protoc-gen-c/c_helpers.cc | ||
| 209 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 210 | @@ -90,14 +90,6 @@ namespace protobuf_c { | ||
| 211 | #pragma warning(disable:4996) | ||
| 212 | #endif | ||
| 213 | |||
| 214 | -std::string DotsToUnderscores(const std::string& name) { | ||
| 215 | - return StringReplace(name, ".", "_", true); | ||
| 216 | -} | ||
| 217 | - | ||
| 218 | -std::string DotsToColons(const std::string& name) { | ||
| 219 | - return StringReplace(name, ".", "::", true); | ||
| 220 | -} | ||
| 221 | - | ||
| 222 | std::string SimpleFtoa(float f) { | ||
| 223 | char buf[100]; | ||
| 224 | snprintf(buf,sizeof(buf),"%.*g", FLT_DIG, f); | ||
| 225 | @@ -333,11 +325,6 @@ std::string FilenameIdentifier(const std::string& filename) { | ||
| 226 | return result; | ||
| 227 | } | ||
| 228 | |||
| 229 | -// Return the name of the BuildDescriptors() function for a given file. | ||
| 230 | -std::string GlobalBuildDescriptorsName(const std::string& filename) { | ||
| 231 | - return "proto_BuildDescriptors_" + FilenameIdentifier(filename); | ||
| 232 | -} | ||
| 233 | - | ||
| 234 | std::string GetLabelName(google::protobuf::FieldDescriptor::Label label) { | ||
| 235 | switch (label) { | ||
| 236 | case google::protobuf::FieldDescriptor::LABEL_OPTIONAL: return "optional"; | ||
| 237 | @@ -392,57 +379,6 @@ WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int * | ||
| 238 | } | ||
| 239 | } | ||
| 240 | |||
| 241 | - | ||
| 242 | - | ||
| 243 | -// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx | ||
| 244 | -// XXXXXXXXX this stuff is copied from strutils.cc !!!! XXXXXXXXXXXXXXXXXXXXXXXXXXXXx | ||
| 245 | -// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx | ||
| 246 | -// ---------------------------------------------------------------------- | ||
| 247 | -// StringReplace() | ||
| 248 | -// Replace the "old" pattern with the "new" pattern in a string, | ||
| 249 | -// and append the result to "res". If replace_all is false, | ||
| 250 | -// it only replaces the first instance of "old." | ||
| 251 | -// ---------------------------------------------------------------------- | ||
| 252 | - | ||
| 253 | -void StringReplace(const std::string& s, const std::string& oldsub, | ||
| 254 | - const std::string& newsub, bool replace_all, | ||
| 255 | - std::string* res) { | ||
| 256 | - if (oldsub.empty()) { | ||
| 257 | - res->append(s); // if empty, append the given string. | ||
| 258 | - return; | ||
| 259 | - } | ||
| 260 | - | ||
| 261 | - std::string::size_type start_pos = 0; | ||
| 262 | - std::string::size_type pos; | ||
| 263 | - do { | ||
| 264 | - pos = s.find(oldsub, start_pos); | ||
| 265 | - if (pos == std::string::npos) { | ||
| 266 | - break; | ||
| 267 | - } | ||
| 268 | - res->append(s, start_pos, pos - start_pos); | ||
| 269 | - res->append(newsub); | ||
| 270 | - start_pos = pos + oldsub.size(); // start searching again after the "old" | ||
| 271 | - } while (replace_all); | ||
| 272 | - res->append(s, start_pos, s.length() - start_pos); | ||
| 273 | -} | ||
| 274 | - | ||
| 275 | - | ||
| 276 | -// ---------------------------------------------------------------------- | ||
| 277 | -// StringReplace() | ||
| 278 | -// Give me a string and two patterns "old" and "new", and I replace | ||
| 279 | -// the first instance of "old" in the string with "new", if it | ||
| 280 | -// exists. If "global" is true; call this repeatedly until it | ||
| 281 | -// fails. RETURN a new string, regardless of whether the replacement | ||
| 282 | -// happened or not. | ||
| 283 | -// ---------------------------------------------------------------------- | ||
| 284 | - | ||
| 285 | -std::string StringReplace(const std::string& s, const std::string& oldsub, | ||
| 286 | - const std::string& newsub, bool replace_all) { | ||
| 287 | - std::string ret; | ||
| 288 | - StringReplace(s, oldsub, newsub, replace_all, &ret); | ||
| 289 | - return ret; | ||
| 290 | -} | ||
| 291 | - | ||
| 292 | // ---------------------------------------------------------------------- | ||
| 293 | // SplitStringUsing() | ||
| 294 | // Split a string using a character delimiter. Append the components | ||
| 295 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 296 | index e69504bb..377d4272 100644 | ||
| 297 | --- a/protoc-gen-c/c_helpers.h | ||
| 298 | +++ b/protoc-gen-c/c_helpers.h | ||
| 299 | @@ -150,9 +150,6 @@ const char* DeclaredTypeMethodName(google::protobuf::FieldDescriptor::Type type) | ||
| 300 | // Convert a file name into a valid identifier. | ||
| 301 | std::string FilenameIdentifier(const std::string& filename); | ||
| 302 | |||
| 303 | -// Return the name of the BuildDescriptors() function for a given file. | ||
| 304 | -std::string GlobalBuildDescriptorsName(const std::string& filename); | ||
| 305 | - | ||
| 306 | // return 'required', 'optional', or 'repeated' | ||
| 307 | std::string GetLabelName(google::protobuf::FieldDescriptor::Label label); | ||
| 308 | |||
| 309 | |||
| 310 | From bc2cb66d908f016dd3f7082c8a6ad7c58bc03412 Mon Sep 17 00:00:00 2001 | ||
| 311 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 312 | Date: Sat, 8 Feb 2025 20:18:05 -0500 | ||
| 313 | Subject: [PATCH 04/11] Use `compat::StringView` type across various function | ||
| 314 | signatures | ||
| 315 | |||
| 316 | --- | ||
| 317 | protoc-gen-c/c_helpers.cc | 44 +++++++++++++++++++++------------------ | ||
| 318 | protoc-gen-c/c_helpers.h | 36 ++++++++++++++++---------------- | ||
| 319 | 2 files changed, 42 insertions(+), 38 deletions(-) | ||
| 320 | |||
| 321 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 322 | index bbb4a615..c759c8c2 100644 | ||
| 323 | --- a/protoc-gen-c/c_helpers.cc | ||
| 324 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 325 | @@ -96,6 +96,7 @@ std::string SimpleFtoa(float f) { | ||
| 326 | buf[sizeof(buf)-1] = 0; /* should NOT be necessary */ | ||
| 327 | return buf; | ||
| 328 | } | ||
| 329 | + | ||
| 330 | std::string SimpleDtoa(double d) { | ||
| 331 | char buf[100]; | ||
| 332 | snprintf(buf,sizeof(buf),"%.*g", DBL_DIG, d); | ||
| 333 | @@ -103,7 +104,7 @@ std::string SimpleDtoa(double d) { | ||
| 334 | return buf; | ||
| 335 | } | ||
| 336 | |||
| 337 | -std::string CamelToUpper(const std::string &name) { | ||
| 338 | +std::string CamelToUpper(compat::StringView name) { | ||
| 339 | bool was_upper = true; // suppress initial _ | ||
| 340 | std::string rv = ""; | ||
| 341 | int len = name.length(); | ||
| 342 | @@ -120,7 +121,8 @@ std::string CamelToUpper(const std::string &name) { | ||
| 343 | } | ||
| 344 | return rv; | ||
| 345 | } | ||
| 346 | -std::string CamelToLower(const std::string &name) { | ||
| 347 | + | ||
| 348 | +std::string CamelToLower(compat::StringView name) { | ||
| 349 | bool was_upper = true; // suppress initial _ | ||
| 350 | std::string rv = ""; | ||
| 351 | int len = name.length(); | ||
| 352 | @@ -138,8 +140,7 @@ std::string CamelToLower(const std::string &name) { | ||
| 353 | return rv; | ||
| 354 | } | ||
| 355 | |||
| 356 | - | ||
| 357 | -std::string ToUpper(const std::string &name) { | ||
| 358 | +std::string ToUpper(compat::StringView name) { | ||
| 359 | std::string rv = ""; | ||
| 360 | int len = name.length(); | ||
| 361 | for (int i = 0; i < len; i++) { | ||
| 362 | @@ -147,7 +148,8 @@ std::string ToUpper(const std::string &name) { | ||
| 363 | } | ||
| 364 | return rv; | ||
| 365 | } | ||
| 366 | -std::string ToLower(const std::string &name) { | ||
| 367 | + | ||
| 368 | +std::string ToLower(compat::StringView name) { | ||
| 369 | std::string rv = ""; | ||
| 370 | int len = name.length(); | ||
| 371 | for (int i = 0; i < len; i++) { | ||
| 372 | @@ -155,7 +157,8 @@ std::string ToLower(const std::string &name) { | ||
| 373 | } | ||
| 374 | return rv; | ||
| 375 | } | ||
| 376 | -std::string ToCamel(const std::string &name) { | ||
| 377 | + | ||
| 378 | +std::string ToCamel(compat::StringView name) { | ||
| 379 | std::string rv = ""; | ||
| 380 | int len = name.length(); | ||
| 381 | bool next_is_upper = true; | ||
| 382 | @@ -172,7 +175,7 @@ std::string ToCamel(const std::string &name) { | ||
| 383 | return rv; | ||
| 384 | } | ||
| 385 | |||
| 386 | -std::string OverrideFullName(const std::string &full_name, const google::protobuf::FileDescriptor* file) { | ||
| 387 | +std::string OverrideFullName(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 388 | const ProtobufCFileOptions opt = file->options().GetExtension(pb_c_file); | ||
| 389 | if (!opt.has_c_package()) | ||
| 390 | return full_name; | ||
| 391 | @@ -184,7 +187,7 @@ std::string OverrideFullName(const std::string &full_name, const google::protobu | ||
| 392 | return new_name + full_name.substr(file->package().length()); | ||
| 393 | } | ||
| 394 | |||
| 395 | -std::string FullNameToLower(const std::string &full_name, const google::protobuf::FileDescriptor* file) { | ||
| 396 | +std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 397 | std::vector<std::string> pieces; | ||
| 398 | SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); | ||
| 399 | std::string rv = ""; | ||
| 400 | @@ -195,7 +198,8 @@ std::string FullNameToLower(const std::string &full_name, const google::protobuf | ||
| 401 | } | ||
| 402 | return rv; | ||
| 403 | } | ||
| 404 | -std::string FullNameToUpper(const std::string &full_name, const google::protobuf::FileDescriptor* file) { | ||
| 405 | + | ||
| 406 | +std::string FullNameToUpper(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 407 | std::vector<std::string> pieces; | ||
| 408 | SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); | ||
| 409 | std::string rv = ""; | ||
| 410 | @@ -206,7 +210,8 @@ std::string FullNameToUpper(const std::string &full_name, const google::protobuf | ||
| 411 | } | ||
| 412 | return rv; | ||
| 413 | } | ||
| 414 | -std::string FullNameToC(const std::string &full_name, const google::protobuf::FileDescriptor* file) { | ||
| 415 | + | ||
| 416 | +std::string FullNameToC(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 417 | std::vector<std::string> pieces; | ||
| 418 | SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); | ||
| 419 | std::string rv = ""; | ||
| 420 | @@ -248,7 +253,7 @@ void PrintComment(google::protobuf::io::Printer* printer, std::string comment) | ||
| 421 | } | ||
| 422 | } | ||
| 423 | |||
| 424 | -std::string ConvertToSpaces(const std::string &input) { | ||
| 425 | +std::string ConvertToSpaces(compat::StringView input) { | ||
| 426 | return std::string(input.size(), ' '); | ||
| 427 | } | ||
| 428 | |||
| 429 | @@ -259,8 +264,7 @@ int compare_name_indices_by_name(const void *a, const void *b) | ||
| 430 | return strcmp (ni_a->name, ni_b->name); | ||
| 431 | } | ||
| 432 | |||
| 433 | - | ||
| 434 | -std::string CEscape(const std::string& src); | ||
| 435 | +std::string CEscape(compat::StringView src); | ||
| 436 | |||
| 437 | const char* const kKeywordList[] = { | ||
| 438 | "and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break", "case", | ||
| 439 | @@ -300,7 +304,7 @@ std::string FieldDeprecated(const google::protobuf::FieldDescriptor* field) { | ||
| 440 | return ""; | ||
| 441 | } | ||
| 442 | |||
| 443 | -std::string StripProto(const std::string& filename) { | ||
| 444 | +std::string StripProto(compat::StringView filename) { | ||
| 445 | if (HasSuffixString(filename, ".protodevel")) { | ||
| 446 | return StripSuffixString(filename, ".protodevel"); | ||
| 447 | } else { | ||
| 448 | @@ -309,7 +313,7 @@ std::string StripProto(const std::string& filename) { | ||
| 449 | } | ||
| 450 | |||
| 451 | // Convert a file name into a valid identifier. | ||
| 452 | -std::string FilenameIdentifier(const std::string& filename) { | ||
| 453 | +std::string FilenameIdentifier(compat::StringView filename) { | ||
| 454 | std::string result; | ||
| 455 | for (unsigned i = 0; i < filename.size(); i++) { | ||
| 456 | if (isalnum(filename[i])) { | ||
| 457 | @@ -335,7 +339,7 @@ std::string GetLabelName(google::protobuf::FieldDescriptor::Label label) { | ||
| 458 | } | ||
| 459 | |||
| 460 | unsigned | ||
| 461 | -WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, const std::string &name) | ||
| 462 | +WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, compat::StringView name) | ||
| 463 | { | ||
| 464 | std::map<std::string, std::string> vars; | ||
| 465 | vars["name"] = name; | ||
| 466 | @@ -389,7 +393,7 @@ WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int * | ||
| 467 | // ---------------------------------------------------------------------- | ||
| 468 | template <typename ITR> | ||
| 469 | static inline | ||
| 470 | -void SplitStringToIteratorUsing(const std::string& full, | ||
| 471 | +void SplitStringToIteratorUsing(compat::StringView full, | ||
| 472 | const char* delim, | ||
| 473 | ITR& result) { | ||
| 474 | // Optimize the common case where delim is a single character. | ||
| 475 | @@ -422,7 +426,7 @@ void SplitStringToIteratorUsing(const std::string& full, | ||
| 476 | } | ||
| 477 | } | ||
| 478 | |||
| 479 | -void SplitStringUsing(const std::string& full, | ||
| 480 | +void SplitStringUsing(compat::StringView full, | ||
| 481 | const char* delim, | ||
| 482 | std::vector<std::string>* result) { | ||
| 483 | std::back_insert_iterator< std::vector<std::string> > it(*result); | ||
| 484 | @@ -435,7 +439,6 @@ char* FastHexToBuffer(int i, char* buffer) | ||
| 485 | return buffer; | ||
| 486 | } | ||
| 487 | |||
| 488 | - | ||
| 489 | static int CEscapeInternal(const char* src, int src_len, char* dest, | ||
| 490 | int dest_len, bool use_hex) { | ||
| 491 | const char* src_end = src + src_len; | ||
| 492 | @@ -478,7 +481,8 @@ static int CEscapeInternal(const char* src, int src_len, char* dest, | ||
| 493 | dest[used] = '\0'; // doesn't count towards return value though | ||
| 494 | return used; | ||
| 495 | } | ||
| 496 | -std::string CEscape(const std::string& src) { | ||
| 497 | + | ||
| 498 | +std::string CEscape(compat::StringView src) { | ||
| 499 | const int dest_length = src.size() * 4 + 1; // Maximum possible expansion | ||
| 500 | std::unique_ptr<char[]> dest(new char[dest_length]); | ||
| 501 | const int len = CEscapeInternal(src.data(), src.size(), | ||
| 502 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 503 | index 377d4272..ccd39ca2 100644 | ||
| 504 | --- a/protoc-gen-c/c_helpers.h | ||
| 505 | +++ b/protoc-gen-c/c_helpers.h | ||
| 506 | @@ -73,6 +73,8 @@ | ||
| 507 | |||
| 508 | #include <protobuf-c/protobuf-c.pb.h> | ||
| 509 | |||
| 510 | +#include "compat.h" | ||
| 511 | + | ||
| 512 | namespace protobuf_c { | ||
| 513 | |||
| 514 | // --- Borrowed from stubs. --- | ||
| 515 | @@ -84,11 +86,10 @@ template <typename T> std::string SimpleItoa(T n) { | ||
| 516 | |||
| 517 | std::string SimpleFtoa(float f); | ||
| 518 | std::string SimpleDtoa(double f); | ||
| 519 | -void SplitStringUsing(const std::string &str, const char *delim, std::vector<std::string> *out); | ||
| 520 | -std::string CEscape(const std::string& src); | ||
| 521 | -std::string StringReplace(const std::string& s, const std::string& oldsub, const std::string& newsub, bool replace_all); | ||
| 522 | -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; } | ||
| 523 | -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; } } | ||
| 524 | +void SplitStringUsing(compat::StringView str, const char *delim, std::vector<std::string> *out); | ||
| 525 | +std::string CEscape(compat::StringView src); | ||
| 526 | +inline bool HasSuffixString(compat::StringView str, compat::StringView suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } | ||
| 527 | +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; } } | ||
| 528 | char* FastHexToBuffer(int i, char* buffer); | ||
| 529 | |||
| 530 | |||
| 531 | @@ -110,31 +111,31 @@ inline const google::protobuf::Descriptor* FieldScope(const google::protobuf::Fi | ||
| 532 | |||
| 533 | // convert a CamelCase class name into an all uppercase affair | ||
| 534 | // with underscores separating words, e.g. MyClass becomes MY_CLASS. | ||
| 535 | -std::string CamelToUpper(const std::string &class_name); | ||
| 536 | -std::string CamelToLower(const std::string &class_name); | ||
| 537 | +std::string CamelToUpper(compat::StringView class_name); | ||
| 538 | +std::string CamelToLower(compat::StringView class_name); | ||
| 539 | |||
| 540 | // lowercased, underscored name to camel case | ||
| 541 | -std::string ToCamel(const std::string &name); | ||
| 542 | +std::string ToCamel(compat::StringView name); | ||
| 543 | |||
| 544 | // lowercase the string | ||
| 545 | -std::string ToLower(const std::string &class_name); | ||
| 546 | -std::string ToUpper(const std::string &class_name); | ||
| 547 | +std::string ToLower(compat::StringView class_name); | ||
| 548 | +std::string ToUpper(compat::StringView class_name); | ||
| 549 | |||
| 550 | // full_name() to lowercase with underscores | ||
| 551 | -std::string FullNameToLower(const std::string &full_name, const google::protobuf::FileDescriptor *file); | ||
| 552 | -std::string FullNameToUpper(const std::string &full_name, const google::protobuf::FileDescriptor *file); | ||
| 553 | +std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor *file); | ||
| 554 | +std::string FullNameToUpper(compat::StringView full_name, const google::protobuf::FileDescriptor *file); | ||
| 555 | |||
| 556 | // full_name() to c-typename (with underscores for packages, otherwise camel case) | ||
| 557 | -std::string FullNameToC(const std::string &class_name, const google::protobuf::FileDescriptor *file); | ||
| 558 | +std::string FullNameToC(compat::StringView class_name, const google::protobuf::FileDescriptor *file); | ||
| 559 | |||
| 560 | // Splits, indents, formats, and prints comment lines | ||
| 561 | void PrintComment(google::protobuf::io::Printer* printer, std::string comment); | ||
| 562 | |||
| 563 | // make a string of spaces as long as input | ||
| 564 | -std::string ConvertToSpaces(const std::string &input); | ||
| 565 | +std::string ConvertToSpaces(compat::StringView input); | ||
| 566 | |||
| 567 | // Strips ".proto" or ".protodevel" from the end of a filename. | ||
| 568 | -std::string StripProto(const std::string& filename); | ||
| 569 | +std::string StripProto(compat::StringView filename); | ||
| 570 | |||
| 571 | // Get the C++ type name for a primitive type (e.g. "double", "::google::protobuf::int32", etc.). | ||
| 572 | // Note: non-built-in type names will be qualified, meaning they will start | ||
| 573 | @@ -148,15 +149,14 @@ const char* PrimitiveTypeName(google::protobuf::FieldDescriptor::CppType type); | ||
| 574 | const char* DeclaredTypeMethodName(google::protobuf::FieldDescriptor::Type type); | ||
| 575 | |||
| 576 | // Convert a file name into a valid identifier. | ||
| 577 | -std::string FilenameIdentifier(const std::string& filename); | ||
| 578 | +std::string FilenameIdentifier(compat::StringView filename); | ||
| 579 | |||
| 580 | // return 'required', 'optional', or 'repeated' | ||
| 581 | std::string GetLabelName(google::protobuf::FieldDescriptor::Label label); | ||
| 582 | |||
| 583 | - | ||
| 584 | // write IntRanges entries for a bunch of sorted values. | ||
| 585 | // returns the number of ranges there are to bsearch. | ||
| 586 | -unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, const std::string &name); | ||
| 587 | +unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, compat::StringView name); | ||
| 588 | |||
| 589 | struct NameIndex | ||
| 590 | { | ||
| 591 | |||
| 592 | From 75f1c32cc429233a3726358c999009f9ea373b45 Mon Sep 17 00:00:00 2001 | ||
| 593 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 594 | Date: Sat, 8 Feb 2025 20:25:43 -0500 | ||
| 595 | Subject: [PATCH 05/11] Convert string views to owned strings where necessary | ||
| 596 | |||
| 597 | --- | ||
| 598 | protoc-gen-c/c_enum.cc | 2 +- | ||
| 599 | protoc-gen-c/c_enum_field.cc | 2 +- | ||
| 600 | protoc-gen-c/c_helpers.cc | 8 ++++---- | ||
| 601 | protoc-gen-c/c_helpers.h | 3 +-- | ||
| 602 | 4 files changed, 7 insertions(+), 8 deletions(-) | ||
| 603 | |||
| 604 | diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc | ||
| 605 | index 9212ab82..311e4c86 100644 | ||
| 606 | --- a/protoc-gen-c/c_enum.cc | ||
| 607 | +++ b/protoc-gen-c/c_enum.cc | ||
| 608 | @@ -152,7 +152,7 @@ void EnumGenerator::GenerateValueInitializer(google::protobuf::io::Printer *prin | ||
| 609 | descriptor_->file()->options().optimize_for() == | ||
| 610 | google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; | ||
| 611 | vars["enum_value_name"] = vd->name(); | ||
| 612 | - vars["c_enum_value_name"] = FullNameToUpper(descriptor_->full_name(), descriptor_->file()) + "__" + vd->name(); | ||
| 613 | + vars["c_enum_value_name"] = FullNameToUpper(descriptor_->full_name(), descriptor_->file()) + "__" + std::string(vd->name()); | ||
| 614 | vars["value"] = SimpleItoa(vd->number()); | ||
| 615 | if (optimize_code_size) | ||
| 616 | printer->Print(vars, " { NULL, NULL, $value$ }, /* CODE_SIZE */\n"); | ||
| 617 | diff --git a/protoc-gen-c/c_enum_field.cc b/protoc-gen-c/c_enum_field.cc | ||
| 618 | index 0926ae59..c3111f50 100644 | ||
| 619 | --- a/protoc-gen-c/c_enum_field.cc | ||
| 620 | +++ b/protoc-gen-c/c_enum_field.cc | ||
| 621 | @@ -78,7 +78,7 @@ void SetEnumVariables(const google::protobuf::FieldDescriptor* descriptor, | ||
| 622 | (*variables)["type"] = FullNameToC(descriptor->enum_type()->full_name(), descriptor->enum_type()->file()); | ||
| 623 | const google::protobuf::EnumValueDescriptor* default_value = descriptor->default_value_enum(); | ||
| 624 | (*variables)["default"] = FullNameToUpper(default_value->type()->full_name(), default_value->type()->file()) | ||
| 625 | - + "__" + default_value->name(); | ||
| 626 | + + "__" + std::string(default_value->name()); | ||
| 627 | (*variables)["deprecated"] = FieldDeprecated(descriptor); | ||
| 628 | } | ||
| 629 | |||
| 630 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 631 | index c759c8c2..1aecef93 100644 | ||
| 632 | --- a/protoc-gen-c/c_helpers.cc | ||
| 633 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 634 | @@ -178,13 +178,13 @@ std::string ToCamel(compat::StringView name) { | ||
| 635 | std::string OverrideFullName(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 636 | const ProtobufCFileOptions opt = file->options().GetExtension(pb_c_file); | ||
| 637 | if (!opt.has_c_package()) | ||
| 638 | - return full_name; | ||
| 639 | + return std::string(full_name); | ||
| 640 | |||
| 641 | std::string new_name = opt.c_package(); | ||
| 642 | if (file->package().empty()) | ||
| 643 | new_name += "."; | ||
| 644 | |||
| 645 | - return new_name + full_name.substr(file->package().length()); | ||
| 646 | + return new_name + std::string(full_name.substr(file->package().length())); | ||
| 647 | } | ||
| 648 | |||
| 649 | std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 650 | @@ -418,10 +418,10 @@ void SplitStringToIteratorUsing(compat::StringView full, | ||
| 651 | while (begin_index != std::string::npos) { | ||
| 652 | end_index = full.find_first_of(delim, begin_index); | ||
| 653 | if (end_index == std::string::npos) { | ||
| 654 | - *result++ = full.substr(begin_index); | ||
| 655 | + *result++ = std::string(full.substr(begin_index)); | ||
| 656 | return; | ||
| 657 | } | ||
| 658 | - *result++ = full.substr(begin_index, (end_index - begin_index)); | ||
| 659 | + *result++ = std::string(full.substr(begin_index, (end_index - begin_index))); | ||
| 660 | begin_index = full.find_first_not_of(delim, end_index); | ||
| 661 | } | ||
| 662 | } | ||
| 663 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 664 | index ccd39ca2..985e4db6 100644 | ||
| 665 | --- a/protoc-gen-c/c_helpers.h | ||
| 666 | +++ b/protoc-gen-c/c_helpers.h | ||
| 667 | @@ -89,10 +89,9 @@ std::string SimpleDtoa(double f); | ||
| 668 | void SplitStringUsing(compat::StringView str, const char *delim, std::vector<std::string> *out); | ||
| 669 | std::string CEscape(compat::StringView src); | ||
| 670 | inline bool HasSuffixString(compat::StringView str, compat::StringView suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } | ||
| 671 | -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; } } | ||
| 672 | +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); } } | ||
| 673 | char* FastHexToBuffer(int i, char* buffer); | ||
| 674 | |||
| 675 | - | ||
| 676 | // Get the (unqualified) name that should be used for this field in C code. | ||
| 677 | // The name is coerced to lower-case to emulate proto1 behavior. People | ||
| 678 | // should be using lowercase-with-underscores style for proto field names | ||
| 679 | |||
| 680 | From 0edca93db369fb84f01cc0d4e3ee4cd6c2ad7f4f Mon Sep 17 00:00:00 2001 | ||
| 681 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 682 | Date: Sat, 8 Feb 2025 20:39:11 -0500 | ||
| 683 | Subject: [PATCH 06/11] Convert various uses of `const char *` to | ||
| 684 | `compat::StringView` | ||
| 685 | |||
| 686 | Also replace some uses of arrays manually allocated with new/delete with | ||
| 687 | uses of `std::vector`. | ||
| 688 | --- | ||
| 689 | protoc-gen-c/c_enum.cc | 35 ++++++++++++++++++----------------- | ||
| 690 | protoc-gen-c/c_helpers.cc | 2 +- | ||
| 691 | protoc-gen-c/c_helpers.h | 2 +- | ||
| 692 | protoc-gen-c/c_message.cc | 28 ++++++++++++---------------- | ||
| 693 | protoc-gen-c/c_service.cc | 19 +++++++++---------- | ||
| 694 | 5 files changed, 41 insertions(+), 45 deletions(-) | ||
| 695 | |||
| 696 | diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc | ||
| 697 | index 311e4c86..c7839edd 100644 | ||
| 698 | --- a/protoc-gen-c/c_enum.cc | ||
| 699 | +++ b/protoc-gen-c/c_enum.cc | ||
| 700 | @@ -142,7 +142,7 @@ struct ValueIndex | ||
| 701 | int value; | ||
| 702 | unsigned index; | ||
| 703 | unsigned final_index; /* index in uniqified array of values */ | ||
| 704 | - const char *name; | ||
| 705 | + compat::StringView name; | ||
| 706 | }; | ||
| 707 | void EnumGenerator::GenerateValueInitializer(google::protobuf::io::Printer *printer, int index) | ||
| 708 | { | ||
| 709 | @@ -176,7 +176,7 @@ static int compare_value_indices_by_name(const void *a, const void *b) | ||
| 710 | { | ||
| 711 | const ValueIndex *vi_a = (const ValueIndex *) a; | ||
| 712 | const ValueIndex *vi_b = (const ValueIndex *) b; | ||
| 713 | - return strcmp (vi_a->name, vi_b->name); | ||
| 714 | + return vi_a->name.compare(vi_b->name); | ||
| 715 | } | ||
| 716 | |||
| 717 | void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printer) { | ||
| 718 | @@ -194,18 +194,20 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe | ||
| 719 | |||
| 720 | // Sort by name and value, dropping duplicate values if they appear later. | ||
| 721 | // TODO: use a c++ paradigm for this! | ||
| 722 | - NameIndex *name_index = new NameIndex[descriptor_->value_count()]; | ||
| 723 | - ValueIndex *value_index = new ValueIndex[descriptor_->value_count()]; | ||
| 724 | - for (int j = 0; j < descriptor_->value_count(); j++) { | ||
| 725 | + std::vector<ValueIndex> value_index; | ||
| 726 | + for (unsigned j = 0; j < descriptor_->value_count(); j++) { | ||
| 727 | const google::protobuf::EnumValueDescriptor *vd = descriptor_->value(j); | ||
| 728 | - name_index[j].index = j; | ||
| 729 | - name_index[j].name = vd->name().c_str(); | ||
| 730 | - value_index[j].index = j; | ||
| 731 | - value_index[j].value = vd->number(); | ||
| 732 | - value_index[j].name = vd->name().c_str(); | ||
| 733 | + value_index.push_back({ | ||
| 734 | + .value = vd->number(), | ||
| 735 | + .index = j, | ||
| 736 | + .final_index = 0, | ||
| 737 | + .name = vd->name(), | ||
| 738 | + }); | ||
| 739 | } | ||
| 740 | - qsort(value_index, descriptor_->value_count(), | ||
| 741 | - sizeof(ValueIndex), compare_value_indices_by_value_then_index); | ||
| 742 | + qsort(&value_index[0], | ||
| 743 | + value_index.size(), | ||
| 744 | + sizeof(ValueIndex), | ||
| 745 | + compare_value_indices_by_value_then_index); | ||
| 746 | |||
| 747 | // only record unique values | ||
| 748 | int n_unique_values; | ||
| 749 | @@ -275,8 +277,10 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe | ||
| 750 | vars["n_ranges"] = SimpleItoa(n_ranges); | ||
| 751 | |||
| 752 | if (!optimize_code_size) { | ||
| 753 | - qsort(value_index, descriptor_->value_count(), | ||
| 754 | - sizeof(ValueIndex), compare_value_indices_by_name); | ||
| 755 | + qsort(&value_index[0], | ||
| 756 | + value_index.size(), | ||
| 757 | + sizeof(ValueIndex), | ||
| 758 | + compare_value_indices_by_name); | ||
| 759 | printer->Print(vars, | ||
| 760 | "static const ProtobufCEnumValueIndex $lcclassname$__enum_values_by_name[$value_count$] =\n" | ||
| 761 | "{\n"); | ||
| 762 | @@ -319,9 +323,6 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe | ||
| 763 | " NULL,NULL,NULL,NULL /* reserved[1234] */\n" | ||
| 764 | "};\n"); | ||
| 765 | } | ||
| 766 | - | ||
| 767 | - delete[] value_index; | ||
| 768 | - delete[] name_index; | ||
| 769 | } | ||
| 770 | |||
| 771 | } // namespace protobuf_c | ||
| 772 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 773 | index 1aecef93..dec9ce28 100644 | ||
| 774 | --- a/protoc-gen-c/c_helpers.cc | ||
| 775 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 776 | @@ -261,7 +261,7 @@ int compare_name_indices_by_name(const void *a, const void *b) | ||
| 777 | { | ||
| 778 | const NameIndex *ni_a = (const NameIndex *) a; | ||
| 779 | const NameIndex *ni_b = (const NameIndex *) b; | ||
| 780 | - return strcmp (ni_a->name, ni_b->name); | ||
| 781 | + return ni_a->name.compare(ni_b->name); | ||
| 782 | } | ||
| 783 | |||
| 784 | std::string CEscape(compat::StringView src); | ||
| 785 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 786 | index 985e4db6..69369997 100644 | ||
| 787 | --- a/protoc-gen-c/c_helpers.h | ||
| 788 | +++ b/protoc-gen-c/c_helpers.h | ||
| 789 | @@ -160,7 +160,7 @@ unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, co | ||
| 790 | struct NameIndex | ||
| 791 | { | ||
| 792 | unsigned index; | ||
| 793 | - const char *name; | ||
| 794 | + compat::StringView name; | ||
| 795 | }; | ||
| 796 | int compare_name_indices_by_name(const void*, const void*); | ||
| 797 | |||
| 798 | diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc | ||
| 799 | index 46413873..7252923c 100644 | ||
| 800 | --- a/protoc-gen-c/c_message.cc | ||
| 801 | +++ b/protoc-gen-c/c_message.cc | ||
| 802 | @@ -567,27 +567,26 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) | ||
| 803 | "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" | ||
| 804 | "{\n"); | ||
| 805 | printer->Indent(); | ||
| 806 | - const google::protobuf::FieldDescriptor **sorted_fields = new const google::protobuf::FieldDescriptor *[descriptor_->field_count()]; | ||
| 807 | + | ||
| 808 | + std::vector<const google::protobuf::FieldDescriptor*> sorted_fields; | ||
| 809 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 810 | - sorted_fields[i] = descriptor_->field(i); | ||
| 811 | + sorted_fields.push_back(descriptor_->field(i)); | ||
| 812 | } | ||
| 813 | - qsort (sorted_fields, descriptor_->field_count(), | ||
| 814 | + qsort(&sorted_fields[0], sorted_fields.size(), | ||
| 815 | sizeof(const google::protobuf::FieldDescriptor*), | ||
| 816 | compare_pfields_by_number); | ||
| 817 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 818 | - const google::protobuf::FieldDescriptor* field = sorted_fields[i]; | ||
| 819 | + for (auto field : sorted_fields) { | ||
| 820 | field_generators_.get(field).GenerateDescriptorInitializer(printer); | ||
| 821 | } | ||
| 822 | printer->Outdent(); | ||
| 823 | printer->Print(vars, "};\n"); | ||
| 824 | |||
| 825 | if (!optimize_code_size) { | ||
| 826 | - NameIndex *field_indices = new NameIndex [descriptor_->field_count()]; | ||
| 827 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 828 | - field_indices[i].name = sorted_fields[i]->name().c_str(); | ||
| 829 | - field_indices[i].index = i; | ||
| 830 | + std::vector<NameIndex> field_indices; | ||
| 831 | + for (unsigned i = 0; i < descriptor_->field_count(); i++) { | ||
| 832 | + field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); | ||
| 833 | } | ||
| 834 | - qsort (field_indices, descriptor_->field_count(), sizeof (NameIndex), | ||
| 835 | + qsort(&field_indices[0], field_indices.size(), sizeof(NameIndex), | ||
| 836 | compare_name_indices_by_name); | ||
| 837 | printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); | ||
| 838 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 839 | @@ -596,19 +595,16 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) | ||
| 840 | printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); | ||
| 841 | } | ||
| 842 | printer->Print("};\n"); | ||
| 843 | - delete[] field_indices; | ||
| 844 | } | ||
| 845 | |||
| 846 | // create range initializers | ||
| 847 | - int *values = new int[descriptor_->field_count()]; | ||
| 848 | + std::vector<int> values; | ||
| 849 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 850 | - values[i] = sorted_fields[i]->number(); | ||
| 851 | + values.push_back(sorted_fields[i]->number()); | ||
| 852 | } | ||
| 853 | int n_ranges = WriteIntRanges(printer, | ||
| 854 | - descriptor_->field_count(), values, | ||
| 855 | + descriptor_->field_count(), &values[0], | ||
| 856 | vars["lcclassname"] + "__number_ranges"); | ||
| 857 | - delete [] values; | ||
| 858 | - delete [] sorted_fields; | ||
| 859 | |||
| 860 | vars["n_ranges"] = SimpleItoa(n_ranges); | ||
| 861 | } else { | ||
| 862 | diff --git a/protoc-gen-c/c_service.cc b/protoc-gen-c/c_service.cc | ||
| 863 | index ee4d4a95..2c3ddcf3 100644 | ||
| 864 | --- a/protoc-gen-c/c_service.cc | ||
| 865 | +++ b/protoc-gen-c/c_service.cc | ||
| 866 | @@ -184,19 +184,19 @@ void ServiceGenerator::GenerateInit(google::protobuf::io::Printer* printer) | ||
| 867 | "}\n"); | ||
| 868 | } | ||
| 869 | |||
| 870 | -struct MethodIndexAndName { unsigned i; const char *name; }; | ||
| 871 | +struct MethodIndexAndName { unsigned i; compat::StringView name; }; | ||
| 872 | static int | ||
| 873 | compare_method_index_and_name_by_name (const void *a, const void *b) | ||
| 874 | { | ||
| 875 | const MethodIndexAndName *ma = (const MethodIndexAndName *) a; | ||
| 876 | const MethodIndexAndName *mb = (const MethodIndexAndName *) b; | ||
| 877 | - return strcmp (ma->name, mb->name); | ||
| 878 | + return ma->name.compare(mb->name); | ||
| 879 | } | ||
| 880 | |||
| 881 | void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* printer) | ||
| 882 | { | ||
| 883 | int n_methods = descriptor_->method_count(); | ||
| 884 | - MethodIndexAndName *mi_array = new MethodIndexAndName[n_methods]; | ||
| 885 | + std::vector<MethodIndexAndName> mi_array; | ||
| 886 | |||
| 887 | bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && | ||
| 888 | descriptor_->file()->options().optimize_for() == | ||
| 889 | @@ -205,7 +205,7 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* | ||
| 890 | vars_["n_methods"] = SimpleItoa(n_methods); | ||
| 891 | printer->Print(vars_, "static const ProtobufCMethodDescriptor $lcfullname$__method_descriptors[$n_methods$] =\n" | ||
| 892 | "{\n"); | ||
| 893 | - for (int i = 0; i < n_methods; i++) { | ||
| 894 | + for (unsigned i = 0; i < n_methods; i++) { | ||
| 895 | const google::protobuf::MethodDescriptor* method = descriptor_->method(i); | ||
| 896 | vars_["method"] = method->name(); | ||
| 897 | vars_["input_descriptor"] = "&" + FullNameToLower(method->input_type()->full_name(), method->input_type()->file()) + "__descriptor"; | ||
| 898 | @@ -217,14 +217,15 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* | ||
| 899 | printer->Print(vars_, | ||
| 900 | " { \"$method$\", $input_descriptor$, $output_descriptor$ },\n"); | ||
| 901 | } | ||
| 902 | - mi_array[i].i = i; | ||
| 903 | - mi_array[i].name = method->name().c_str(); | ||
| 904 | + mi_array.push_back({i, method->name()}); | ||
| 905 | } | ||
| 906 | printer->Print(vars_, "};\n"); | ||
| 907 | |||
| 908 | if (!optimize_code_size) { | ||
| 909 | - qsort ((void*)mi_array, n_methods, sizeof (MethodIndexAndName), | ||
| 910 | - compare_method_index_and_name_by_name); | ||
| 911 | + qsort(&mi_array[0], | ||
| 912 | + mi_array.size(), | ||
| 913 | + sizeof(MethodIndexAndName), | ||
| 914 | + compare_method_index_and_name_by_name); | ||
| 915 | printer->Print(vars_, "const unsigned $lcfullname$__method_indices_by_name[] = {\n"); | ||
| 916 | for (int i = 0; i < n_methods; i++) { | ||
| 917 | vars_["i"] = SimpleItoa(mi_array[i].i); | ||
| 918 | @@ -258,8 +259,6 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* | ||
| 919 | " $lcfullname$__method_indices_by_name\n" | ||
| 920 | "};\n"); | ||
| 921 | } | ||
| 922 | - | ||
| 923 | - delete[] mi_array; | ||
| 924 | } | ||
| 925 | |||
| 926 | void ServiceGenerator::GenerateCallersImplementations(google::protobuf::io::Printer* printer) | ||
| 927 | |||
| 928 | From ebeddac1a746393a16d9ba4cf80e3d12c3ab7d7f Mon Sep 17 00:00:00 2001 | ||
| 929 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 930 | Date: Sat, 8 Feb 2025 20:56:48 -0500 | ||
| 931 | Subject: [PATCH 07/11] Fix indentation of | ||
| 932 | MessageGenerator::GenerateMessageDescriptor() | ||
| 933 | |||
| 934 | --- | ||
| 935 | protoc-gen-c/c_message.cc | 321 +++++++++++++++++++------------------- | ||
| 936 | 1 file changed, 159 insertions(+), 162 deletions(-) | ||
| 937 | |||
| 938 | diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc | ||
| 939 | index 7252923c..2a3b2a2f 100644 | ||
| 940 | --- a/protoc-gen-c/c_message.cc | ||
| 941 | +++ b/protoc-gen-c/c_message.cc | ||
| 942 | @@ -461,199 +461,196 @@ GenerateHelperFunctionDefinitions(google::protobuf::io::Printer* printer, | ||
| 943 | |||
| 944 | void MessageGenerator:: | ||
| 945 | GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) { | ||
| 946 | - std::map<std::string, std::string> vars; | ||
| 947 | - vars["fullname"] = descriptor_->full_name(); | ||
| 948 | - vars["classname"] = FullNameToC(descriptor_->full_name(), descriptor_->file()); | ||
| 949 | - vars["lcclassname"] = FullNameToLower(descriptor_->full_name(), descriptor_->file()); | ||
| 950 | - vars["shortname"] = ToCamel(descriptor_->name()); | ||
| 951 | - vars["n_fields"] = SimpleItoa(descriptor_->field_count()); | ||
| 952 | - vars["packagename"] = descriptor_->file()->package(); | ||
| 953 | - | ||
| 954 | - bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && | ||
| 955 | - descriptor_->file()->options().optimize_for() == | ||
| 956 | - google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; | ||
| 957 | - | ||
| 958 | - const ProtobufCMessageOptions opt = | ||
| 959 | - descriptor_->options().GetExtension(pb_c_msg); | ||
| 960 | - // Override parent settings, if needed | ||
| 961 | - if (opt.has_gen_init_helpers()) | ||
| 962 | - gen_init = opt.gen_init_helpers(); | ||
| 963 | - | ||
| 964 | - for (int i = 0; i < descriptor_->nested_type_count(); i++) { | ||
| 965 | - nested_generators_[i]->GenerateMessageDescriptor(printer, gen_init); | ||
| 966 | - } | ||
| 967 | + std::map<std::string, std::string> vars; | ||
| 968 | + vars["fullname"] = descriptor_->full_name(); | ||
| 969 | + vars["classname"] = FullNameToC(descriptor_->full_name(), descriptor_->file()); | ||
| 970 | + vars["lcclassname"] = FullNameToLower(descriptor_->full_name(), descriptor_->file()); | ||
| 971 | + vars["shortname"] = ToCamel(descriptor_->name()); | ||
| 972 | + vars["n_fields"] = SimpleItoa(descriptor_->field_count()); | ||
| 973 | + vars["packagename"] = descriptor_->file()->package(); | ||
| 974 | |||
| 975 | - for (int i = 0; i < descriptor_->enum_type_count(); i++) { | ||
| 976 | - enum_generators_[i]->GenerateEnumDescriptor(printer); | ||
| 977 | - } | ||
| 978 | + bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && | ||
| 979 | + descriptor_->file()->options().optimize_for() == | ||
| 980 | + google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; | ||
| 981 | |||
| 982 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 983 | - const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); | ||
| 984 | - if (fd->has_default_value()) { | ||
| 985 | - field_generators_.get(fd).GenerateDefaultValueImplementations(printer); | ||
| 986 | - } | ||
| 987 | - } | ||
| 988 | + const ProtobufCMessageOptions opt = descriptor_->options().GetExtension(pb_c_msg); | ||
| 989 | + // Override parent settings, if needed | ||
| 990 | + if (opt.has_gen_init_helpers()) { | ||
| 991 | + gen_init = opt.gen_init_helpers(); | ||
| 992 | + } | ||
| 993 | |||
| 994 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 995 | - const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); | ||
| 996 | - const ProtobufCFieldOptions opt = fd->options().GetExtension(pb_c_field); | ||
| 997 | - if (fd->has_default_value()) { | ||
| 998 | - | ||
| 999 | - bool already_defined = false; | ||
| 1000 | - vars["name"] = fd->name(); | ||
| 1001 | - vars["lcname"] = CamelToLower(fd->name()); | ||
| 1002 | - vars["maybe_static"] = "static "; | ||
| 1003 | - vars["field_dv_ctype_suffix"] = ""; | ||
| 1004 | - vars["default_value"] = field_generators_.get(fd).GetDefaultValue(); | ||
| 1005 | - switch (fd->cpp_type()) { | ||
| 1006 | - case google::protobuf::FieldDescriptor::CPPTYPE_INT32: | ||
| 1007 | - vars["field_dv_ctype"] = "int32_t"; | ||
| 1008 | - break; | ||
| 1009 | - case google::protobuf::FieldDescriptor::CPPTYPE_INT64: | ||
| 1010 | - vars["field_dv_ctype"] = "int64_t"; | ||
| 1011 | - break; | ||
| 1012 | - case google::protobuf::FieldDescriptor::CPPTYPE_UINT32: | ||
| 1013 | - vars["field_dv_ctype"] = "uint32_t"; | ||
| 1014 | - break; | ||
| 1015 | - case google::protobuf::FieldDescriptor::CPPTYPE_UINT64: | ||
| 1016 | - vars["field_dv_ctype"] = "uint64_t"; | ||
| 1017 | - break; | ||
| 1018 | - case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT: | ||
| 1019 | - vars["field_dv_ctype"] = "float"; | ||
| 1020 | - break; | ||
| 1021 | - case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE: | ||
| 1022 | - vars["field_dv_ctype"] = "double"; | ||
| 1023 | - break; | ||
| 1024 | - case google::protobuf::FieldDescriptor::CPPTYPE_BOOL: | ||
| 1025 | - vars["field_dv_ctype"] = "protobuf_c_boolean"; | ||
| 1026 | - break; | ||
| 1027 | - | ||
| 1028 | - case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE: | ||
| 1029 | - // NOTE: not supported by protobuf | ||
| 1030 | - vars["maybe_static"] = ""; | ||
| 1031 | - vars["field_dv_ctype"] = "{ ... }"; | ||
| 1032 | - GOOGLE_LOG(FATAL) << "Messages can't have default values!"; | ||
| 1033 | - break; | ||
| 1034 | - case google::protobuf::FieldDescriptor::CPPTYPE_STRING: | ||
| 1035 | - if (fd->type() == google::protobuf::FieldDescriptor::TYPE_BYTES || opt.string_as_bytes()) | ||
| 1036 | - { | ||
| 1037 | - vars["field_dv_ctype"] = "ProtobufCBinaryData"; | ||
| 1038 | - } | ||
| 1039 | - else /* STRING type */ | ||
| 1040 | - { | ||
| 1041 | - already_defined = true; | ||
| 1042 | - vars["maybe_static"] = ""; | ||
| 1043 | - vars["field_dv_ctype"] = "char"; | ||
| 1044 | - vars["field_dv_ctype_suffix"] = "[]"; | ||
| 1045 | - } | ||
| 1046 | - break; | ||
| 1047 | - case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: | ||
| 1048 | - { | ||
| 1049 | - const google::protobuf::EnumValueDescriptor* vd = fd->default_value_enum(); | ||
| 1050 | - vars["field_dv_ctype"] = FullNameToC(vd->type()->full_name(), vd->type()->file()); | ||
| 1051 | - break; | ||
| 1052 | - } | ||
| 1053 | - default: | ||
| 1054 | - GOOGLE_LOG(FATAL) << "Unknown CPPTYPE"; | ||
| 1055 | - break; | ||
| 1056 | - } | ||
| 1057 | - if (!already_defined) | ||
| 1058 | - printer->Print(vars, "$maybe_static$const $field_dv_ctype$ $lcclassname$__$lcname$__default_value$field_dv_ctype_suffix$ = $default_value$;\n"); | ||
| 1059 | - } | ||
| 1060 | - } | ||
| 1061 | + for (int i = 0; i < descriptor_->nested_type_count(); i++) { | ||
| 1062 | + nested_generators_[i]->GenerateMessageDescriptor(printer, gen_init); | ||
| 1063 | + } | ||
| 1064 | |||
| 1065 | - if ( descriptor_->field_count() ) { | ||
| 1066 | - printer->Print(vars, | ||
| 1067 | - "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" | ||
| 1068 | - "{\n"); | ||
| 1069 | - printer->Indent(); | ||
| 1070 | + for (int i = 0; i < descriptor_->enum_type_count(); i++) { | ||
| 1071 | + enum_generators_[i]->GenerateEnumDescriptor(printer); | ||
| 1072 | + } | ||
| 1073 | |||
| 1074 | - std::vector<const google::protobuf::FieldDescriptor*> sorted_fields; | ||
| 1075 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1076 | - sorted_fields.push_back(descriptor_->field(i)); | ||
| 1077 | - } | ||
| 1078 | - qsort(&sorted_fields[0], sorted_fields.size(), | ||
| 1079 | - sizeof(const google::protobuf::FieldDescriptor*), | ||
| 1080 | - compare_pfields_by_number); | ||
| 1081 | - for (auto field : sorted_fields) { | ||
| 1082 | - field_generators_.get(field).GenerateDescriptorInitializer(printer); | ||
| 1083 | + const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); | ||
| 1084 | + if (fd->has_default_value()) { | ||
| 1085 | + field_generators_.get(fd).GenerateDefaultValueImplementations(printer); | ||
| 1086 | + } | ||
| 1087 | } | ||
| 1088 | - printer->Outdent(); | ||
| 1089 | - printer->Print(vars, "};\n"); | ||
| 1090 | |||
| 1091 | - if (!optimize_code_size) { | ||
| 1092 | - std::vector<NameIndex> field_indices; | ||
| 1093 | - for (unsigned i = 0; i < descriptor_->field_count(); i++) { | ||
| 1094 | - field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); | ||
| 1095 | + for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1096 | + const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); | ||
| 1097 | + const ProtobufCFieldOptions opt = fd->options().GetExtension(pb_c_field); | ||
| 1098 | + if (fd->has_default_value()) { | ||
| 1099 | + bool already_defined = false; | ||
| 1100 | + vars["name"] = fd->name(); | ||
| 1101 | + vars["lcname"] = CamelToLower(fd->name()); | ||
| 1102 | + vars["maybe_static"] = "static "; | ||
| 1103 | + vars["field_dv_ctype_suffix"] = ""; | ||
| 1104 | + vars["default_value"] = field_generators_.get(fd).GetDefaultValue(); | ||
| 1105 | + switch (fd->cpp_type()) { | ||
| 1106 | + case google::protobuf::FieldDescriptor::CPPTYPE_INT32: | ||
| 1107 | + vars["field_dv_ctype"] = "int32_t"; | ||
| 1108 | + break; | ||
| 1109 | + case google::protobuf::FieldDescriptor::CPPTYPE_INT64: | ||
| 1110 | + vars["field_dv_ctype"] = "int64_t"; | ||
| 1111 | + break; | ||
| 1112 | + case google::protobuf::FieldDescriptor::CPPTYPE_UINT32: | ||
| 1113 | + vars["field_dv_ctype"] = "uint32_t"; | ||
| 1114 | + break; | ||
| 1115 | + case google::protobuf::FieldDescriptor::CPPTYPE_UINT64: | ||
| 1116 | + vars["field_dv_ctype"] = "uint64_t"; | ||
| 1117 | + break; | ||
| 1118 | + case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT: | ||
| 1119 | + vars["field_dv_ctype"] = "float"; | ||
| 1120 | + break; | ||
| 1121 | + case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE: | ||
| 1122 | + vars["field_dv_ctype"] = "double"; | ||
| 1123 | + break; | ||
| 1124 | + case google::protobuf::FieldDescriptor::CPPTYPE_BOOL: | ||
| 1125 | + vars["field_dv_ctype"] = "protobuf_c_boolean"; | ||
| 1126 | + break; | ||
| 1127 | + case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE: | ||
| 1128 | + // NOTE: not supported by protobuf | ||
| 1129 | + vars["maybe_static"] = ""; | ||
| 1130 | + vars["field_dv_ctype"] = "{ ... }"; | ||
| 1131 | + GOOGLE_LOG(FATAL) << "Messages can't have default values!"; | ||
| 1132 | + break; | ||
| 1133 | + case google::protobuf::FieldDescriptor::CPPTYPE_STRING: | ||
| 1134 | + if (fd->type() == google::protobuf::FieldDescriptor::TYPE_BYTES || opt.string_as_bytes()) { | ||
| 1135 | + vars["field_dv_ctype"] = "ProtobufCBinaryData"; | ||
| 1136 | + } else { | ||
| 1137 | + /* STRING type */ | ||
| 1138 | + already_defined = true; | ||
| 1139 | + vars["maybe_static"] = ""; | ||
| 1140 | + vars["field_dv_ctype"] = "char"; | ||
| 1141 | + vars["field_dv_ctype_suffix"] = "[]"; | ||
| 1142 | + } | ||
| 1143 | + break; | ||
| 1144 | + case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: { | ||
| 1145 | + const google::protobuf::EnumValueDescriptor* vd = fd->default_value_enum(); | ||
| 1146 | + vars["field_dv_ctype"] = FullNameToC(vd->type()->full_name(), vd->type()->file()); | ||
| 1147 | + break; | ||
| 1148 | + } | ||
| 1149 | + default: | ||
| 1150 | + GOOGLE_LOG(FATAL) << "Unknown CPPTYPE"; | ||
| 1151 | + break; | ||
| 1152 | + } | ||
| 1153 | + if (!already_defined) { | ||
| 1154 | + printer->Print(vars, "$maybe_static$const $field_dv_ctype$ $lcclassname$__$lcname$__default_value$field_dv_ctype_suffix$ = $default_value$;\n"); | ||
| 1155 | + } | ||
| 1156 | } | ||
| 1157 | - qsort(&field_indices[0], field_indices.size(), sizeof(NameIndex), | ||
| 1158 | - compare_name_indices_by_name); | ||
| 1159 | - printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); | ||
| 1160 | + } | ||
| 1161 | + | ||
| 1162 | + if (descriptor_->field_count()) { | ||
| 1163 | + printer->Print(vars, | ||
| 1164 | + "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" | ||
| 1165 | + "{\n"); | ||
| 1166 | + printer->Indent(); | ||
| 1167 | + | ||
| 1168 | + std::vector<const google::protobuf::FieldDescriptor*> sorted_fields; | ||
| 1169 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1170 | - vars["index"] = SimpleItoa(field_indices[i].index); | ||
| 1171 | - vars["name"] = field_indices[i].name; | ||
| 1172 | - printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); | ||
| 1173 | + sorted_fields.push_back(descriptor_->field(i)); | ||
| 1174 | } | ||
| 1175 | - printer->Print("};\n"); | ||
| 1176 | - } | ||
| 1177 | + qsort(&sorted_fields[0], | ||
| 1178 | + sorted_fields.size(), | ||
| 1179 | + sizeof(const google::protobuf::FieldDescriptor*), | ||
| 1180 | + compare_pfields_by_number); | ||
| 1181 | + for (auto field : sorted_fields) { | ||
| 1182 | + field_generators_.get(field).GenerateDescriptorInitializer(printer); | ||
| 1183 | + } | ||
| 1184 | + printer->Outdent(); | ||
| 1185 | + printer->Print(vars, "};\n"); | ||
| 1186 | |||
| 1187 | - // create range initializers | ||
| 1188 | - std::vector<int> values; | ||
| 1189 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1190 | - values.push_back(sorted_fields[i]->number()); | ||
| 1191 | - } | ||
| 1192 | - int n_ranges = WriteIntRanges(printer, | ||
| 1193 | - descriptor_->field_count(), &values[0], | ||
| 1194 | - vars["lcclassname"] + "__number_ranges"); | ||
| 1195 | + if (!optimize_code_size) { | ||
| 1196 | + std::vector<NameIndex> field_indices; | ||
| 1197 | + for (unsigned i = 0; i < descriptor_->field_count(); i++) { | ||
| 1198 | + field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); | ||
| 1199 | + } | ||
| 1200 | + qsort(&field_indices[0], | ||
| 1201 | + field_indices.size(), | ||
| 1202 | + sizeof(NameIndex), | ||
| 1203 | + compare_name_indices_by_name); | ||
| 1204 | + printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); | ||
| 1205 | + for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1206 | + vars["index"] = SimpleItoa(field_indices[i].index); | ||
| 1207 | + vars["name"] = field_indices[i].name; | ||
| 1208 | + printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); | ||
| 1209 | + } | ||
| 1210 | + printer->Print("};\n"); | ||
| 1211 | + } | ||
| 1212 | |||
| 1213 | - vars["n_ranges"] = SimpleItoa(n_ranges); | ||
| 1214 | - } else { | ||
| 1215 | - /* MS compiler can't handle arrays with zero size and empty | ||
| 1216 | - * initialization list. Furthermore it is an extension of GCC only but | ||
| 1217 | - * not a standard. */ | ||
| 1218 | - vars["n_ranges"] = "0"; | ||
| 1219 | - printer->Print(vars, | ||
| 1220 | - "#define $lcclassname$__field_descriptors NULL\n" | ||
| 1221 | - "#define $lcclassname$__field_indices_by_name NULL\n" | ||
| 1222 | - "#define $lcclassname$__number_ranges NULL\n"); | ||
| 1223 | + // create range initializers | ||
| 1224 | + std::vector<int> values; | ||
| 1225 | + for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1226 | + values.push_back(sorted_fields[i]->number()); | ||
| 1227 | } | ||
| 1228 | + int n_ranges = WriteIntRanges(printer, | ||
| 1229 | + descriptor_->field_count(), | ||
| 1230 | + &values[0], | ||
| 1231 | + vars["lcclassname"] + "__number_ranges"); | ||
| 1232 | + | ||
| 1233 | + vars["n_ranges"] = SimpleItoa(n_ranges); | ||
| 1234 | + } else { | ||
| 1235 | + /* MS compiler can't handle arrays with zero size and empty | ||
| 1236 | + * initialization list. Furthermore it is an extension of GCC only but | ||
| 1237 | + * not a standard. */ | ||
| 1238 | + vars["n_ranges"] = "0"; | ||
| 1239 | + printer->Print(vars, | ||
| 1240 | + "#define $lcclassname$__field_descriptors NULL\n" | ||
| 1241 | + "#define $lcclassname$__field_indices_by_name NULL\n" | ||
| 1242 | + "#define $lcclassname$__number_ranges NULL\n"); | ||
| 1243 | + } | ||
| 1244 | |||
| 1245 | printer->Print(vars, | ||
| 1246 | - "const ProtobufCMessageDescriptor $lcclassname$__descriptor =\n" | ||
| 1247 | - "{\n" | ||
| 1248 | - " PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,\n"); | ||
| 1249 | + "const ProtobufCMessageDescriptor $lcclassname$__descriptor =\n" | ||
| 1250 | + "{\n" | ||
| 1251 | + " PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,\n"); | ||
| 1252 | if (optimize_code_size) { | ||
| 1253 | printer->Print(" NULL,NULL,NULL,NULL, /* CODE_SIZE */\n"); | ||
| 1254 | } else { | ||
| 1255 | printer->Print(vars, | ||
| 1256 | - " \"$fullname$\",\n" | ||
| 1257 | - " \"$shortname$\",\n" | ||
| 1258 | - " \"$classname$\",\n" | ||
| 1259 | - " \"$packagename$\",\n"); | ||
| 1260 | + " \"$fullname$\",\n" | ||
| 1261 | + " \"$shortname$\",\n" | ||
| 1262 | + " \"$classname$\",\n" | ||
| 1263 | + " \"$packagename$\",\n"); | ||
| 1264 | } | ||
| 1265 | printer->Print(vars, | ||
| 1266 | - " sizeof($classname$),\n" | ||
| 1267 | - " $n_fields$,\n" | ||
| 1268 | - " $lcclassname$__field_descriptors,\n"); | ||
| 1269 | + " sizeof($classname$),\n" | ||
| 1270 | + " $n_fields$,\n" | ||
| 1271 | + " $lcclassname$__field_descriptors,\n"); | ||
| 1272 | if (optimize_code_size) { | ||
| 1273 | printer->Print(" NULL, /* CODE_SIZE */\n"); | ||
| 1274 | } else { | ||
| 1275 | - printer->Print(vars, | ||
| 1276 | - " $lcclassname$__field_indices_by_name,\n"); | ||
| 1277 | + printer->Print(vars, " $lcclassname$__field_indices_by_name,\n"); | ||
| 1278 | } | ||
| 1279 | printer->Print(vars, | ||
| 1280 | - " $n_ranges$," | ||
| 1281 | - " $lcclassname$__number_ranges,\n"); | ||
| 1282 | + " $n_ranges$," | ||
| 1283 | + " $lcclassname$__number_ranges,\n"); | ||
| 1284 | if (gen_init) { | ||
| 1285 | - printer->Print(vars, | ||
| 1286 | - " (ProtobufCMessageInit) $lcclassname$__init,\n"); | ||
| 1287 | + printer->Print(vars, " (ProtobufCMessageInit) $lcclassname$__init,\n"); | ||
| 1288 | } else { | ||
| 1289 | - printer->Print(vars, | ||
| 1290 | - " NULL, /* gen_init_helpers = false */\n"); | ||
| 1291 | + printer->Print(vars, " NULL, /* gen_init_helpers = false */\n"); | ||
| 1292 | } | ||
| 1293 | printer->Print(vars, | ||
| 1294 | - " NULL,NULL,NULL /* reserved[123] */\n" | ||
| 1295 | - "};\n"); | ||
| 1296 | + " NULL,NULL,NULL /* reserved[123] */\n" | ||
| 1297 | + "};\n"); | ||
| 1298 | } | ||
| 1299 | |||
| 1300 | int MessageGenerator::GetOneofUnionOrder(const google::protobuf::FieldDescriptor* fd) | ||
| 1301 | |||
| 1302 | From c59b146aee2d97091ca2adeecd3f2741cb7f0082 Mon Sep 17 00:00:00 2001 | ||
| 1303 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 1304 | Date: Sat, 8 Feb 2025 21:10:37 -0500 | ||
| 1305 | Subject: [PATCH 08/11] compat: Use absl::string_view instead of | ||
| 1306 | google::protobuf::internal::DescriptorStringView | ||
| 1307 | |||
| 1308 | Even though google::protobuf::internal::DescriptorStringView is exposed | ||
| 1309 | in public protobuf headers, it's probably not a good idea to rely on an | ||
| 1310 | "internal" typedef. | ||
| 1311 | |||
| 1312 | According to https://protobuf.dev/news/2024-10-02/#descriptor-apis: | ||
| 1313 | |||
| 1314 | v30 will update return types in descriptor (such as full_name) to be | ||
| 1315 | absl::string_view. | ||
| 1316 | |||
| 1317 | So `absl::string_view` is probably the right type to use here. | ||
| 1318 | --- | ||
| 1319 | protoc-gen-c/compat.h | 6 +++++- | ||
| 1320 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
| 1321 | |||
| 1322 | diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h | ||
| 1323 | index fe8041b5..a70cef34 100644 | ||
| 1324 | --- a/protoc-gen-c/compat.h | ||
| 1325 | +++ b/protoc-gen-c/compat.h | ||
| 1326 | @@ -37,12 +37,16 @@ | ||
| 1327 | # define GOOGLE_LOG ABSL_LOG | ||
| 1328 | #endif | ||
| 1329 | |||
| 1330 | +#if GOOGLE_PROTOBUF_VERSION >= 6030000 | ||
| 1331 | +# include <absl/strings/string_view.h> | ||
| 1332 | +#endif | ||
| 1333 | + | ||
| 1334 | namespace protobuf_c { | ||
| 1335 | |||
| 1336 | namespace compat { | ||
| 1337 | |||
| 1338 | #if GOOGLE_PROTOBUF_VERSION >= 6030000 | ||
| 1339 | -typedef google::protobuf::internal::DescriptorStringView StringView; | ||
| 1340 | +typedef absl::string_view StringView; | ||
| 1341 | #else | ||
| 1342 | typedef const std::string& StringView; | ||
| 1343 | #endif | ||
| 1344 | |||
| 1345 | From 9c56038fd9d3cc2552c297457d7a66efe5cbd2c7 Mon Sep 17 00:00:00 2001 | ||
| 1346 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 1347 | Date: Sat, 8 Feb 2025 21:37:30 -0500 | ||
| 1348 | Subject: [PATCH 09/11] Makefile.am: Add compat.h to | ||
| 1349 | protoc_gen_c_protoc_gen_c_SOURCES | ||
| 1350 | |||
| 1351 | --- | ||
| 1352 | Makefile.am | 1 + | ||
| 1353 | 1 file changed, 1 insertion(+) | ||
| 1354 | |||
| 1355 | diff --git a/Makefile.am b/Makefile.am | ||
| 1356 | index 77aa9d99..26d19f16 100644 | ||
| 1357 | --- a/Makefile.am | ||
| 1358 | +++ b/Makefile.am | ||
| 1359 | @@ -102,6 +102,7 @@ protoc_gen_c_protoc_gen_c_SOURCES = \ | ||
| 1360 | protoc-gen-c/c_service.h \ | ||
| 1361 | protoc-gen-c/c_string_field.cc \ | ||
| 1362 | protoc-gen-c/c_string_field.h \ | ||
| 1363 | + protoc-gen-c/compat.h \ | ||
| 1364 | protobuf-c/protobuf-c.pb.cc \ | ||
| 1365 | protobuf-c/protobuf-c.pb.h \ | ||
| 1366 | protoc-gen-c/main.cc | ||
| 1367 | |||
| 1368 | From 4ebd5cd8238d1f2ac6291b8c8925f34e16ce2123 Mon Sep 17 00:00:00 2001 | ||
| 1369 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 1370 | Date: Sat, 8 Feb 2025 21:38:07 -0500 | ||
| 1371 | Subject: [PATCH 10/11] compat: Conditionalize the include of <string> | ||
| 1372 | |||
| 1373 | It is only needed on older protobuf versions where absl::string_view is | ||
| 1374 | not being used. | ||
| 1375 | --- | ||
| 1376 | protoc-gen-c/compat.h | 4 ++-- | ||
| 1377 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 1378 | |||
| 1379 | diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h | ||
| 1380 | index a70cef34..f6ace7cb 100644 | ||
| 1381 | --- a/protoc-gen-c/compat.h | ||
| 1382 | +++ b/protoc-gen-c/compat.h | ||
| 1383 | @@ -28,8 +28,6 @@ | ||
| 1384 | #ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 1385 | #define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 1386 | |||
| 1387 | -#include <string> | ||
| 1388 | - | ||
| 1389 | #if GOOGLE_PROTOBUF_VERSION >= 4022000 | ||
| 1390 | # define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE | ||
| 1391 | # define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 1392 | @@ -39,6 +37,8 @@ | ||
| 1393 | |||
| 1394 | #if GOOGLE_PROTOBUF_VERSION >= 6030000 | ||
| 1395 | # include <absl/strings/string_view.h> | ||
| 1396 | +#else | ||
| 1397 | +# include <string> | ||
| 1398 | #endif | ||
| 1399 | |||
| 1400 | namespace protobuf_c { | ||
| 1401 | |||
| 1402 | From 9a6b35e1e6956fb5cb044910448049b7a5339244 Mon Sep 17 00:00:00 2001 | ||
| 1403 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 1404 | Date: Sat, 8 Feb 2025 21:44:42 -0500 | ||
| 1405 | Subject: [PATCH 11/11] Cater to Microsoft Visual C++ | ||
| 1406 | |||
| 1407 | Apparently MSVC doesn't support designated initializers for some reason. | ||
| 1408 | --- | ||
| 1409 | protoc-gen-c/c_enum.cc | 9 ++------- | ||
| 1410 | protoc-gen-c/c_message.cc | 2 +- | ||
| 1411 | 2 files changed, 3 insertions(+), 8 deletions(-) | ||
| 1412 | |||
| 1413 | diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc | ||
| 1414 | index c7839edd..1940ba9d 100644 | ||
| 1415 | --- a/protoc-gen-c/c_enum.cc | ||
| 1416 | +++ b/protoc-gen-c/c_enum.cc | ||
| 1417 | @@ -195,14 +195,9 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe | ||
| 1418 | // Sort by name and value, dropping duplicate values if they appear later. | ||
| 1419 | // TODO: use a c++ paradigm for this! | ||
| 1420 | std::vector<ValueIndex> value_index; | ||
| 1421 | - for (unsigned j = 0; j < descriptor_->value_count(); j++) { | ||
| 1422 | + for (int j = 0; j < descriptor_->value_count(); j++) { | ||
| 1423 | const google::protobuf::EnumValueDescriptor *vd = descriptor_->value(j); | ||
| 1424 | - value_index.push_back({ | ||
| 1425 | - .value = vd->number(), | ||
| 1426 | - .index = j, | ||
| 1427 | - .final_index = 0, | ||
| 1428 | - .name = vd->name(), | ||
| 1429 | - }); | ||
| 1430 | + value_index.push_back({ vd->number(), (unsigned)j, 0, vd->name() }); | ||
| 1431 | } | ||
| 1432 | qsort(&value_index[0], | ||
| 1433 | value_index.size(), | ||
| 1434 | diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc | ||
| 1435 | index 2a3b2a2f..94889179 100644 | ||
| 1436 | --- a/protoc-gen-c/c_message.cc | ||
| 1437 | +++ b/protoc-gen-c/c_message.cc | ||
| 1438 | @@ -581,7 +581,7 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) | ||
| 1439 | if (!optimize_code_size) { | ||
| 1440 | std::vector<NameIndex> field_indices; | ||
| 1441 | for (unsigned i = 0; i < descriptor_->field_count(); i++) { | ||
| 1442 | - field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); | ||
| 1443 | + field_indices.push_back({ i, sorted_fields[i]->name() }); | ||
| 1444 | } | ||
| 1445 | qsort(&field_indices[0], | ||
| 1446 | 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.2.bb index 30c9e19b16..7fe514fe07 100644 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb +++ b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.2.bb | |||
| @@ -13,11 +13,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bd8de4f63e06b1ccc06e9f8dc5b1aa97" | |||
| 13 | DEPENDS = "protobuf-native protobuf" | 13 | DEPENDS = "protobuf-native protobuf" |
| 14 | 14 | ||
| 15 | SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https \ | 15 | SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https \ |
| 16 | file://protobuf-30.patch \ | ||
| 17 | " | 16 | " |
| 18 | SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch" | 17 | SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch" |
| 19 | 18 | ||
| 20 | SRCREV = "185beed28e65494be7505b30c1afeaf199e19b23" | 19 | SRCREV = "4719fdd7760624388c2c5b9d6759eb6a47490626" |
| 21 | 20 | ||
| 22 | 21 | ||
| 23 | inherit autotools pkgconfig | 22 | inherit autotools pkgconfig |
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb b/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb index 4af48b0b99..880dd82b1d 100644 --- a/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb +++ b/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb | |||
| @@ -29,6 +29,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d\.\d+\.\d+)" | |||
| 29 | CVE_PRODUCT = "google:protobuf protobuf:protobuf google-protobuf protobuf-cpp" | 29 | CVE_PRODUCT = "google:protobuf protobuf:protobuf google-protobuf protobuf-cpp" |
| 30 | 30 | ||
| 31 | CVE_STATUS[CVE-2026-0994] = "cpe-incorrect: the vulnerability affects only python3-protobuf recipe" | 31 | CVE_STATUS[CVE-2026-0994] = "cpe-incorrect: the vulnerability affects only python3-protobuf recipe" |
| 32 | CVE_STATUS[CVE-2026-6409] = "cpe-incorrect: the vulnerability affects only the php library" | ||
| 32 | 33 | ||
| 33 | inherit cmake pkgconfig ptest | 34 | inherit cmake pkgconfig ptest |
| 34 | 35 | ||
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 102e329878..0a3fbf5b93 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" | |||
| 9 | LICENSE = "Apache-2.0" | 9 | LICENSE = "Apache-2.0" |
| 10 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | 10 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" |
| 11 | 11 | ||
| 12 | CVE_PRODUCT = "xerces-c\+\+" | 12 | CVE_PRODUCT = "xerces-c++" |
| 13 | 13 | ||
| 14 | SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2 \ | 14 | SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2 \ |
| 15 | file://0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch \ | 15 | file://0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch \ |
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 0000000000..2d51253e69 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | From bad5d689a69dca3d1dc3e7653946f1205661afbf Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Fri, 10 Apr 2026 13:25:39 +0800 | ||
| 4 | Subject: [PATCH 1/2] CMakeLists.txt: make CONFIGURATION_FILES_DIR aligned | ||
| 5 | |||
| 6 | Commit [723e90e dlt: Adaptation for QNX build system with SDP 7.x | ||
| 7 | (#609)], refer [1], make CONFIGURATION_FILES_DIR not aligned. the CMake | ||
| 8 | variable CONFIGURATION_FILES_DIR set to CMAKE_INSTALL_SYSCONFDIR, but | ||
| 9 | the tell the compiler to define macro CONFIGURATION_FILES_DIR as | ||
| 10 | ${CMAKE_INSTALL_PREFIX}/${CONFIGURATION_FILES_DIR}. | ||
| 11 | |||
| 12 | At least for linux, this will cause failure of the systemd service. Eg: | ||
| 13 | if CMAKE_INSTALL_PREFIX is /usr, then the configuration file is | ||
| 14 | installed under ${CONFIGURATION_FILES_DIR}, usually is /etc. But the | ||
| 15 | application like dlt-daemon/dlt-system will find the default | ||
| 16 | configuration file under /usr/etc. This makes service start failed. | ||
| 17 | |||
| 18 | [1] https://github.com/COVESA/dlt-daemon/commit/723e90e77db91130375238a592b9a292302a32bb | ||
| 19 | |||
| 20 | Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/issues/848] | ||
| 21 | |||
| 22 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 23 | --- | ||
| 24 | CMakeLists.txt | 2 +- | ||
| 25 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 26 | |||
| 27 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 28 | index bb9250f..821730a 100644 | ||
| 29 | --- a/CMakeLists.txt | ||
| 30 | +++ b/CMakeLists.txt | ||
| 31 | @@ -289,7 +289,7 @@ endif() | ||
| 32 | |||
| 33 | set(CONFIGURATION_FILES_DIR ${CMAKE_INSTALL_SYSCONFDIR}) | ||
| 34 | |||
| 35 | -add_definitions(-DCONFIGURATION_FILES_DIR="${CMAKE_INSTALL_PREFIX}/${CONFIGURATION_FILES_DIR}") | ||
| 36 | +add_definitions(-DCONFIGURATION_FILES_DIR="${CONFIGURATION_FILES_DIR}") | ||
| 37 | |||
| 38 | add_subdirectory(cmake) | ||
| 39 | |||
| 40 | -- | ||
| 41 | 2.34.1 | ||
| 42 | |||
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 0000000000..bac7691c32 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-daemon.c-fix-wrong-len.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From 7e94c281563ff0eb67e521cf0a6fc3049f732214 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Wed, 15 Apr 2026 16:52:19 +0800 | ||
| 4 | Subject: [PATCH] dlt-daemon.c: fix wrong len | ||
| 5 | |||
| 6 | Set len to 0 makes the application description always empty. | ||
| 7 | One of the failure case: | ||
| 8 | Running "dlt-example-user 'test'", | ||
| 9 | Check "dlt-control -j localhost", will not get application description: | ||
| 10 | APID:LOG- | ||
| 11 | |||
| 12 | Expected: | ||
| 13 | APID:LOG- Test Application for Logging | ||
| 14 | |||
| 15 | Upstream-Status: Backport [https://github.com/COVESA/dlt-daemon/pull/852] | ||
| 16 | |||
| 17 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 18 | --- | ||
| 19 | src/daemon/dlt-daemon.c | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c | ||
| 23 | index 8c318a4..38fe824 100644 | ||
| 24 | --- a/src/daemon/dlt-daemon.c | ||
| 25 | +++ b/src/daemon/dlt-daemon.c | ||
| 26 | @@ -4110,7 +4110,7 @@ int dlt_daemon_process_user_message_register_application(DltDaemon *daemon, | ||
| 27 | to_remove = (uint32_t) temp; | ||
| 28 | } | ||
| 29 | |||
| 30 | - len = 0; | ||
| 31 | + len = userapp.description_length; | ||
| 32 | |||
| 33 | if (len > DLT_DAEMON_DESCSIZE) { | ||
| 34 | len = DLT_DAEMON_DESCSIZE; | ||
| 35 | -- | ||
| 36 | 2.34.1 | ||
| 37 | |||
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 index d19a23cd9c..b1ba08a7d3 100644 --- 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 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 28322f951bb8510ddb4cf767426a67c81ce826ab Mon Sep 17 00:00:00 2001 | 1 | From 6a95cc20d3c5adfc5c16f269f6dca9f7e2305b4e Mon Sep 17 00:00:00 2001 |
| 2 | From: Changqing Li <changqing.li@windriver.com> | 2 | From: Changqing Li <changqing.li@windriver.com> |
| 3 | Date: Tue, 17 Mar 2026 13:04:11 +0800 | 3 | Date: Tue, 17 Mar 2026 13:04:11 +0800 |
| 4 | Subject: [PATCH] fix build failure when systemd is enabled | 4 | Subject: [PATCH] fix build failure when systemd is enabled |
| @@ -42,10 +42,10 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com> | |||
| 42 | src/system/dlt-system-logfile.c | 4 +-- | 42 | src/system/dlt-system-logfile.c | 4 +-- |
| 43 | src/system/dlt-system-process-handling.c | 2 +- | 43 | src/system/dlt-system-process-handling.c | 2 +- |
| 44 | src/system/dlt-system-processes.c | 2 +- | 44 | src/system/dlt-system-processes.c | 2 +- |
| 45 | src/system/dlt-system-syslog.c | 6 ++-- | 45 | src/system/dlt-system-syslog.c | 8 ++--- |
| 46 | src/system/dlt-system-watchdog.c | 8 ++--- | 46 | src/system/dlt-system-watchdog.c | 8 ++--- |
| 47 | systemd/3rdparty/sd-daemon.c | 5 +-- | 47 | systemd/3rdparty/sd-daemon.c | 5 +-- |
| 48 | 10 files changed, 40 insertions(+), 42 deletions(-) | 48 | 10 files changed, 41 insertions(+), 43 deletions(-) |
| 49 | 49 | ||
| 50 | diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c | 50 | diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c |
| 51 | index ef42f89..8c318a4 100644 | 51 | index ef42f89..8c318a4 100644 |
| @@ -329,10 +329,10 @@ index c35596c..b17b8ee 100644 | |||
| 329 | 329 | ||
| 330 | /* go through all process files in directory */ | 330 | /* go through all process files in directory */ |
| 331 | diff --git a/src/system/dlt-system-syslog.c b/src/system/dlt-system-syslog.c | 331 | diff --git a/src/system/dlt-system-syslog.c b/src/system/dlt-system-syslog.c |
| 332 | index 59e9d3f..d6b1b8a 100644 | 332 | index 59e9d3f..f0bf3dc 100644 |
| 333 | --- a/src/system/dlt-system-syslog.c | 333 | --- a/src/system/dlt-system-syslog.c |
| 334 | +++ b/src/system/dlt-system-syslog.c | 334 | +++ b/src/system/dlt-system-syslog.c |
| 335 | @@ -88,7 +88,7 @@ int init_socket(SyslogOptions opts) | 335 | @@ -88,11 +88,11 @@ int init_socket(SyslogOptions opts) |
| 336 | #ifdef DLT_USE_IPv6 | 336 | #ifdef DLT_USE_IPv6 |
| 337 | syslog_addr.sin6_family = AF_INET6; | 337 | syslog_addr.sin6_family = AF_INET6; |
| 338 | syslog_addr.sin6_addr = in6addr_any; | 338 | syslog_addr.sin6_addr = in6addr_any; |
| @@ -341,6 +341,11 @@ index 59e9d3f..d6b1b8a 100644 | |||
| 341 | #else | 341 | #else |
| 342 | syslog_addr.sin_family = AF_INET; | 342 | syslog_addr.sin_family = AF_INET; |
| 343 | syslog_addr.sin_addr.s_addr = INADDR_ANY; | 343 | syslog_addr.sin_addr.s_addr = INADDR_ANY; |
| 344 | - syslog_addr.sin_port = htons(opts.Port); | ||
| 345 | + syslog_addr.sin_port = htons((uint16_t)opts.Port); | ||
| 346 | memset(&(syslog_addr.sin_zero), 0, 8); | ||
| 347 | #endif | ||
| 348 | |||
| 344 | @@ -117,7 +117,7 @@ int read_socket(int sock) | 349 | @@ -117,7 +117,7 @@ int read_socket(int sock) |
| 345 | struct sockaddr_in client_addr; | 350 | struct sockaddr_in client_addr; |
| 346 | socklen_t addr_len = sizeof(struct sockaddr_in); | 351 | socklen_t addr_len = sizeof(struct sockaddr_in); |
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 0000000000..208e433e53 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch | |||
| @@ -0,0 +1,1003 @@ | |||
| 1 | From 74b36fab6e7e66ca470b7b2ca2a494edd8c673d5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 10 Apr 2026 23:42:05 -0700 | ||
| 4 | Subject: [PATCH] warnings: Fix clang generated warnings | ||
| 5 | |||
| 6 | This patch ensures that it can compile with clang-22 | ||
| 7 | |||
| 8 | Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/850] | ||
| 9 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 10 | --- | ||
| 11 | CMakeLists.txt | 3 + | ||
| 12 | examples/example1/example1.c | 2 +- | ||
| 13 | examples/example1_v2/example1.c | 2 +- | ||
| 14 | examples/example2/example2.c | 2 +- | ||
| 15 | examples/example2_v2/example2.c | 2 +- | ||
| 16 | examples/example3/example3.c | 2 +- | ||
| 17 | examples/example3_v2/example3.c | 2 +- | ||
| 18 | examples/example4/example4.c | 2 +- | ||
| 19 | examples/example4_v2/example4.c | 2 +- | ||
| 20 | src/console/dlt-control-v2.c | 2 +- | ||
| 21 | src/console/dlt-passive-node-ctrl.c | 8 +-- | ||
| 22 | src/console/dlt-receive-v2.c | 2 +- | ||
| 23 | src/console/dlt-sortbytimestamp.c | 2 +- | ||
| 24 | src/console/logstorage/dlt-logstorage-ctrl.c | 2 +- | ||
| 25 | src/daemon/dlt-daemon.c | 6 +- | ||
| 26 | src/daemon/dlt-daemon.h | 2 +- | ||
| 27 | src/daemon/dlt_daemon_client.c | 6 +- | ||
| 28 | src/examples/dlt-example-filetransfer.c | 8 ++- | ||
| 29 | .../dlt-example-multicast-clientmsg-view.c | 4 +- | ||
| 30 | src/examples/dlt-example-user-common-api.c | 2 +- | ||
| 31 | src/examples/dlt-example-user-func-v2.c | 2 +- | ||
| 32 | src/examples/dlt-example-user-func.c | 2 +- | ||
| 33 | src/examples/dlt-example-user-v2.c | 4 +- | ||
| 34 | src/examples/dlt-example-user.c | 2 +- | ||
| 35 | src/lib/dlt_env_ll.c | 3 +- | ||
| 36 | src/lib/dlt_user.c | 70 +++++++++---------- | ||
| 37 | .../dlt_offline_logstorage.c | 2 +- | ||
| 38 | src/shared/dlt_log.c | 8 +-- | ||
| 39 | src/system/dlt-system-journal.c | 8 ++- | ||
| 40 | src/system/dlt-system-process-handling.c | 2 +- | ||
| 41 | src/system/dlt-system-shell.c | 2 +- | ||
| 42 | src/system/dlt-system.h | 4 +- | ||
| 43 | src/tests/dlt-test-client-v2.c | 2 +- | ||
| 44 | src/tests/dlt-test-fork-handler-v2.c | 2 +- | ||
| 45 | src/tests/dlt-test-fork-handler.c | 2 +- | ||
| 46 | src/tests/dlt-test-multi-process-v2.c | 8 +-- | ||
| 47 | src/tests/dlt-test-multi-process.c | 8 +-- | ||
| 48 | src/tests/dlt-test-non-verbose.c | 4 +- | ||
| 49 | src/tests/dlt-test-preregister-context-v2.c | 2 +- | ||
| 50 | src/tests/dlt-test-preregister-context.c | 2 +- | ||
| 51 | src/tests/dlt-test-qnx-slogger.c | 2 +- | ||
| 52 | src/tests/dlt-test-stress-client-v2.c | 2 +- | ||
| 53 | src/tests/dlt-test-stress-user-v2.c | 2 +- | ||
| 54 | src/tests/dlt-test-stress-v2.c | 2 +- | ||
| 55 | src/tests/dlt-test-stress.c | 2 +- | ||
| 56 | src/tests/dlt-test-user-v2.c | 2 +- | ||
| 57 | src/tests/dlt-test-user.c | 2 +- | ||
| 58 | tests/dlt_test_receiver.c | 2 +- | ||
| 59 | 48 files changed, 110 insertions(+), 108 deletions(-) | ||
| 60 | |||
| 61 | --- a/CMakeLists.txt | ||
| 62 | +++ b/CMakeLists.txt | ||
| 63 | @@ -261,7 +261,11 @@ add_compile_options( | ||
| 64 | -Wcast-qual | ||
| 65 | -Wno-system-headers | ||
| 66 | -Wno-unused-function | ||
| 67 | - -Wno-stringop-truncation | ||
| 68 | + $<$<AND:$<COMPILE_LANGUAGE:C>,$<C_COMPILER_ID:Clang>>:-Wno-gnu-statement-expression-from-macro-expansion> | ||
| 69 | + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CXX_COMPILER_ID:Clang>>:-Wno-gnu-statement-expression-from-macro-expansion> | ||
| 70 | + $<$<CXX_COMPILER_ID:Clang>:-Wno-gnu-zero-variadic-macro-arguments> | ||
| 71 | + $<$<AND:$<COMPILE_LANGUAGE:C>,$<C_COMPILER_ID:GNU>>:-Wno-stringop-truncation> | ||
| 72 | + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CXX_COMPILER_ID:GNU>>:-Wno-stringop-truncation> | ||
| 73 | ) | ||
| 74 | |||
| 75 | if(WITH_DOC STREQUAL "OFF") | ||
| 76 | --- a/examples/example1/example1.c | ||
| 77 | +++ b/examples/example1/example1.c | ||
| 78 | @@ -50,7 +50,7 @@ | ||
| 79 | |||
| 80 | DLT_DECLARE_CONTEXT(con_exa1); | ||
| 81 | |||
| 82 | -int main() | ||
| 83 | +int main(void) | ||
| 84 | { | ||
| 85 | struct timespec ts; | ||
| 86 | |||
| 87 | --- a/examples/example1_v2/example1.c | ||
| 88 | +++ b/examples/example1_v2/example1.c | ||
| 89 | @@ -50,7 +50,7 @@ | ||
| 90 | |||
| 91 | DLT_DECLARE_CONTEXT(con_exa1); | ||
| 92 | |||
| 93 | -int main() | ||
| 94 | +int main(void) | ||
| 95 | { | ||
| 96 | struct timespec ts; | ||
| 97 | |||
| 98 | --- a/examples/example2/example2.c | ||
| 99 | +++ b/examples/example2/example2.c | ||
| 100 | @@ -52,7 +52,7 @@ | ||
| 101 | |||
| 102 | DLT_DECLARE_CONTEXT(con_exa2); | ||
| 103 | |||
| 104 | -int main() | ||
| 105 | +int main(void) | ||
| 106 | { | ||
| 107 | int num; | ||
| 108 | struct timespec ts; | ||
| 109 | --- a/examples/example2_v2/example2.c | ||
| 110 | +++ b/examples/example2_v2/example2.c | ||
| 111 | @@ -52,7 +52,7 @@ | ||
| 112 | |||
| 113 | DLT_DECLARE_CONTEXT(con_exa2); | ||
| 114 | |||
| 115 | -int main() | ||
| 116 | +int main(void) | ||
| 117 | { | ||
| 118 | int num; | ||
| 119 | struct timespec ts; | ||
| 120 | --- a/examples/example3/example3.c | ||
| 121 | +++ b/examples/example3/example3.c | ||
| 122 | @@ -52,7 +52,7 @@ | ||
| 123 | |||
| 124 | DLT_DECLARE_CONTEXT(con_exa3); | ||
| 125 | |||
| 126 | -int main() | ||
| 127 | +int main(void) | ||
| 128 | { | ||
| 129 | int num; | ||
| 130 | struct timespec ts; | ||
| 131 | --- a/examples/example3_v2/example3.c | ||
| 132 | +++ b/examples/example3_v2/example3.c | ||
| 133 | @@ -52,7 +52,7 @@ | ||
| 134 | |||
| 135 | DLT_DECLARE_CONTEXT(con_exa3); | ||
| 136 | |||
| 137 | -int main() | ||
| 138 | +int main(void) | ||
| 139 | { | ||
| 140 | int num; | ||
| 141 | struct timespec ts; | ||
| 142 | --- a/examples/example4/example4.c | ||
| 143 | +++ b/examples/example4/example4.c | ||
| 144 | @@ -50,7 +50,7 @@ | ||
| 145 | |||
| 146 | DLT_DECLARE_CONTEXT(con_exa1); | ||
| 147 | |||
| 148 | -int main() | ||
| 149 | +int main(void) | ||
| 150 | { | ||
| 151 | unsigned char buffer[256]; | ||
| 152 | int num; | ||
| 153 | --- a/examples/example4_v2/example4.c | ||
| 154 | +++ b/examples/example4_v2/example4.c | ||
| 155 | @@ -50,7 +50,7 @@ | ||
| 156 | |||
| 157 | DLT_DECLARE_CONTEXT(con_exa1); | ||
| 158 | |||
| 159 | -int main() | ||
| 160 | +int main(void) | ||
| 161 | { | ||
| 162 | unsigned char buffer[256]; | ||
| 163 | int num; | ||
| 164 | --- a/src/console/dlt-control-v2.c | ||
| 165 | +++ b/src/console/dlt-control-v2.c | ||
| 166 | @@ -129,7 +129,7 @@ typedef struct { | ||
| 167 | /** | ||
| 168 | * Print usage information of tool. | ||
| 169 | */ | ||
| 170 | -void usage() | ||
| 171 | +void usage(void) | ||
| 172 | { | ||
| 173 | char version[255]; | ||
| 174 | |||
| 175 | --- a/src/console/dlt-passive-node-ctrl.c | ||
| 176 | +++ b/src/console/dlt-passive-node-ctrl.c | ||
| 177 | @@ -118,7 +118,7 @@ void set_node_id(char *id) | ||
| 178 | } | ||
| 179 | } | ||
| 180 | |||
| 181 | -char *get_node_id() | ||
| 182 | +char *get_node_id(void) | ||
| 183 | { | ||
| 184 | return g_options.node_id; | ||
| 185 | } | ||
| 186 | @@ -211,7 +211,7 @@ static int dlt_passive_node_analyze_resp | ||
| 187 | * | ||
| 188 | * @return Pointer ot DltControlMsgBody, NULL otherwise | ||
| 189 | */ | ||
| 190 | -DltControlMsgBody *dlt_passive_node_prepare_message_body() | ||
| 191 | +DltControlMsgBody *dlt_passive_node_prepare_message_body(void) | ||
| 192 | { | ||
| 193 | DltControlMsgBody *mb = calloc(1, sizeof(DltControlMsgBody)); | ||
| 194 | char *ecuid = get_node_id(); | ||
| 195 | @@ -271,7 +271,7 @@ void dlt_passive_node_destroy_message_bo | ||
| 196 | * | ||
| 197 | * @return 0 on success, -1 on error | ||
| 198 | */ | ||
| 199 | -static int dlt_passive_node_ctrl_single_request() | ||
| 200 | +static int dlt_passive_node_ctrl_single_request(void) | ||
| 201 | { | ||
| 202 | int ret = -1; | ||
| 203 | |||
| 204 | @@ -301,7 +301,7 @@ static int dlt_passive_node_ctrl_single_ | ||
| 205 | return ret; | ||
| 206 | } | ||
| 207 | |||
| 208 | -static void usage() | ||
| 209 | +static void usage(void) | ||
| 210 | { | ||
| 211 | printf("Usage: dlt-passive-node-ctrl [options]\n"); | ||
| 212 | printf("Send a trigger to DLT daemon to (dis)connect a passive node " | ||
| 213 | --- a/src/console/dlt-receive-v2.c | ||
| 214 | +++ b/src/console/dlt-receive-v2.c | ||
| 215 | @@ -144,7 +144,7 @@ typedef struct { | ||
| 216 | /** | ||
| 217 | * Print usage information of tool. | ||
| 218 | */ | ||
| 219 | -void usage() | ||
| 220 | +void usage(void) | ||
| 221 | { | ||
| 222 | char version[255]; | ||
| 223 | |||
| 224 | --- a/src/console/dlt-sortbytimestamp.c | ||
| 225 | +++ b/src/console/dlt-sortbytimestamp.c | ||
| 226 | @@ -194,7 +194,7 @@ void write_messages(int ohandle, DltFile | ||
| 227 | /** | ||
| 228 | * Print usage information of tool. | ||
| 229 | */ | ||
| 230 | -void usage() { | ||
| 231 | +void usage(void) { | ||
| 232 | char version[DLT_VERBUFSIZE]; | ||
| 233 | |||
| 234 | dlt_get_version(version, DLT_VERBUFSIZE); | ||
| 235 | --- a/src/console/logstorage/dlt-logstorage-ctrl.c | ||
| 236 | +++ b/src/console/logstorage/dlt-logstorage-ctrl.c | ||
| 237 | @@ -354,7 +354,7 @@ static int dlt_logstorage_ctrl_setup_eve | ||
| 238 | * | ||
| 239 | * @return 0 on success, -1 otherwise. | ||
| 240 | */ | ||
| 241 | -static int dlt_logstorage_ctrl_single_request() | ||
| 242 | +static int dlt_logstorage_ctrl_single_request(void) | ||
| 243 | { | ||
| 244 | int ret = 0; | ||
| 245 | |||
| 246 | --- a/src/daemon/dlt-daemon.c | ||
| 247 | +++ b/src/daemon/dlt-daemon.c | ||
| 248 | @@ -207,7 +207,7 @@ void close_pipes(int fds[2]) | ||
| 249 | /** | ||
| 250 | * Print usage information of tool. | ||
| 251 | */ | ||
| 252 | -void usage() | ||
| 253 | +void usage(void) | ||
| 254 | { | ||
| 255 | char version[DLT_DAEMON_TEXTBUFSIZE]; | ||
| 256 | dlt_get_version(version, DLT_DAEMON_TEXTBUFSIZE); | ||
| 257 | @@ -2489,7 +2489,7 @@ void dlt_daemon_local_cleanup(DltDaemon | ||
| 258 | free(daemon_local->flags.ipNodes); | ||
| 259 | } | ||
| 260 | |||
| 261 | -void dlt_daemon_exit_trigger() | ||
| 262 | +void dlt_daemon_exit_trigger(void) | ||
| 263 | { | ||
| 264 | /* stop event loop */ | ||
| 265 | g_exit = -1; | ||
| 266 | @@ -2655,7 +2655,7 @@ int dlt_daemon_log_internal(DltDaemon *d | ||
| 267 | |||
| 268 | msg.storageheadersizev2 = (uint32_t)(STORAGE_HEADER_V2_FIXED_SIZE + strlen(DLT_DAEMON_ECU_ID)); | ||
| 269 | msg.baseheadersizev2 = BASE_HEADER_V2_FIXED_SIZE; | ||
| 270 | - msg.baseheaderextrasizev2 = (int32_t)dlt_message_get_extraparameters_size_v2(msgcontent); | ||
| 271 | + msg.baseheaderextrasizev2 = (uint32_t)dlt_message_get_extraparameters_size_v2(msgcontent); | ||
| 272 | /* Ecu Id, App Id, Ctx Id and Session Id*/ | ||
| 273 | msg.extendedheadersizev2 = (uint32_t)(1 + strlen(DLT_DAEMON_ECU_ID) + 1 + strlen(app_id) + 1 + strlen(ctx_id) + sizeof(uint32_t)); | ||
| 274 | |||
| 275 | --- a/src/daemon/dlt-daemon.h | ||
| 276 | +++ b/src/daemon/dlt-daemon.h | ||
| 277 | @@ -217,7 +217,7 @@ int dlt_daemon_local_connection_init(Dlt | ||
| 278 | int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose); | ||
| 279 | |||
| 280 | void dlt_daemon_daemonize(int verbose); | ||
| 281 | -void dlt_daemon_exit_trigger(); | ||
| 282 | +void dlt_daemon_exit_trigger(void); | ||
| 283 | void dlt_daemon_signal_handler(int sig); | ||
| 284 | #ifdef __QNX__ | ||
| 285 | void dlt_daemon_cleanup_timers(); | ||
| 286 | --- a/src/daemon/dlt_daemon_client.c | ||
| 287 | +++ b/src/daemon/dlt_daemon_client.c | ||
| 288 | @@ -817,7 +817,7 @@ int dlt_daemon_client_send_control_messa | ||
| 289 | |||
| 290 | msg->storageheadersizev2 = (uint32_t)(STORAGE_HEADER_V2_FIXED_SIZE + (daemon->ecuid2len)); | ||
| 291 | msg->baseheadersizev2 = BASE_HEADER_V2_FIXED_SIZE; | ||
| 292 | - msg->baseheaderextrasizev2 = (int32_t)dlt_message_get_extraparameters_size_v2(DLT_CONTROL_MSG); | ||
| 293 | + msg->baseheaderextrasizev2 = (uint32_t)dlt_message_get_extraparameters_size_v2(DLT_CONTROL_MSG); | ||
| 294 | msg->extendedheadersizev2 = (uint32_t)((daemon->ecuid2len) + 1 + appidlen + 1 + ctxidlen + 1); | ||
| 295 | |||
| 296 | msg->headersizev2 = (int32_t)(msg->storageheadersizev2 + msg->baseheadersizev2 + | ||
| 297 | @@ -5388,7 +5388,7 @@ void dlt_daemon_control_passive_node_con | ||
| 298 | |||
| 299 | con = &daemon_local->pGateway.connections[i]; | ||
| 300 | |||
| 301 | - resp->connection_status[i] = con->status; | ||
| 302 | + resp->connection_status[i] = (uint8_t)con->status; | ||
| 303 | //TBD: Review node_id[i * con->ecuid2len] | ||
| 304 | memcpy(&resp->node_id[i * con->ecuid2len], con->ecuid2, con->ecuid2len); | ||
| 305 | } | ||
| 306 | @@ -5471,7 +5471,7 @@ void dlt_daemon_control_passive_node_con | ||
| 307 | |||
| 308 | con = &daemon_local->pGateway.connections[i]; | ||
| 309 | |||
| 310 | - resp->connection_status[i] = con->status; | ||
| 311 | + resp->connection_status[i] = (uint8_t)con->status; | ||
| 312 | memcpy(&resp->node_id[i * DLT_ID_SIZE], con->ecuid, DLT_ID_SIZE); | ||
| 313 | } | ||
| 314 | |||
| 315 | --- a/src/examples/dlt-example-filetransfer.c | ||
| 316 | +++ b/src/examples/dlt-example-filetransfer.c | ||
| 317 | @@ -84,9 +84,10 @@ bool shutdownStatus = false; | ||
| 318 | * The function will set the flag (shutdownStatus) to true after .2 sec | ||
| 319 | * @return Null to stop thread | ||
| 320 | */ | ||
| 321 | -void *cancel_filetransfer() | ||
| 322 | +void *cancel_filetransfer(void* arg) | ||
| 323 | { | ||
| 324 | // wait 200msec once a filetransfer is started and then set the flag to true | ||
| 325 | + (void)arg; | ||
| 326 | struct timespec ts; | ||
| 327 | ts.tv_sec = 0; | ||
| 328 | ts.tv_nsec = 200000000; // 200 ms | ||
| 329 | @@ -99,8 +100,9 @@ void *cancel_filetransfer() | ||
| 330 | * The function will start dlt filetransfer and will throw error if status of shutdownStatus is high | ||
| 331 | * @return Null to stop thread | ||
| 332 | */ | ||
| 333 | -void *filetransfer() | ||
| 334 | +void *filetransfer(void* arg) | ||
| 335 | { | ||
| 336 | + (void)arg; | ||
| 337 | int transferResult; | ||
| 338 | |||
| 339 | transferResult = dlt_user_log_file_header(&fileContext, file); | ||
| 340 | @@ -125,7 +127,7 @@ void *filetransfer() | ||
| 341 | /** | ||
| 342 | * Print usage information of tool. | ||
| 343 | */ | ||
| 344 | -void usage() | ||
| 345 | +void usage(void) | ||
| 346 | { | ||
| 347 | char version[255]; | ||
| 348 | |||
| 349 | --- a/src/examples/dlt-example-multicast-clientmsg-view.c | ||
| 350 | +++ b/src/examples/dlt-example-multicast-clientmsg-view.c | ||
| 351 | @@ -96,7 +96,7 @@ int dlt_receive_message_callback_udp(Dlt | ||
| 352 | { | ||
| 353 | static char text[DLT_RECEIVE_TEXTBUFSIZE]; | ||
| 354 | |||
| 355 | - if ((message == NULL)) { | ||
| 356 | + if (message == NULL) { | ||
| 357 | printf("NULL message in dlt_receive_message_callback_udp\n"); | ||
| 358 | return -1; | ||
| 359 | } | ||
| 360 | @@ -119,7 +119,7 @@ int dlt_receive_message_callback_udp(Dlt | ||
| 361 | } | ||
| 362 | |||
| 363 | |||
| 364 | -int main() | ||
| 365 | +int main(void) | ||
| 366 | { | ||
| 367 | struct clientinfostruct clientinfo; | ||
| 368 | struct ip_mreq mreq; | ||
| 369 | --- a/src/examples/dlt-example-user-common-api.c | ||
| 370 | +++ b/src/examples/dlt-example-user-common-api.c | ||
| 371 | @@ -66,7 +66,7 @@ DLT_DECLARE_CONTEXT(mycontext) | ||
| 372 | /** | ||
| 373 | * Print usage information of tool. | ||
| 374 | */ | ||
| 375 | -void usage() | ||
| 376 | +void usage(void) | ||
| 377 | { | ||
| 378 | char version[255]; | ||
| 379 | |||
| 380 | --- a/src/examples/dlt-example-user-func-v2.c | ||
| 381 | +++ b/src/examples/dlt-example-user-func-v2.c | ||
| 382 | @@ -84,7 +84,7 @@ DltContextData mycontextdata; | ||
| 383 | /** | ||
| 384 | * Print usage information of tool. | ||
| 385 | */ | ||
| 386 | -void usage() | ||
| 387 | +void usage(void) | ||
| 388 | { | ||
| 389 | char version[255]; | ||
| 390 | |||
| 391 | --- a/src/examples/dlt-example-user-func.c | ||
| 392 | +++ b/src/examples/dlt-example-user-func.c | ||
| 393 | @@ -82,7 +82,7 @@ DltContextData mycontextdata; | ||
| 394 | /** | ||
| 395 | * Print usage information of tool. | ||
| 396 | */ | ||
| 397 | -void usage() | ||
| 398 | +void usage(void) | ||
| 399 | { | ||
| 400 | char version[255]; | ||
| 401 | |||
| 402 | --- a/src/examples/dlt-example-user-v2.c | ||
| 403 | +++ b/src/examples/dlt-example-user-v2.c | ||
| 404 | @@ -88,7 +88,7 @@ DLT_DECLARE_CONTEXT(mycontext3) | ||
| 405 | /** | ||
| 406 | * Print usage information of tool. | ||
| 407 | */ | ||
| 408 | -void usage() | ||
| 409 | +void usage(void) | ||
| 410 | { | ||
| 411 | char version[255]; | ||
| 412 | |||
| 413 | @@ -458,4 +458,4 @@ int dlt_user_injection_callback_with_spe | ||
| 414 | void dlt_user_log_level_changed_callback_v2(char *context_id, uint8_t log_level, uint8_t trace_status) | ||
| 415 | { | ||
| 416 | printf("Log level changed of context %s, LogLevel=%u, TraceState=%u\n", context_id, log_level, trace_status); | ||
| 417 | -} | ||
| 418 | \ No newline at end of file | ||
| 419 | +} | ||
| 420 | --- a/src/examples/dlt-example-user.c | ||
| 421 | +++ b/src/examples/dlt-example-user.c | ||
| 422 | @@ -86,7 +86,7 @@ DLT_DECLARE_CONTEXT(mycontext3) | ||
| 423 | /** | ||
| 424 | * Print usage information of tool. | ||
| 425 | */ | ||
| 426 | -void usage() | ||
| 427 | +void usage(void) | ||
| 428 | { | ||
| 429 | char version[255]; | ||
| 430 | |||
| 431 | --- a/src/lib/dlt_env_ll.c | ||
| 432 | +++ b/src/lib/dlt_env_ll.c | ||
| 433 | @@ -125,7 +125,8 @@ int dlt_env_helper_to_lower(char **const | ||
| 434 | |||
| 435 | int dlt_env_extract_symbolic_ll(char **const env, int8_t *ll) | ||
| 436 | { | ||
| 437 | - char result[strlen("verbose") + 1]; | ||
| 438 | + char result[sizeof("verbose")]; | ||
| 439 | + | ||
| 440 | |||
| 441 | if (!env || !ll) { | ||
| 442 | return -1; | ||
| 443 | --- a/src/lib/dlt_user.c | ||
| 444 | +++ b/src/lib/dlt_user.c | ||
| 445 | @@ -545,7 +545,7 @@ DltReturnValue dlt_init(void) | ||
| 446 | |||
| 447 | /* Check logging mode and internal log file is opened or not*/ | ||
| 448 | if (logging_mode == DLT_LOG_TO_FILE && logging_handle == NULL) { | ||
| 449 | - dlt_log_init(logging_mode); | ||
| 450 | + dlt_log_init((int)logging_mode); | ||
| 451 | } | ||
| 452 | |||
| 453 | /* Initialize common part of dlt_init()/dlt_init_file() */ | ||
| 454 | @@ -2391,14 +2391,14 @@ DltReturnValue dlt_set_application_ll_ts | ||
| 455 | |||
| 456 | /* Update local structures */ | ||
| 457 | for (i = 0; i < dlt_user.dlt_ll_ts_num_entries; i++) { | ||
| 458 | - dlt_user.dlt_ll_ts[i].log_level = loglevel; | ||
| 459 | - dlt_user.dlt_ll_ts[i].trace_status = tracestatus; | ||
| 460 | + dlt_user.dlt_ll_ts[i].log_level = (int8_t)loglevel; | ||
| 461 | + dlt_user.dlt_ll_ts[i].trace_status = (int8_t)tracestatus; | ||
| 462 | |||
| 463 | if (dlt_user.dlt_ll_ts[i].log_level_ptr) | ||
| 464 | - *(dlt_user.dlt_ll_ts[i].log_level_ptr) = loglevel; | ||
| 465 | + *(dlt_user.dlt_ll_ts[i].log_level_ptr) = (int8_t)loglevel; | ||
| 466 | |||
| 467 | if (dlt_user.dlt_ll_ts[i].trace_status_ptr) | ||
| 468 | - *(dlt_user.dlt_ll_ts[i].trace_status_ptr) = tracestatus; | ||
| 469 | + *(dlt_user.dlt_ll_ts[i].trace_status_ptr) = (int8_t)tracestatus; | ||
| 470 | } | ||
| 471 | |||
| 472 | dlt_mutex_unlock(); | ||
| 473 | @@ -2413,7 +2413,7 @@ DltReturnValue dlt_set_application_ll_ts | ||
| 474 | } | ||
| 475 | } | ||
| 476 | |||
| 477 | -int dlt_get_log_state() | ||
| 478 | +int dlt_get_log_state(void) | ||
| 479 | { | ||
| 480 | return dlt_user.log_state; | ||
| 481 | } | ||
| 482 | @@ -2500,25 +2500,6 @@ DltReturnValue dlt_user_log_write_start_ | ||
| 483 | return DLT_RETURN_TRUE; | ||
| 484 | } | ||
| 485 | |||
| 486 | -static DltReturnValue dlt_user_log_write_start_internal(DltContext *handle, | ||
| 487 | - DltContextData *log, | ||
| 488 | - DltLogLevelType loglevel, | ||
| 489 | - uint32_t messageid, | ||
| 490 | - bool is_verbose); | ||
| 491 | - | ||
| 492 | -inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextData *log, DltLogLevelType loglevel) | ||
| 493 | -{ | ||
| 494 | - return dlt_user_log_write_start_internal(handle, log, loglevel, DLT_USER_DEFAULT_MSGID, true); | ||
| 495 | -} | ||
| 496 | - | ||
| 497 | -DltReturnValue dlt_user_log_write_start_id(DltContext *handle, | ||
| 498 | - DltContextData *log, | ||
| 499 | - DltLogLevelType loglevel, | ||
| 500 | - uint32_t messageid) | ||
| 501 | -{ | ||
| 502 | - return dlt_user_log_write_start_internal(handle, log, loglevel, messageid, false); | ||
| 503 | -} | ||
| 504 | - | ||
| 505 | DltReturnValue dlt_user_log_write_start_internal(DltContext *handle, | ||
| 506 | DltContextData *log, | ||
| 507 | DltLogLevelType loglevel, | ||
| 508 | @@ -2587,6 +2568,19 @@ DltReturnValue dlt_user_log_write_start_ | ||
| 509 | return ret; | ||
| 510 | } | ||
| 511 | |||
| 512 | +inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextData *log, DltLogLevelType loglevel) | ||
| 513 | +{ | ||
| 514 | + return dlt_user_log_write_start_internal(handle, log, loglevel, DLT_USER_DEFAULT_MSGID, true); | ||
| 515 | +} | ||
| 516 | + | ||
| 517 | +DltReturnValue dlt_user_log_write_start_id(DltContext *handle, | ||
| 518 | + DltContextData *log, | ||
| 519 | + DltLogLevelType loglevel, | ||
| 520 | + uint32_t messageid) | ||
| 521 | +{ | ||
| 522 | + return dlt_user_log_write_start_internal(handle, log, loglevel, messageid, false); | ||
| 523 | +} | ||
| 524 | + | ||
| 525 | DltReturnValue dlt_user_log_write_start_w_given_buffer(DltContext *handle, | ||
| 526 | DltContextData *log, | ||
| 527 | DltLogLevelType loglevel, | ||
| 528 | @@ -3746,7 +3740,7 @@ DltReturnValue dlt_user_trace_network_se | ||
| 529 | } | ||
| 530 | |||
| 531 | log.args_num = 0; | ||
| 532 | - log.trace_status = nw_trace_type; | ||
| 533 | + log.trace_status = (int32_t)nw_trace_type; | ||
| 534 | log.size = 0; | ||
| 535 | |||
| 536 | gettimeofday(&tv, NULL); | ||
| 537 | @@ -3848,7 +3842,7 @@ DltReturnValue dlt_user_trace_network_se | ||
| 538 | } | ||
| 539 | |||
| 540 | log.args_num = 0; | ||
| 541 | - log.trace_status = nw_trace_type; | ||
| 542 | + log.trace_status = (int32_t)nw_trace_type; | ||
| 543 | log.size = 0; | ||
| 544 | |||
| 545 | /* Write identifier */ | ||
| 546 | @@ -3917,7 +3911,7 @@ DltReturnValue dlt_user_trace_network_se | ||
| 547 | } | ||
| 548 | |||
| 549 | log.args_num = 0; | ||
| 550 | - log.trace_status = nw_trace_type; | ||
| 551 | + log.trace_status = (int32_t)nw_trace_type; | ||
| 552 | log.size = 0; | ||
| 553 | |||
| 554 | /* Write identifier */ | ||
| 555 | @@ -4184,7 +4178,7 @@ DltReturnValue dlt_user_trace_network_tr | ||
| 556 | } | ||
| 557 | |||
| 558 | log.args_num = 0; | ||
| 559 | - log.trace_status = nw_trace_type; | ||
| 560 | + log.trace_status = (int32_t)nw_trace_type; | ||
| 561 | log.size = 0; | ||
| 562 | |||
| 563 | if (header == NULL) | ||
| 564 | @@ -4556,7 +4550,7 @@ DltReturnValue dlt_log_raw_v2(DltContext | ||
| 565 | return DLT_RETURN_OK; | ||
| 566 | } | ||
| 567 | |||
| 568 | -DltReturnValue dlt_log_marker() | ||
| 569 | +DltReturnValue dlt_log_marker(void) | ||
| 570 | { | ||
| 571 | if (!DLT_USER_INITIALIZED) { | ||
| 572 | if (dlt_init() < DLT_RETURN_OK) { | ||
| 573 | @@ -6299,8 +6293,8 @@ DltReturnValue dlt_send_app_ll_ts_limit( | ||
| 574 | |||
| 575 | /* set usercontext */ | ||
| 576 | dlt_set_id(usercontext.apid, apid); /* application id */ | ||
| 577 | - usercontext.log_level = loglevel; | ||
| 578 | - usercontext.trace_status = tracestatus; | ||
| 579 | + usercontext.log_level = (uint8_t)loglevel; | ||
| 580 | + usercontext.trace_status = (uint8_t)tracestatus; | ||
| 581 | |||
| 582 | if (dlt_user.dlt_is_file) | ||
| 583 | return DLT_RETURN_OK; | ||
| 584 | @@ -6354,8 +6348,8 @@ DltReturnValue dlt_send_app_ll_ts_limit_ | ||
| 585 | } | ||
| 586 | usercontext.apidlen = (uint8_t)apidlen_sz; | ||
| 587 | dlt_set_id_v2(usercontext.apid, apid, usercontext.apidlen); /* application id */ | ||
| 588 | - usercontext.log_level = loglevel; | ||
| 589 | - usercontext.trace_status = tracestatus; | ||
| 590 | + usercontext.log_level = (uint8_t)loglevel; | ||
| 591 | + usercontext.trace_status = (uint8_t)tracestatus; | ||
| 592 | |||
| 593 | size_t buffersize = sizeof(uint8_t) + usercontext.apidlen + sizeof(uint8_t) + sizeof(uint8_t); | ||
| 594 | uint8_t buffer[DLT_ID_SIZE + 3]; | ||
| 595 | @@ -6435,7 +6429,7 @@ DltReturnValue dlt_user_log_send_log_mod | ||
| 596 | return DLT_RETURN_OK; | ||
| 597 | } | ||
| 598 | |||
| 599 | -DltReturnValue dlt_user_log_send_marker() | ||
| 600 | +DltReturnValue dlt_user_log_send_marker(void) | ||
| 601 | { | ||
| 602 | DltUserHeader userheader; | ||
| 603 | DltReturnValue ret; | ||
| 604 | @@ -7349,7 +7343,7 @@ void dlt_user_test_corrupt_message_size( | ||
| 605 | #endif | ||
| 606 | |||
| 607 | |||
| 608 | -int dlt_start_threads() | ||
| 609 | +int dlt_start_threads(void) | ||
| 610 | { | ||
| 611 | struct timespec time_to_wait, single_wait; | ||
| 612 | struct timespec now; | ||
| 613 | @@ -7438,7 +7432,7 @@ int dlt_start_threads() | ||
| 614 | return 0; | ||
| 615 | } | ||
| 616 | |||
| 617 | -void dlt_stop_threads() | ||
| 618 | +void dlt_stop_threads(void) | ||
| 619 | { | ||
| 620 | int dlt_housekeeperthread_result = 0; | ||
| 621 | int joined = 0; | ||
| 622 | @@ -7510,7 +7504,7 @@ void dlt_stop_threads() | ||
| 623 | #endif /* DLT_NETWORK_TRACE_ENABLE */ | ||
| 624 | } | ||
| 625 | |||
| 626 | -static void dlt_fork_child_fork_handler() | ||
| 627 | +static void dlt_fork_child_fork_handler(void) | ||
| 628 | { | ||
| 629 | g_dlt_is_child = 1; | ||
| 630 | dlt_user_init_state = INIT_UNITIALIZED; | ||
| 631 | --- a/src/offlinelogstorage/dlt_offline_logstorage.c | ||
| 632 | +++ b/src/offlinelogstorage/dlt_offline_logstorage.c | ||
| 633 | @@ -1732,7 +1732,7 @@ DLT_STATIC int dlt_daemon_offline_setup_ | ||
| 634 | continue; | ||
| 635 | |||
| 636 | /* check value and store temporary */ | ||
| 637 | - ret = dlt_logstorage_check_param(&tmp_data, i, value); | ||
| 638 | + ret = dlt_logstorage_check_param(&tmp_data, (DltLogstorageFilterConfType)i, value); | ||
| 639 | |||
| 640 | if (ret != 0) { | ||
| 641 | if (tmp_data.apids != NULL) { | ||
| 642 | --- a/src/shared/dlt_log.c | ||
| 643 | +++ b/src/shared/dlt_log.c | ||
| 644 | @@ -113,7 +113,7 @@ DltReturnValue dlt_log_init_multiple_log | ||
| 645 | return result; | ||
| 646 | } | ||
| 647 | |||
| 648 | -DltReturnValue dlt_log_init_single_logfile() | ||
| 649 | +DltReturnValue dlt_log_init_single_logfile(void) | ||
| 650 | { | ||
| 651 | /* internal logging to file */ | ||
| 652 | errno = 0; | ||
| 653 | @@ -333,14 +333,14 @@ void dlt_log_free(void) | ||
| 654 | } | ||
| 655 | } | ||
| 656 | |||
| 657 | -void dlt_log_free_single_logfile() | ||
| 658 | +void dlt_log_free_single_logfile(void) | ||
| 659 | { | ||
| 660 | if (logging_handle != NULL) { | ||
| 661 | fclose(logging_handle); | ||
| 662 | } | ||
| 663 | } | ||
| 664 | |||
| 665 | -void dlt_log_free_multiple_logfiles() | ||
| 666 | +void dlt_log_free_multiple_logfiles(void) | ||
| 667 | { | ||
| 668 | if (DLT_RETURN_ERROR == multiple_files_buffer_free(&multiple_files_ring_buffer)) return; | ||
| 669 | |||
| 670 | @@ -348,7 +348,7 @@ void dlt_log_free_multiple_logfiles() | ||
| 671 | multiple_files_ring_buffer.ohandle = -1; | ||
| 672 | } | ||
| 673 | |||
| 674 | -bool dlt_is_log_in_multiple_files_active() | ||
| 675 | +bool dlt_is_log_in_multiple_files_active(void) | ||
| 676 | { | ||
| 677 | return multiple_files_ring_buffer.ohandle > -1; | ||
| 678 | } | ||
| 679 | --- a/src/system/dlt-system-journal.c | ||
| 680 | +++ b/src/system/dlt-system-journal.c | ||
| 681 | @@ -73,7 +73,7 @@ typedef struct | ||
| 682 | DLT_IMPORT_CONTEXT(dltsystem) | ||
| 683 | DLT_DECLARE_CONTEXT(journalContext) | ||
| 684 | |||
| 685 | -int journal_checkUserBufferForFreeSpace() | ||
| 686 | +int journal_checkUserBufferForFreeSpace(void) | ||
| 687 | { | ||
| 688 | int total_size, used_size; | ||
| 689 | |||
| 690 | @@ -87,7 +87,7 @@ int journal_checkUserBufferForFreeSpace( | ||
| 691 | |||
| 692 | int dlt_system_journal_get(sd_journal *j, char *target, const char *field, size_t max_size) | ||
| 693 | { | ||
| 694 | - char *data; | ||
| 695 | + const char *data; | ||
| 696 | size_t length; | ||
| 697 | int error_code; | ||
| 698 | size_t field_size; | ||
| 699 | @@ -100,7 +100,9 @@ int dlt_system_journal_get(sd_journal *j | ||
| 700 | target[0] = 0; | ||
| 701 | |||
| 702 | /* get data from journal */ | ||
| 703 | - error_code = sd_journal_get_data(j, field, (const void **)&data, &length); | ||
| 704 | + const void *tmp; | ||
| 705 | + error_code = sd_journal_get_data(j, field, &tmp, &length); | ||
| 706 | + data = (const char *)tmp; | ||
| 707 | |||
| 708 | /* check if an error */ | ||
| 709 | if (error_code) | ||
| 710 | --- a/src/system/dlt-system-process-handling.c | ||
| 711 | +++ b/src/system/dlt-system-process-handling.c | ||
| 712 | @@ -72,7 +72,7 @@ volatile uint8_t quit = 0; | ||
| 713 | extern s_ft_inotify ino; | ||
| 714 | #endif | ||
| 715 | |||
| 716 | -int daemonize() | ||
| 717 | +int daemonize(void) | ||
| 718 | { | ||
| 719 | DLT_LOG(dltsystem, DLT_LOG_DEBUG, | ||
| 720 | DLT_STRING("dlt-system-process-handling, daemonize")); | ||
| 721 | --- a/src/system/dlt-system-shell.c | ||
| 722 | +++ b/src/system/dlt-system-shell.c | ||
| 723 | @@ -112,7 +112,7 @@ int dlt_shell_injection_callback(uint32_ | ||
| 724 | return 0; | ||
| 725 | } | ||
| 726 | |||
| 727 | -void init_shell() | ||
| 728 | +void init_shell(void) | ||
| 729 | { | ||
| 730 | DLT_LOG(dltsystem, DLT_LOG_DEBUG, | ||
| 731 | DLT_STRING("dlt-system-shell, register callback")); | ||
| 732 | --- a/src/system/dlt-system.h | ||
| 733 | +++ b/src/system/dlt-system.h | ||
| 734 | @@ -193,8 +193,8 @@ int read_configuration_file(DltSystemCon | ||
| 735 | void cleanup_config(DltSystemConfiguration *config, DltSystemCliOptions *options); | ||
| 736 | |||
| 737 | /* For dlt-process-handling.c */ | ||
| 738 | -int daemonize(); | ||
| 739 | -void init_shell(); | ||
| 740 | +int daemonize(void); | ||
| 741 | +void init_shell(void); | ||
| 742 | void dlt_system_signal_handler(int sig); | ||
| 743 | |||
| 744 | /* Main function for creating/registering all needed file descriptors and starting the poll for all of them. */ | ||
| 745 | --- a/src/tests/dlt-test-client-v2.c | ||
| 746 | +++ b/src/tests/dlt-test-client-v2.c | ||
| 747 | @@ -125,7 +125,7 @@ typedef struct | ||
| 748 | /** | ||
| 749 | * Print usage information of tool. | ||
| 750 | */ | ||
| 751 | -void usage() | ||
| 752 | +void usage(void) | ||
| 753 | { | ||
| 754 | char version[255]; | ||
| 755 | |||
| 756 | --- a/src/tests/dlt-test-fork-handler-v2.c | ||
| 757 | +++ b/src/tests/dlt-test-fork-handler-v2.c | ||
| 758 | @@ -91,7 +91,7 @@ void dlt_log_message(DltContext *context | ||
| 759 | /** | ||
| 760 | * @brief sample code for using at_fork-handler | ||
| 761 | */ | ||
| 762 | -int main() | ||
| 763 | +int main(void) | ||
| 764 | { | ||
| 765 | DltContext mainContext; | ||
| 766 | struct timespec timeout, r; | ||
| 767 | --- a/src/tests/dlt-test-fork-handler.c | ||
| 768 | +++ b/src/tests/dlt-test-fork-handler.c | ||
| 769 | @@ -49,7 +49,7 @@ void dlt_log_message(DltContext *context | ||
| 770 | /** | ||
| 771 | * @brief sample code for using at_fork-handler | ||
| 772 | */ | ||
| 773 | -int main() | ||
| 774 | +int main(void) | ||
| 775 | { | ||
| 776 | DltContext mainContext; | ||
| 777 | struct timespec timeout, r; | ||
| 778 | --- a/src/tests/dlt-test-multi-process-v2.c | ||
| 779 | +++ b/src/tests/dlt-test-multi-process-v2.c | ||
| 780 | @@ -112,11 +112,11 @@ typedef struct { | ||
| 781 | /* Forward declarations */ | ||
| 782 | void init_params(s_parameters *params); | ||
| 783 | void quit_handler(int signum); | ||
| 784 | -void cleanup(); | ||
| 785 | +void cleanup(void); | ||
| 786 | void do_forks(s_parameters params); | ||
| 787 | void run_threads(s_parameters params); | ||
| 788 | void *do_logging(void *data); | ||
| 789 | -int wait_for_death(); | ||
| 790 | +int wait_for_death(void); | ||
| 791 | |||
| 792 | /* State information */ | ||
| 793 | volatile sig_atomic_t in_handler = 0; | ||
| 794 | @@ -323,7 +323,7 @@ void quit_handler(int signum) | ||
| 795 | /** | ||
| 796 | * Ask the child processes to die | ||
| 797 | */ | ||
| 798 | -void cleanup() | ||
| 799 | +void cleanup(void) | ||
| 800 | { | ||
| 801 | unsigned int i; | ||
| 802 | |||
| 803 | @@ -458,7 +458,7 @@ void run_threads(s_parameters params) | ||
| 804 | /** | ||
| 805 | * Wait for child processes to complete their work. | ||
| 806 | */ | ||
| 807 | -int wait_for_death() | ||
| 808 | +int wait_for_death(void) | ||
| 809 | { | ||
| 810 | int pids_left = (int) pidcount; | ||
| 811 | |||
| 812 | --- a/src/tests/dlt-test-multi-process.c | ||
| 813 | +++ b/src/tests/dlt-test-multi-process.c | ||
| 814 | @@ -89,11 +89,11 @@ typedef struct { | ||
| 815 | /* Forward declarations */ | ||
| 816 | void init_params(s_parameters *params); | ||
| 817 | void quit_handler(int signum); | ||
| 818 | -void cleanup(); | ||
| 819 | +void cleanup(void); | ||
| 820 | void do_forks(s_parameters params); | ||
| 821 | void run_threads(s_parameters params); | ||
| 822 | void *do_logging(void *arg); | ||
| 823 | -int wait_for_death(); | ||
| 824 | +int wait_for_death(void); | ||
| 825 | |||
| 826 | /* State information */ | ||
| 827 | volatile sig_atomic_t in_handler = 0; | ||
| 828 | @@ -300,7 +300,7 @@ void quit_handler(int signum) | ||
| 829 | /** | ||
| 830 | * Ask the child processes to die | ||
| 831 | */ | ||
| 832 | -void cleanup() | ||
| 833 | +void cleanup(void) | ||
| 834 | { | ||
| 835 | unsigned int i; | ||
| 836 | |||
| 837 | @@ -435,7 +435,7 @@ void run_threads(s_parameters params) | ||
| 838 | /** | ||
| 839 | * Wait for child processes to complete their work. | ||
| 840 | */ | ||
| 841 | -int wait_for_death() | ||
| 842 | +int wait_for_death(void) | ||
| 843 | { | ||
| 844 | int pids_left = (int) pidcount; | ||
| 845 | |||
| 846 | --- a/src/tests/dlt-test-non-verbose.c | ||
| 847 | +++ b/src/tests/dlt-test-non-verbose.c | ||
| 848 | @@ -58,7 +58,7 @@ DltContextData context_data; | ||
| 849 | |||
| 850 | void dlt_user_log_level_changed_callback(char context_id[DLT_ID_SIZE],uint8_t log_level,uint8_t trace_status); | ||
| 851 | |||
| 852 | -void usage() | ||
| 853 | +void usage(void) | ||
| 854 | { | ||
| 855 | char version[DLT_COMMON_BUFFER_LENGTH]; | ||
| 856 | |||
| 857 | @@ -84,7 +84,7 @@ void usage() | ||
| 858 | /******************/ | ||
| 859 | /* The test cases */ | ||
| 860 | /******************/ | ||
| 861 | -int test_logstorage() | ||
| 862 | +int test_logstorage(void) | ||
| 863 | { | ||
| 864 | int delay = LOG_DELAY; | ||
| 865 | int i; | ||
| 866 | --- a/src/tests/dlt-test-preregister-context-v2.c | ||
| 867 | +++ b/src/tests/dlt-test-preregister-context-v2.c | ||
| 868 | @@ -72,7 +72,7 @@ | ||
| 869 | /** | ||
| 870 | * @brief sample code for using pre-registered contexts | ||
| 871 | */ | ||
| 872 | -int main() | ||
| 873 | +int main(void) | ||
| 874 | { | ||
| 875 | DltContext mainContext; | ||
| 876 | struct timespec ts; | ||
| 877 | --- a/src/tests/dlt-test-preregister-context.c | ||
| 878 | +++ b/src/tests/dlt-test-preregister-context.c | ||
| 879 | @@ -30,7 +30,7 @@ | ||
| 880 | /** | ||
| 881 | * @brief sample code for using pre-registered contexts | ||
| 882 | */ | ||
| 883 | -int main() | ||
| 884 | +int main(void) | ||
| 885 | { | ||
| 886 | DltContext mainContext; | ||
| 887 | struct timespec ts; | ||
| 888 | --- a/src/tests/dlt-test-qnx-slogger.c | ||
| 889 | +++ b/src/tests/dlt-test-qnx-slogger.c | ||
| 890 | @@ -28,7 +28,7 @@ | ||
| 891 | #define DELAY 500 | ||
| 892 | #define LENGTH 100 | ||
| 893 | |||
| 894 | -void usage() | ||
| 895 | +void usage(void) | ||
| 896 | { | ||
| 897 | char version[255]; | ||
| 898 | |||
| 899 | --- a/src/tests/dlt-test-stress-client-v2.c | ||
| 900 | +++ b/src/tests/dlt-test-stress-client-v2.c | ||
| 901 | @@ -127,7 +127,7 @@ typedef struct | ||
| 902 | /** | ||
| 903 | * Print usage information of tool. | ||
| 904 | */ | ||
| 905 | -void usage() | ||
| 906 | +void usage(void) | ||
| 907 | { | ||
| 908 | char version[255]; | ||
| 909 | |||
| 910 | --- a/src/tests/dlt-test-stress-user-v2.c | ||
| 911 | +++ b/src/tests/dlt-test-stress-user-v2.c | ||
| 912 | @@ -86,7 +86,7 @@ DltContextData context_data; | ||
| 913 | /** | ||
| 914 | * Print usage information of tool. | ||
| 915 | */ | ||
| 916 | -void usage() | ||
| 917 | +void usage(void) | ||
| 918 | { | ||
| 919 | char version[255]; | ||
| 920 | |||
| 921 | --- a/src/tests/dlt-test-stress-v2.c | ||
| 922 | +++ b/src/tests/dlt-test-stress-v2.c | ||
| 923 | @@ -104,7 +104,7 @@ char *env_manual_interruption = 0; | ||
| 924 | /** | ||
| 925 | * Print usage information of tool. | ||
| 926 | */ | ||
| 927 | -void usage() | ||
| 928 | +void usage(void) | ||
| 929 | { | ||
| 930 | char version[255]; | ||
| 931 | |||
| 932 | --- a/src/tests/dlt-test-stress.c | ||
| 933 | +++ b/src/tests/dlt-test-stress.c | ||
| 934 | @@ -105,7 +105,7 @@ char *env_manual_interruption = 0; | ||
| 935 | /** | ||
| 936 | * Print usage information of tool. | ||
| 937 | */ | ||
| 938 | -void usage() | ||
| 939 | +void usage(void) | ||
| 940 | { | ||
| 941 | char version[255]; | ||
| 942 | |||
| 943 | --- a/src/tests/dlt-test-user-v2.c | ||
| 944 | +++ b/src/tests/dlt-test-user-v2.c | ||
| 945 | @@ -142,7 +142,7 @@ DltContextData context_data; | ||
| 946 | /** | ||
| 947 | * Print usage information of tool. | ||
| 948 | */ | ||
| 949 | -void usage() | ||
| 950 | +void usage(void) | ||
| 951 | { | ||
| 952 | char version[255]; | ||
| 953 | |||
| 954 | --- a/src/tests/dlt-test-user.c | ||
| 955 | +++ b/src/tests/dlt-test-user.c | ||
| 956 | @@ -144,7 +144,7 @@ DltContextData context_data; | ||
| 957 | /** | ||
| 958 | * Print usage information of tool. | ||
| 959 | */ | ||
| 960 | -void usage() | ||
| 961 | +void usage(void) | ||
| 962 | { | ||
| 963 | char version[255]; | ||
| 964 | |||
| 965 | --- a/tests/dlt_test_receiver.c | ||
| 966 | +++ b/tests/dlt_test_receiver.c | ||
| 967 | @@ -107,7 +107,7 @@ int result = 0; | ||
| 968 | /** | ||
| 969 | * Print usage information of tool. | ||
| 970 | */ | ||
| 971 | -void usage() | ||
| 972 | +void usage(void) | ||
| 973 | { | ||
| 974 | char version[255]; | ||
| 975 | |||
| 976 | --- a/src/shared/dlt_common.c | ||
| 977 | +++ b/src/shared/dlt_common.c | ||
| 978 | @@ -6108,7 +6108,7 @@ DltReturnValue dlt_message_argument_prin | ||
| 979 | return DLT_RETURN_OK; | ||
| 980 | } | ||
| 981 | |||
| 982 | -void dlt_check_envvar() | ||
| 983 | +void dlt_check_envvar(void) | ||
| 984 | { | ||
| 985 | char *env_log_filename = getenv("DLT_LOG_FILENAME"); | ||
| 986 | |||
| 987 | --- a/src/system/dlt-system-filetransfer.c | ||
| 988 | +++ b/src/system/dlt-system-filetransfer.c | ||
| 989 | @@ -724,10 +724,14 @@ int process_files(FiletransferOptions co | ||
| 990 | } | ||
| 991 | |||
| 992 | char *tosend = malloc(length); | ||
| 993 | +#ifndef __clang__ | ||
| 994 | #pragma GCC diagnostic push | ||
| 995 | #pragma GCC diagnostic ignored "-Wformat-truncation=" | ||
| 996 | +#endif | ||
| 997 | snprintf(tosend, length, "%s/%s", opts->Directory[j], ie->name); | ||
| 998 | +#ifndef __clang__ | ||
| 999 | #pragma GCC diagnostic pop | ||
| 1000 | +#endif | ||
| 1001 | send_one(tosend, opts, j); | ||
| 1002 | free(tosend); | ||
| 1003 | } | ||
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 0000000000..8d943b9764 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/char_conversion.patch | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | daemon: fix sign-conversion warning in dlt_timer_conn_types array type | ||
| 2 | |||
| 3 | Change dlt_timer_conn_types from char[] to DltConnectionType[] to match | ||
| 4 | the actual type of values stored in the array. | ||
| 5 | |||
| 6 | This was silently working on arm64 because char is unsigned by default on | ||
| 7 | that architecture, making it compatible with DltConnectionType (an unsigned | ||
| 8 | enum). On x86_64, char is signed by default, causing an implicit signed-to- | ||
| 9 | unsigned conversion when passing array elements to dlt_connection_create(), | ||
| 10 | which triggered -Wsign-conversion and broke the build. | ||
| 11 | |||
| 12 | The fix corrects the array's declared type to match its contents, making the | ||
| 13 | code portable regardless of the platform's char signedness. | ||
| 14 | |||
| 15 | Upstream-Status: Pending | ||
| 16 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 17 | --- a/src/daemon/dlt-daemon.c | ||
| 18 | +++ b/src/daemon/dlt-daemon.c | ||
| 19 | @@ -140,7 +140,7 @@ int g_signo = 0; | ||
| 20 | /* used for value from conf file */ | ||
| 21 | static int value_length = 1024; | ||
| 22 | |||
| 23 | -static char dlt_timer_conn_types[DLT_TIMER_UNKNOWN + 1] = { | ||
| 24 | +static DltConnectionType dlt_timer_conn_types[DLT_TIMER_UNKNOWN + 1] = { | ||
| 25 | [DLT_TIMER_PACKET] = DLT_CONNECTION_ONE_S_TIMER, | ||
| 26 | [DLT_TIMER_ECU] = DLT_CONNECTION_SIXTY_S_TIMER, | ||
| 27 | #ifdef DLT_SYSTEMD_WATCHDOG_ENABLE | ||
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 index 431e9f3067..6de62c2a3d 100644 --- 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 | |||
| @@ -22,6 +22,10 @@ SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \ | |||
| 22 | file://0001-Fix-build-failures.patch \ | 22 | file://0001-Fix-build-failures.patch \ |
| 23 | file://0001-fix-build-failure-when-systemd-is-enabled.patch \ | 23 | file://0001-fix-build-failure-when-systemd-is-enabled.patch \ |
| 24 | file://0001-Fix-build-failure-with-glibc-2.43.patch \ | 24 | file://0001-Fix-build-failure-with-glibc-2.43.patch \ |
| 25 | file://0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch \ | ||
| 26 | file://0001-warnings-Fix-clang-generated-warnings.patch \ | ||
| 27 | file://0001-dlt-daemon.c-fix-wrong-len.patch \ | ||
| 28 | file://char_conversion.patch \ | ||
| 25 | " | 29 | " |
| 26 | SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320" | 30 | SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320" |
| 27 | 31 | ||
| @@ -53,7 +57,7 @@ inherit autotools gettext cmake pkgconfig systemd | |||
| 53 | 57 | ||
| 54 | # -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now | 58 | # -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now |
| 55 | #FILES:${PN} += "${libdir}/sysctl.d" | 59 | #FILES:${PN} += "${libdir}/sysctl.d" |
| 56 | EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}" | 60 | EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir} -DWITH_DLT_USE_IPv6=OFF" |
| 57 | 61 | ||
| 58 | PACKAGES += "${PN}-systemd" | 62 | PACKAGES += "${PN}-systemd" |
| 59 | SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" | 63 | SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" |
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 4ca7c081ea..d1480e836a 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 \ | |||
| 19 | 19 | ||
| 20 | inherit autotools gettext | 20 | inherit autotools gettext |
| 21 | 21 | ||
| 22 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 23 | |||
| 22 | EXTRA_OECONF += "PERL='${USRBINPATH}/env perl'" | 24 | EXTRA_OECONF += "PERL='${USRBINPATH}/env perl'" |
| 23 | 25 | ||
| 24 | SRC_URI[sha256sum] = "6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb" | 26 | SRC_URI[sha256sum] = "6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb" |
diff --git a/meta-oe/recipes-extended/figlet/figlet_git.bb b/meta-oe/recipes-extended/figlet/figlet_git.bb index d226806050..6a8bb42699 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" | |||
| 10 | PV = "2.2.5+git" | 10 | PV = "2.2.5+git" |
| 11 | 11 | ||
| 12 | inherit autotools | 12 | inherit autotools |
| 13 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 13 | 14 | ||
| 14 | BBCLASSEXTEND = "native nativesdk" | 15 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta-oe/recipes-extended/flatpak/flatpak_1.17.3.bb b/meta-oe/recipes-extended/flatpak/flatpak_1.17.6.bb index cd461e2632..1512b7239f 100644 --- a/meta-oe/recipes-extended/flatpak/flatpak_1.17.3.bb +++ b/meta-oe/recipes-extended/flatpak/flatpak_1.17.6.bb | |||
| @@ -8,7 +8,7 @@ SRC_URI = " \ | |||
| 8 | file://0001-flatpak-pc-add-pc_sysrootdir.patch \ | 8 | file://0001-flatpak-pc-add-pc_sysrootdir.patch \ |
| 9 | " | 9 | " |
| 10 | 10 | ||
| 11 | SRCREV = "13b26a94a3bd6fec309a16982a3a80d83776d7ac" | 11 | SRCREV = "9b21874f1a175a9b7c79175a221fa043e202ca73" |
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native mime features_check useradd | 14 | inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native mime features_check useradd |
| @@ -76,3 +76,6 @@ USERADD_PACKAGES = "${PN}" | |||
| 76 | USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /sbin/nologin flatpak" | 76 | USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /sbin/nologin flatpak" |
| 77 | 77 | ||
| 78 | FILES:${PN} += "${libdir} ${datadir}" | 78 | FILES:${PN} += "${libdir} ${datadir}" |
| 79 | |||
| 80 | CVE_STATUS[CVE-2026-34078] = "fixed-version: fixed in v1.17.4" | ||
| 81 | 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 1756d74560..55fb0c7414 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 @@ | |||
| 1 | From 4b47a8f0e3d1d429356cdda8efa7682ab88d344a Mon Sep 17 00:00:00 2001 | 1 | From 8d93bb7c866f88dd7f2cac81d2acfcffae9d555d Mon Sep 17 00:00:00 2001 |
| 2 | From: Niko Mauno <niko.mauno@vaisala.com> | 2 | From: Niko Mauno <niko.mauno@vaisala.com> |
| 3 | Date: Sun, 29 Sep 2024 12:00:00 +0000 | 3 | Date: Sun, 29 Sep 2024 12:00:00 +0000 |
| 4 | Subject: [PATCH] lib: Do not use private makefile targets in CMakelists.txt | 4 | Subject: [PATCH] lib: Do not use private makefile targets in CMakelists.txt |
| @@ -48,7 +48,7 @@ index 489570026..06d99cbbe 100644 | |||
| 48 | 48 | ||
| 49 | 49 | ||
| 50 | diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt | 50 | diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt |
| 51 | index 5421f8c80..0dcf7645c 100644 | 51 | index a3385a8ba..80170f8e7 100644 |
| 52 | --- a/lib/cmetrics/CMakeLists.txt | 52 | --- a/lib/cmetrics/CMakeLists.txt |
| 53 | +++ b/lib/cmetrics/CMakeLists.txt | 53 | +++ b/lib/cmetrics/CMakeLists.txt |
| 54 | @@ -60,12 +60,8 @@ if(NOT MSVC) | 54 | @@ -60,12 +60,8 @@ if(NOT MSVC) |
| @@ -67,11 +67,11 @@ index 5421f8c80..0dcf7645c 100644 | |||
| 67 | # Configuration options | 67 | # Configuration options |
| 68 | option(CMT_DEV "Enable development mode" No) | 68 | option(CMT_DEV "Enable development mode" No) |
| 69 | diff --git a/lib/ctraces/CMakeLists.txt b/lib/ctraces/CMakeLists.txt | 69 | diff --git a/lib/ctraces/CMakeLists.txt b/lib/ctraces/CMakeLists.txt |
| 70 | index 73723433d..9f60699d5 100644 | 70 | index bb2c54fa6..7d59dd834 100644 |
| 71 | --- a/lib/ctraces/CMakeLists.txt | 71 | --- a/lib/ctraces/CMakeLists.txt |
| 72 | +++ b/lib/ctraces/CMakeLists.txt | 72 | +++ b/lib/ctraces/CMakeLists.txt |
| 73 | @@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 6) | 73 | @@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 7) |
| 74 | set(CTR_VERSION_PATCH 6) | 74 | set(CTR_VERSION_PATCH 1) |
| 75 | set(CTR_VERSION_STR "${CTR_VERSION_MAJOR}.${CTR_VERSION_MINOR}.${CTR_VERSION_PATCH}") | 75 | set(CTR_VERSION_STR "${CTR_VERSION_MAJOR}.${CTR_VERSION_MINOR}.${CTR_VERSION_PATCH}") |
| 76 | 76 | ||
| 77 | -# Define __FILENAME__ consistently across Operating Systems | 77 | -# Define __FILENAME__ consistently across Operating Systems |
| @@ -86,7 +86,7 @@ index 73723433d..9f60699d5 100644 | |||
| 86 | # Configuration options | 86 | # Configuration options |
| 87 | option(CTR_DEV "Enable development mode" No) | 87 | option(CTR_DEV "Enable development mode" No) |
| 88 | diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt | 88 | diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt |
| 89 | index 3fbace595..1c6ad031c 100644 | 89 | index 3dc1ef28a..2d08fc5fd 100644 |
| 90 | --- a/lib/monkey/CMakeLists.txt | 90 | --- a/lib/monkey/CMakeLists.txt |
| 91 | +++ b/lib/monkey/CMakeLists.txt | 91 | +++ b/lib/monkey/CMakeLists.txt |
| 92 | @@ -15,10 +15,8 @@ include(GNUInstallDirs) | 92 | @@ -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 4c6cac0cbd..51f48544b1 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 @@ | |||
| 1 | From 596a53c35166e6cc5c20fb1d28bb5c92a248f695 Mon Sep 17 00:00:00 2001 | 1 | From e7b98c452343a43b924bca684e5ec423eae5d644 Mon Sep 17 00:00:00 2001 |
| 2 | From: Paulo Neves <ptsneves@gmail.com> | 2 | From: Paulo Neves <ptsneves@gmail.com> |
| 3 | Date: Thu, 28 Jul 2022 11:42:31 +0200 | 3 | Date: Thu, 28 Jul 2022 11:42:31 +0200 |
| 4 | Subject: [PATCH] flb_info.h.in: Do not hardcode compilation directories | 4 | 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 6bd4c6bbb6..2e0e988c19 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 @@ | |||
| 1 | From 5cc79bdede89e75d713e23cf0fde26634320bc3e Mon Sep 17 00:00:00 2001 | 1 | From fef234a565d5150dc3d3d1374843024381e4f4de Mon Sep 17 00:00:00 2001 |
| 2 | From: Niko Mauno <niko.mauno@vaisala.com> | 2 | From: Niko Mauno <niko.mauno@vaisala.com> |
| 3 | Date: Mon, 21 Oct 2024 16:02:46 +0000 | 3 | Date: Mon, 21 Oct 2024 16:02:46 +0000 |
| 4 | Subject: [PATCH] CMakeLists.txt: Revise init manager deduction | 4 | Subject: [PATCH] CMakeLists.txt: Revise init manager deduction |
| @@ -15,10 +15,10 @@ Upstream-Status: Inappropriate [configuration] | |||
| 15 | 1 file changed, 2 insertions(+), 2 deletions(-) | 15 | 1 file changed, 2 insertions(+), 2 deletions(-) |
| 16 | 16 | ||
| 17 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | 17 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt |
| 18 | index ac5fe5ef8..f47a01b82 100644 | 18 | index a47a5d9d6..ddc93827c 100644 |
| 19 | --- a/src/CMakeLists.txt | 19 | --- a/src/CMakeLists.txt |
| 20 | +++ b/src/CMakeLists.txt | 20 | +++ b/src/CMakeLists.txt |
| 21 | @@ -600,7 +600,7 @@ if(FLB_BINARY) | 21 | @@ -627,7 +627,7 @@ if(FLB_BINARY) |
| 22 | set(SYSTEMD_UNITDIR /lib/systemd/system) | 22 | set(SYSTEMD_UNITDIR /lib/systemd/system) |
| 23 | endif() | 23 | endif() |
| 24 | 24 | ||
| @@ -27,7 +27,7 @@ index ac5fe5ef8..f47a01b82 100644 | |||
| 27 | if (FLB_AMAZON_LINUX2) | 27 | if (FLB_AMAZON_LINUX2) |
| 28 | set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") | 28 | set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") |
| 29 | configure_file( | 29 | configure_file( |
| 30 | @@ -625,7 +625,7 @@ if(FLB_BINARY) | 30 | @@ -652,7 +652,7 @@ if(FLB_BINARY) |
| 31 | install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR}) | 31 | install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR}) |
| 32 | install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) | 32 | install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) |
| 33 | endif() | 33 | 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 6df53613c3..1192449909 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 @@ | |||
| 1 | From cc688b91c02df9a45ca8816a1d09649fadb9dc4a Mon Sep 17 00:00:00 2001 | 1 | From 26431b786b4c703bc2dcdb57d59487a3fef4a139 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Wed, 10 Aug 2022 01:27:16 -0700 | 3 | Date: Wed, 10 Aug 2022 01:27:16 -0700 |
| 4 | Subject: [PATCH] chunkio: Link with fts library with musl | 4 | Subject: [PATCH] chunkio: Link with fts library with musl |
| @@ -10,7 +10,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 10 | 10 | ||
| 11 | Upstream-Status: Pending | 11 | Upstream-Status: Pending |
| 12 | --- | 12 | --- |
| 13 | |||
| 14 | lib/chunkio/src/CMakeLists.txt | 1 + | 13 | lib/chunkio/src/CMakeLists.txt | 1 + |
| 15 | 1 file changed, 1 insertion(+) | 14 | 1 file changed, 1 insertion(+) |
| 16 | 15 | ||
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.3.1.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb index 03f9e0e003..3f3299459c 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.3.1.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb | |||
| @@ -17,7 +17,7 @@ DEPENDS = "\ | |||
| 17 | " | 17 | " |
| 18 | DEPENDS:append:libc-musl = " fts" | 18 | DEPENDS:append:libc-musl = " fts" |
| 19 | 19 | ||
| 20 | SRCREV = "fca8b5bf46416267a4c8de185e4044da09cf0f16" | 20 | SRCREV = "66ffbe43bd0b393ec418e6f5851a23461fa478d4" |
| 21 | SRC_URI = "\ | 21 | SRC_URI = "\ |
| 22 | git://github.com/fluent/fluent-bit.git;nobranch=1;protocol=https;tag=v${PV} \ | 22 | git://github.com/fluent/fluent-bit.git;nobranch=1;protocol=https;tag=v${PV} \ |
| 23 | file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ | 23 | file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ |
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 d279994301..ddd684bb45 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) | |||
| 2 | HOMEPAGE = "https://github.com/google/highway/" | 2 | HOMEPAGE = "https://github.com/google/highway/" |
| 3 | 3 | ||
| 4 | LICENSE = "Apache-2.0" | 4 | LICENSE = "Apache-2.0" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=2b42edef8fa55315f34f2370b4715ca9" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e583f1fc1c22da0f388b23a31df5b591" |
| 6 | 6 | ||
| 7 | inherit cmake | 7 | inherit cmake |
| 8 | 8 | ||
| 9 | SRC_URI = "git://github.com/google/highway.git;protocol=https;branch=master \ | 9 | SRC_URI = "git://github.com/google/highway.git;protocol=https;branch=master \ |
| 10 | file://0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch" | 10 | file://0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch" |
| 11 | 11 | ||
| 12 | SRCREV = "ac0d5d297b13ab1b89f48484fc7911082d76a93f" | 12 | SRCREV = "c34a36fb145de0a922a6e719b217033e1ff2eece" |
| 13 | PV .= "+git" | ||
| 13 | 14 | ||
| 14 | EXTRA_OECMAKE = "-DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=Release" | 15 | EXTRA_OECMAKE = "-DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=Release" |
| 15 | 16 | ||
diff --git a/meta-oe/recipes-extended/libcbor/libcbor_0.13.0.bb b/meta-oe/recipes-extended/libcbor/libcbor_0.14.0.bb index 3bed8a6e72..7d65688384 100755 --- a/meta-oe/recipes-extended/libcbor/libcbor_0.13.0.bb +++ b/meta-oe/recipes-extended/libcbor/libcbor_0.14.0.bb | |||
| @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f3b3881df62ca763a02d359a6e94071" | |||
| 6 | 6 | ||
| 7 | SRC_URI = "git://github.com/PJK/libcbor.git;protocol=https;branch=master;tag=v${PV}" | 7 | SRC_URI = "git://github.com/PJK/libcbor.git;protocol=https;branch=master;tag=v${PV}" |
| 8 | 8 | ||
| 9 | SRCREV = "9826a4315116a588f7416912db9da6fcecd8da11" | 9 | SRCREV = "6730c20ab487c0b4dc5fb3fea918937085355bac" |
| 10 | 10 | ||
| 11 | inherit cmake | 11 | inherit cmake |
| 12 | 12 | ||
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 04376b66ed..0f427a7d05 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/" | |||
| 10 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" | 10 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" |
| 11 | 11 | ||
| 12 | inherit autotools gettext | 12 | inherit autotools gettext |
| 13 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 13 | 14 | ||
| 14 | EXTRA_OECONF = "--disable-ssl --disable-kerberos --enable-force_localhost \ | 15 | EXTRA_OECONF = "--disable-ssl --disable-kerberos --enable-force_localhost \ |
| 15 | CHOWN=${base_bindir}/chown CHGRP=${base_bindir}/chgrp \ | 16 | 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 6d5399c8d0..958ae21065 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 = " \ | |||
| 16 | file://run-ptest \ | 16 | file://run-ptest \ |
| 17 | " | 17 | " |
| 18 | 18 | ||
| 19 | SRCREV = "e046b69a3736d314fad813e159b1c192eaef92cd" | 19 | SRCREV = "7d87efb4a3dddbbe8caa9ca14eff05ede1102ab8" |
| 20 | PV .= "+git" | ||
| 20 | 21 | ||
| 21 | inherit cmake ptest | 22 | inherit cmake ptest |
| 22 | 23 | ||
diff --git a/meta-oe/recipes-extended/minio/minio_git.bb b/meta-oe/recipes-extended/minio/minio_git.bb index 511dd4d869..d08b5e754d 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" | |||
| 169 | CVE_STATUS_WRONG_CPE[status] = "cpe-incorrect: The vulnerability is in minio server, not in minio client-tools" | 169 | CVE_STATUS_WRONG_CPE[status] = "cpe-incorrect: The vulnerability is in minio server, not in minio client-tools" |
| 170 | CVE_STATUS_WRONG_CPE = "CVE-2018-1000538 CVE-2020-11012 CVE-2021-21287 CVE-2021-21362 \ | 170 | CVE_STATUS_WRONG_CPE = "CVE-2018-1000538 CVE-2020-11012 CVE-2021-21287 CVE-2021-21362 \ |
| 171 | CVE-2021-21390 CVE-2021-43858 CVE-2022-35919 CVE-2023-28433 \ | 171 | CVE-2021-21390 CVE-2021-43858 CVE-2022-35919 CVE-2023-28433 \ |
| 172 | CVE-2023-28434 CVE-2024-36107" | 172 | CVE-2023-28434 CVE-2024-36107 CVE-2026-33419 CVE-2026-34204" |
diff --git a/meta-oe/recipes-extended/networking/mstpd_0.1.1.bb b/meta-oe/recipes-extended/networking/mstpd_0.2.0.bb index 3ac4d5b1fe..0d60111554 100644 --- a/meta-oe/recipes-extended/networking/mstpd_0.1.1.bb +++ b/meta-oe/recipes-extended/networking/mstpd_0.2.0.bb | |||
| @@ -6,7 +6,7 @@ SRC_URI = " \ | |||
| 6 | file://bridge-stp \ | 6 | file://bridge-stp \ |
| 7 | file://mstpd.service \ | 7 | file://mstpd.service \ |
| 8 | " | 8 | " |
| 9 | SRCREV = "d7dd987b101f277bfef8ac71de7c1d962a424e8e" | 9 | SRCREV = "8995e5d11ee89f2251734e34cea711bb5a5bb911" |
| 10 | 10 | ||
| 11 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+){2,})" | 11 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+){2,})" |
| 12 | 12 | ||
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 0000000000..cc0c3d1318 --- /dev/null +++ b/meta-oe/recipes-extended/ostree/ostree/0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From 3b8255e24d0785d6049d473471da53b0c5fd52c1 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Thu, 9 Apr 2026 16:28:07 -0700 | ||
| 4 | Subject: [PATCH] trivial-httpd: Fix const-correctness of slash pointer | ||
| 5 | |||
| 6 | strrchr() returns a 'const char *' when passed a 'const char *' | ||
| 7 | argument. Declare the local 'slash' variable as 'const char *' | ||
| 8 | to match, fixing a build failure with clang when | ||
| 9 | -Werror,-Wincompatible-pointer-types-discards-qualifiers is active. | ||
| 10 | |||
| 11 | Upstream-Status: Submitted [https://github.com/ostreedev/ostree/pull/3579] | ||
| 12 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 13 | --- | ||
| 14 | src/ostree/ostree-trivial-httpd.c | 2 +- | ||
| 15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/src/ostree/ostree-trivial-httpd.c b/src/ostree/ostree-trivial-httpd.c | ||
| 18 | index 4a0c6b00..b5a52e61 100644 | ||
| 19 | --- a/src/ostree/ostree-trivial-httpd.c | ||
| 20 | +++ b/src/ostree/ostree-trivial-httpd.c | ||
| 21 | @@ -281,7 +281,7 @@ do_get (OtTrivialHttpd *self, SoupServer *server, SoupServerMessage *msg, const | ||
| 22 | do_get (OtTrivialHttpd *self, SoupServer *server, SoupServerMessage *msg, const char *path) | ||
| 23 | #endif | ||
| 24 | { | ||
| 25 | - char *slash; | ||
| 26 | + const char *slash; | ||
| 27 | int ret; | ||
| 28 | struct stat stbuf; | ||
| 29 | |||
diff --git a/meta-oe/recipes-extended/ostree/ostree_2025.7.bb b/meta-oe/recipes-extended/ostree/ostree_2026.1.bb index a2094f68c3..af726fff12 100644 --- a/meta-oe/recipes-extended/ostree/ostree_2025.7.bb +++ b/meta-oe/recipes-extended/ostree/ostree_2026.1.bb | |||
| @@ -21,8 +21,9 @@ DEPENDS = " \ | |||
| 21 | GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases" | 21 | GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases" |
| 22 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \ | 22 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \ |
| 23 | file://run-ptest \ | 23 | file://run-ptest \ |
| 24 | file://0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch \ | ||
| 24 | " | 25 | " |
| 25 | SRC_URI[sha256sum] = "af8d080b9585e7fd1faba8f022967e1c268ae62e20ecf32ee7b364c1e307570b" | 26 | SRC_URI[sha256sum] = "8e77c285dd6fa5ec5fb063130390977be727fe11107335ed8778a40385069e95" |
| 26 | 27 | ||
| 27 | S = "${UNPACKDIR}/libostree-${PV}" | 28 | S = "${UNPACKDIR}/libostree-${PV}" |
| 28 | 29 | ||
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 c50a7a3f7a..186e1ccf24 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 | |||
| 40 | 40 | ||
| 41 | inherit autotools pkgconfig systemd update-rc.d ptest | 41 | inherit autotools pkgconfig systemd update-rc.d ptest |
| 42 | 42 | ||
| 43 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 43 | EXTRA_OECONF += "--enable-imfile-tests ${ATOMICS}" | 44 | EXTRA_OECONF += "--enable-imfile-tests ${ATOMICS}" |
| 44 | ATOMICS = "ap_cv_atomic_builtins_64=yes ap_cv_atomic_builtins=yes" | 45 | ATOMICS = "ap_cv_atomic_builtins_64=yes ap_cv_atomic_builtins=yes" |
| 45 | ATOMICS:mipsarch = "" | 46 | ATOMICS:mipsarch = "" |
diff --git a/meta-oe/recipes-extended/sanlock/sanlock_4.2.0.bb b/meta-oe/recipes-extended/sanlock/sanlock_5.1.0.bb index 8babaf8017..72242946c1 100644 --- a/meta-oe/recipes-extended/sanlock/sanlock_4.2.0.bb +++ b/meta-oe/recipes-extended/sanlock/sanlock_5.1.0.bb | |||
| @@ -11,22 +11,18 @@ SECTION = "utils" | |||
| 11 | LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later" | 11 | LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later" |
| 12 | LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" | 12 | LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" |
| 13 | 13 | ||
| 14 | PV .= "+git" | 14 | SRC_URI = "git://codeberg.org/sanlock/sanlock.git;protocol=https;branch=master;tag=${BPN}-${PV} \ |
| 15 | |||
| 16 | SRC_URI = "git://pagure.io/sanlock.git;protocol=http;branch=master \ | ||
| 17 | file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch \ | 15 | file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch \ |
| 18 | file://0001-add-missing-system-header-string.h.patch \ | 16 | file://0001-add-missing-system-header-string.h.patch \ |
| 19 | " | 17 | " |
| 20 | SRCREV = "efe86d2e691383da07942fe9a4bccab13046f3d4" | 18 | SRCREV = "995685ac3ad8909cb7562e74dd13e3b450833d9c" |
| 21 | |||
| 22 | 19 | ||
| 23 | CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." | 20 | CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." |
| 24 | 21 | ||
| 25 | DEPENDS = "libaio util-linux" | 22 | DEPENDS = "libaio util-linux libdevmapper" |
| 26 | 23 | RDEPENDS:${PN} += "libdevmapper" | |
| 27 | inherit setuptools3 useradd | ||
| 28 | 24 | ||
| 29 | SETUPTOOLS_SETUP_PATH = "${S}/python" | 25 | inherit useradd |
| 30 | 26 | ||
| 31 | do_compile:prepend () { | 27 | do_compile:prepend () { |
| 32 | oe_runmake -C ${S}/wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" | 28 | oe_runmake -C ${S}/wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" |
diff --git a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb index e624b26941..79b8ee18e7 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" | |||
| 15 | 15 | ||
| 16 | inherit autotools | 16 | inherit autotools |
| 17 | 17 | ||
| 18 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 19 | |||
| 18 | AUTOTOOLS_SCRIPT_PATH = "${S}/src" | 20 | AUTOTOOLS_SCRIPT_PATH = "${S}/src" |
| 19 | 21 | ||
| 20 | BBCLASSEXTEND = "native nativesdk" | 22 | BBCLASSEXTEND = "native nativesdk" |
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 0e08bed8a1..e0b91f02a9 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 = " \ | |||
| 8 | file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce \ | 8 | file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce \ |
| 9 | " | 9 | " |
| 10 | 10 | ||
| 11 | DEPENDS = "glib-2.0-native atkmm pangomm-2.48 glibmm gtk4 cairomm-1.16 gdk-pixbuf-native" | 11 | DEPENDS = "glib-2.0-native pangomm-2.48 glibmm gtk4 cairomm-1.16 gdk-pixbuf-native" |
| 12 | 12 | ||
| 13 | GNOMEBN = "gtkmm" | 13 | GNOMEBN = "gtkmm" |
| 14 | 14 | ||
| 15 | inherit gnomebase features_check | 15 | inherit gnomebase features_check |
| 16 | 16 | ||
| 17 | REQUIRED_DISTRO_FEATURES = "opengl x11" | 17 | REQUIRED_DISTRO_FEATURES = "opengl" |
| 18 | 18 | ||
| 19 | SRC_URI[archive.sha256sum] = "daad9bf9b70f90975f91781fc7a656c923a91374261f576c883cd3aebd59c833" | 19 | SRC_URI[archive.sha256sum] = "daad9bf9b70f90975f91781fc7a656c923a91374261f576c883cd3aebd59c833" |
| 20 | 20 | ||
diff --git a/meta-oe/recipes-graphics/feh/feh_3.11.3.bb b/meta-oe/recipes-graphics/feh/feh_3.12.1.bb index c79ad488ba..2ac504a551 100644 --- a/meta-oe/recipes-graphics/feh/feh_3.11.3.bb +++ b/meta-oe/recipes-graphics/feh/feh_3.12.1.bb | |||
| @@ -9,7 +9,7 @@ DEPENDS = "\ | |||
| 9 | " | 9 | " |
| 10 | 10 | ||
| 11 | SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2" | 11 | SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2" |
| 12 | SRC_URI[sha256sum] = "f2cca3592a433922c0db7a9365fd63e5402c121d932a9327e279c71be6501063" | 12 | SRC_URI[sha256sum] = "6772f48e7956a16736e4c165a8367f357efc413b895f5b04133366e01438f95d" |
| 13 | 13 | ||
| 14 | inherit mime-xdg features_check | 14 | inherit mime-xdg features_check |
| 15 | # depends on virtual/libx11 | 15 | # depends on virtual/libx11 |
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 e0c3de469a..0000000000 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch +++ /dev/null | |||
| @@ -1,50 +0,0 @@ | |||
| 1 | From 366930ccc1a261c3eb883da2bf3c655162ccd75f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 1 Mar 2023 22:58:37 -0800 | ||
| 4 | Subject: [PATCH] Match prototypes of callbacks with libgphoto | ||
| 5 | |||
| 6 | In https://github.com/gphoto/gphoto2/pull/535/commits/ccc4c1f092bd21ebc713f4d7b9be85be49f92f1e | ||
| 7 | we tried to fix by using pthread_t but it also needs to make changes in | ||
| 8 | libgphoto and these changes can be invasive, therefore lets revert to | ||
| 9 | older types and to fix musl problem fix it via type casts | ||
| 10 | |||
| 11 | Upstream-Status: Backport [https://github.com/gphoto/gphoto2/pull/569] | ||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | gphoto2/main.c | 8 ++++---- | ||
| 15 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/gphoto2/main.c b/gphoto2/main.c | ||
| 18 | index 0dac947..cd3c990 100644 | ||
| 19 | --- a/gphoto2/main.c | ||
| 20 | +++ b/gphoto2/main.c | ||
| 21 | @@ -1198,7 +1198,7 @@ thread_func (void *data) | ||
| 22 | pthread_cleanup_pop (1); | ||
| 23 | } | ||
| 24 | |||
| 25 | -static pthread_t | ||
| 26 | +static unsigned int | ||
| 27 | start_timeout_func (Camera *camera, unsigned int timeout, | ||
| 28 | CameraTimeoutFunc func, void __unused__ *data) | ||
| 29 | { | ||
| 30 | @@ -1215,14 +1215,14 @@ start_timeout_func (Camera *camera, unsigned int timeout, | ||
| 31 | |||
| 32 | pthread_create (&tid, NULL, thread_func, td); | ||
| 33 | |||
| 34 | - return (tid); | ||
| 35 | + return (unsigned int)tid; | ||
| 36 | } | ||
| 37 | |||
| 38 | static void | ||
| 39 | -stop_timeout_func (Camera __unused__ *camera, pthread_t id, | ||
| 40 | +stop_timeout_func (Camera __unused__ *camera, unsigned int id, | ||
| 41 | void __unused__ *data) | ||
| 42 | { | ||
| 43 | - pthread_t tid = id; | ||
| 44 | + pthread_t tid = (pthread_t)id; | ||
| 45 | |||
| 46 | pthread_cancel (tid); | ||
| 47 | pthread_join (tid, NULL); | ||
| 48 | -- | ||
| 49 | 2.39.2 | ||
| 50 | |||
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 3d54d58e18..bd916e339a 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 <raj.khem@gmail.com> | |||
| 14 | --- a/configure.ac | 14 | --- a/configure.ac |
| 15 | +++ b/configure.ac | 15 | +++ b/configure.ac |
| 16 | @@ -26,7 +26,9 @@ AC_PROG_INSTALL | 16 | @@ -26,7 +26,9 @@ AC_PROG_INSTALL |
| 17 | AC_SYS_LARGEFILE | 17 | ]) |
| 18 | 18 | ||
| 19 | GP_CONFIG_MSG([Compiler],[${CC}]) | 19 | GP_CONFIG_MSG([Compiler], [${CC}]) |
| 20 | -AC_DEFINE_UNQUOTED([HAVE_CC],"$CC",[The C compiler we're using]) | 20 | -AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC"], [The C compiler we are using]) |
| 21 | +CC_NO_SYSROOT=`echo $CC | sed -e \ | 21 | +CC_NO_SYSROOT=`echo $CC | sed -e \ |
| 22 | + 's|--sysroot=.*\b||g'` | 22 | + 's|--sysroot=.*\b||g'` |
| 23 | +AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"], [The C compiler we're using]) | 23 | +AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"], [The C compiler we are using]) |
| 24 | 24 | ||
| 25 | dnl AC_STRUCT_TIMEZONE | 25 | dnl AC_STRUCT_TIMEZONE |
| 26 | 26 | ||
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 14976ffb72..358dbbb51a 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 | |||
| 14 | --- a/configure.ac | 14 | --- a/configure.ac |
| 15 | +++ b/configure.ac | 15 | +++ b/configure.ac |
| 16 | @@ -46,7 +46,6 @@ dnl i18n support | 16 | @@ -46,7 +46,6 @@ dnl i18n support |
| 17 | dnl --------------------------------------------------------------------------- | 17 | GP_GETTEXT_SETUP([GETTEXT_PACKAGE_GPHOTO2], |
| 18 | GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}]) | 18 | [gphoto2], |
| 19 | 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" | 19 | [po]) |
| 20 | -AM_PO_SUBDIRS() | 20 | -AM_PO_SUBDIRS() |
| 21 | AM_GNU_GETTEXT_VERSION([0.14.1]) | 21 | AM_GNU_GETTEXT_VERSION([0.19.1]) |
| 22 | AM_GNU_GETTEXT([external]) | 22 | AM_GNU_GETTEXT([external]) |
| 23 | AM_ICONV() | 23 | 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 a27c02cefc..0000000000 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch +++ /dev/null | |||
| @@ -1,39 +0,0 @@ | |||
| 1 | From 23c67e93e51f700d0aeecfc08277e39f51201fc3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 2 Sep 2022 12:59:46 -0700 | ||
| 4 | Subject: [PATCH] gphoto2: Use pthread_t abstract type for thead IDs | ||
| 5 | |||
| 6 | This is not a plain old datatype in every libc, e.g. with musl this | ||
| 7 | would fail in type conversion | ||
| 8 | |||
| 9 | Upstream-Status: Submitted [https://github.com/gphoto/gphoto2/pull/535] | ||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | --- | ||
| 12 | gphoto2/main.c | 4 ++-- | ||
| 13 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/gphoto2/main.c b/gphoto2/main.c | ||
| 16 | index 2bf5964..9a6b05d 100644 | ||
| 17 | --- a/gphoto2/main.c | ||
| 18 | +++ b/gphoto2/main.c | ||
| 19 | @@ -1198,7 +1198,7 @@ thread_func (void *data) | ||
| 20 | pthread_cleanup_pop (1); | ||
| 21 | } | ||
| 22 | |||
| 23 | -static unsigned int | ||
| 24 | +static pthread_t | ||
| 25 | start_timeout_func (Camera *camera, unsigned int timeout, | ||
| 26 | CameraTimeoutFunc func, void __unused__ *data) | ||
| 27 | { | ||
| 28 | @@ -1219,7 +1219,7 @@ start_timeout_func (Camera *camera, unsigned int timeout, | ||
| 29 | } | ||
| 30 | |||
| 31 | static void | ||
| 32 | -stop_timeout_func (Camera __unused__ *camera, unsigned int id, | ||
| 33 | +stop_timeout_func (Camera __unused__ *camera, pthread_t id, | ||
| 34 | void __unused__ *data) | ||
| 35 | { | ||
| 36 | pthread_t tid = id; | ||
| 37 | -- | ||
| 38 | 2.37.3 | ||
| 39 | |||
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb index 40409ed388..e5e7c6926f 100644 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb +++ b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb | |||
| @@ -8,11 +8,9 @@ RDEPENDS:gphoto2 = "libgphoto2" | |||
| 8 | 8 | ||
| 9 | SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.bz2;name=gphoto2 \ | 9 | SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.bz2;name=gphoto2 \ |
| 10 | file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ | 10 | file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ |
| 11 | file://0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch \ | ||
| 12 | file://0001-Match-prototypes-of-callbacks-with-libgphoto.patch \ | ||
| 13 | file://0001-configure-Filter-out-buildpaths-from-CC.patch \ | 11 | file://0001-configure-Filter-out-buildpaths-from-CC.patch \ |
| 14 | " | 12 | " |
| 15 | SRC_URI[gphoto2.sha256sum] = "2a648dcdf12da19e208255df4ebed3e7d2a02f905be4165f2443c984cf887375" | 13 | SRC_URI[gphoto2.sha256sum] = "4e379a0f12f72b49ee5ee2283ffd806b5d12d099939d75197a3f4bbc7f27a1a1" |
| 16 | 14 | ||
| 17 | inherit autotools pkgconfig gettext | 15 | inherit autotools pkgconfig gettext |
| 18 | 16 | ||
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 0000000000..9ded174095 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-libgphoto2-fix-const-correctness-for-c23-builds.patch | |||
| @@ -0,0 +1,84 @@ | |||
| 1 | From bfa786a260bfd4660e8186ebad8778718e85e8cd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sat, 4 Apr 2026 14:56:01 -0700 | ||
| 4 | Subject: [PATCH] libgphoto2: fix const-correctness for c23 builds | ||
| 5 | |||
| 6 | C23 treats the return values of strrchr() and strchr() as const char * | ||
| 7 | when the input string is const-qualified. Update local variables to use | ||
| 8 | const char * where appropriate to avoid discarded-qualifier warnings and | ||
| 9 | build failures with -std=gnu23. | ||
| 10 | |||
| 11 | No functional change intended. | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://github.com/gphoto/libgphoto2/pull/1235] | ||
| 14 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 15 | --- | ||
| 16 | camlibs/directory/directory.c | 2 +- | ||
| 17 | libgphoto2/gphoto2-file.c | 6 +++--- | ||
| 18 | libgphoto2/gphoto2-filesys.c | 2 +- | ||
| 19 | packaging/generic/print-camera-list.c | 2 +- | ||
| 20 | 4 files changed, 6 insertions(+), 6 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/camlibs/directory/directory.c b/camlibs/directory/directory.c | ||
| 23 | index 790405d54..cc63c6684 100644 | ||
| 24 | --- a/camlibs/directory/directory.c | ||
| 25 | +++ b/camlibs/directory/directory.c | ||
| 26 | @@ -125,7 +125,7 @@ static const char * | ||
| 27 | get_mime_type (const char *filename) | ||
| 28 | { | ||
| 29 | |||
| 30 | - char *dot; | ||
| 31 | + const char *dot; | ||
| 32 | int x=0; | ||
| 33 | |||
| 34 | dot = strrchr(filename, '.'); | ||
| 35 | diff --git a/libgphoto2/gphoto2-file.c b/libgphoto2/gphoto2-file.c | ||
| 36 | index 04d4d5e3e..1a9dbc193 100644 | ||
| 37 | --- a/libgphoto2/gphoto2-file.c | ||
| 38 | +++ b/libgphoto2/gphoto2-file.c | ||
| 39 | @@ -610,7 +610,7 @@ int | ||
| 40 | gp_file_open (CameraFile *file, const char *filename) | ||
| 41 | { | ||
| 42 | FILE *fp; | ||
| 43 | - char *name, *dot; | ||
| 44 | + const char *name, *dot; | ||
| 45 | long size, size_read; | ||
| 46 | int i; | ||
| 47 | struct stat s; | ||
| 48 | @@ -906,8 +906,8 @@ gp_file_get_name (CameraFile *file, const char **name) | ||
| 49 | int | ||
| 50 | gp_file_get_name_by_type (CameraFile *file, const char *basename, CameraFileType type, char **newname) | ||
| 51 | { | ||
| 52 | - char *prefix = NULL, *s, *new, *slash = NULL; | ||
| 53 | - const char *suffix = NULL; | ||
| 54 | + char *prefix = NULL, *new; | ||
| 55 | + const char *suffix = NULL, *s, *slash = NULL; | ||
| 56 | int i; | ||
| 57 | |||
| 58 | C_PARAMS (file && basename && newname); | ||
| 59 | diff --git a/libgphoto2/gphoto2-filesys.c b/libgphoto2/gphoto2-filesys.c | ||
| 60 | index 45f957292..07decff24 100644 | ||
| 61 | --- a/libgphoto2/gphoto2-filesys.c | ||
| 62 | +++ b/libgphoto2/gphoto2-filesys.c | ||
| 63 | @@ -521,7 +521,7 @@ append_to_folder (CameraFilesystemFolder *folder, | ||
| 64 | CameraFilesystemFolder **newfolder | ||
| 65 | ) { | ||
| 66 | CameraFilesystemFolder *f; | ||
| 67 | - char *s; | ||
| 68 | + const char *s; | ||
| 69 | |||
| 70 | GP_LOG_D ("Append to folder %p/%s - %s", folder, folder->name, foldername); | ||
| 71 | /* Handle multiple slashes, and slashes at the end */ | ||
| 72 | diff --git a/packaging/generic/print-camera-list.c b/packaging/generic/print-camera-list.c | ||
| 73 | index 1707b4e87..44530b4ae 100644 | ||
| 74 | --- a/packaging/generic/print-camera-list.c | ||
| 75 | +++ b/packaging/generic/print-camera-list.c | ||
| 76 | @@ -1138,7 +1138,7 @@ escape_html(const char *str) { | ||
| 77 | newstr = malloc(strlen(str)+1+inc); | ||
| 78 | s = str; ns = newstr; | ||
| 79 | do { | ||
| 80 | - char *x; | ||
| 81 | + const char *x; | ||
| 82 | x = strchr(s,'&'); | ||
| 83 | if (x) { | ||
| 84 | 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 0000000000..77c307e88d --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch | |||
| @@ -0,0 +1,150 @@ | |||
| 1 | From 8fefd2da7b9e2c7c448086cd251b108c0ebf1262 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:18:42 +0200 | ||
| 4 | Subject: [PATCH] Fixed EOS ImageFormat/CustomFuncEx Parsers Lack Length | ||
| 5 | Parameter | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | ptp_unpack_EOS_ImageFormat() and ptp_unpack_EOS_CustomFuncEx() accept | ||
| 11 | const unsigned char** data but no length/size parameter. They perform | ||
| 12 | unbounded reads via dtoh32o calls (up to 36 bytes for ImageFormat, | ||
| 13 | up to 1024 bytes for CustomFuncEx). Callers in ptp_unpack_EOS_events() | ||
| 14 | have xsize available but never pass it. | ||
| 15 | |||
| 16 | CVE-2026-40333 | ||
| 17 | |||
| 18 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 19 | |||
| 20 | CVE: CVE-2026-40333 | ||
| 21 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/1817ecead20c2aafa7549dac9619fe38f47b2f53] | ||
| 22 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 23 | --- | ||
| 24 | camlibs/ptp2/ptp-pack.c | 53 ++++++++++++++++++++++++++++++++++------- | ||
| 25 | 1 file changed, 44 insertions(+), 9 deletions(-) | ||
| 26 | |||
| 27 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 28 | index 09421b7..09dcc24 100644 | ||
| 29 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 30 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 31 | @@ -1448,7 +1448,7 @@ ptp_unpack_Canon_EOS_FE (PTPParams *params, const unsigned char* data, unsigned | ||
| 32 | |||
| 33 | |||
| 34 | static inline uint16_t | ||
| 35 | -ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data ) | ||
| 36 | +ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data, unsigned int *size ) | ||
| 37 | { | ||
| 38 | /* | ||
| 39 | EOS ImageFormat entries look are a sequence of u32 values: | ||
| 40 | @@ -1492,30 +1492,57 @@ ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data ) | ||
| 41 | |||
| 42 | const uint8_t* d = *data; | ||
| 43 | uint32_t offset = 0; | ||
| 44 | - uint32_t n = dtoh32o (d, offset); | ||
| 45 | + uint32_t n; | ||
| 46 | uint32_t l, t1, s1, c1, t2 = 0, s2 = 0, c2 = 0; | ||
| 47 | |||
| 48 | + if (*size < sizeof(uint32_t)) { | ||
| 49 | + ptp_debug (params, "parsing EOS ImageFormat property failed 1 (size %d)", *size); | ||
| 50 | + return 0; | ||
| 51 | + } | ||
| 52 | + n = dtoh32o (d, offset); | ||
| 53 | + *size -= sizeof(uint32_t); | ||
| 54 | + | ||
| 55 | if (n != 1 && n !=2) { | ||
| 56 | ptp_debug (params, "parsing EOS ImageFormat property failed (n != 1 && n != 2: %d)", n); | ||
| 57 | return 0; | ||
| 58 | } | ||
| 59 | - | ||
| 60 | + if (*size < sizeof(uint32_t)) { | ||
| 61 | + ptp_debug (params, "parsing EOS ImageFormat property failed 2 (size %d)", *size); | ||
| 62 | + return 0; | ||
| 63 | + } | ||
| 64 | l = dtoh32o (d, offset); | ||
| 65 | + *size -= sizeof(uint32_t); | ||
| 66 | + | ||
| 67 | if (l != 0x10) { | ||
| 68 | ptp_debug (params, "parsing EOS ImageFormat property failed (l != 0x10: 0x%x)", l); | ||
| 69 | return 0; | ||
| 70 | } | ||
| 71 | |||
| 72 | + if (*size < 3*sizeof(uint32_t)) { | ||
| 73 | + ptp_debug (params, "parsing EOS ImageFormat property failed 3 (size %d)", *size); | ||
| 74 | + return 0; | ||
| 75 | + } | ||
| 76 | t1 = dtoh32o (d, offset); | ||
| 77 | s1 = dtoh32o (d, offset); | ||
| 78 | c1 = dtoh32o (d, offset); | ||
| 79 | + *size -= 3*sizeof(uint32_t); | ||
| 80 | |||
| 81 | if (n == 2) { | ||
| 82 | + if (*size < sizeof(uint32_t)) { | ||
| 83 | + ptp_debug (params, "parsing EOS ImageFormat property failed 4 (size %d)", *size); | ||
| 84 | + return 0; | ||
| 85 | + } | ||
| 86 | l = dtoh32o (d, offset); | ||
| 87 | + *size -= sizeof(uint32_t); | ||
| 88 | + | ||
| 89 | if (l != 0x10) { | ||
| 90 | ptp_debug (params, "parsing EOS ImageFormat property failed (l != 0x10: 0x%x)", l); | ||
| 91 | return 0; | ||
| 92 | } | ||
| 93 | + if (*size < 3*sizeof(uint32_t)) { | ||
| 94 | + ptp_debug (params, "parsing EOS ImageFormat property failed 5 (size %d)", *size); | ||
| 95 | + return 0; | ||
| 96 | + } | ||
| 97 | t2 = dtoh32o (d, offset); | ||
| 98 | s2 = dtoh32o (d, offset); | ||
| 99 | c2 = dtoh32o (d, offset); | ||
| 100 | @@ -1668,12 +1695,20 @@ ptp_unpack_EOS_FocusInfoEx (PTPParams* params, const unsigned char** data, uint3 | ||
| 101 | |||
| 102 | |||
| 103 | static inline char* | ||
| 104 | -ptp_unpack_EOS_CustomFuncEx (PTPParams* params, const unsigned char** data ) | ||
| 105 | +ptp_unpack_EOS_CustomFuncEx (PTPParams* params, const unsigned char** data, unsigned int *size ) | ||
| 106 | { | ||
| 107 | - uint32_t s = dtoh32a( *data ); | ||
| 108 | - uint32_t n = s/4, i; | ||
| 109 | + uint32_t s, n, i; | ||
| 110 | char *str, *p; | ||
| 111 | |||
| 112 | + if (*size < sizeof(uint32_t)) | ||
| 113 | + return strdup("bad length"); | ||
| 114 | + | ||
| 115 | + s = dtoh32a( *data ); | ||
| 116 | + n = s/4; | ||
| 117 | + | ||
| 118 | + if (*size < 4+s) | ||
| 119 | + return strdup("bad length"); | ||
| 120 | + | ||
| 121 | if (s > 1024) { | ||
| 122 | ptp_debug (params, "customfuncex data is larger than 1k / %d... unexpected?", s); | ||
| 123 | return strdup("bad length"); | ||
| 124 | @@ -1962,7 +1997,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in | ||
| 125 | case PTP_DPC_CANON_EOS_ImageFormatExtHD: | ||
| 126 | /* special handling of ImageFormat properties */ | ||
| 127 | for (j=0;j<dpd_count;j++) { | ||
| 128 | - dpd->FORM.Enum.SupportedValue[j].u16 = ptp_unpack_EOS_ImageFormat( params, &xdata ); | ||
| 129 | + dpd->FORM.Enum.SupportedValue[j].u16 = ptp_unpack_EOS_ImageFormat( params, &xdata, &xsize ); | ||
| 130 | ptp_debug (params, INDENT "prop %x option[%2d] == 0x%04x", dpc, j, dpd->FORM.Enum.SupportedValue[j].u16); | ||
| 131 | } | ||
| 132 | break; | ||
| 133 | @@ -2267,7 +2302,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in | ||
| 134 | case PTP_DPC_CANON_EOS_ImageFormatSD: | ||
| 135 | case PTP_DPC_CANON_EOS_ImageFormatExtHD: | ||
| 136 | dpd->DataType = PTP_DTC_UINT16; | ||
| 137 | - dpd->DefaultValue.u16 = ptp_unpack_EOS_ImageFormat( params, &xdata ); | ||
| 138 | + dpd->DefaultValue.u16 = ptp_unpack_EOS_ImageFormat( params, &xdata, &xsize ); | ||
| 139 | dpd->CurrentValue.u16 = dpd->DefaultValue.u16; | ||
| 140 | ptp_debug (params, INDENT "prop %x value == 0x%04x (u16)", dpc, dpd->CurrentValue.u16); | ||
| 141 | break; | ||
| 142 | @@ -2275,7 +2310,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in | ||
| 143 | dpd->DataType = PTP_DTC_STR; | ||
| 144 | free (dpd->DefaultValue.str); | ||
| 145 | free (dpd->CurrentValue.str); | ||
| 146 | - dpd->DefaultValue.str = ptp_unpack_EOS_CustomFuncEx( params, &xdata ); | ||
| 147 | + dpd->DefaultValue.str = ptp_unpack_EOS_CustomFuncEx( params, &xdata, &xsize ); | ||
| 148 | dpd->CurrentValue.str = strdup( (char*)dpd->DefaultValue.str ); | ||
| 149 | ptp_debug (params, INDENT "prop %x value == %s", dpc, dpd->CurrentValue.str); | ||
| 150 | 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 0000000000..883582dff0 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From 20b33a26b2efdbf2c35c5cacc54a041855ec764b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:15:54 +0200 | ||
| 4 | Subject: [PATCH] Fixed Canon FolderEntry Missing Null Termination | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | ptp_unpack_Canon_FE() copies filename with strncpy into a 13-byte | ||
| 10 | buffer without explicit null termination. The EOS variant at line | ||
| 11 | 1451–1452 correctly adds fe->Filename[PTP_CANON_FilenameBufferLen-1] | ||
| 12 | = 0; confirming this was recognized as necessary but not applied to the | ||
| 13 | original Canon path. | ||
| 14 | |||
| 15 | CVE-2026-40334 | ||
| 16 | |||
| 17 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 18 | |||
| 19 | CVE: CVE-2026-40334 | ||
| 20 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/259fc7d3bfe534ce4b114c464f55b448670ab873] | ||
| 21 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 22 | --- | ||
| 23 | camlibs/ptp2/ptp-pack.c | 1 + | ||
| 24 | 1 file changed, 1 insertion(+) | ||
| 25 | |||
| 26 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 27 | index 09dcc24..982b4f4 100644 | ||
| 28 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 29 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 30 | @@ -1369,6 +1369,7 @@ ptp_unpack_Canon_FE (PTPParams *params, const unsigned char* data, PTPCANONFolde | ||
| 31 | fe->ObjectSize = dtoh32a(data + PTP_cfe_ObjectSize); | ||
| 32 | fe->Time = (time_t)dtoh32a(data + PTP_cfe_Time); | ||
| 33 | strncpy(fe->Filename, (char*)data + PTP_cfe_Filename, PTP_CANON_FilenameBufferLen); | ||
| 34 | + fe->Filename[PTP_CANON_FilenameBufferLen-1] = '\0'; | ||
| 35 | } | ||
| 36 | |||
| 37 | /* | ||
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 0000000000..dfe832e6c8 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | From edcdf804662eb4340fdc371af4853d6579e969ab Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:07:38 +0200 | ||
| 4 | Subject: [PATCH] =?UTF-8?q?Fixed=20UINT128/INT128=20Unchecked=20Offset=20A?= | ||
| 5 | =?UTF-8?q?dvance=20(CWE-125)=20=E2=80=94=20MEDIUM?= | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | Finding 5: UINT128/INT128 Unchecked Offset Advance (CWE-125) — MEDIUM | ||
| 11 | |||
| 12 | 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. | ||
| 13 | |||
| 14 | CVE-2026-40335 | ||
| 15 | |||
| 16 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 17 | |||
| 18 | CVE: CVE-2026-40335 | ||
| 19 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/433bde9888d70aa726e32744cd751d7dbe94379a] | ||
| 20 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 21 | --- | ||
| 22 | camlibs/ptp2/ptp-pack.c | 4 ++++ | ||
| 23 | 1 file changed, 4 insertions(+) | ||
| 24 | |||
| 25 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 26 | index 982b4f4..7fc120d 100644 | ||
| 27 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 28 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 29 | @@ -614,10 +614,14 @@ ptp_unpack_DPV ( | ||
| 30 | case PTP_DTC_UINT64: CTVAL(value->u64,dtoh64a); break; | ||
| 31 | |||
| 32 | case PTP_DTC_UINT128: | ||
| 33 | + if (total - *offset < 16) | ||
| 34 | + return 0; | ||
| 35 | *offset += 16; | ||
| 36 | /*fprintf(stderr,"unhandled unpack of uint128n");*/ | ||
| 37 | break; | ||
| 38 | case PTP_DTC_INT128: | ||
| 39 | + if (total - *offset < 16) | ||
| 40 | + return 0; | ||
| 41 | *offset += 16; | ||
| 42 | /*fprintf(stderr,"unhandled unpack of int128n");*/ | ||
| 43 | 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 0000000000..1a809b4f25 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | From e19c45d3530f1585805711e14aa4ea788e499f46 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:13:51 +0200 | ||
| 4 | Subject: [PATCH] Fixed Sony DPD Secondary Enum List Memory Leak | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | Finding 4: Sony DPD Secondary Enum List Memory Leak (CWE-401) — LOW | ||
| 10 | |||
| 11 | File: ptp-pack.c:884-885 | ||
| 12 | |||
| 13 | When processing a secondary enumeration list (2024+ Sony cameras), line | ||
| 14 | 884–885 overwrites dpd->FORM.Enum.SupportedValue with a new calloc() | ||
| 15 | without freeing the previous allocation from line 857. The original | ||
| 16 | array and any string values it contains are leaked. | ||
| 17 | |||
| 18 | CVE-2026-40336 | ||
| 19 | |||
| 20 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 21 | |||
| 22 | CVE: CVE-2026-40336 | ||
| 23 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/404ff02c75f3cb280196fc260a63c4d26cf1a8f6] | ||
| 24 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 25 | --- | ||
| 26 | camlibs/ptp2/ptp-pack.c | 5 +++++ | ||
| 27 | 1 file changed, 5 insertions(+) | ||
| 28 | |||
| 29 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 30 | index 7fc120d..fc51d77 100644 | ||
| 31 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 32 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 33 | @@ -879,6 +879,11 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp | ||
| 34 | /* check if we have a secondary list of items, this is for newer Sonys (2024) */ | ||
| 35 | if (val < 0x200) { /* if a secondary list is not provided, this will be the next property code - 0x5XXX or 0xDxxx */ | ||
| 36 | if (dpd->FormFlag == PTP_DPFF_Enumeration) { | ||
| 37 | + /* free old enum variables */ | ||
| 38 | + for (i=0;i<dpd->FORM.Enum.NumberOfValues;i++) | ||
| 39 | + ptp_free_propvalue (dpd->DataType, dpd->FORM.Enum.SupportedValue+i); | ||
| 40 | + free (dpd->FORM.Enum.SupportedValue); | ||
| 41 | + | ||
| 42 | N = dtoh16o(data, *poffset); | ||
| 43 | dpd->FORM.Enum.SupportedValue = calloc(N,sizeof(dpd->FORM.Enum.SupportedValue[0])); | ||
| 44 | 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 0000000000..9f233f2ec9 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From 43cc20e807cd2935869617a7d8b9488070712c0e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Sat, 11 Apr 2026 10:47:52 +0200 | ||
| 4 | Subject: [PATCH] =?UTF-8?q?Fixed=20Sony=20DPD=20Enum=20Count=20OOB=20Read?= | ||
| 5 | =?UTF-8?q?=20(CWE-125)=20=E2=80=94=20MEDIUM?= | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | 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. | ||
| 11 | |||
| 12 | CVE-2026-40338 | ||
| 13 | |||
| 14 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 15 | |||
| 16 | CVE: CVE-2026-40338 | ||
| 17 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/3b9f9696be76ae51dca983d9dd8ce586a2561845] | ||
| 18 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 19 | --- | ||
| 20 | camlibs/ptp2/ptp-pack.c | 1 + | ||
| 21 | 1 file changed, 1 insertion(+) | ||
| 22 | |||
| 23 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 24 | index fc51d77..f90d2a5 100644 | ||
| 25 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 26 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 27 | @@ -851,6 +851,7 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp | ||
| 28 | break; | ||
| 29 | case PTP_DPFF_Enumeration: { | ||
| 30 | #define N dpd->FORM.Enum.NumberOfValues | ||
| 31 | + if (*poffset + sizeof(uint16_t) > dpdlen) goto outofmemory; | ||
| 32 | N = dtoh16o(data, *poffset); | ||
| 33 | dpd->FORM.Enum.SupportedValue = calloc(N,sizeof(dpd->FORM.Enum.SupportedValue[0])); | ||
| 34 | 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 0000000000..b00ac72772 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | From 585e8113b541469347d09c341c2e8b468b431adb Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Sat, 11 Apr 2026 10:50:47 +0200 | ||
| 4 | Subject: [PATCH] =?UTF-8?q?Fixed=20Sony=20DPD=20FormFlag=20OOB=20Read=20(C?= | ||
| 5 | =?UTF-8?q?WE-125)=20=E2=80=94=20MEDIUM?= | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | ptp_unpack_Sony_DPD() reads the FormFlag byte via dtoh8o(data, *poffset) | ||
| 11 | without a prior bounds check. The standard ptp_unpack_DPD() at line | ||
| 12 | 686–687 correctly validates *offset + sizeof(uint8_t) > dpdlen before | ||
| 13 | this same read, but the Sony variant omits this check. | ||
| 14 | |||
| 15 | CVE-2026-40339 | ||
| 16 | |||
| 17 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 18 | |||
| 19 | CVE: CVE-2026-40339 | ||
| 20 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/09f8a940b1e418b5693f5c11e3016a1ad2cea62d] | ||
| 21 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 22 | --- | ||
| 23 | camlibs/ptp2/ptp-pack.c | 3 ++- | ||
| 24 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 27 | index f90d2a5..28648a5 100644 | ||
| 28 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 29 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 30 | @@ -833,9 +833,10 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp | ||
| 31 | code or the Data Type is a string (with two empty strings as | ||
| 32 | values). In both cases Form Flag should be set to 0x00 and FORM is | ||
| 33 | not present. */ | ||
| 34 | - | ||
| 35 | if (*poffset==PTP_dpd_Sony_DefaultValue) | ||
| 36 | return 1; | ||
| 37 | + if (*poffset + sizeof(uint8_t) > dpdlen) | ||
| 38 | + return 1; | ||
| 39 | |||
| 40 | dpd->FormFlag = dtoh8o(data, *poffset); | ||
| 41 | 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 0000000000..a0852692b0 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | From fd9f234df894caec6c65144b5a4f0264aadf0989 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 16:01:48 +0200 | ||
| 4 | Subject: [PATCH] Fixed ObjectInfo Parser OOB Read | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | ptp_unpack_OI() validates len < PTP_oi_SequenceNumber (i.e., len < 48) but then accesses: | ||
| 10 | |||
| 11 | Offsets 48–51: dtoh32a(data + PTP_oi_SequenceNumber) at line 563 (4 bytes OOB) | ||
| 12 | Offset 52: data[PTP_oi_filenamelen] at line 547 (5 bytes OOB) | ||
| 13 | Offset 56: data[PTP_oi_filenamelen+4] at line 547 (9 bytes OOB) | ||
| 14 | |||
| 15 | The Samsung Galaxy 64-bit objectsize detection heuristic reads up to 9 bytes beyond the validated boundary. | ||
| 16 | |||
| 17 | CVE-2026-40340 | ||
| 18 | |||
| 19 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 20 | |||
| 21 | CVE: CVE-2026-40340 | ||
| 22 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/7c7f515bc88c3d0c4098ac965d313518e0ccbe33] | ||
| 23 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 24 | --- | ||
| 25 | camlibs/ptp2/ptp-pack.c | 2 +- | ||
| 26 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 27 | |||
| 28 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 29 | index 28648a5..9eba06f 100644 | ||
| 30 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 31 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 32 | @@ -526,7 +526,7 @@ ptp_unpack_OI (PTPParams *params, const unsigned char* data, PTPObjectInfo *oi, | ||
| 33 | { | ||
| 34 | char *capture_date; | ||
| 35 | |||
| 36 | - if (!data || len < PTP_oi_SequenceNumber) | ||
| 37 | + if (!data || len < PTP_oi_filenamelen + 5) | ||
| 38 | return; | ||
| 39 | |||
| 40 | 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 0000000000..b71792c185 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | From 3674dbeafa5157a264ca5e562ffdbef159a2185f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:28:52 +0200 | ||
| 4 | Subject: [PATCH] Fixed OOB read in ptp_unpack_EOS_FocusInfoEx | ||
| 5 | |||
| 6 | Do not read out values before checking there is sufficient size | ||
| 7 | |||
| 8 | CVE-2026-40341 | ||
| 9 | |||
| 10 | CVE: CVE-2026-40341 | ||
| 11 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/c385b34af260595dfbb5f9329526be5158985987] | ||
| 12 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 13 | --- | ||
| 14 | camlibs/ptp2/ptp-pack.c | 34 +++++++++++++++++++++++++--------- | ||
| 15 | 1 file changed, 25 insertions(+), 9 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 18 | index 9eba06f..11428ab 100644 | ||
| 19 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 20 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 21 | @@ -1629,23 +1629,39 @@ ptp_pack_EOS_ImageFormat (PTPParams* params, unsigned char* data, uint16_t value | ||
| 22 | static inline char* | ||
| 23 | ptp_unpack_EOS_FocusInfoEx (PTPParams* params, const unsigned char** data, uint32_t datasize) | ||
| 24 | { | ||
| 25 | - uint32_t size = dtoh32a( *data ); | ||
| 26 | - uint32_t halfsize = dtoh16a( (*data) + 4); | ||
| 27 | - uint32_t version = dtoh16a( (*data) + 6); | ||
| 28 | - uint32_t focus_points_in_struct = dtoh16a( (*data) + 8); | ||
| 29 | - uint32_t focus_points_in_use = dtoh16a( (*data) + 10); | ||
| 30 | - uint32_t sizeX = dtoh16a( (*data) + 12); | ||
| 31 | - uint32_t sizeY = dtoh16a( (*data) + 14); | ||
| 32 | - uint32_t size2X = dtoh16a( (*data) + 16); | ||
| 33 | - uint32_t size2Y = dtoh16a( (*data) + 18); | ||
| 34 | + uint32_t size; | ||
| 35 | + uint32_t halfsize; | ||
| 36 | + uint32_t version; | ||
| 37 | + uint32_t focus_points_in_struct; | ||
| 38 | + uint32_t focus_points_in_use; | ||
| 39 | + uint32_t sizeX; | ||
| 40 | + uint32_t sizeY; | ||
| 41 | + uint32_t size2X; | ||
| 42 | + uint32_t size2Y; | ||
| 43 | uint32_t i; | ||
| 44 | uint32_t maxlen; | ||
| 45 | char *str, *p; | ||
| 46 | |||
| 47 | + if (datasize<4) { | ||
| 48 | + ptp_error(params, "FocusInfoEx has invalid size (%d)", datasize); | ||
| 49 | + return strdup("bad size 0"); | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + size = dtoh32a( *data ); | ||
| 53 | if ((size > datasize) || (size < 20)) { | ||
| 54 | ptp_error(params, "FocusInfoEx has invalid size (%d) vs datasize (%d)", size, datasize); | ||
| 55 | return strdup("bad size 1"); | ||
| 56 | } | ||
| 57 | + | ||
| 58 | + halfsize = dtoh16a( (*data) + 4); | ||
| 59 | + version = dtoh16a( (*data) + 6); | ||
| 60 | + focus_points_in_struct = dtoh16a( (*data) + 8); | ||
| 61 | + focus_points_in_use = dtoh16a( (*data) + 10); | ||
| 62 | + sizeX = dtoh16a( (*data) + 12); | ||
| 63 | + sizeY = dtoh16a( (*data) + 14); | ||
| 64 | + size2X = dtoh16a( (*data) + 16); | ||
| 65 | + size2Y = dtoh16a( (*data) + 18); | ||
| 66 | + | ||
| 67 | /* If data is zero-filled, then it is just a placeholder, so nothing | ||
| 68 | useful, but also not an error */ | ||
| 69 | 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 6b5e6c21b9..04c4786f84 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" | |||
| 12 | SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.xz;name=libgphoto2 \ | 12 | SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.xz;name=libgphoto2 \ |
| 13 | file://40-libgphoto2.rules \ | 13 | file://40-libgphoto2.rules \ |
| 14 | file://0001-configure-Filter-out-buildpaths-from-CC.patch \ | 14 | file://0001-configure-Filter-out-buildpaths-from-CC.patch \ |
| 15 | " | 15 | file://0001-libgphoto2-fix-const-correctness-for-c23-builds.patch \ |
| 16 | file://CVE-2026-40333.patch \ | ||
| 17 | file://CVE-2026-40334.patch \ | ||
| 18 | file://CVE-2026-40335.patch \ | ||
| 19 | file://CVE-2026-40336.patch \ | ||
| 20 | file://CVE-2026-40338.patch \ | ||
| 21 | file://CVE-2026-40339.patch \ | ||
| 22 | file://CVE-2026-40340.patch \ | ||
| 23 | file://CVE-2026-40341.patch \ | ||
| 24 | " | ||
| 16 | SRC_URI[libgphoto2.sha256sum] = "28825f767a85544cb58f6e15028f8e53a5bb37a62148b3f1708b524781c3bef2" | 25 | SRC_URI[libgphoto2.sha256sum] = "28825f767a85544cb58f6e15028f8e53a5bb37a62148b3f1708b524781c3bef2" |
| 17 | 26 | ||
| 18 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gphoto/files/libgphoto/" | 27 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gphoto/files/libgphoto/" |
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.4.bb b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb index a5f08d0c85..388de9b452 100644 --- a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.4.bb +++ b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb | |||
| @@ -23,7 +23,7 @@ SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-re | |||
| 23 | SRC_URI:append:class-nativesdk = "\ | 23 | SRC_URI:append:class-nativesdk = "\ |
| 24 | file://graphviz-setup.sh \ | 24 | file://graphviz-setup.sh \ |
| 25 | " | 25 | " |
| 26 | SRC_URI[sha256sum] = "043877c0857d8d46067cd2f18809d54fc876c399f0ecd438f60ea7f4d8037451" | 26 | SRC_URI[sha256sum] = "b017378835f7ca12f1a3f1db5c338d7e7af16b284b7007ad73ccec960c1b45b3" |
| 27 | 27 | ||
| 28 | UPSTREAM_CHECK_URI = "https://graphviz.org/download/" | 28 | UPSTREAM_CHECK_URI = "https://graphviz.org/download/" |
| 29 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" | 29 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" |
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 0000000000..8eaaee4492 --- /dev/null +++ b/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | SUMMARY = "A library for complex text layout" | ||
| 2 | DESCRIPTION = "\ | ||
| 3 | Raqm is a small library that encapsulates the logic for complex text \ | ||
| 4 | layout and provides a convenient API. It currently provides bidirectional \ | ||
| 5 | text support (using FriBiDi or SheenBidi), shaping (using HarfBuzz), and \ | ||
| 6 | proper script itemization. As a result, Raqm can support most writing \ | ||
| 7 | systems covered by Unicode. \ | ||
| 8 | " | ||
| 9 | HOMEPAGE = "https://github.com/HOST-Oman/libraqm" | ||
| 10 | BUGTRACKER = "https://github.com/HOST-Oman/libraqm/issues" | ||
| 11 | SECTION = "graphics" | ||
| 12 | |||
| 13 | LICENSE = "MIT" | ||
| 14 | LIC_FILES_CHKSUM = "file://COPYING;md5=7dc444a99e2824eac906383266fe4fa6" | ||
| 15 | |||
| 16 | SRC_URI = "git://github.com/HOST-Oman/libraqm.git;protocol=https;branch=main;tag=v${PV}" | ||
| 17 | SRCREV = "3a6b891a3db0e0db1364aa38088422f68d8d81e6" | ||
| 18 | |||
| 19 | DEPENDS = "freetype fribidi harfbuzz" | ||
| 20 | |||
| 21 | inherit meson pkgconfig | ||
| 22 | |||
| 23 | PACKAGECONFIG ?= "" | ||
| 24 | |||
| 25 | PACKAGECONFIG[sheenbidi] = "-Dsheenbidi=true,-Dsheenbidi=false,sheenbidi" | ||
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb index c15e986dc3..27ddc35381 100644 --- a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb +++ b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb | |||
| @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbb0010b2f7cf6e8a13bcac1ef4d2455" | |||
| 7 | DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" | 7 | DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" |
| 8 | 8 | ||
| 9 | SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" | 9 | SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" |
| 10 | SRC_URI[sha256sum] = "2213b56fdaff2220d0e38c8e420cbe1a83c87374190cba8c70af2156097ce30a" | 10 | SRC_URI[sha256sum] = "ebc059d01c007a62f4b04f10cf858527c875062532296943174df9a80264fd65" |
| 11 | 11 | ||
| 12 | S = "${UNPACKDIR}/SDL2_image-${PV}" | 12 | S = "${UNPACKDIR}/SDL2_image-${PV}" |
| 13 | 13 | ||
diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.0.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb index 324332eb84..0f7ce92efd 100644 --- a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.0.bb +++ b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb | |||
| @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=df8f4d887d3997f6e9cf81bb7f43dbf7" | |||
| 6 | 6 | ||
| 7 | DEPENDS = "tiff zlib libpng jpeg libsdl3 libwebp libjxl" | 7 | DEPENDS = "tiff zlib libpng jpeg libsdl3 libwebp libjxl" |
| 8 | 8 | ||
| 9 | SRC_URI = "git://github.com/libsdl-org/SDL_image.git;protocol=https;branch=release-3.4.x" | 9 | SRC_URI = "git://github.com/libsdl-org/SDL_image.git;protocol=https;branch=release-3.4.x;tag=release-${PV}" |
| 10 | SRCREV = "ad58ecfc27a1bd09e510ceff8bbbdb1094806476" | 10 | SRCREV = "96a73a551a857b7c8d0ca3cc553a266eabbab6a7" |
| 11 | 11 | ||
| 12 | EXTRA_OECMAKE += "-DSDLIMAGE_JXL=ON" | 12 | EXTRA_OECMAKE += "-DSDLIMAGE_JXL=ON" |
| 13 | 13 | ||
diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.2.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb index d6501f855c..0159021280 100644 --- a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.2.bb +++ b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb | |||
| @@ -18,7 +18,7 @@ SRC_URI = "http://www.libsdl.org/release/SDL3-${PV}.tar.gz" | |||
| 18 | 18 | ||
| 19 | S = "${UNPACKDIR}/SDL3-${PV}" | 19 | S = "${UNPACKDIR}/SDL3-${PV}" |
| 20 | 20 | ||
| 21 | SRC_URI[sha256sum] = "ef39a2e3f9a8a78296c40da701967dd1b0d0d6e267e483863ce70f8a03b4050c" | 21 | SRC_URI[sha256sum] = "ee712dbe6a89bb140bbfc2ce72358fb5ee5cc2240abeabd54855012db30b3864" |
| 22 | 22 | ||
| 23 | inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even | 23 | inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even |
| 24 | 24 | ||
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 0000000000..49be9bd0a6 --- /dev/null +++ b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | From 776b00ff792a3c54b65f3bd92dbe7476a5a54106 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Even Rouault <even.rouault@spatialys.com> | ||
| 3 | Date: Sun, 5 Apr 2026 13:25:27 +0200 | ||
| 4 | Subject: [PATCH] opj_pi_initialise_encode() (write code path): avoid potential | ||
| 5 | integer overflow leading to insufficient memory allocation | ||
| 6 | |||
| 7 | Fixes #1619 | ||
| 8 | |||
| 9 | CVE: CVE-2026-6192 | ||
| 10 | Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/commit/839936aa33eb8899bbbd80fda02796bb65068951] | ||
| 11 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 12 | --- | ||
| 13 | src/lib/openjp2/pi.c | 9 ++++++--- | ||
| 14 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/lib/openjp2/pi.c b/src/lib/openjp2/pi.c | ||
| 17 | index 15ac3314..4abb87af 100644 | ||
| 18 | --- a/src/lib/openjp2/pi.c | ||
| 19 | +++ b/src/lib/openjp2/pi.c | ||
| 20 | @@ -1694,9 +1694,12 @@ opj_pi_iterator_t *opj_pi_initialise_encode(const opj_image_t *p_image, | ||
| 21 | l_current_pi = l_pi; | ||
| 22 | |||
| 23 | /* memory allocation for include*/ | ||
| 24 | - l_current_pi->include_size = l_tcp->numlayers * l_step_l; | ||
| 25 | - l_current_pi->include = (OPJ_INT16*) opj_calloc(l_current_pi->include_size, | ||
| 26 | - sizeof(OPJ_INT16)); | ||
| 27 | + l_current_pi->include = NULL; | ||
| 28 | + if (l_step_l <= UINT_MAX / l_tcp->numlayers) { | ||
| 29 | + l_current_pi->include_size = l_tcp->numlayers * l_step_l; | ||
| 30 | + l_current_pi->include = (OPJ_INT16*) opj_calloc(l_current_pi->include_size, | ||
| 31 | + sizeof(OPJ_INT16)); | ||
| 32 | + } | ||
| 33 | if (!l_current_pi->include) { | ||
| 34 | opj_free(l_tmp_data); | ||
| 35 | 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 33dc48b2ea..968b7a0a5c 100644 --- a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb +++ b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb | |||
| @@ -8,6 +8,7 @@ DEPENDS = "libpng tiff lcms zlib" | |||
| 8 | SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \ | 8 | SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \ |
| 9 | file://0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \ | 9 | file://0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \ |
| 10 | file://CVE-2023-39327.patch \ | 10 | file://CVE-2023-39327.patch \ |
| 11 | file://CVE-2026-6192.patch \ | ||
| 11 | " | 12 | " |
| 12 | SRCREV = "6c4a29b00211eb0430fa0e5e890f1ce5c80f409f" | 13 | SRCREV = "6c4a29b00211eb0430fa0e5e890f1ce5c80f409f" |
| 13 | 14 | ||
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_407.bb b/meta-oe/recipes-graphics/xorg-app/xterm_408.bb index 4aecd77f98..0f76bc1209 100644 --- a/meta-oe/recipes-graphics/xorg-app/xterm_407.bb +++ b/meta-oe/recipes-graphics/xorg-app/xterm_408.bb | |||
| @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=413ff95100710d7a81 | |||
| 7 | SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ | 7 | SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ |
| 8 | file://0001-include-missing-pty.h-header-for-openpty.patch \ | 8 | file://0001-include-missing-pty.h-header-for-openpty.patch \ |
| 9 | " | 9 | " |
| 10 | SRC_URI[sha256sum] = "2136eba530068a1b7565abbf17823274f5cefb7fe3618355cbc89dc55c8b7b6a" | 10 | SRC_URI[sha256sum] = "27dc9e770885f98fbd0b5b40bcda959dc11ec9ba21f0a33b12aafffcc7f9b813" |
| 11 | 11 | ||
| 12 | PACKAGECONFIG ?= "" | 12 | PACKAGECONFIG ?= "" |
| 13 | PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" | 13 | PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" |
diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb index 430b5974b3..5c001696d0 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}" | |||
| 12 | SRC_URI:append:libc-musl = "\ | 12 | SRC_URI:append:libc-musl = "\ |
| 13 | file://userfaultfd.patch \ | 13 | file://userfaultfd.patch \ |
| 14 | " | 14 | " |
| 15 | |||
| 16 | # Fix liburing detection (from Linux v7.0) | ||
| 17 | MM_PATCH = "file://0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch" | ||
| 18 | |||
| 15 | SRC_URI += "file://run-ptest \ | 19 | SRC_URI += "file://run-ptest \ |
| 16 | file://COPYING \ | 20 | file://COPYING \ |
| 17 | file://0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch \ | 21 | file://0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch \ |
| 22 | ${@bb.utils.contains('PACKAGECONFIG', 'mm', '${MM_PATCH}', '', d)} \ | ||
| 18 | " | 23 | " |
| 19 | 24 | ||
| 20 | # now we just test bpf and vm | 25 | # now we just test bpf and mm (formerly known as vm) |
| 21 | # we will append other kernel selftest in the future | 26 | # we will append other kernel selftest in the future |
| 22 | # bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d | 27 | # bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d |
| 23 | # if you have older kernel than that you need to remove it from PACKAGECONFIG | 28 | # if you have older kernel than that you need to remove it from PACKAGECONFIG |
| @@ -25,20 +30,17 @@ PACKAGECONFIG ??= "firmware" | |||
| 25 | # bpf needs working clang compiler anyway | 30 | # bpf needs working clang compiler anyway |
| 26 | PACKAGECONFIG:append:toolchain-clang:x86-64 = " bpf" | 31 | PACKAGECONFIG:append:toolchain-clang:x86-64 = " bpf" |
| 27 | PACKAGECONFIG:remove:x86 = "bpf" | 32 | PACKAGECONFIG:remove:x86 = "bpf" |
| 28 | PACKAGECONFIG:remove:arm = "bpf vm" | 33 | PACKAGECONFIG:remove:arm = "bpf mm" |
| 29 | # host ptrace.h is used to compile BPF target but mips ptrace.h is needed | 34 | # host ptrace.h is used to compile BPF target but mips ptrace.h is needed |
| 30 | # progs/loop1.c:21:9: error: incomplete definition of type 'struct user_pt_regs' | 35 | # progs/loop1.c:21:9: error: incomplete definition of type 'struct user_pt_regs' |
| 31 | # m = PT_REGS_RC(ctx); | 36 | # m = PT_REGS_RC(ctx); |
| 32 | # vm tests need libhugetlbfs starting 5.8+ (https://lkml.org/lkml/2020/4/22/1654) | 37 | PACKAGECONFIG:remove:qemumips = "bpf" |
| 33 | PACKAGECONFIG:remove:qemumips = "bpf vm" | 38 | PACKAGECONFIG:remove:riscv64 = "bpf" |
| 34 | 39 | PACKAGECONFIG:remove:riscv32 = "bpf" | |
| 35 | # riscv does not support libhugetlbfs yet | ||
| 36 | PACKAGECONFIG:remove:riscv64 = "bpf vm" | ||
| 37 | PACKAGECONFIG:remove:riscv32 = "bpf vm" | ||
| 38 | 40 | ||
| 39 | PACKAGECONFIG[bpf] = ",,elfutils elfutils-native libcap libcap-ng rsync-native python3-docutils-native," | 41 | PACKAGECONFIG[bpf] = ",,elfutils elfutils-native libcap libcap-ng rsync-native python3-docutils-native," |
| 40 | PACKAGECONFIG[firmware] = ",,libcap, bash" | 42 | PACKAGECONFIG[firmware] = ",,libcap, bash" |
| 41 | PACKAGECONFIG[vm] = ",,libcap libhugetlbfs,libgcc bash" | 43 | PACKAGECONFIG[mm] = ",,libcap liburing numactl, libgcc bash" |
| 42 | 44 | ||
| 43 | do_patch[depends] += "virtual/kernel:do_shared_workdir" | 45 | do_patch[depends] += "virtual/kernel:do_shared_workdir" |
| 44 | do_compile[depends] += "virtual/kernel:do_install" | 46 | do_compile[depends] += "virtual/kernel:do_install" |
| @@ -48,7 +50,7 @@ inherit linux-kernel-base module-base kernel-arch ptest siteinfo | |||
| 48 | DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" | 50 | DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" |
| 49 | 51 | ||
| 50 | TEST_LIST = "\ | 52 | TEST_LIST = "\ |
| 51 | ${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware vm', d)} \ | 53 | ${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware mm', d)} \ |
| 52 | cpufreq \ | 54 | cpufreq \ |
| 53 | cpu-hotplug \ | 55 | cpu-hotplug \ |
| 54 | rtc \ | 56 | rtc \ |
| @@ -78,6 +80,7 @@ KERNEL_SELFTEST_SRC ?= "Makefile \ | |||
| 78 | tools \ | 80 | tools \ |
| 79 | scripts \ | 81 | scripts \ |
| 80 | arch \ | 82 | arch \ |
| 83 | ${@bb.utils.filter('PACKAGECONFIG', 'mm', d)} \ | ||
| 81 | LICENSES \ | 84 | LICENSES \ |
| 82 | " | 85 | " |
| 83 | do_compile() { | 86 | 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 0000000000..a115d56dd1 --- /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 @@ | |||
| 1 | From 8f9e6395f1f8121b577eeb4cb54f671a9088bddd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Kevin Brodsky <kevin.brodsky@arm.com> | ||
| 3 | Date: Thu, 22 Jan 2026 17:02:18 +0000 | ||
| 4 | Subject: [PATCH] selftests/mm: pass down full CC and CFLAGS to check_config.sh | ||
| 5 | |||
| 6 | check_config.sh checks that liburing is available by running the compiler | ||
| 7 | provided as its first argument. This makes two assumptions: | ||
| 8 | |||
| 9 | 1. CC consists of only one word | ||
| 10 | 2. No extra flag is required | ||
| 11 | |||
| 12 | Unfortunately, there are many situations where these assumptions don't | ||
| 13 | hold. For instance: | ||
| 14 | |||
| 15 | - When using Clang, CC consists of multiple words | ||
| 16 | - When cross-compiling, extra flags may be required to allow the | ||
| 17 | compiler to find headers | ||
| 18 | |||
| 19 | Remove these assumptions by passing down CC and CFLAGS as-is from the | ||
| 20 | Makefile, so that the same command line is used as when actually building | ||
| 21 | the tests. | ||
| 22 | |||
| 23 | Link: https://lkml.kernel.org/r/20260122170224.4056513-4-kevin.brodsky@arm.com | ||
| 24 | Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com> | ||
| 25 | Reviewed-by: Mark Brown <broonie@kernel.org> | ||
| 26 | Acked-by: David Hildenbrand (Red Hat) <david@kernel.org> | ||
| 27 | Cc: Jason Gunthorpe <jgg@nvidia.com> | ||
| 28 | Cc: John Hubbard <jhubbard@nvidia.com> | ||
| 29 | Cc: Dev Jain <dev.jain@arm.com> | ||
| 30 | Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> | ||
| 31 | Cc: Paolo Abeni <pabeni@redhat.com> | ||
| 32 | Cc: Ryan Roberts <ryan.roberts@arm.com> | ||
| 33 | Cc: SeongJae Park <sj@kernel.org> | ||
| 34 | Cc: Shuah Khan <shuah@kernel.org> | ||
| 35 | Cc: Usama Anjum <Usama.Anjum@arm.com> | ||
| 36 | Cc: wang lian <lianux.mm@gmail.com> | ||
| 37 | Cc: Yunsheng Lin <linyunsheng@huawei.com> | ||
| 38 | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||
| 39 | |||
| 40 | Upstream-Status: Backport [from commit 7f532d19c8be7, in tag v7.0] | ||
| 41 | |||
| 42 | --- | ||
| 43 | tools/testing/selftests/mm/Makefile | 2 +- | ||
| 44 | tools/testing/selftests/mm/check_config.sh | 3 +-- | ||
| 45 | 2 files changed, 2 insertions(+), 3 deletions(-) | ||
| 46 | |||
| 47 | diff --git a/tools/testing/selftests/mm/Makefile b/tools/testing/selftests/mm/Makefile | ||
| 48 | index ae6f994d3add..fc9b9ec367c3 100644 | ||
| 49 | --- a/tools/testing/selftests/mm/Makefile | ||
| 50 | +++ b/tools/testing/selftests/mm/Makefile | ||
| 51 | @@ -228,7 +228,7 @@ $(OUTPUT)/ksm_tests: LDLIBS += -lnuma | ||
| 52 | $(OUTPUT)/migration: LDLIBS += -lnuma | ||
| 53 | |||
| 54 | local_config.mk local_config.h: check_config.sh | ||
| 55 | - /bin/sh ./check_config.sh $(CC) | ||
| 56 | + CC="$(CC)" CFLAGS="$(CFLAGS)" ./check_config.sh | ||
| 57 | |||
| 58 | EXTRA_CLEAN += local_config.mk local_config.h | ||
| 59 | |||
| 60 | diff --git a/tools/testing/selftests/mm/check_config.sh b/tools/testing/selftests/mm/check_config.sh | ||
| 61 | index 3954f4746161..b84c82bbf875 100755 | ||
| 62 | --- a/tools/testing/selftests/mm/check_config.sh | ||
| 63 | +++ b/tools/testing/selftests/mm/check_config.sh | ||
| 64 | @@ -16,8 +16,7 @@ echo "#include <sys/types.h>" > $tmpfile_c | ||
| 65 | echo "#include <liburing.h>" >> $tmpfile_c | ||
| 66 | echo "int func(void) { return 0; }" >> $tmpfile_c | ||
| 67 | |||
| 68 | -CC=${1:?"Usage: $0 <compiler> # example compiler: gcc"} | ||
| 69 | -$CC -c $tmpfile_c -o $tmpfile_o >/dev/null 2>&1 | ||
| 70 | +$CC $CFLAGS -c $tmpfile_c -o $tmpfile_o | ||
| 71 | |||
| 72 | if [ -f $tmpfile_o ]; then | ||
| 73 | echo "#define LOCAL_CONFIG_HAVE_LIBURING 1" > $OUTPUT_H_FILE | ||
| 74 | -- | ||
| 75 | 2.47.0 | ||
| 76 | |||
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 6ebb54e261..c837dad87c 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 | |||
| 30 | 30 | ||
| 31 | inherit autotools lib_package pkgconfig ptest | 31 | inherit autotools lib_package pkgconfig ptest |
| 32 | 32 | ||
| 33 | CXXFLAGS += "-std=c++14" | 33 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" |
| 34 | 34 | ||
| 35 | DEPENDS = " \ | 35 | DEPENDS = " \ |
| 36 | asciidoc-native \ | 36 | asciidoc-native \ |
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 9090cabb12..463e9a3dd7 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" | |||
| 3 | LICENSE = "GPL-2.0-or-later" | 3 | LICENSE = "GPL-2.0-or-later" |
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" |
| 5 | 5 | ||
| 6 | SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" | 6 | SRC_URI = "https://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" |
| 7 | SRC_URI[sha256sum] = "ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369" | 7 | SRC_URI[sha256sum] = "ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369" |
| 8 | 8 | ||
| 9 | inherit autotools lib_package binconfig pkgconfig | 9 | inherit autotools lib_package binconfig pkgconfig |
diff --git a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb index 9e54f49dcb..b6b9a068a9 100644 --- a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb +++ b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb | |||
| @@ -9,7 +9,6 @@ DEPENDS = "gtkmm4 pulseaudio json-glib" | |||
| 9 | inherit meson features_check pkgconfig gettext | 9 | inherit meson features_check pkgconfig gettext |
| 10 | 10 | ||
| 11 | ANY_OF_DISTRO_FEATURES = "opengl vulkan" | 11 | ANY_OF_DISTRO_FEATURES = "opengl vulkan" |
| 12 | REQUIRED_DISTRO_FEATURES = "x11" | ||
| 13 | 12 | ||
| 14 | SRC_URI = "http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz" | 13 | SRC_URI = "http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz" |
| 15 | SRC_URI[sha256sum] = "e93a7836c7307dcbc989e95fc7ec0878322514c475fabd90e89ed52fd4f15d32" | 14 | SRC_URI[sha256sum] = "e93a7836c7307dcbc989e95fc7ec0878322514c475fabd90e89ed52fd4f15d32" |
diff --git a/meta-oe/recipes-navigation/geoclue/geoclue_2.8.0.bb b/meta-oe/recipes-navigation/geoclue/geoclue_2.8.1.bb index 54c938c908..4769ed033a 100644 --- a/meta-oe/recipes-navigation/geoclue/geoclue_2.8.0.bb +++ b/meta-oe/recipes-navigation/geoclue/geoclue_2.8.1.bb | |||
| @@ -12,8 +12,8 @@ DEPENDS = "glib-2.0 dbus json-glib libsoup-3.0 intltool-native" | |||
| 12 | 12 | ||
| 13 | inherit meson pkgconfig gtk-doc gobject-introspection vala | 13 | inherit meson pkgconfig gtk-doc gobject-introspection vala |
| 14 | 14 | ||
| 15 | SRCREV = "f59a42a9fbbcfcb341708e5efd6edfe72a9da768" | 15 | SRCREV = "81ddcb11208a59328a04bf022542504ac80602f5" |
| 16 | SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;branch=master \ | 16 | SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;branch=master;tag=${PV} \ |
| 17 | file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \ | 17 | file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \ |
| 18 | " | 18 | " |
| 19 | 19 | ||
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 0000000000..d8efc9b5d7 --- /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 @@ | |||
| 1 | From 80bc0c1bfff769728d18ac5d9e22755e60fc23d8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 10 Apr 2026 13:08:52 -0700 | ||
| 4 | Subject: [PATCH] style: convert K&R function definitions to ANSI C style in | ||
| 5 | md5.c | ||
| 6 | |||
| 7 | Replace old-style K&R function parameter declarations with modern ANSI | ||
| 8 | C prototypes across all functions in lib/md5.c. Also strip trailing | ||
| 9 | whitespace throughout the file. No functional changes. | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [md5 does not exist in master branch] | ||
| 12 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 13 | --- | ||
| 14 | lib/md5.c | 231 +++++++++++++++++++++++++----------------------- | ||
| 15 | saslauthd/md5.c | 77 +++++++++------- | ||
| 16 | 2 files changed, 163 insertions(+), 145 deletions(-) | ||
| 17 | |||
| 18 | --- a/saslauthd/md5.c | ||
| 19 | +++ b/saslauthd/md5.c | ||
| 20 | @@ -98,8 +98,9 @@ Rotation is separate from addition to pr | ||
| 21 | /* MD5 initialization. Begins an MD5 operation, writing a new context. | ||
| 22 | */ | ||
| 23 | |||
| 24 | -void _saslauthd_MD5Init (context) | ||
| 25 | -MD5_CTX *context; /* context */ | ||
| 26 | +void _saslauthd_MD5Init ( | ||
| 27 | +MD5_CTX *context /* context */ | ||
| 28 | +) | ||
| 29 | { | ||
| 30 | context->count[0] = context->count[1] = 0; | ||
| 31 | |||
| 32 | @@ -114,10 +115,11 @@ MD5_CTX *context; /* context */ | ||
| 33 | operation, processing another message block, and updating the context. | ||
| 34 | */ | ||
| 35 | |||
| 36 | -void _saslauthd_MD5Update (context, input, inputLen) | ||
| 37 | -MD5_CTX *context; /* context */ | ||
| 38 | -unsigned char *input; /* input block */ | ||
| 39 | -unsigned int inputLen; /* length of input block */ | ||
| 40 | +void _saslauthd_MD5Update ( | ||
| 41 | +MD5_CTX *context, /* context */ | ||
| 42 | +unsigned char *input, /* input block */ | ||
| 43 | +unsigned int inputLen /* length of input block */ | ||
| 44 | +) | ||
| 45 | { | ||
| 46 | unsigned int i, index, partLen; | ||
| 47 | |||
| 48 | @@ -159,9 +161,10 @@ unsigned int inputLen; /* length of inpu | ||
| 49 | the message digest and zeroizing the context. | ||
| 50 | */ | ||
| 51 | |||
| 52 | -void _saslauthd_MD5Final (digest, context) | ||
| 53 | -unsigned char digest[16]; /* message digest */ | ||
| 54 | -MD5_CTX *context; /* context */ | ||
| 55 | +void _saslauthd_MD5Final ( | ||
| 56 | +unsigned char digest[16], /* message digest */ | ||
| 57 | +MD5_CTX *context /* context */ | ||
| 58 | +) | ||
| 59 | { | ||
| 60 | unsigned char bits[8]; | ||
| 61 | unsigned int index, padLen; | ||
| 62 | @@ -186,9 +189,10 @@ MD5_CTX *context; /* context */ | ||
| 63 | |||
| 64 | /* MD5 basic transformation. Transforms state based on block. */ | ||
| 65 | |||
| 66 | -static void MD5Transform (state, block) | ||
| 67 | -UINT4 state[4]; | ||
| 68 | -unsigned char block[64]; | ||
| 69 | +static void MD5Transform ( | ||
| 70 | +UINT4 state[4], | ||
| 71 | +unsigned char block[64] | ||
| 72 | +) | ||
| 73 | { | ||
| 74 | UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; | ||
| 75 | |||
| 76 | @@ -281,10 +285,11 @@ unsigned char block[64]; | ||
| 77 | |||
| 78 | */ | ||
| 79 | |||
| 80 | -static void Encode (output, input, len) | ||
| 81 | -unsigned char *output; | ||
| 82 | -UINT4 *input; | ||
| 83 | -unsigned int len; | ||
| 84 | +static void Encode ( | ||
| 85 | +unsigned char *output, | ||
| 86 | +UINT4 *input, | ||
| 87 | +unsigned int len | ||
| 88 | +) | ||
| 89 | { | ||
| 90 | unsigned int i, j; | ||
| 91 | |||
| 92 | @@ -301,10 +306,11 @@ unsigned int len; | ||
| 93 | |||
| 94 | */ | ||
| 95 | |||
| 96 | -static void Decode (output, input, len) | ||
| 97 | -UINT4 *output; | ||
| 98 | -unsigned char *input; | ||
| 99 | -unsigned int len; | ||
| 100 | +static void Decode ( | ||
| 101 | +UINT4 *output, | ||
| 102 | +unsigned char *input, | ||
| 103 | +unsigned int len | ||
| 104 | +) | ||
| 105 | { | ||
| 106 | unsigned int i, j; | ||
| 107 | |||
| 108 | @@ -317,10 +323,11 @@ unsigned int len; | ||
| 109 | |||
| 110 | */ | ||
| 111 | |||
| 112 | -static void MD5_memcpy (output, input, len) | ||
| 113 | -POINTER output; | ||
| 114 | -POINTER input; | ||
| 115 | -unsigned int len; | ||
| 116 | +static void MD5_memcpy ( | ||
| 117 | +POINTER output, | ||
| 118 | +POINTER input, | ||
| 119 | +unsigned int len | ||
| 120 | +) | ||
| 121 | { | ||
| 122 | unsigned int i; | ||
| 123 | |||
| 124 | @@ -331,10 +338,11 @@ unsigned int len; | ||
| 125 | /* Note: Replace "for loop" with standard memset if possible. | ||
| 126 | */ | ||
| 127 | |||
| 128 | -static void MD5_memset (output, value, len) | ||
| 129 | -POINTER output; | ||
| 130 | -int value; | ||
| 131 | -unsigned int len; | ||
| 132 | +static void MD5_memset ( | ||
| 133 | +POINTER output, | ||
| 134 | +int value, | ||
| 135 | +unsigned int len | ||
| 136 | +) | ||
| 137 | { | ||
| 138 | unsigned int i; | ||
| 139 | |||
| 140 | @@ -452,12 +460,13 @@ void _saslauthd_hmac_md5_final(unsigned | ||
| 141 | } | ||
| 142 | |||
| 143 | |||
| 144 | -void _saslauthd_hmac_md5(text, text_len, key, key_len, digest) | ||
| 145 | -const unsigned char* text; /* pointer to data stream */ | ||
| 146 | -int text_len; /* length of data stream */ | ||
| 147 | -const unsigned char* key; /* pointer to authentication key */ | ||
| 148 | -int key_len; /* length of authentication key */ | ||
| 149 | -unsigned char *digest; /* caller digest to be filled in */ | ||
| 150 | +void _saslauthd_hmac_md5( | ||
| 151 | +const unsigned char* text, /* pointer to data stream */ | ||
| 152 | +int text_len, /* length of data stream */ | ||
| 153 | +const unsigned char* key, /* pointer to authentication key */ | ||
| 154 | +int key_len, /* length of authentication key */ | ||
| 155 | +unsigned char *digest /* caller digest to be filled in */ | ||
| 156 | +) | ||
| 157 | { | ||
| 158 | MD5_CTX context; | ||
| 159 | |||
| 160 | --- a/lib/md5.c | ||
| 161 | +++ b/lib/md5.c | ||
| 162 | @@ -98,8 +98,9 @@ Rotation is separate from addition to pr | ||
| 163 | /* MD5 initialization. Begins an MD5 operation, writing a new context. | ||
| 164 | */ | ||
| 165 | |||
| 166 | -void _sasl_MD5Init (context) | ||
| 167 | -MD5_CTX *context; /* context */ | ||
| 168 | +void _sasl_MD5Init ( | ||
| 169 | +MD5_CTX *context /* context */ | ||
| 170 | +) | ||
| 171 | { | ||
| 172 | context->count[0] = context->count[1] = 0; | ||
| 173 | |||
| 174 | @@ -114,10 +115,11 @@ MD5_CTX *context; /* context */ | ||
| 175 | operation, processing another message block, and updating the context. | ||
| 176 | */ | ||
| 177 | |||
| 178 | -void _sasl_MD5Update (context, input, inputLen) | ||
| 179 | -MD5_CTX *context; /* context */ | ||
| 180 | -const unsigned char *input; /* input block */ | ||
| 181 | -unsigned int inputLen; /* length of input block */ | ||
| 182 | +void _sasl_MD5Update ( | ||
| 183 | +MD5_CTX *context, /* context */ | ||
| 184 | +const unsigned char *input, /* input block */ | ||
| 185 | +unsigned int inputLen /* length of input block */ | ||
| 186 | +) | ||
| 187 | { | ||
| 188 | unsigned int i, index, partLen; | ||
| 189 | |||
| 190 | @@ -159,9 +161,10 @@ unsigned int inputLen; /* length of inpu | ||
| 191 | the message digest and zeroizing the context. | ||
| 192 | */ | ||
| 193 | |||
| 194 | -void _sasl_MD5Final (digest, context) | ||
| 195 | -unsigned char digest[16]; /* message digest */ | ||
| 196 | -MD5_CTX *context; /* context */ | ||
| 197 | +void _sasl_MD5Final ( | ||
| 198 | +unsigned char digest[16], /* message digest */ | ||
| 199 | +MD5_CTX *context /* context */ | ||
| 200 | +) | ||
| 201 | { | ||
| 202 | unsigned char bits[8]; | ||
| 203 | unsigned int index, padLen; | ||
| 204 | @@ -186,9 +189,10 @@ MD5_CTX *context; /* context */ | ||
| 205 | |||
| 206 | /* MD5 basic transformation. Transforms state based on block. */ | ||
| 207 | |||
| 208 | -static void MD5Transform (state, block) | ||
| 209 | -UINT4 state[4]; | ||
| 210 | -const unsigned char block[64]; | ||
| 211 | +static void MD5Transform ( | ||
| 212 | +UINT4 state[4], | ||
| 213 | +const unsigned char block[64] | ||
| 214 | +) | ||
| 215 | { | ||
| 216 | UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; | ||
| 217 | |||
| 218 | @@ -281,10 +285,11 @@ const unsigned char block[64]; | ||
| 219 | |||
| 220 | */ | ||
| 221 | |||
| 222 | -static void Encode (output, input, len) | ||
| 223 | -unsigned char *output; | ||
| 224 | -UINT4 *input; | ||
| 225 | -unsigned int len; | ||
| 226 | +static void Encode ( | ||
| 227 | +unsigned char *output, | ||
| 228 | +UINT4 *input, | ||
| 229 | +unsigned int len | ||
| 230 | +) | ||
| 231 | { | ||
| 232 | unsigned int i, j; | ||
| 233 | |||
| 234 | @@ -301,10 +306,11 @@ unsigned int len; | ||
| 235 | |||
| 236 | */ | ||
| 237 | |||
| 238 | -static void Decode (output, input, len) | ||
| 239 | -UINT4 *output; | ||
| 240 | -const unsigned char *input; | ||
| 241 | -unsigned int len; | ||
| 242 | +static void Decode ( | ||
| 243 | +UINT4 *output, | ||
| 244 | +const unsigned char *input, | ||
| 245 | +unsigned int len | ||
| 246 | +) | ||
| 247 | { | ||
| 248 | unsigned int i, j; | ||
| 249 | |||
| 250 | @@ -317,10 +323,11 @@ unsigned int len; | ||
| 251 | |||
| 252 | */ | ||
| 253 | |||
| 254 | -static void MD5_memcpy (output, input, len) | ||
| 255 | -POINTER output; | ||
| 256 | -POINTER input; | ||
| 257 | -unsigned int len; | ||
| 258 | +static void MD5_memcpy ( | ||
| 259 | +POINTER output, | ||
| 260 | +POINTER input, | ||
| 261 | +unsigned int len | ||
| 262 | +) | ||
| 263 | { | ||
| 264 | unsigned int i; | ||
| 265 | |||
| 266 | @@ -331,10 +338,11 @@ unsigned int len; | ||
| 267 | /* Note: Replace "for loop" with standard memset if possible. | ||
| 268 | */ | ||
| 269 | |||
| 270 | -static void MD5_memset (output, value, len) | ||
| 271 | -POINTER output; | ||
| 272 | -int value; | ||
| 273 | -unsigned int len; | ||
| 274 | +static void MD5_memset ( | ||
| 275 | +POINTER output, | ||
| 276 | +int value, | ||
| 277 | +unsigned int len | ||
| 278 | +) | ||
| 279 | { | ||
| 280 | unsigned int i; | ||
| 281 | |||
| 282 | @@ -452,12 +460,13 @@ void _sasl_hmac_md5_final(unsigned char | ||
| 283 | } | ||
| 284 | |||
| 285 | |||
| 286 | -void _sasl_hmac_md5(text, text_len, key, key_len, digest) | ||
| 287 | -const unsigned char* text; /* pointer to data stream */ | ||
| 288 | -int text_len; /* length of data stream */ | ||
| 289 | -const unsigned char* key; /* pointer to authentication key */ | ||
| 290 | -int key_len; /* length of authentication key */ | ||
| 291 | -unsigned char *digest; /* caller digest to be filled in */ | ||
| 292 | +void _sasl_hmac_md5( | ||
| 293 | +const unsigned char* text, /* pointer to data stream */ | ||
| 294 | +int text_len, /* length of data stream */ | ||
| 295 | +const unsigned char* key, /* pointer to authentication key */ | ||
| 296 | +int key_len, /* length of authentication key */ | ||
| 297 | +unsigned char *digest /* caller digest to be filled in */ | ||
| 298 | +) | ||
| 299 | { | ||
| 300 | MD5_CTX context; | ||
| 301 | |||
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 bd15b0bda8..26ec8a71a1 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 = " \ | |||
| 20 | file://0001-configure-prototypes.patch \ | 20 | file://0001-configure-prototypes.patch \ |
| 21 | file://0002-Fix-incompatible-pointer-types-error-with-gcc-15.patch \ | 21 | file://0002-Fix-incompatible-pointer-types-error-with-gcc-15.patch \ |
| 22 | file://0003-Add-compatibility-for-gcc-15-869.patch \ | 22 | file://0003-Add-compatibility-for-gcc-15-869.patch \ |
| 23 | file://0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch \ | ||
| 23 | " | 24 | " |
| 24 | 25 | ||
| 25 | UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives" | 26 | UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives" |
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 0000000000..cf322b8e1a --- /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 @@ | |||
| 1 | From 3da79b330527b5f9d6e6243c8ba12968810965a3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <martin.jansa@gmail.com> | ||
| 3 | Date: Fri, 10 Apr 2026 14:53:41 +0200 | ||
| 4 | Subject: [PATCH] m4: update ax_prog_cc_for_build.m4 to latest | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | After the autoconf update to 2.73 this was using -std=gnu23 | ||
| 10 | even on hosts with gcc-13 which doesn't support it: | ||
| 11 | |||
| 12 | ac_cv_prog_ac_ct_CC_FOR_BUILD='gcc ' | ||
| 13 | ac_cv_prog_cc_c23=-std=gnu23 | ||
| 14 | ac_cv_prog_cc_g=yes | ||
| 15 | ac_cv_prog_cc_stdc=-std=gnu23 | ||
| 16 | |||
| 17 | Leading to: | ||
| 18 | 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 | ||
| 19 | gcc: error: unrecognized command-line option â-std=gnu23â; did you mean â-std=gnu2xâ? | ||
| 20 | |||
| 21 | Needs the updated ac_cv_prog_cc_c23 from: | ||
| 22 | https://github.com/autoconf-archive/autoconf-archive/commit/8a970ce96721f516fef4226e5eca8da341159765 | ||
| 23 | |||
| 24 | Upstream-Status: Submitted [https://github.com/linux-audit/audit-userspace/pull/524] | ||
| 25 | Signed-off-by: Martin Jansa <martin.jansa@gmail.com> | ||
| 26 | --- | ||
| 27 | m4/ax_prog_cc_for_build.m4 | 100 +++++++++++++++++++++++++++---------- | ||
| 28 | 1 file changed, 75 insertions(+), 25 deletions(-) | ||
| 29 | |||
| 30 | diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4 | ||
| 31 | index 77fd346a..4d1de993 100644 | ||
| 32 | --- a/m4/ax_prog_cc_for_build.m4 | ||
| 33 | +++ b/m4/ax_prog_cc_for_build.m4 | ||
| 34 | @@ -1,5 +1,5 @@ | ||
| 35 | # =========================================================================== | ||
| 36 | -# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html | ||
| 37 | +# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html | ||
| 38 | # =========================================================================== | ||
| 39 | # | ||
| 40 | # SYNOPSIS | ||
| 41 | @@ -32,28 +32,32 @@ | ||
| 42 | # and this notice are preserved. This file is offered as-is, without any | ||
| 43 | # warranty. | ||
| 44 | |||
| 45 | -#serial 8 | ||
| 46 | +#serial 26 | ||
| 47 | |||
| 48 | AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) | ||
| 49 | AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl | ||
| 50 | AC_REQUIRE([AC_PROG_CC])dnl | ||
| 51 | AC_REQUIRE([AC_PROG_CPP])dnl | ||
| 52 | -AC_REQUIRE([AC_EXEEXT])dnl | ||
| 53 | -AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
| 54 | +AC_REQUIRE([AC_CANONICAL_BUILD])dnl | ||
| 55 | |||
| 56 | dnl Use the standard macros, but make them use other variable names | ||
| 57 | dnl | ||
| 58 | pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl | ||
| 59 | pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl | ||
| 60 | +pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl | ||
| 61 | +pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl | ||
| 62 | +pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl | ||
| 63 | +pushdef([ac_cv_prog_cc_c23], ac_cv_build_prog_cc_c23)dnl | ||
| 64 | +pushdef([ac_cv_prog_cc_stdc], ac_cv_build_prog_cc_stdc)dnl | ||
| 65 | pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl | ||
| 66 | pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl | ||
| 67 | pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl | ||
| 68 | -pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl | ||
| 69 | -pushdef([ac_cv_objext], ac_cv_build_objext)dnl | ||
| 70 | +pushdef([ac_prog_cc_stdc], ac_build_prog_cc_stdc)dnl | ||
| 71 | pushdef([ac_exeext], ac_build_exeext)dnl | ||
| 72 | pushdef([ac_objext], ac_build_objext)dnl | ||
| 73 | pushdef([CC], CC_FOR_BUILD)dnl | ||
| 74 | pushdef([CPP], CPP_FOR_BUILD)dnl | ||
| 75 | +pushdef([GCC], GCC_FOR_BUILD)dnl | ||
| 76 | pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl | ||
| 77 | pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl | ||
| 78 | pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl | ||
| 79 | @@ -67,27 +71,58 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl | ||
| 80 | pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl | ||
| 81 | pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl | ||
| 82 | pushdef([ac_cv_host_os], ac_cv_build_os)dnl | ||
| 83 | -pushdef([ac_cpp], ac_build_cpp)dnl | ||
| 84 | -pushdef([ac_compile], ac_build_compile)dnl | ||
| 85 | -pushdef([ac_link], ac_build_link)dnl | ||
| 86 | +pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl | ||
| 87 | +pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl | ||
| 88 | +pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl | ||
| 89 | +pushdef([cross_compiling], cross_compiling_build)dnl | ||
| 90 | +dnl | ||
| 91 | +dnl These variables are problematic to rename by M4 macros, so we save | ||
| 92 | +dnl their values in alternative names, and restore the values later. | ||
| 93 | +dnl | ||
| 94 | +dnl _AC_COMPILER_EXEEXT and _AC_COMPILER_OBJEXT internally call | ||
| 95 | +dnl AC_SUBST which prevents the renaming of EXEEXT and OBJEXT | ||
| 96 | +dnl variables. It's not a good idea to rename ac_cv_exeext and | ||
| 97 | +dnl ac_cv_objext either as they're related. | ||
| 98 | +dnl Renaming ac_exeext and ac_objext is safe though. | ||
| 99 | +dnl | ||
| 100 | +ac_cv_host_exeext=$ac_cv_exeext | ||
| 101 | +AS_VAR_SET_IF([ac_cv_build_exeext], | ||
| 102 | + [ac_cv_exeext=$ac_cv_build_exeext], | ||
| 103 | + [AS_UNSET([ac_cv_exeext])]) | ||
| 104 | +ac_cv_host_objext=$ac_cv_objext | ||
| 105 | +AS_VAR_SET_IF([ac_cv_build_objext], | ||
| 106 | + [ac_cv_objext=$ac_cv_build_objext], | ||
| 107 | + [AS_UNSET([ac_cv_objext])]) | ||
| 108 | +dnl | ||
| 109 | +dnl ac_cv_c_compiler_gnu is used in _AC_LANG_COMPILER_GNU (called by | ||
| 110 | +dnl AC_PROG_CC) indirectly. | ||
| 111 | +dnl | ||
| 112 | +ac_cv_host_c_compiler_gnu=$ac_cv_c_compiler_gnu | ||
| 113 | +AS_VAR_SET_IF([ac_cv_build_c_compiler_gnu], | ||
| 114 | + [ac_cv_c_compiler_gnu=$ac_cv_build_c_compiler_gnu], | ||
| 115 | + [AS_UNSET([ac_cv_c_compiler_gnu])]) | ||
| 116 | + | ||
| 117 | +cross_compiling_build=no | ||
| 118 | |||
| 119 | -save_cross_compiling=$cross_compiling | ||
| 120 | -save_ac_tool_prefix=$ac_tool_prefix | ||
| 121 | -cross_compiling=no | ||
| 122 | -ac_tool_prefix= | ||
| 123 | +ac_build_tool_prefix= | ||
| 124 | +AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"], | ||
| 125 | + [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) | ||
| 126 | |||
| 127 | +AC_LANG_PUSH([C]) | ||
| 128 | AC_PROG_CC | ||
| 129 | +_AC_COMPILER_EXEEXT | ||
| 130 | +_AC_COMPILER_OBJEXT | ||
| 131 | AC_PROG_CPP | ||
| 132 | -AC_EXEEXT | ||
| 133 | |||
| 134 | -ac_tool_prefix=$save_ac_tool_prefix | ||
| 135 | -cross_compiling=$save_cross_compiling | ||
| 136 | +BUILD_EXEEXT=$ac_cv_exeext | ||
| 137 | +BUILD_OBJEXT=$ac_cv_objext | ||
| 138 | |||
| 139 | dnl Restore the old definitions | ||
| 140 | dnl | ||
| 141 | -popdef([ac_link])dnl | ||
| 142 | -popdef([ac_compile])dnl | ||
| 143 | -popdef([ac_cpp])dnl | ||
| 144 | +popdef([cross_compiling])dnl | ||
| 145 | +popdef([am_cv_prog_cc_c_o])dnl | ||
| 146 | +popdef([am_cv_CC_dependencies_compiler_type])dnl | ||
| 147 | +popdef([ac_tool_prefix])dnl | ||
| 148 | popdef([ac_cv_host_os])dnl | ||
| 149 | popdef([ac_cv_host_vendor])dnl | ||
| 150 | popdef([ac_cv_host_cpu])dnl | ||
| 151 | @@ -101,24 +136,39 @@ popdef([host])dnl | ||
| 152 | popdef([LDFLAGS])dnl | ||
| 153 | popdef([CPPFLAGS])dnl | ||
| 154 | popdef([CFLAGS])dnl | ||
| 155 | +popdef([GCC])dnl | ||
| 156 | popdef([CPP])dnl | ||
| 157 | popdef([CC])dnl | ||
| 158 | popdef([ac_objext])dnl | ||
| 159 | popdef([ac_exeext])dnl | ||
| 160 | -popdef([ac_cv_objext])dnl | ||
| 161 | -popdef([ac_cv_exeext])dnl | ||
| 162 | +popdef([ac_prog_cc_stdc])dnl | ||
| 163 | popdef([ac_cv_prog_cc_g])dnl | ||
| 164 | popdef([ac_cv_prog_cc_cross])dnl | ||
| 165 | popdef([ac_cv_prog_cc_works])dnl | ||
| 166 | +popdef([ac_cv_prog_cc_stdc])dnl | ||
| 167 | +popdef([ac_cv_prog_cc_c23])dnl | ||
| 168 | +popdef([ac_cv_prog_cc_c11])dnl | ||
| 169 | +popdef([ac_cv_prog_cc_c99])dnl | ||
| 170 | +popdef([ac_cv_prog_cc_c89])dnl | ||
| 171 | popdef([ac_cv_prog_gcc])dnl | ||
| 172 | popdef([ac_cv_prog_CPP])dnl | ||
| 173 | +dnl | ||
| 174 | +ac_cv_exeext=$ac_cv_host_exeext | ||
| 175 | +EXEEXT=$ac_cv_host_exeext | ||
| 176 | +ac_cv_objext=$ac_cv_host_objext | ||
| 177 | +OBJEXT=$ac_cv_host_objext | ||
| 178 | +ac_cv_c_compiler_gnu=$ac_cv_host_c_compiler_gnu | ||
| 179 | +ac_compiler_gnu=$ac_cv_host_c_compiler_gnu | ||
| 180 | + | ||
| 181 | +dnl restore global variables ac_ext, ac_cpp, ac_compile, | ||
| 182 | +dnl ac_link, ac_compiler_gnu (dependent on the current | ||
| 183 | +dnl language after popping): | ||
| 184 | +AC_LANG_POP([C]) | ||
| 185 | |||
| 186 | dnl Finally, set Makefile variables | ||
| 187 | dnl | ||
| 188 | -BUILD_EXEEXT=$ac_build_exeext | ||
| 189 | -BUILD_OBJEXT=$ac_build_objext | ||
| 190 | -AC_SUBST(BUILD_EXEEXT)dnl | ||
| 191 | -AC_SUBST(BUILD_OBJEXT)dnl | ||
| 192 | +AC_SUBST([BUILD_EXEEXT])dnl | ||
| 193 | +AC_SUBST([BUILD_OBJEXT])dnl | ||
| 194 | AC_SUBST([CFLAGS_FOR_BUILD])dnl | ||
| 195 | AC_SUBST([CPPFLAGS_FOR_BUILD])dnl | ||
| 196 | AC_SUBST([LDFLAGS_FOR_BUILD])dnl | ||
diff --git a/meta-oe/recipes-security/audit/audit_4.1.4.bb b/meta-oe/recipes-security/audit/audit_4.1.4.bb index 05d6f1d277..e349ee76d0 100644 --- a/meta-oe/recipes-security/audit/audit_4.1.4.bb +++ b/meta-oe/recipes-security/audit/audit_4.1.4.bb | |||
| @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | |||
| 9 | 9 | ||
| 10 | SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https;tag=v${PV} \ | 10 | SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https;tag=v${PV} \ |
| 11 | file://0001-Fixed-swig-host-contamination-issue.patch \ | 11 | file://0001-Fixed-swig-host-contamination-issue.patch \ |
| 12 | file://0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch \ | ||
| 12 | file://auditd \ | 13 | file://auditd \ |
| 13 | " | 14 | " |
| 14 | 15 | ||
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 86f45656f6..2e7503cd42 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' \ | |||
| 44 | NO_GLIBC_KEYERR=1 \ | 44 | NO_GLIBC_KEYERR=1 \ |
| 45 | " | 45 | " |
| 46 | 46 | ||
| 47 | LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}" | ||
| 48 | |||
| 47 | do_install () { | 49 | do_install () { |
| 48 | oe_runmake DESTDIR=${D} install | 50 | oe_runmake DESTDIR=${D} install |
| 49 | } | 51 | } |
diff --git a/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb b/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb index ae196946d9..662519d5b2 100644 --- a/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb +++ b/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb | |||
| @@ -34,7 +34,7 @@ def get_spdm_multiarch(d): | |||
| 34 | if target_arch in multiarch_options: | 34 | if target_arch in multiarch_options: |
| 35 | return multiarch_options[target_arch] | 35 | return multiarch_options[target_arch] |
| 36 | 36 | ||
| 37 | bb.fatal("unsupported architecture '%s'" % target_arch) | 37 | bb.parse.SkipRecipe("unsupported architecture '%s'" % target_arch) |
| 38 | 38 | ||
| 39 | EXTRA_OECMAKE += "\ | 39 | EXTRA_OECMAKE += "\ |
| 40 | -DARCH=${@get_spdm_multiarch(d)} \ | 40 | -DARCH=${@get_spdm_multiarch(d)} \ |
diff --git a/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_git.bb b/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_26.26.0404682.bb index e239770584..454e702e66 100644 --- a/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_git.bb +++ b/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_26.26.0404682.bb | |||
| @@ -8,10 +8,8 @@ BUGTRACKER = "https://github.com/speed47/spectre-meltdown-checker/issues" | |||
| 8 | LICENSE = "GPL-3.0-only" | 8 | LICENSE = "GPL-3.0-only" |
| 9 | LIC_FILES_CHKSUM = "file://spectre-meltdown-checker.sh;beginline=2;endline=2;md5=3ae5399e70af7be9b93f72568069e2f4" | 9 | LIC_FILES_CHKSUM = "file://spectre-meltdown-checker.sh;beginline=2;endline=2;md5=3ae5399e70af7be9b93f72568069e2f4" |
| 10 | 10 | ||
| 11 | PV = "0.46+git" | 11 | SRC_URI = "git://github.com/speed47/spectre-meltdown-checker;protocol=https;branch=master;tag=v${PV}" |
| 12 | 12 | SRCREV = "8a6f9d5d638c601d2a875669015a6cb217e40f49" | |
| 13 | SRC_URI = "git://github.com/speed47/spectre-meltdown-checker;protocol=https;branch=master" | ||
| 14 | SRCREV = "a20641fbad57f37da6093203484ca28769e5bb64" | ||
| 15 | 13 | ||
| 16 | # binutils: readelf,objdump might be used for deeper analysis | 14 | # binutils: readelf,objdump might be used for deeper analysis |
| 17 | # coreutils: dd with iflag=skip_bytes oflag=seek_bytes in some cases | 15 | # coreutils: dd with iflag=skip_bytes oflag=seek_bytes in some cases |
diff --git a/meta-oe/recipes-support/atop/atop_2.12.1.bb b/meta-oe/recipes-support/atop/atop_2.12.1.bb index 4ca74edbaf..d40b95ce6c 100644 --- a/meta-oe/recipes-support/atop/atop_2.12.1.bb +++ b/meta-oe/recipes-support/atop/atop_2.12.1.bb | |||
| @@ -7,7 +7,7 @@ etc. At regular intervals, it shows system-level activity related to the CPU, \ | |||
| 7 | memory, swap, disks (including LVM) and network layers, and for every process \ | 7 | memory, swap, disks (including LVM) and network layers, and for every process \ |
| 8 | (and thread) it shows e.g. the CPU utilization, memory growth, disk \ | 8 | (and thread) it shows e.g. the CPU utilization, memory growth, disk \ |
| 9 | utilization, priority, username, state, and exit code." | 9 | utilization, priority, username, state, and exit code." |
| 10 | HOMEPAGE = "http://www.atoptool.nl" | 10 | HOMEPAGE = "https://www.atoptool.nl" |
| 11 | SECTION = "console/utils" | 11 | SECTION = "console/utils" |
| 12 | 12 | ||
| 13 | LICENSE = "GPL-2.0-only" | 13 | LICENSE = "GPL-2.0-only" |
| @@ -37,7 +37,7 @@ do_compile() { | |||
| 37 | do_install() { | 37 | do_install() { |
| 38 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 38 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
| 39 | make DESTDIR=${D} VERS=${PV} SYSDPATH=${systemd_system_unitdir} \ | 39 | make DESTDIR=${D} VERS=${PV} SYSDPATH=${systemd_system_unitdir} \ |
| 40 | PMPATHD=${systemd_unitdir}/system-sleep install | 40 | PMPATHD=${systemd_unitdir}/system-sleep SBINPATH=${sbindir} install |
| 41 | install -d ${D}${sysconfdir}/tmpfiles.d | 41 | install -d ${D}${sysconfdir}/tmpfiles.d |
| 42 | install -m 644 ${UNPACKDIR}/volatiles.atop.conf ${D}${sysconfdir}/tmpfiles.d/atop.conf | 42 | install -m 644 ${UNPACKDIR}/volatiles.atop.conf ${D}${sysconfdir}/tmpfiles.d/atop.conf |
| 43 | rm -f ${D}${systemd_system_unitdir}/atopacct.service | 43 | rm -f ${D}${systemd_system_unitdir}/atopacct.service |
| @@ -51,16 +51,19 @@ do_install() { | |||
| 51 | # /var/log/atop will be created in runtime | 51 | # /var/log/atop will be created in runtime |
| 52 | rm -rf ${D}${localstatedir}/log | 52 | rm -rf ${D}${localstatedir}/log |
| 53 | rmdir --ignore-fail-on-non-empty ${D}${localstatedir} | 53 | rmdir --ignore-fail-on-non-empty ${D}${localstatedir} |
| 54 | |||
| 55 | # remove atopacct related files | ||
| 56 | rm -rf ${D}${sbindir} ${D}${mandir}/man8 | ||
| 57 | } | 54 | } |
| 58 | 55 | ||
| 59 | inherit systemd | 56 | inherit systemd |
| 60 | 57 | ||
| 58 | PACKAGES =+ "${PN}-acctd ${PN}-gpud" | ||
| 59 | |||
| 61 | SYSTEMD_SERVICE:${PN} = "atop.service atopgpu.service atop-rotate.service" | 60 | SYSTEMD_SERVICE:${PN} = "atop.service atopgpu.service atop-rotate.service" |
| 62 | SYSTEMD_AUTO_ENABLE = "disable" | 61 | SYSTEMD_AUTO_ENABLE = "disable" |
| 63 | 62 | ||
| 64 | FILES:${PN} += "${systemd_unitdir}/system-sleep ${systemd_system_unitdir}/atop-rotate.timer" | 63 | FILES:${PN} += "${systemd_unitdir}/system-sleep ${systemd_system_unitdir}/atop-rotate.timer" |
| 64 | FILES:${PN}-acctd += "${sbindir}/atopacctd ${mandir}/man8/atopacctd.8" | ||
| 65 | FILES:${PN}-gpud += "${sbindir}/atopgpud ${mandir}/man8/atopgpud.8" | ||
| 65 | 66 | ||
| 66 | RDEPENDS:${PN} = "procps" | 67 | RDEPENDS:${PN} = "procps" |
| 68 | RDEPENDS:${PN}-gpud = "python3-core" | ||
| 69 | RRECOMMENDS:${PN} = "${PN}-acctd ${PN}-gpud" | ||
diff --git a/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.3.bb b/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.4.bb index e08525b1c9..657ba60e1d 100644 --- a/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.3.bb +++ b/meta-oe/recipes-support/bmap-writer/bmap-writer_1.0.4.bb | |||
| @@ -9,11 +9,14 @@ LICENSE = "GPL-3.0-only" | |||
| 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e49f4652534af377a713df3d9dec60cb" | 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e49f4652534af377a713df3d9dec60cb" |
| 10 | 10 | ||
| 11 | SRC_URI = "git://github.com/embetrix/${BPN};branch=master;protocol=https;tag=${PV}" | 11 | SRC_URI = "git://github.com/embetrix/${BPN};branch=master;protocol=https;tag=${PV}" |
| 12 | SRCREV = "991e2c4264b843f61e502712f497103472a1b6e7" | 12 | SRCREV = "52919b145d04953a91cf846f3db3d8cee8d989ac" |
| 13 | 13 | ||
| 14 | DEPENDS = "libtinyxml2 libarchive" | 14 | DEPENDS = "libtinyxml2 libarchive" |
| 15 | inherit cmake pkgconfig | 15 | inherit cmake pkgconfig |
| 16 | 16 | ||
| 17 | PACKAGECONFIG ?= "" | ||
| 18 | PACKAGECONFIG[libkcapi] = "-DUSE_KERNEL_CRYPTO_API=ON, -DUSE_KERNEL_CRYPTO_API=OFF, libkcapi" | ||
| 19 | |||
| 17 | FILES:${PN} = "${bindir}" | 20 | FILES:${PN} = "${bindir}" |
| 18 | 21 | ||
| 19 | BBCLASSEXTEND = "native nativesdk" | 22 | 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 0a8f237180..5368bdeeb4 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/" | |||
| 3 | LICENSE = "BSD-3-Clause" | 3 | LICENSE = "BSD-3-Clause" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3585a26c9cd9ec0cb36a7d65542878ca" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3585a26c9cd9ec0cb36a7d65542878ca" |
| 5 | 5 | ||
| 6 | DEPENDS = "libeigen glog" | 6 | DEPENDS = "libeigen" |
| 7 | 7 | ||
| 8 | SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https" | 8 | SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https" |
| 9 | SRCREV = "85331393dc0dff09f6fb9903ab0c4bfa3e134b01" | 9 | SRCREV = "85331393dc0dff09f6fb9903ab0c4bfa3e134b01" |
| 10 | 10 | ||
| 11 | |||
| 12 | inherit cmake | 11 | inherit cmake |
| 13 | 12 | ||
| 14 | do_configure:prepend() { | 13 | do_configure:prepend() { |
| @@ -19,6 +18,14 @@ do_configure:prepend() { | |||
| 19 | touch ${S}/.git/hooks/commit-msg 2>/dev/null || : | 18 | touch ${S}/.git/hooks/commit-msg 2>/dev/null || : |
| 20 | } | 19 | } |
| 21 | 20 | ||
| 21 | EXTRA_OECMAKE += " \ | ||
| 22 | -DBUILD_BENCHMARKS=OFF \ | ||
| 23 | -DBUILD_EXAMPLES=OFF \ | ||
| 24 | -DBUILD_TESTING=OFF \ | ||
| 25 | -DGFLAGS=OFF \ | ||
| 26 | -DUSE_CUDA=OFF \ | ||
| 27 | " | ||
| 28 | |||
| 22 | # We don't want path to eigen3 in ceres-solver RSS to be | 29 | # We don't want path to eigen3 in ceres-solver RSS to be |
| 23 | # used by components which use CeresConfig.cmake from their | 30 | # used by components which use CeresConfig.cmake from their |
| 24 | # own RSS | 31 | # own RSS |
| @@ -27,11 +34,12 @@ do_configure:prepend() { | |||
| 27 | # 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) | 34 | # 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) |
| 28 | SSTATE_SCAN_FILES += "*.cmake" | 35 | SSTATE_SCAN_FILES += "*.cmake" |
| 29 | 36 | ||
| 30 | PACKAGECONFIG ??= "" | 37 | PACKAGECONFIG ??= "glog" |
| 31 | 38 | ||
| 32 | # suitesparse* recipes will be in meta-ros layer | 39 | # suitesparse* recipes will be in meta-ros layer |
| 33 | PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr" | 40 | PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr" |
| 34 | PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse" | 41 | PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse" |
| 42 | PACKAGECONFIG[glog] = "-DMINIGLOG=OFF,-DMINIGLOG=ON,glog" | ||
| 35 | PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack" | 43 | PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack" |
| 36 | 44 | ||
| 37 | # Only a static library and headers are created | 45 | # Only a static library and headers are created |
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 0000000000..9c45d4fcc0 --- /dev/null +++ b/meta-oe/recipes-support/composefs/composefs/0001-mkcomposefs-use-const-char-for-memchr-return-values.patch | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | From 9d82303c7a3a780d481469cd8eafa016dcbff86f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Thu, 16 Apr 2026 08:25:28 -0700 | ||
| 4 | Subject: [PATCH] mkcomposefs: use const char* for memchr return values | ||
| 5 | |||
| 6 | memchr returns void*, which when assigned to char* discards the | ||
| 7 | const qualifier of the input pointer. Cast to const char* to | ||
| 8 | preserve const'ness. | ||
| 9 | |||
| 10 | Fixes build with clang-22/glibc-2.43 | ||
| 11 | |||
| 12 | tools/mkcomposefs.c | ||
| 13 | ../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] | ||
| 14 | 413 | char *embedded_nul_offset = memchr(line, 0, line_len); | ||
| 15 | | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 16 | 1 error generated. | ||
| 17 | |||
| 18 | Upstream-Status: Submitted [https://github.com/composefs/composefs/pull/435] | ||
| 19 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 20 | --- | ||
| 21 | tools/mkcomposefs.c | 4 ++-- | ||
| 22 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/tools/mkcomposefs.c b/tools/mkcomposefs.c | ||
| 25 | index 13b505d..e14d8d0 100644 | ||
| 26 | --- a/tools/mkcomposefs.c | ||
| 27 | +++ b/tools/mkcomposefs.c | ||
| 28 | @@ -63,7 +63,7 @@ static __attribute__((format(printf, 1, 2))) char *make_error(const char *fmt, . | ||
| 29 | static size_t split_at(const char **start, size_t *length, char split_char, | ||
| 30 | bool *partial) | ||
| 31 | { | ||
| 32 | - char *end = memchr(*start, split_char, *length); | ||
| 33 | + const char *end = (const char*)memchr(*start, split_char, *length); | ||
| 34 | if (end == NULL) { | ||
| 35 | size_t part_len = *length; | ||
| 36 | *start = *start + *length; | ||
| 37 | @@ -410,7 +410,7 @@ static char *tree_from_dump_line(dump_info *info, const char *line, | ||
| 38 | * We didn't document support for embedded NULs, and it only introduces | ||
| 39 | * ambiguity in parsing, so let's just reject this early on. | ||
| 40 | */ | ||
| 41 | - char *embedded_nul_offset = memchr(line, 0, line_len); | ||
| 42 | + const char *embedded_nul_offset = (const char*)memchr(line, 0, line_len); | ||
| 43 | if (embedded_nul_offset != NULL) { | ||
| 44 | size_t off = embedded_nul_offset - line; | ||
| 45 | 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 f2bae91f44..3450f9a339 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 = "\ | |||
| 14 | " | 14 | " |
| 15 | 15 | ||
| 16 | SRCREV = "858ce1b38e1534c2602eb431124b5dca706bc746" | 16 | SRCREV = "858ce1b38e1534c2602eb431124b5dca706bc746" |
| 17 | SRC_URI = "git://github.com/containers/composefs.git;protocol=https;branch=main" | 17 | SRC_URI = "git://github.com/containers/composefs.git;protocol=https;branch=main;tag=v${PV} \ |
| 18 | 18 | file://0001-mkcomposefs-use-const-char-for-memchr-return-values.patch \ | |
| 19 | " | ||
| 19 | 20 | ||
| 20 | inherit meson | 21 | inherit meson |
| 21 | 22 | ||
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 0000000000..09970fcfc2 --- /dev/null +++ b/meta-oe/recipes-support/crow/crow_1.3.2.bb | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | SUMMARY = "A Fast and Easy to use microframework for the web" | ||
| 2 | HOMEPAGE = "https://crowcpp.org/" | ||
| 3 | DESCRIPTION = "Crow is a C++ framework for creating HTTP or Websocket web services. \ | ||
| 4 | It uses routing similar to Python's Flask which makes it easy to use. \ | ||
| 5 | It is also extremely fast, beating multiple existing C++ frameworks as well as non-C++ frameworks." | ||
| 6 | SECTION = "libs" | ||
| 7 | LICENSE = "BSD-3-Clause" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e08502e395a6f7c037ddfe7d2915f58e" | ||
| 9 | |||
| 10 | SRC_URI = "git://github.com/CrowCpp/Crow.git;protocol=https;branch=v1.3;tag=v${PV}" | ||
| 11 | SRCREV = "f8c060c51feeca2c65828fb6f538603db4392d55" | ||
| 12 | |||
| 13 | inherit cmake | ||
| 14 | |||
| 15 | DEPENDS = "asio" | ||
| 16 | |||
| 17 | EXTRA_OECMAKE = "\ | ||
| 18 | -DCROW_BUILD_EXAMPLES=OFF \ | ||
| 19 | -DCROW_BUILD_TESTS=OFF \ | ||
| 20 | " | ||
diff --git a/meta-oe/recipes-support/enca/enca_1.19.bb b/meta-oe/recipes-support/enca/enca_1.19.bb index 61da50ba52..395d7abe70 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 | |||
| 17 | 17 | ||
| 18 | inherit autotools | 18 | inherit autotools |
| 19 | 19 | ||
| 20 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 21 | |||
| 20 | EXTRA_OECONF += "MKTEMP_PROG=mktemp" | 22 | EXTRA_OECONF += "MKTEMP_PROG=mktemp" |
diff --git a/meta-oe/recipes-support/fastfetch/fastfetch_2.61.0.bb b/meta-oe/recipes-support/fastfetch/fastfetch_2.61.0.bb index 8d2daeb24f..8db0b608f1 100644 --- a/meta-oe/recipes-support/fastfetch/fastfetch_2.61.0.bb +++ b/meta-oe/recipes-support/fastfetch/fastfetch_2.61.0.bb | |||
| @@ -17,7 +17,6 @@ inherit cmake pkgconfig | |||
| 17 | 17 | ||
| 18 | EXTRA_OECMAKE += "\ | 18 | EXTRA_OECMAKE += "\ |
| 19 | -DENABLE_SYSTEM_YYJSON=ON \ | 19 | -DENABLE_SYSTEM_YYJSON=ON \ |
| 20 | -DENABLE_DIRECTX_HEADERS=OFF \ | ||
| 21 | " | 20 | " |
| 22 | 21 | ||
| 23 | PACKAGECONFIG ??= "\ | 22 | PACKAGECONFIG ??= "\ |
diff --git a/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb b/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb index 50a1877c0e..7970e0f563 100644 --- a/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb +++ b/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb | |||
| @@ -23,3 +23,4 @@ inherit pkgconfig autotools | |||
| 23 | 23 | ||
| 24 | EXTRA_OECONF = "--without-random-device" | 24 | EXTRA_OECONF = "--without-random-device" |
| 25 | 25 | ||
| 26 | CVE_STATUS[CVE-2026-33554] = "fixed-version: fixed since 1.6.17" | ||
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 0d7a6d34f9..062c4b4a8f 100644 --- a/meta-oe/recipes-support/gd/gd_2.3.3.bb +++ b/meta-oe/recipes-support/gd/gd_2.3.3.bb | |||
| @@ -23,14 +23,23 @@ SRCREV = "b5319a41286107b53daa0e08e402aa1819764bdc" | |||
| 23 | 23 | ||
| 24 | inherit autotools binconfig gettext pkgconfig | 24 | inherit autotools binconfig gettext pkgconfig |
| 25 | 25 | ||
| 26 | EXTRA_OECONF += " --disable-rpath \ | 26 | PACKAGECONFIG ?= "jpeg freetype" |
| 27 | --with-jpeg=${STAGING_LIBDIR}/.. \ | 27 | |
| 28 | --with-freetype=yes \ | 28 | PACKAGECONFIG[avif] = "--with-avif,--without-avif" |
| 29 | --without-fontconfig \ | 29 | PACKAGECONFIG[fontconfig] = "--with-fontconfig,--without-fontconfig" |
| 30 | --without-webp \ | 30 | PACKAGECONFIG[freetype] = "--with-freetype,--without-freetype" |
| 31 | --without-xpm \ | 31 | PACKAGECONFIG[heif] = "--with-heif,--without-heif" |
| 32 | --without-x \ | 32 | PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg" |
| 33 | " | 33 | PACKAGECONFIG[liq] = "--with-liq,--without-liq" |
| 34 | PACKAGECONFIG[png] = "--with-png,--without-png" | ||
| 35 | PACKAGECONFIG[raqm] = "--with-raqm,--without-raqm,libraqm" | ||
| 36 | PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff" | ||
| 37 | PACKAGECONFIG[webp] = "--with-webp,--without-webp" | ||
| 38 | PACKAGECONFIG[x] = "--with-x,--without-x" | ||
| 39 | PACKAGECONFIG[xpm] = "--with-xpm,--without-xpm" | ||
| 40 | PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib" | ||
| 41 | |||
| 42 | EXTRA_OECONF += "--disable-rpath" | ||
| 34 | 43 | ||
| 35 | EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"' | 44 | EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"' |
| 36 | 45 | ||
diff --git a/meta-oe/recipes-support/glaze/glaze_7.2.2.bb b/meta-oe/recipes-support/glaze/glaze_7.3.3.bb index 807f8811d1..e733d166b2 100644 --- a/meta-oe/recipes-support/glaze/glaze_7.2.2.bb +++ b/meta-oe/recipes-support/glaze/glaze_7.3.3.bb | |||
| @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4d29875d83fbbf50485c846dbbbed8" | |||
| 5 | 5 | ||
| 6 | SRC_URI = "git://github.com/stephenberry/glaze;protocol=https;branch=main;tag=v${PV}" | 6 | SRC_URI = "git://github.com/stephenberry/glaze;protocol=https;branch=main;tag=v${PV}" |
| 7 | 7 | ||
| 8 | SRCREV = "959c50207aa552a8de5aabfcbb6801d08fa6fb9d" | 8 | SRCREV = "dbf6caec935b768546587a413e45d033480c4483" |
| 9 | 9 | ||
| 10 | inherit cmake | 10 | inherit cmake |
| 11 | 11 | ||
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.1.bb index 2bfe9b0e77..46a0562d2c 100644 --- 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.1.bb | |||
| @@ -18,7 +18,7 @@ DEPENDS += " \ | |||
| 18 | SRC_URI = " \ | 18 | SRC_URI = " \ |
| 19 | git://github.com/wmww/gtk-layer-shell.git;protocol=https;branch=master;tag=v${PV} \ | 19 | git://github.com/wmww/gtk-layer-shell.git;protocol=https;branch=master;tag=v${PV} \ |
| 20 | " | 20 | " |
| 21 | SRCREV = "3964966d72ea3359f4ff748081493e979c080b7e" | 21 | SRCREV = "fd88ba666c18ff65ea786bf7b2e270d840030817" |
| 22 | 22 | ||
| 23 | inherit meson pkgconfig features_check gobject-introspection vala | 23 | inherit meson pkgconfig features_check gobject-introspection vala |
| 24 | 24 | ||
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 f00f3ac4db..c1f763ce17 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 @@ | |||
| 1 | From 87d66b3b60176197e785670214b0bbc5bedd6552 Mon Sep 17 00:00:00 2001 | 1 | From 652b208b8c3038934fb55169f44068bbdf399b69 Mon Sep 17 00:00:00 2001 |
| 2 | From: Leon Anavi <leon.anavi@konsulko.com> | 2 | From: Liu Yiding <liuyd.fnst@fujitsu.com> |
| 3 | Date: Mon, 8 Dec 2025 11:06:01 +0000 | 3 | Date: Wed, 15 Apr 2026 01:34:56 +0000 |
| 4 | Subject: [PATCH] configure.ac: Remove /usr/include/libnl3 | 4 | Subject: [PATCH] configure.ac: Remove /usr/include/libnl3 |
| 5 | 5 | ||
| 6 | Fixes: | 6 | Fixes: |
| @@ -11,40 +11,35 @@ netlink/attr.h, netlink/handlers.h, netlink/msg.h | |||
| 11 | Upstream-Status: Inappropriate [OE-specific] | 11 | Upstream-Status: Inappropriate [OE-specific] |
| 12 | 12 | ||
| 13 | Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> | 13 | Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> |
| 14 | |||
| 15 | Update for 3.5.0. | ||
| 16 | Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> | ||
| 14 | --- | 17 | --- |
| 15 | configure.ac | 6 +++--- | 18 | configure.ac | 4 ++-- |
| 16 | 1 file changed, 3 insertions(+), 3 deletions(-) | 19 | 1 file changed, 2 insertions(+), 2 deletions(-) |
| 17 | 20 | ||
| 18 | diff --git a/configure.ac b/configure.ac | 21 | diff --git a/configure.ac b/configure.ac |
| 19 | index 9f2f46b3..f3906692 100644 | 22 | index 2d174d73..ee8b29ca 100644 |
| 20 | --- a/configure.ac | 23 | --- a/configure.ac |
| 21 | +++ b/configure.ac | 24 | +++ b/configure.ac |
| 22 | @@ -980,14 +980,14 @@ case "$enable_delayacct" in | 25 | @@ -1638,7 +1638,7 @@ case "$enable_delayacct" in |
| 23 | enable_delayacct=no | 26 | |
| 24 | else | 27 | htop_save_CFLAGS=$CFLAGS |
| 25 | old_CFLAGS="$CFLAGS" | 28 | # New include path searched after what user has specified |
| 26 | - CFLAGS="$CFLAGS -I/usr/include/libnl3" | 29 | - CFLAGS="$CFLAGS $LIBNL3_CFLAGS" |
| 27 | + CFLAGS="$CFLAGS" | ||
| 28 | AC_CHECK_HEADERS([netlink/attr.h netlink/handlers.h netlink/msg.h], [enable_delayacct=yes], [enable_delayacct=no]) | ||
| 29 | CFLAGS="$old_CFLAGS" | ||
| 30 | fi | ||
| 31 | ;; | ||
| 32 | yes) | ||
| 33 | old_CFLAGS="$CFLAGS" | ||
| 34 | - CFLAGS="$CFLAGS -I/usr/include/libnl3" | ||
| 35 | + CFLAGS="$CFLAGS" | 30 | + CFLAGS="$CFLAGS" |
| 36 | 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])]) | 31 | AC_CHECK_HEADERS( |
| 37 | CFLAGS="$old_CFLAGS" | 32 | [netlink/attr.h netlink/handlers.h netlink/msg.h], |
| 38 | ;; | 33 | [], |
| 39 | @@ -997,7 +997,7 @@ case "$enable_delayacct" in | 34 | @@ -1681,7 +1681,7 @@ case "$enable_delayacct" in |
| 40 | esac | 35 | esac |
| 41 | if test "$enable_delayacct" = yes; then | 36 | if test "$enable_delayacct" = yes; then |
| 42 | AC_DEFINE([HAVE_DELAYACCT], [1], [Define if delay accounting support should be enabled.]) | 37 | AC_DEFINE([HAVE_DELAYACCT], [1], [Define if delay accounting support should be enabled.]) |
| 43 | - AM_CFLAGS="$AM_CFLAGS -I/usr/include/libnl3" | 38 | - AM_CFLAGS="$AM_CFLAGS $LIBNL3_CFLAGS" |
| 44 | + AM_CFLAGS="$AM_CFLAGS" | 39 | + AM_CFLAGS="$AM_CFLAGS" |
| 45 | fi | 40 | fi |
| 46 | AM_CONDITIONAL([HAVE_DELAYACCT], [test "$enable_delayacct" = yes]) | 41 | AM_CONDITIONAL([HAVE_DELAYACCT], [test "$enable_delayacct" = yes]) |
| 47 | 42 | ||
| 48 | -- | 43 | -- |
| 49 | 2.47.3 | 44 | 2.43.0 |
| 50 | 45 | ||
diff --git a/meta-oe/recipes-support/htop/htop_3.4.1.bb b/meta-oe/recipes-support/htop/htop_3.5.0.bb index e3f8a7fdb4..961a87097b 100644 --- a/meta-oe/recipes-support/htop/htop_3.4.1.bb +++ b/meta-oe/recipes-support/htop/htop_3.5.0.bb | |||
| @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | |||
| 6 | 6 | ||
| 7 | DEPENDS = "ncurses libnl" | 7 | DEPENDS = "ncurses libnl" |
| 8 | 8 | ||
| 9 | SRC_URI = "git://github.com/htop-dev/htop.git;branch=main;protocol=https \ | 9 | SRC_URI = "git://github.com/htop-dev/htop.git;branch=main;protocol=https;tag=${PV} \ |
| 10 | file://0001-configure.ac-Remove-usr-include-libnl3.patch \ | 10 | file://0001-configure.ac-Remove-usr-include-libnl3.patch \ |
| 11 | " | 11 | " |
| 12 | SRCREV = "348c0a6bf4f33571835a0b6a1a0f5deb15132128" | 12 | SRCREV = "a21f043b253a6dfa89df1ff4130fe7d2e505000f" |
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | inherit autotools pkgconfig | 15 | inherit autotools pkgconfig |
| @@ -23,7 +23,7 @@ PACKAGECONFIG ??= " \ | |||
| 23 | " | 23 | " |
| 24 | PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode" | 24 | PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode" |
| 25 | PACKAGECONFIG[affinity] = "--enable-affinity,--disable-affinity,,,,hwloc" | 25 | PACKAGECONFIG[affinity] = "--enable-affinity,--disable-affinity,,,,hwloc" |
| 26 | PACKAGECONFIG[unwind] = "--enable-unwind,--disable-unwind,libunwind" | 26 | PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind" |
| 27 | PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc,,,affinity" | 27 | PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc,,,affinity" |
| 28 | PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz" | 28 | PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz" |
| 29 | PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver" | 29 | PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver" |
diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-18.bb b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-19.bb index 49bf257cd3..18c23cb0d4 100644 --- a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-18.bb +++ b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-19.bb | |||
| @@ -17,7 +17,7 @@ SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=htt | |||
| 17 | file://imagemagick-ptest.sh \ | 17 | file://imagemagick-ptest.sh \ |
| 18 | " | 18 | " |
| 19 | 19 | ||
| 20 | SRCREV = "d4e4b2b35a573fb7d96bc64ff1a417415bbe0f4c" | 20 | SRCREV = "9fbd2b79450e930edb95e8158d412e57a7b27e83" |
| 21 | 21 | ||
| 22 | inherit autotools pkgconfig update-alternatives ptest | 22 | inherit autotools pkgconfig update-alternatives ptest |
| 23 | export ac_cv_sys_file_offset_bits = "64" | 23 | export ac_cv_sys_file_offset_bits = "64" |
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 0000000000..2ed8e9f587 --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_1.patch | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | From c83cfcd249d06950a307cee8d1e22b7f6a78a8a7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marti Maria <marti.maria@littlecms.com> | ||
| 3 | Date: Thu, 19 Feb 2026 09:07:20 +0100 | ||
| 4 | Subject: [PATCH] Fix integer overflow in CubeSize() | ||
| 5 | |||
| 6 | Thanks to @zerojackyi for reporting | ||
| 7 | |||
| 8 | CVE: CVE-2026-41254 | ||
| 9 | Upstream-Status: Backport [https://github.com/mm2/Little-CMS/commit/da6110b1d14abc394633a388209abd5ebedd7ab0] | ||
| 10 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 11 | --- | ||
| 12 | src/cmslut.c | 3 ++- | ||
| 13 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/src/cmslut.c b/src/cmslut.c | ||
| 16 | index 1089148..b245209 100644 | ||
| 17 | --- a/src/cmslut.c | ||
| 18 | +++ b/src/cmslut.c | ||
| 19 | @@ -460,7 +460,8 @@ void EvaluateCLUTfloatIn16(const cmsFloat32Number In[], cmsFloat32Number Out[], | ||
| 20 | static | ||
| 21 | cmsUInt32Number CubeSize(const cmsUInt32Number Dims[], cmsUInt32Number b) | ||
| 22 | { | ||
| 23 | - cmsUInt32Number rv, dim; | ||
| 24 | + cmsUInt32Number dim; | ||
| 25 | + cmsUInt64Number rv; | ||
| 26 | |||
| 27 | _cmsAssert(Dims != NULL); | ||
| 28 | |||
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 0000000000..be8c759a6f --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_2.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From f5994aea02d5620f3182cafdcf116ffe9d6c9fd2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marti Maria <marti.maria@littlecms.com> | ||
| 3 | Date: Thu, 12 Mar 2026 22:57:35 +0100 | ||
| 4 | Subject: [PATCH] check for overflow | ||
| 5 | |||
| 6 | Thanks to Guanni Qu for detecting & reporting the issue | ||
| 7 | |||
| 8 | CVE: CVE-2026-41254 | ||
| 9 | Upstream-Status: Backport [https://github.com/mm2/Little-CMS/commit/e0641b1828d0a1af5ecb1b11fe22f24fceefd4bc] | ||
| 10 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 11 | --- | ||
| 12 | src/cmslut.c | 6 +++--- | ||
| 13 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/src/cmslut.c b/src/cmslut.c | ||
| 16 | index b245209..c1dbb32 100644 | ||
| 17 | --- a/src/cmslut.c | ||
| 18 | +++ b/src/cmslut.c | ||
| 19 | @@ -468,12 +468,12 @@ cmsUInt32Number CubeSize(const cmsUInt32Number Dims[], cmsUInt32Number b) | ||
| 20 | for (rv = 1; b > 0; b--) { | ||
| 21 | |||
| 22 | dim = Dims[b-1]; | ||
| 23 | - if (dim <= 1) return 0; // Error | ||
| 24 | - | ||
| 25 | - rv *= dim; | ||
| 26 | + if (dim <= 1) return 0; | ||
| 27 | |||
| 28 | // Check for overflow | ||
| 29 | if (rv > UINT_MAX / dim) return 0; | ||
| 30 | + | ||
| 31 | + rv *= dim; | ||
| 32 | } | ||
| 33 | |||
| 34 | // 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 79e4a6f694..1ff3b3908f 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" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e9ce323c4b71c943a785db90142b228a" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e9ce323c4b71c943a785db90142b228a" |
| 5 | 5 | ||
| 6 | SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz" | 6 | SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz \ |
| 7 | file://CVE-2026-41254_1.patch \ | ||
| 8 | file://CVE-2026-41254_2.patch \ | ||
| 9 | " | ||
| 7 | SRC_URI[sha256sum] = "ee67be3566f459362c1ee094fde2c159d33fa0390aa4ed5f5af676f9e5004347" | 10 | SRC_URI[sha256sum] = "ee67be3566f459362c1ee094fde2c159d33fa0390aa4ed5f5af676f9e5004347" |
| 8 | 11 | ||
| 9 | DEPENDS = "tiff" | 12 | DEPENDS = "tiff" |
diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-20.bb index 2c063fd995..2f10a10931 100644 --- a/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb +++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-20.bb | |||
| @@ -12,13 +12,14 @@ SRC_URI = " \ | |||
| 12 | git://salsa.debian.org/gnome-team/libcanberra;protocol=https;branch=debian/latest;tag=debian/${PV} \ | 12 | git://salsa.debian.org/gnome-team/libcanberra;protocol=https;branch=debian/latest;tag=debian/${PV} \ |
| 13 | file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \ | 13 | file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \ |
| 14 | " | 14 | " |
| 15 | SRCREV = "d1ed1ac0c9950ed3908c04abb7c4a6de5c51ed94" | 15 | SRCREV = "47d67f43c58af36143060888fc8e69a9cb0eddea" |
| 16 | 16 | ||
| 17 | EXTRA_OECONF = "\ | 17 | EXTRA_OECONF = "\ |
| 18 | --enable-null \ | 18 | --enable-null \ |
| 19 | --disable-oss \ | 19 | --disable-oss \ |
| 20 | --disable-tdb \ | 20 | --disable-tdb \ |
| 21 | --disable-lynx \ | 21 | --disable-lynx \ |
| 22 | --disable-gtk-doc \ | ||
| 22 | " | 23 | " |
| 23 | 24 | ||
| 24 | PACKAGECONFIG ??= " \ | 25 | PACKAGECONFIG ??= " \ |
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch b/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch deleted file mode 100644 index 7fe06b9882..0000000000 --- a/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch +++ /dev/null | |||
| @@ -1,83 +0,0 @@ | |||
| 1 | From 3c38c5f9ab49384039f35408656a88f87619dd03 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | ||
| 3 | Date: Wed, 18 Mar 2026 14:07:06 +0100 | ||
| 4 | Subject: [libgpiod][PATCH] tools: tests: remove SIGINT test cases | ||
| 5 | |||
| 6 | In coreutils v9.10 (specifically with commit 8c2461933411 ("timeout: | ||
| 7 | honor ignored signal dispositions")) the behavior of timeout changed and | ||
| 8 | it will no longer propagate SIGINT or SIGQUIT in shell background jobs. | ||
| 9 | This breaks the test cases checking the behavior of tools after SIGINT. | ||
| 10 | We have to assume that if exit after SIGTERM works, then so does it | ||
| 11 | after SIGINT and remove the failing tests. | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://lore.kernel.org/all/20260318131413.56575-1-bartosz.golaszewski@oss.qualcomm.com/] | ||
| 14 | Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | ||
| 15 | --- | ||
| 16 | tools/gpio-tools-test.bash | 37 ------------------------------------- | ||
| 17 | 1 file changed, 37 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash | ||
| 20 | index 71d6e3d..62f6836 100755 | ||
| 21 | --- a/tools/gpio-tools-test.bash | ||
| 22 | +++ b/tools/gpio-tools-test.bash | ||
| 23 | @@ -1415,17 +1415,6 @@ test_gpioset_with_lines_strictly_by_name() { | ||
| 24 | gpiosim_check_value sim0 6 0 | ||
| 25 | } | ||
| 26 | |||
| 27 | -test_gpioset_interactive_after_SIGINT() { | ||
| 28 | - gpiosim_chip sim0 num_lines=8 line_name=1:foo | ||
| 29 | - | ||
| 30 | - dut_run gpioset -i foo=1 | ||
| 31 | - | ||
| 32 | - dut_kill -SIGINT | ||
| 33 | - dut_wait | ||
| 34 | - | ||
| 35 | - status_is 130 | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | test_gpioset_interactive_after_SIGTERM() { | ||
| 39 | gpiosim_chip sim0 num_lines=8 line_name=1:foo | ||
| 40 | |||
| 41 | @@ -1907,20 +1896,6 @@ test_gpiomon_multiple_lines_across_multiple_chips() { | ||
| 42 | assert_fail dut_readable | ||
| 43 | } | ||
| 44 | |||
| 45 | -test_gpiomon_exit_after_SIGINT() { | ||
| 46 | - gpiosim_chip sim0 num_lines=8 | ||
| 47 | - | ||
| 48 | - local sim0=${GPIOSIM_CHIP_NAME[sim0]} | ||
| 49 | - | ||
| 50 | - dut_run gpiomon --banner --chip "$sim0" 4 | ||
| 51 | - dut_regex_match "Monitoring line .*" | ||
| 52 | - | ||
| 53 | - dut_kill -SIGINT | ||
| 54 | - dut_wait | ||
| 55 | - | ||
| 56 | - status_is 130 | ||
| 57 | -} | ||
| 58 | - | ||
| 59 | test_gpiomon_exit_after_SIGTERM() { | ||
| 60 | gpiosim_chip sim0 num_lines=8 | ||
| 61 | |||
| 62 | @@ -2503,18 +2478,6 @@ test_gpionotify_multiple_lines_across_multiple_chips() { | ||
| 63 | assert_fail dut_readable | ||
| 64 | } | ||
| 65 | |||
| 66 | -test_gpionotify_exit_after_SIGINT() { | ||
| 67 | - gpiosim_chip sim0 num_lines=8 | ||
| 68 | - | ||
| 69 | - dut_run gpionotify --banner --chip "${GPIOSIM_CHIP_NAME[sim0]}" 4 | ||
| 70 | - dut_regex_match "Watching line .*" | ||
| 71 | - | ||
| 72 | - dut_kill -SIGINT | ||
| 73 | - dut_wait | ||
| 74 | - | ||
| 75 | - status_is 130 | ||
| 76 | -} | ||
| 77 | - | ||
| 78 | test_gpionotify_exit_after_SIGTERM() { | ||
| 79 | gpiosim_chip sim0 num_lines=8 | ||
| 80 | |||
| 81 | -- | ||
| 82 | 2.47.3 | ||
| 83 | |||
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb index 38829a620f..2c8d9f1873 100644 --- a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb +++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb | |||
| @@ -13,10 +13,9 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:" | |||
| 13 | 13 | ||
| 14 | SRC_URI += " \ | 14 | SRC_URI += " \ |
| 15 | file://gpio-manager.init \ | 15 | file://gpio-manager.init \ |
| 16 | file://0001-tools-tests-remove-SIGINT-test-cases.patch \ | ||
| 17 | " | 16 | " |
| 18 | 17 | ||
| 19 | SRC_URI[sha256sum] = "70012b0262e4b90f140431efa841ca89643b02ea6c09f507e23cec664a51b71a" | 18 | SRC_URI[sha256sum] = "13207176b0eb9b3e0f02552d5f49f5a6a449343ce47416158bb484d9d3019592" |
| 20 | 19 | ||
| 21 | # Enable all project features for ptest | 20 | # Enable all project features for ptest |
| 22 | PACKAGECONFIG[tests] = " \ | 21 | PACKAGECONFIG[tests] = " \ |
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 0000000000..f234cbd50b --- /dev/null +++ b/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From 7c70315f7f6b4305d761804fb03f8f90ad7572eb Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 17 Apr 2026 14:01:46 -0700 | ||
| 4 | Subject: [PATCH] build: guard --coverage linker flag behind | ||
| 5 | CODE_COVERAGE_ENABLED | ||
| 6 | |||
| 7 | AM_LDFLAGS passes --coverage to the linker unconditionally, | ||
| 8 | it causes coverage instrumentation to be enabled even when | ||
| 9 | configured with --disable-code-coverage. Wrap it in the | ||
| 10 | automake conditional provided by AX_CODE_COVERAGE. | ||
| 11 | |||
| 12 | Upstream-Status: Submitted [https://github.com/OpenIDC/liboauth2/pull/74] | ||
| 13 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 14 | --- | ||
| 15 | Makefile.am | 5 ++++- | ||
| 16 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
| 17 | |||
| 18 | diff --git a/Makefile.am b/Makefile.am | ||
| 19 | index a079dcc..a3f991d 100644 | ||
| 20 | --- a/Makefile.am | ||
| 21 | +++ b/Makefile.am | ||
| 22 | @@ -8,7 +8,10 @@ EXTRA_DIST = autogen.sh ChangeLog README.md LICENSE | ||
| 23 | |||
| 24 | AM_CPPFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -I${srcdir}/include -I${srcdir}/src @JANSSON_CFLAGS@ @OPENSSL_CFLAGS@ | ||
| 25 | AM_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) $(CODE_COVERAGE_CFLAGS) | ||
| 26 | -AM_LDFLAGS = --coverage | ||
| 27 | +AM_LDFLAGS = | ||
| 28 | +if CODE_COVERAGE_ENABLED | ||
| 29 | +AM_LDFLAGS += --coverage | ||
| 30 | +endif | ||
| 31 | |||
| 32 | LDADD = @JANSSON_LIBS@ @OPENSSL_LIBS@ | ||
| 33 | LDADD += $(CODE_COVERAGE_LIBS) | ||
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 5b1ecd23dd..83825c69a5 100644 --- a/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb +++ b/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb | |||
| @@ -7,6 +7,7 @@ SRC_URI = " \ | |||
| 7 | git://github.com/OpenIDC/liboauth2;protocol=https;branch=master;tag=v${PV} \ | 7 | git://github.com/OpenIDC/liboauth2;protocol=https;branch=master;tag=v${PV} \ |
| 8 | file://0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch \ | 8 | file://0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch \ |
| 9 | file://0002-Fix-use-of-strchr-with-new-GCC.patch \ | 9 | file://0002-Fix-use-of-strchr-with-new-GCC.patch \ |
| 10 | file://0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch \ | ||
| 10 | " | 11 | " |
| 11 | 12 | ||
| 12 | SRCREV = "12571b6d6568c2db7d5f080f60ecb55795c0db19" | 13 | SRCREV = "12571b6d6568c2db7d5f080f60ecb55795c0db19" |
| @@ -20,4 +21,4 @@ PACKAGECONFIG[memcache] = "--with-memcache,--without-memcache,libmemcached" | |||
| 20 | PACKAGECONFIG[redis] = "--with-redis,--without-redis,hiredis" | 21 | PACKAGECONFIG[redis] = "--with-redis,--without-redis,hiredis" |
| 21 | PACKAGECONFIG[jq] = "--with-jq,--without-jq,jq" | 22 | PACKAGECONFIG[jq] = "--with-jq,--without-jq,jq" |
| 22 | PACKAGECONFIG[apache] = "--with-apache,--without-apache,apache2" | 23 | PACKAGECONFIG[apache] = "--with-apache,--without-apache,apache2" |
| 23 | 24 | PACKAGECONFIG[ccov] = "--enable-code-coverage,--disable-code-coverage," | |
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 ef0a0255d9..0000000000 --- a/meta-oe/recipes-support/libraw/libraw_0.21.4.bb +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | SUMMARY = "raw image decoder" | ||
| 2 | LICENSE = "LGPL-2.1-only | CDDL-1.0" | ||
| 3 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1501ae0aa3c8544e63f08d6f7bf88a6f" | ||
| 4 | |||
| 5 | SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=0.21-stable;protocol=https;tag=${PV}" | ||
| 6 | SRCREV = "9646d776c7c61976080a8f2be67928df0750493e" | ||
| 7 | |||
| 8 | inherit autotools pkgconfig | ||
| 9 | |||
| 10 | 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 0000000000..e99f0e46b6 --- /dev/null +++ b/meta-oe/recipes-support/libraw/libraw_0.22.1.bb | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | SUMMARY = "raw image decoder" | ||
| 2 | LICENSE = "LGPL-2.1-only | CDDL-1.0" | ||
| 3 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1d66195044cfbe4327c055d1c9c1a229" | ||
| 4 | |||
| 5 | SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=0.22-stable;protocol=https;tag=${PV}" | ||
| 6 | SRCREV = "b860248a89d9082b8e0a1e202e516f46af9adb29" | ||
| 7 | |||
| 8 | inherit autotools pkgconfig | ||
| 9 | |||
| 10 | DEPENDS = "jpeg jasper lcms" | ||
| 11 | |||
| 12 | CVE_STATUS[CVE-2026-5318] = "fixed-version: fixed since 0.22.1" | ||
| 13 | CVE_STATUS[CVE-2026-5342] = "fixed-version: fixed since 0.22.1" | ||
| 14 | CVE_STATUS[CVE-2026-20884] = "fixed-version: fixed since 0.22.1" | ||
| 15 | CVE_STATUS[CVE-2026-24450] = "fixed-version: fixed since 0.22.1" | ||
| 16 | CVE_STATUS[CVE-2026-20911] = "fixed-version: fixed since 0.22.1" | ||
| 17 | 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 85eac33369..99d0939b34 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<pver>\d+(\.\d+)+)" | |||
| 20 | DEPENDS += "bison-native flex-native wget-native gawk-native" | 20 | DEPENDS += "bison-native flex-native wget-native gawk-native" |
| 21 | 21 | ||
| 22 | inherit autotools-brokensep update-alternatives | 22 | inherit autotools-brokensep update-alternatives |
| 23 | |||
| 24 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 25 | |||
| 23 | ALTERNATIVE_PRIORITY = "50" | 26 | ALTERNATIVE_PRIORITY = "50" |
| 24 | ALTERNATIVE:${PN}-yang = " ietf-interfaces ietf-netconf-acm ietf-netconf-with-defaults ietf-netconf" | 27 | ALTERNATIVE:${PN}-yang = " ietf-interfaces ietf-netconf-acm ietf-netconf-with-defaults ietf-netconf" |
| 25 | ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang" | 28 | 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 0000000000..7815dba55a --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-14523.patch | |||
| @@ -0,0 +1,52 @@ | |||
| 1 | From d6028a6e6a8417b7fb6c89f6c10fb94781435ee6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Wed, 4 Feb 2026 15:08:50 +0800 | ||
| 4 | Subject: [PATCH] Reject duplicate Host headers (for libsoup 2) | ||
| 5 | |||
| 6 | This is a simplified version of my patch for libsoup 3: | ||
| 7 | |||
| 8 | !491 | ||
| 9 | |||
| 10 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/d3db5a6f8f03e1f0133754872877c92c0284c472] | ||
| 11 | CVE: CVE-2025-14523 | ||
| 12 | |||
| 13 | This patch is a MR for branch 2-74, but not merged yet, maybe it will | ||
| 14 | not be merged. | ||
| 15 | |||
| 16 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 17 | --- | ||
| 18 | libsoup/soup-headers.c | 3 +++ | ||
| 19 | libsoup/soup-message-headers.c | 3 +++ | ||
| 20 | 2 files changed, 6 insertions(+) | ||
| 21 | |||
| 22 | diff --git a/libsoup/soup-headers.c b/libsoup/soup-headers.c | ||
| 23 | index ea2f986..6cd3dad 100644 | ||
| 24 | --- a/libsoup/soup-headers.c | ||
| 25 | +++ b/libsoup/soup-headers.c | ||
| 26 | @@ -138,6 +138,9 @@ soup_headers_parse (const char *str, int len, SoupMessageHeaders *dest) | ||
| 27 | for (p = strchr (value, '\r'); p; p = strchr (p, '\r')) | ||
| 28 | *p = ' '; | ||
| 29 | |||
| 30 | + if (g_ascii_strcasecmp (name, "Host") == 0 && soup_message_headers_get_one (dest, "Host")) | ||
| 31 | + goto done; | ||
| 32 | + | ||
| 33 | soup_message_headers_append (dest, name, value); | ||
| 34 | } | ||
| 35 | success = TRUE; | ||
| 36 | diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c | ||
| 37 | index f612bff..bb20bbb 100644 | ||
| 38 | --- a/libsoup/soup-message-headers.c | ||
| 39 | +++ b/libsoup/soup-message-headers.c | ||
| 40 | @@ -220,6 +220,9 @@ soup_message_headers_append (SoupMessageHeaders *hdrs, | ||
| 41 | } | ||
| 42 | #endif | ||
| 43 | |||
| 44 | + if (g_ascii_strcasecmp (name, "Host") == 0 && soup_message_headers_get_one (hdrs, "Host")) | ||
| 45 | + return; | ||
| 46 | + | ||
| 47 | header.name = intern_header_name (name, &setter); | ||
| 48 | header.value = g_strdup (value); | ||
| 49 | g_array_append_val (hdrs->array, header); | ||
| 50 | -- | ||
| 51 | 2.34.1 | ||
| 52 | |||
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 0000000000..64e87cb1ec --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-1.patch | |||
| @@ -0,0 +1,229 @@ | |||
| 1 | From c574e659c41c18fad3973bbaa3b3ec75664b3137 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Thu, 5 Feb 2026 16:20:02 +0800 | ||
| 4 | Subject: [PATCH 1/2] websocket: add a way to restrict the total message size | ||
| 5 | |||
| 6 | Otherwise a client could send small packages smaller than | ||
| 7 | total-incoming-payload-size but still to break the server | ||
| 8 | with a big allocation | ||
| 9 | |||
| 10 | Fixes: #390 | ||
| 11 | |||
| 12 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/db87805ab565d67533dfed2cb409dbfd63c7fdce] | ||
| 13 | CVE: CVE-2025-32049 | ||
| 14 | |||
| 15 | libsoup2 is not maintained, the patch is backported from libsoup3, and | ||
| 16 | change accordingly | ||
| 17 | |||
| 18 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 19 | --- | ||
| 20 | libsoup/soup-websocket-connection.c | 104 ++++++++++++++++++++++++++-- | ||
| 21 | libsoup/soup-websocket-connection.h | 7 ++ | ||
| 22 | 2 files changed, 107 insertions(+), 4 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c | ||
| 25 | index 9d5f4f8..3dad477 100644 | ||
| 26 | --- a/libsoup/soup-websocket-connection.c | ||
| 27 | +++ b/libsoup/soup-websocket-connection.c | ||
| 28 | @@ -85,7 +85,8 @@ enum { | ||
| 29 | PROP_STATE, | ||
| 30 | PROP_MAX_INCOMING_PAYLOAD_SIZE, | ||
| 31 | PROP_KEEPALIVE_INTERVAL, | ||
| 32 | - PROP_EXTENSIONS | ||
| 33 | + PROP_EXTENSIONS, | ||
| 34 | + PROP_MAX_TOTAL_MESSAGE_SIZE, | ||
| 35 | }; | ||
| 36 | |||
| 37 | enum { | ||
| 38 | @@ -120,6 +121,7 @@ struct _SoupWebsocketConnectionPrivate { | ||
| 39 | char *origin; | ||
| 40 | char *protocol; | ||
| 41 | guint64 max_incoming_payload_size; | ||
| 42 | + guint64 max_total_message_size; | ||
| 43 | guint keepalive_interval; | ||
| 44 | |||
| 45 | gushort peer_close_code; | ||
| 46 | @@ -152,6 +154,7 @@ struct _SoupWebsocketConnectionPrivate { | ||
| 47 | }; | ||
| 48 | |||
| 49 | #define MAX_INCOMING_PAYLOAD_SIZE_DEFAULT 128 * 1024 | ||
| 50 | +#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 | ||
| 51 | #define READ_BUFFER_SIZE 1024 | ||
| 52 | #define MASK_LENGTH 4 | ||
| 53 | |||
| 54 | @@ -664,7 +667,7 @@ bad_data_error_and_close (SoupWebsocketConnection *self) | ||
| 55 | } | ||
| 56 | |||
| 57 | static void | ||
| 58 | -too_big_error_and_close (SoupWebsocketConnection *self, | ||
| 59 | +too_big_incoming_payload_error_and_close (SoupWebsocketConnection *self, | ||
| 60 | guint64 payload_len) | ||
| 61 | { | ||
| 62 | GError *error; | ||
| 63 | @@ -680,6 +683,23 @@ too_big_error_and_close (SoupWebsocketConnection *self, | ||
| 64 | emit_error_and_close (self, error, TRUE); | ||
| 65 | } | ||
| 66 | |||
| 67 | +static void | ||
| 68 | +too_big_message_error_and_close (SoupWebsocketConnection *self, | ||
| 69 | + guint64 len) | ||
| 70 | +{ | ||
| 71 | + GError *error; | ||
| 72 | + | ||
| 73 | + error = g_error_new_literal (SOUP_WEBSOCKET_ERROR, | ||
| 74 | + SOUP_WEBSOCKET_CLOSE_TOO_BIG, | ||
| 75 | + self->pv->connection_type == SOUP_WEBSOCKET_CONNECTION_SERVER ? | ||
| 76 | + "Received WebSocket payload from the client larger than configured max-total-message-size" : | ||
| 77 | + "Received WebSocket payload from the server larger than configured max-total-message-size"); | ||
| 78 | + g_debug ("%s received message of size %" G_GUINT64_FORMAT " or greater, but max supported size is %" G_GUINT64_FORMAT, | ||
| 79 | + self->pv->connection_type == SOUP_WEBSOCKET_CONNECTION_SERVER ? "server" : "client", | ||
| 80 | + len, self->pv->max_total_message_size); | ||
| 81 | + emit_error_and_close (self, error, TRUE); | ||
| 82 | +} | ||
| 83 | + | ||
| 84 | static void | ||
| 85 | close_connection (SoupWebsocketConnection *self, | ||
| 86 | gushort code, | ||
| 87 | @@ -913,6 +933,12 @@ process_contents (SoupWebsocketConnection *self, | ||
| 88 | switch (pv->message_opcode) { | ||
| 89 | case 0x01: | ||
| 90 | case 0x02: | ||
| 91 | + /* Safety valve */ | ||
| 92 | + if (pv->max_total_message_size > 0 && | ||
| 93 | + (pv->message_data->len + payload_len) > pv->max_total_message_size) { | ||
| 94 | + too_big_message_error_and_close (self, (pv->message_data->len + payload_len)); | ||
| 95 | + return; | ||
| 96 | + } | ||
| 97 | g_byte_array_append (pv->message_data, payload, payload_len); | ||
| 98 | break; | ||
| 99 | default: | ||
| 100 | @@ -1050,7 +1076,7 @@ process_frame (SoupWebsocketConnection *self) | ||
| 101 | /* Safety valve */ | ||
| 102 | if (self->pv->max_incoming_payload_size > 0 && | ||
| 103 | payload_len >= self->pv->max_incoming_payload_size) { | ||
| 104 | - too_big_error_and_close (self, payload_len); | ||
| 105 | + too_big_incoming_payload_error_and_close (self, payload_len); | ||
| 106 | return FALSE; | ||
| 107 | } | ||
| 108 | |||
| 109 | @@ -1357,6 +1383,10 @@ soup_websocket_connection_get_property (GObject *object, | ||
| 110 | g_value_set_pointer (value, pv->extensions); | ||
| 111 | break; | ||
| 112 | |||
| 113 | + case PROP_MAX_TOTAL_MESSAGE_SIZE: | ||
| 114 | + g_value_set_uint64 (value, pv->max_total_message_size); | ||
| 115 | + break; | ||
| 116 | + | ||
| 117 | default: | ||
| 118 | G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
| 119 | break; | ||
| 120 | @@ -1410,6 +1440,10 @@ soup_websocket_connection_set_property (GObject *object, | ||
| 121 | pv->extensions = g_value_get_pointer (value); | ||
| 122 | break; | ||
| 123 | |||
| 124 | + case PROP_MAX_TOTAL_MESSAGE_SIZE: | ||
| 125 | + pv->max_total_message_size = g_value_get_uint64 (value); | ||
| 126 | + break; | ||
| 127 | + | ||
| 128 | default: | ||
| 129 | G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
| 130 | break; | ||
| 131 | @@ -1631,7 +1665,24 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) | ||
| 132 | G_PARAM_READWRITE | | ||
| 133 | G_PARAM_CONSTRUCT_ONLY | | ||
| 134 | G_PARAM_STATIC_STRINGS)); | ||
| 135 | - | ||
| 136 | + /** | ||
| 137 | + * SoupWebsocketConnection:max-total-message-size: | ||
| 138 | + * | ||
| 139 | + * The total message size for incoming packets. | ||
| 140 | + * | ||
| 141 | + * The protocol expects or 0 to not limit it. | ||
| 142 | + * | ||
| 143 | + */ | ||
| 144 | + g_object_class_install_property (gobject_class, PROP_MAX_TOTAL_MESSAGE_SIZE, | ||
| 145 | + g_param_spec_uint64 ("max-total-message-size", | ||
| 146 | + "Max total message size", | ||
| 147 | + "Max total message size ", | ||
| 148 | + 0, | ||
| 149 | + G_MAXUINT64, | ||
| 150 | + MAX_TOTAL_MESSAGE_SIZE_DEFAULT, | ||
| 151 | + G_PARAM_READWRITE | | ||
| 152 | + G_PARAM_CONSTRUCT | | ||
| 153 | + G_PARAM_STATIC_STRINGS)); | ||
| 154 | /** | ||
| 155 | * SoupWebsocketConnection::message: | ||
| 156 | * @self: the WebSocket | ||
| 157 | @@ -2145,6 +2196,51 @@ soup_websocket_connection_set_max_incoming_payload_size (SoupWebsocketConnection | ||
| 158 | } | ||
| 159 | } | ||
| 160 | |||
| 161 | +/** | ||
| 162 | + * soup_websocket_connection_get_max_total_message_size: | ||
| 163 | + * @self: the WebSocket | ||
| 164 | + * | ||
| 165 | + * Gets the maximum total message size allowed for packets. | ||
| 166 | + * | ||
| 167 | + * Returns: the maximum total message size. | ||
| 168 | + * | ||
| 169 | + */ | ||
| 170 | +guint64 | ||
| 171 | +soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *self) | ||
| 172 | +{ | ||
| 173 | + SoupWebsocketConnectionPrivate *pv; | ||
| 174 | + | ||
| 175 | + g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), MAX_TOTAL_MESSAGE_SIZE_DEFAULT); | ||
| 176 | + pv = self->pv; | ||
| 177 | + | ||
| 178 | + return pv->max_total_message_size; | ||
| 179 | +} | ||
| 180 | + | ||
| 181 | +/** | ||
| 182 | + * soup_websocket_connection_set_max_total_message_size: | ||
| 183 | + * @self: the WebSocket | ||
| 184 | + * @max_total_message_size: the maximum total message size | ||
| 185 | + * | ||
| 186 | + * Sets the maximum total message size allowed for packets. | ||
| 187 | + * | ||
| 188 | + * It does not limit the outgoing packet size. | ||
| 189 | + * | ||
| 190 | + */ | ||
| 191 | +void | ||
| 192 | +soup_websocket_connection_set_max_total_message_size (SoupWebsocketConnection *self, | ||
| 193 | + guint64 max_total_message_size) | ||
| 194 | +{ | ||
| 195 | + SoupWebsocketConnectionPrivate *pv; | ||
| 196 | + | ||
| 197 | + g_return_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self)); | ||
| 198 | + pv = self->pv; | ||
| 199 | + | ||
| 200 | + if (pv->max_total_message_size != max_total_message_size) { | ||
| 201 | + pv->max_total_message_size = max_total_message_size; | ||
| 202 | + g_object_notify (G_OBJECT (self), "max-total-message-size"); | ||
| 203 | + } | ||
| 204 | +} | ||
| 205 | + | ||
| 206 | /** | ||
| 207 | * soup_websocket_connection_get_keepalive_interval: | ||
| 208 | * @self: the WebSocket | ||
| 209 | diff --git a/libsoup/soup-websocket-connection.h b/libsoup/soup-websocket-connection.h | ||
| 210 | index f82d723..d2a60e9 100644 | ||
| 211 | --- a/libsoup/soup-websocket-connection.h | ||
| 212 | +++ b/libsoup/soup-websocket-connection.h | ||
| 213 | @@ -136,6 +136,13 @@ SOUP_AVAILABLE_IN_2_58 | ||
| 214 | void soup_websocket_connection_set_keepalive_interval (SoupWebsocketConnection *self, | ||
| 215 | guint interval); | ||
| 216 | |||
| 217 | +SOUP_AVAILABLE_IN_2_72 | ||
| 218 | +guint64 soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *self); | ||
| 219 | + | ||
| 220 | +SOUP_AVAILABLE_IN_2_72 | ||
| 221 | +void soup_websocket_connection_set_max_total_message_size (SoupWebsocketConnection *self, | ||
| 222 | + guint64 max_total_message_size); | ||
| 223 | + | ||
| 224 | G_END_DECLS | ||
| 225 | |||
| 226 | #endif /* __SOUP_WEBSOCKET_CONNECTION_H__ */ | ||
| 227 | -- | ||
| 228 | 2.34.1 | ||
| 229 | |||
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 0000000000..f9c894aaec --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-2.patch | |||
| @@ -0,0 +1,131 @@ | |||
| 1 | From 0bfc66f1082f5d47df99b6fc03f742ef7fa1051e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Thu, 5 Feb 2026 17:19:51 +0800 | ||
| 4 | Subject: [PATCH] Set message size limit in SoupServer rather than | ||
| 5 | SoupWebsocketConnection | ||
| 6 | |||
| 7 | We're not sure about the compatibility implications of having a default | ||
| 8 | size limit for clients. | ||
| 9 | |||
| 10 | Also not sure whether the server limit is actually set appropriately, | ||
| 11 | but there is probably very little server usage of | ||
| 12 | SoupWebsocketConnection in the wild, so it's not so likely to break | ||
| 13 | things. | ||
| 14 | |||
| 15 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/2df34d9544cabdbfdedd3b36f098cf69233b1df7] | ||
| 16 | CVE: CVE-2025-32049 | ||
| 17 | |||
| 18 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 19 | --- | ||
| 20 | libsoup/soup-server.c | 24 +++++++++++++++++++----- | ||
| 21 | libsoup/soup-websocket-connection.c | 23 ++++++++++++++++------- | ||
| 22 | 2 files changed, 35 insertions(+), 12 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c | ||
| 25 | index 63875f3..a3f8597 100644 | ||
| 26 | --- a/libsoup/soup-server.c | ||
| 27 | +++ b/libsoup/soup-server.c | ||
| 28 | @@ -216,6 +216,16 @@ enum { | ||
| 29 | |||
| 30 | G_DEFINE_TYPE_WITH_PRIVATE (SoupServer, soup_server, G_TYPE_OBJECT) | ||
| 31 | |||
| 32 | +/* SoupWebsocketConnection by default limits only maximum packet size. But a | ||
| 33 | + * message may consist of multiple packets, so SoupServer additionally restricts | ||
| 34 | + * total message size to mitigate denial of service attacks on the server. | ||
| 35 | + * SoupWebsocketConnection does not do this by default because I don't know | ||
| 36 | + * whether that would or would not cause compatibility problems for websites. | ||
| 37 | + * | ||
| 38 | + * This size is in bytes and it is arbitrary. | ||
| 39 | + */ | ||
| 40 | +#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 | ||
| 41 | + | ||
| 42 | static SoupClientContext *soup_client_context_ref (SoupClientContext *client); | ||
| 43 | static void soup_client_context_unref (SoupClientContext *client); | ||
| 44 | |||
| 45 | @@ -1445,11 +1455,15 @@ complete_websocket_upgrade (SoupMessage *msg, gpointer user_data) | ||
| 46 | |||
| 47 | soup_client_context_ref (client); | ||
| 48 | stream = soup_client_context_steal_connection (client); | ||
| 49 | - conn = soup_websocket_connection_new_with_extensions (stream, uri, | ||
| 50 | - SOUP_WEBSOCKET_CONNECTION_SERVER, | ||
| 51 | - soup_message_headers_get_one (msg->request_headers, "Origin"), | ||
| 52 | - soup_message_headers_get_one (msg->response_headers, "Sec-WebSocket-Protocol"), | ||
| 53 | - handler->websocket_extensions); | ||
| 54 | + conn = SOUP_WEBSOCKET_CONNECTION (g_object_new (SOUP_TYPE_WEBSOCKET_CONNECTION, | ||
| 55 | + "io-stream", stream, | ||
| 56 | + "uri", uri, | ||
| 57 | + "connection-type", SOUP_WEBSOCKET_CONNECTION_SERVER, | ||
| 58 | + "origin", soup_message_headers_get_one (msg->request_headers, "Origin"), | ||
| 59 | + "protocol", soup_message_headers_get_one (msg->response_headers, "Sec-WebSocket-Protocol"), | ||
| 60 | + "extensions", handler->websocket_extensions, | ||
| 61 | + "max-total-message-size", (guint64)MAX_TOTAL_MESSAGE_SIZE_DEFAULT, | ||
| 62 | + NULL)); | ||
| 63 | handler->websocket_extensions = NULL; | ||
| 64 | g_object_unref (stream); | ||
| 65 | soup_client_context_unref (client); | ||
| 66 | diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c | ||
| 67 | index 3dad477..e7fa9b7 100644 | ||
| 68 | --- a/libsoup/soup-websocket-connection.c | ||
| 69 | +++ b/libsoup/soup-websocket-connection.c | ||
| 70 | @@ -154,7 +154,6 @@ struct _SoupWebsocketConnectionPrivate { | ||
| 71 | }; | ||
| 72 | |||
| 73 | #define MAX_INCOMING_PAYLOAD_SIZE_DEFAULT 128 * 1024 | ||
| 74 | -#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 | ||
| 75 | #define READ_BUFFER_SIZE 1024 | ||
| 76 | #define MASK_LENGTH 4 | ||
| 77 | |||
| 78 | @@ -1615,8 +1614,9 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) | ||
| 79 | /** | ||
| 80 | * SoupWebsocketConnection:max-incoming-payload-size: | ||
| 81 | * | ||
| 82 | - * The maximum payload size for incoming packets the protocol expects | ||
| 83 | - * or 0 to not limit it. | ||
| 84 | + * The maximum payload size for incoming packets, or 0 to not limit it. | ||
| 85 | + * Each message may consist of multiple packets, so also refer to | ||
| 86 | + * [property@WebSocketConnection:max-total-message-size]. | ||
| 87 | * | ||
| 88 | * Since: 2.56 | ||
| 89 | */ | ||
| 90 | @@ -1668,9 +1668,18 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) | ||
| 91 | /** | ||
| 92 | * SoupWebsocketConnection:max-total-message-size: | ||
| 93 | * | ||
| 94 | - * The total message size for incoming packets. | ||
| 95 | + * The maximum size for incoming messages. | ||
| 96 | + * Set to a value to limit the total message size, or 0 to not | ||
| 97 | + * limit it. | ||
| 98 | * | ||
| 99 | - * The protocol expects or 0 to not limit it. | ||
| 100 | + * [method@Server.add_websocket_handler] will set this to a nonzero | ||
| 101 | + * default value to mitigate denial of service attacks. Clients must | ||
| 102 | + * choose their own default if they need to mitigate denial of service | ||
| 103 | + * attacks. You also need to set your own default if creating your own | ||
| 104 | + * server SoupWebsocketConnection without using SoupServer. | ||
| 105 | + * | ||
| 106 | + * Each message may consist of multiple packets, so also refer to | ||
| 107 | + *[property@WebSocketConnection:max-incoming-payload-size]. | ||
| 108 | * | ||
| 109 | */ | ||
| 110 | g_object_class_install_property (gobject_class, PROP_MAX_TOTAL_MESSAGE_SIZE, | ||
| 111 | @@ -1679,7 +1688,7 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) | ||
| 112 | "Max total message size ", | ||
| 113 | 0, | ||
| 114 | G_MAXUINT64, | ||
| 115 | - MAX_TOTAL_MESSAGE_SIZE_DEFAULT, | ||
| 116 | + 0, | ||
| 117 | G_PARAM_READWRITE | | ||
| 118 | G_PARAM_CONSTRUCT | | ||
| 119 | G_PARAM_STATIC_STRINGS)); | ||
| 120 | @@ -2210,7 +2219,7 @@ soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *s | ||
| 121 | { | ||
| 122 | SoupWebsocketConnectionPrivate *pv; | ||
| 123 | |||
| 124 | - g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), MAX_TOTAL_MESSAGE_SIZE_DEFAULT); | ||
| 125 | + g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), 0); | ||
| 126 | pv = self->pv; | ||
| 127 | |||
| 128 | return pv->max_total_message_size; | ||
| 129 | -- | ||
| 130 | 2.34.1 | ||
| 131 | |||
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 0000000000..a1a130ee3a --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1467.patch | |||
| @@ -0,0 +1,151 @@ | |||
| 1 | From b4f1dcb89a552fc03bfd0e65830b4f76fdc4a232 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Tue, 21 Apr 2026 17:10:37 +0800 | ||
| 4 | Subject: [PATCH] Fix CVE-2026-1467 | ||
| 5 | |||
| 6 | CVE: CVE-2026-1467 | ||
| 7 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/6dfe506618d2d5856618e5c0f85bd93386dc8012] | ||
| 8 | |||
| 9 | The original backport patch targets libsoup3. This patch has been | ||
| 10 | adapted accordingly for libsoup2, refer the openSUSE patch, see [1] | ||
| 11 | |||
| 12 | [1] https://www.suse.com/security/cve/CVE-2026-1467.html | ||
| 13 | |||
| 14 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 15 | --- | ||
| 16 | libsoup/soup-auth.c | 2 +- | ||
| 17 | libsoup/soup-message.c | 5 +++- | ||
| 18 | libsoup/soup-uri.c | 60 ++++++++++++++++++++++++++++++++++++++++++ | ||
| 19 | libsoup/soup-uri.h | 2 ++ | ||
| 20 | 4 files changed, 67 insertions(+), 2 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/libsoup/soup-auth.c b/libsoup/soup-auth.c | ||
| 23 | index 1896aab..e205fe3 100644 | ||
| 24 | --- a/libsoup/soup-auth.c | ||
| 25 | +++ b/libsoup/soup-auth.c | ||
| 26 | @@ -535,7 +535,7 @@ GSList * | ||
| 27 | soup_auth_get_protection_space (SoupAuth *auth, SoupURI *source_uri) | ||
| 28 | { | ||
| 29 | g_return_val_if_fail (SOUP_IS_AUTH (auth), NULL); | ||
| 30 | - g_return_val_if_fail (source_uri != NULL, NULL); | ||
| 31 | + g_return_val_if_fail (soup_uri_is_valid (source_uri), NULL); | ||
| 32 | |||
| 33 | return SOUP_AUTH_GET_CLASS (auth)->get_protection_space (auth, source_uri); | ||
| 34 | } | ||
| 35 | diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c | ||
| 36 | index da32b42..cc4f22b 100644 | ||
| 37 | --- a/libsoup/soup-message.c | ||
| 38 | +++ b/libsoup/soup-message.c | ||
| 39 | @@ -1044,7 +1044,7 @@ soup_message_new (const char *method, const char *uri_string) | ||
| 40 | uri = soup_uri_new (uri_string); | ||
| 41 | if (!uri) | ||
| 42 | return NULL; | ||
| 43 | - if (!uri->host) { | ||
| 44 | + if (!soup_uri_is_valid (uri)) { | ||
| 45 | soup_uri_free (uri); | ||
| 46 | return NULL; | ||
| 47 | } | ||
| 48 | @@ -1066,6 +1066,8 @@ soup_message_new (const char *method, const char *uri_string) | ||
| 49 | SoupMessage * | ||
| 50 | soup_message_new_from_uri (const char *method, SoupURI *uri) | ||
| 51 | { | ||
| 52 | + g_return_val_if_fail (soup_uri_is_valid (uri), NULL); | ||
| 53 | + | ||
| 54 | return g_object_new (SOUP_TYPE_MESSAGE, | ||
| 55 | SOUP_MESSAGE_METHOD, method, | ||
| 56 | SOUP_MESSAGE_URI, uri, | ||
| 57 | @@ -1676,6 +1678,7 @@ soup_message_set_uri (SoupMessage *msg, SoupURI *uri) | ||
| 58 | SoupMessagePrivate *priv; | ||
| 59 | |||
| 60 | g_return_if_fail (SOUP_IS_MESSAGE (msg)); | ||
| 61 | + g_return_if_fail (soup_uri_is_valid (uri)); | ||
| 62 | priv = soup_message_get_instance_private (msg); | ||
| 63 | |||
| 64 | if (priv->uri) | ||
| 65 | diff --git a/libsoup/soup-uri.c b/libsoup/soup-uri.c | ||
| 66 | index bdb7a17..d781ff1 100644 | ||
| 67 | --- a/libsoup/soup-uri.c | ||
| 68 | +++ b/libsoup/soup-uri.c | ||
| 69 | @@ -1342,6 +1342,66 @@ soup_uri_host_equal (gconstpointer v1, gconstpointer v2) | ||
| 70 | return g_ascii_strcasecmp (one->host, two->host) == 0; | ||
| 71 | } | ||
| 72 | |||
| 73 | +static gboolean | ||
| 74 | +is_valid_character_for_host (char c) | ||
| 75 | +{ | ||
| 76 | + static const char forbidden_chars[] = { '\t', '\n', '\r', ' ', '#', '/', ':', '<', '>', '?', '@', '[', '\\', ']', '^', '|' }; | ||
| 77 | + int i; | ||
| 78 | + | ||
| 79 | + for (i = 0; i < G_N_ELEMENTS (forbidden_chars); ++i) { | ||
| 80 | + if (c == forbidden_chars[i]) | ||
| 81 | + return FALSE; | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + return TRUE; | ||
| 85 | +} | ||
| 86 | + | ||
| 87 | +static gboolean | ||
| 88 | +is_host_valid (const char* host) | ||
| 89 | +{ | ||
| 90 | + int i; | ||
| 91 | + gboolean is_valid; | ||
| 92 | + char *ascii_host = NULL; | ||
| 93 | + | ||
| 94 | + if (!host || !host[0]) | ||
| 95 | + return FALSE; | ||
| 96 | + | ||
| 97 | + if (g_hostname_is_non_ascii (host)) { | ||
| 98 | + ascii_host = g_hostname_to_ascii (host); | ||
| 99 | + if (!ascii_host) | ||
| 100 | + return FALSE; | ||
| 101 | + | ||
| 102 | + host = ascii_host; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + if ((g_ascii_isdigit (host[0]) || strchr (host, ':')) && g_hostname_is_ip_address (host)) { | ||
| 106 | + g_free (ascii_host); | ||
| 107 | + return TRUE; | ||
| 108 | + } | ||
| 109 | + is_valid = TRUE; | ||
| 110 | + for (i = 0; host[i] && is_valid; i++) | ||
| 111 | + is_valid = is_valid_character_for_host (host[i]); | ||
| 112 | + | ||
| 113 | + g_free (ascii_host); | ||
| 114 | + | ||
| 115 | + return is_valid; | ||
| 116 | +} | ||
| 117 | + | ||
| 118 | +gboolean | ||
| 119 | +soup_uri_is_valid (SoupURI *uri) | ||
| 120 | +{ | ||
| 121 | + if (!uri) | ||
| 122 | + return FALSE; | ||
| 123 | + | ||
| 124 | + if (!is_host_valid (soup_uri_get_host (uri))) | ||
| 125 | + return FALSE; | ||
| 126 | + | ||
| 127 | + /* FIXME: validate other URI components? */ | ||
| 128 | + | ||
| 129 | + return TRUE; | ||
| 130 | +} | ||
| 131 | + | ||
| 132 | + | ||
| 133 | gboolean | ||
| 134 | soup_uri_is_http (SoupURI *uri, char **aliases) | ||
| 135 | { | ||
| 136 | diff --git a/libsoup/soup-uri.h b/libsoup/soup-uri.h | ||
| 137 | index 8015e4f..64099c3 100644 | ||
| 138 | --- a/libsoup/soup-uri.h | ||
| 139 | +++ b/libsoup/soup-uri.h | ||
| 140 | @@ -133,6 +133,8 @@ guint soup_uri_host_hash (gconstpointer key); | ||
| 141 | SOUP_AVAILABLE_IN_2_28 | ||
| 142 | gboolean soup_uri_host_equal (gconstpointer v1, | ||
| 143 | gconstpointer v2); | ||
| 144 | +SOUP_AVAILABLE_IN_2_68 | ||
| 145 | +gboolean soup_uri_is_valid (SoupURI *uri); | ||
| 146 | |||
| 147 | #define SOUP_URI_IS_VALID(uri) ((uri) && (uri)->scheme && (uri)->path) | ||
| 148 | #define SOUP_URI_VALID_FOR_HTTP(uri) ((uri) && ((uri)->scheme == SOUP_URI_SCHEME_HTTP || (uri)->scheme == SOUP_URI_SCHEME_HTTPS) && (uri)->host && (uri)->path) | ||
| 149 | -- | ||
| 150 | 2.34.1 | ||
| 151 | |||
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 0000000000..c6b813a98f --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1539.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From 285faea567e1e2a95226201175dbf745a64a2439 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Fri, 20 Mar 2026 15:04:22 +0800 | ||
| 4 | Subject: [PATCH 4/4] Also remove Proxy-Authorization header on cross origin | ||
| 5 | redirect | ||
| 6 | |||
| 7 | Closes #489 | ||
| 8 | |||
| 9 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/98c1285d9d78662c38bf14b4a128af01ccfdb446] | ||
| 10 | CVE: CVE-2026-1539 | ||
| 11 | |||
| 12 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 13 | --- | ||
| 14 | libsoup/soup-session.c | 1 + | ||
| 15 | 1 file changed, 1 insertion(+) | ||
| 16 | |||
| 17 | diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c | ||
| 18 | index cc0d04c..0361856 100644 | ||
| 19 | --- a/libsoup/soup-session.c | ||
| 20 | +++ b/libsoup/soup-session.c | ||
| 21 | @@ -1190,6 +1190,7 @@ soup_session_redirect_message (SoupSession *session, SoupMessage *msg) | ||
| 22 | /* Strip all credentials on cross-origin redirect. */ | ||
| 23 | if (!soup_uri_host_equal (soup_message_get_uri (msg), new_uri)) { | ||
| 24 | soup_message_headers_remove (msg->request_headers, "Authorization"); | ||
| 25 | + soup_message_headers_remove (msg->request_headers, "Proxy-Authorization"); | ||
| 26 | soup_message_set_auth (msg, NULL); | ||
| 27 | } | ||
| 28 | |||
| 29 | -- | ||
| 30 | 2.34.1 | ||
| 31 | |||
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 0000000000..a5547132a2 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1760.patch | |||
| @@ -0,0 +1,153 @@ | |||
| 1 | From 0fca37e0fce479284e62091ffb9b7d6caff1c7e4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <cgarcia@igalia.com> | ||
| 3 | Date: Thu, 29 Jan 2026 16:43:28 +0100 | ||
| 4 | Subject: [PATCH] server: close the connection after responsing a request | ||
| 5 | containing Content-Length and Transfer-Encoding | ||
| 6 | |||
| 7 | Closes #475 | ||
| 8 | |||
| 9 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/6224df5a471e9040a99dd3dc2e91817a701b1bf6] | ||
| 10 | CVE: CVE-2026-1760 | ||
| 11 | |||
| 12 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 13 | --- | ||
| 14 | libsoup/soup-message-headers.c | 86 +++++++++++++++----------------- | ||
| 15 | libsoup/soup-message-server-io.c | 8 +++ | ||
| 16 | 2 files changed, 49 insertions(+), 45 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c | ||
| 19 | index 535cf14..06d9600 100644 | ||
| 20 | --- a/libsoup/soup-message-headers.c | ||
| 21 | +++ b/libsoup/soup-message-headers.c | ||
| 22 | @@ -666,38 +666,13 @@ clear_special_headers (SoupMessageHeaders *hdrs) | ||
| 23 | static void | ||
| 24 | transfer_encoding_setter (SoupMessageHeaders *hdrs, const char *value) | ||
| 25 | { | ||
| 26 | - if (value) { | ||
| 27 | - /* "identity" is a wrong value according to RFC errata 408, | ||
| 28 | - * and RFC 7230 does not list it as valid transfer-coding. | ||
| 29 | - * Nevertheless, the obsolete RFC 2616 stated "identity" | ||
| 30 | - * as valid, so we can't handle it as unrecognized here | ||
| 31 | - * for compatibility reasons. | ||
| 32 | - */ | ||
| 33 | - if (g_ascii_strcasecmp (value, "chunked") == 0) | ||
| 34 | - hdrs->encoding = SOUP_ENCODING_CHUNKED; | ||
| 35 | - else if (g_ascii_strcasecmp (value, "identity") != 0) | ||
| 36 | - hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; | ||
| 37 | - } else | ||
| 38 | - hdrs->encoding = -1; | ||
| 39 | + hdrs->encoding = -1; | ||
| 40 | } | ||
| 41 | |||
| 42 | static void | ||
| 43 | content_length_setter (SoupMessageHeaders *hdrs, const char *value) | ||
| 44 | { | ||
| 45 | - /* Transfer-Encoding trumps Content-Length */ | ||
| 46 | - if (hdrs->encoding == SOUP_ENCODING_CHUNKED) | ||
| 47 | - return; | ||
| 48 | - | ||
| 49 | - if (value) { | ||
| 50 | - char *end; | ||
| 51 | - | ||
| 52 | - hdrs->content_length = g_ascii_strtoull (value, &end, 10); | ||
| 53 | - if (*end) | ||
| 54 | - hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; | ||
| 55 | - else | ||
| 56 | - hdrs->encoding = SOUP_ENCODING_CONTENT_LENGTH; | ||
| 57 | - } else | ||
| 58 | - hdrs->encoding = -1; | ||
| 59 | + hdrs->encoding = -1; | ||
| 60 | } | ||
| 61 | |||
| 62 | /** | ||
| 63 | @@ -730,29 +705,50 @@ SoupEncoding | ||
| 64 | soup_message_headers_get_encoding (SoupMessageHeaders *hdrs) | ||
| 65 | { | ||
| 66 | const char *header; | ||
| 67 | + const char *content_length; | ||
| 68 | + const char *transfer_encoding; | ||
| 69 | |||
| 70 | if (hdrs->encoding != -1) | ||
| 71 | return hdrs->encoding; | ||
| 72 | |||
| 73 | - /* If Transfer-Encoding was set, hdrs->encoding would already | ||
| 74 | - * be set. So we don't need to check that possibility. | ||
| 75 | - */ | ||
| 76 | - header = soup_message_headers_get_one (hdrs, "Content-Length"); | ||
| 77 | - if (header) { | ||
| 78 | - content_length_setter (hdrs, header); | ||
| 79 | - if (hdrs->encoding != -1) | ||
| 80 | - return hdrs->encoding; | ||
| 81 | - } | ||
| 82 | + /* Transfer-Encoding is checked first because it overrides the Content-Length */ | ||
| 83 | + transfer_encoding = soup_message_headers_get_one (hdrs, "Transfer-Encoding"); | ||
| 84 | + if (transfer_encoding) { | ||
| 85 | + /* "identity" is a wrong value according to RFC errata 408, | ||
| 86 | + * and RFC 7230 does not list it as valid transfer-coding. | ||
| 87 | + * Nevertheless, the obsolete RFC 2616 stated "identity" | ||
| 88 | + * as valid, so we can't handle it as unrecognized here | ||
| 89 | + * for compatibility reasons. | ||
| 90 | + */ | ||
| 91 | + if (g_ascii_strcasecmp (transfer_encoding, "chunked") == 0) | ||
| 92 | + hdrs->encoding = SOUP_ENCODING_CHUNKED; | ||
| 93 | + else if (g_ascii_strcasecmp (transfer_encoding, "identity") != 0) | ||
| 94 | + hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; | ||
| 95 | + } else { | ||
| 96 | + content_length = soup_message_headers_get_one (hdrs, "Content-Length"); | ||
| 97 | + if (content_length) { | ||
| 98 | + char *end; | ||
| 99 | + | ||
| 100 | + hdrs->content_length = g_ascii_strtoull (content_length, &end, 10); | ||
| 101 | + if (*end) | ||
| 102 | + hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; | ||
| 103 | + else | ||
| 104 | + hdrs->encoding = SOUP_ENCODING_CONTENT_LENGTH; | ||
| 105 | + } | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + if (hdrs->encoding == -1) { | ||
| 109 | + /* Per RFC 2616 4.4, a response body that doesn't indicate its | ||
| 110 | + * encoding otherwise is terminated by connection close, and a | ||
| 111 | + * request that doesn't indicate otherwise has no body. Note | ||
| 112 | + * that SoupMessage calls soup_message_headers_set_encoding() | ||
| 113 | + * to override the response body default for our own | ||
| 114 | + * server-side messages. | ||
| 115 | + */ | ||
| 116 | + hdrs->encoding = (hdrs->type == SOUP_MESSAGE_HEADERS_RESPONSE) ? | ||
| 117 | + SOUP_ENCODING_EOF : SOUP_ENCODING_NONE; | ||
| 118 | + } | ||
| 119 | |||
| 120 | - /* Per RFC 2616 4.4, a response body that doesn't indicate its | ||
| 121 | - * encoding otherwise is terminated by connection close, and a | ||
| 122 | - * request that doesn't indicate otherwise has no body. Note | ||
| 123 | - * that SoupMessage calls soup_message_headers_set_encoding() | ||
| 124 | - * to override the response body default for our own | ||
| 125 | - * server-side messages. | ||
| 126 | - */ | ||
| 127 | - hdrs->encoding = (hdrs->type == SOUP_MESSAGE_HEADERS_RESPONSE) ? | ||
| 128 | - SOUP_ENCODING_EOF : SOUP_ENCODING_NONE; | ||
| 129 | return hdrs->encoding; | ||
| 130 | } | ||
| 131 | |||
| 132 | diff --git a/libsoup/soup-message-server-io.c b/libsoup/soup-message-server-io.c | ||
| 133 | index 71e943b..df5eafc 100644 | ||
| 134 | --- a/libsoup/soup-message-server-io.c | ||
| 135 | +++ b/libsoup/soup-message-server-io.c | ||
| 136 | @@ -80,6 +80,14 @@ parse_request_headers (SoupMessage *msg, char *headers, guint headers_len, | ||
| 137 | return SOUP_STATUS_BAD_REQUEST; | ||
| 138 | } | ||
| 139 | |||
| 140 | + /* A server MAY reject a request that contains both Content-Length and | ||
| 141 | + * Transfer-Encoding or process such a request in accordance with the | ||
| 142 | + * Transfer-Encoding alone. Regardless, the server MUST close the connection | ||
| 143 | + * after responding to such a request to avoid the potential attacks | ||
| 144 | + */ | ||
| 145 | + if (*encoding == SOUP_ENCODING_CHUNKED && soup_message_headers_get_one (msg->request_headers, "Content-Length")) | ||
| 146 | + soup_message_headers_replace (msg->request_headers, "Connection", "close"); | ||
| 147 | + | ||
| 148 | /* Generate correct context for request */ | ||
| 149 | req_host = soup_message_headers_get_one (msg->request_headers, "Host"); | ||
| 150 | if (req_host && strchr (req_host, '/')) { | ||
| 151 | -- | ||
| 152 | 2.34.1 | ||
| 153 | |||
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 0000000000..573e3e1dd0 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1761.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | From 07757b7feacfc660c6c463ff2b773c13bc42d2c9 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Thu, 19 Mar 2026 17:21:32 +0800 | ||
| 4 | Subject: [PATCH 3/4] multipart: check length of bytes read | ||
| 5 | soup_filter_input_stream_read_until() | ||
| 6 | |||
| 7 | We do make sure the read length is smaller than the buffer length when | ||
| 8 | the boundary is not found, but we should do the same when the boundary | ||
| 9 | is found. | ||
| 10 | |||
| 11 | Spotted in #YWH-PGM9867-149 | ||
| 12 | Closes #493 | ||
| 13 | |||
| 14 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/cfa9d90d1a5c274233554a264c56551c13d6a6f0] | ||
| 15 | CVE: CVE-2026-1761 | ||
| 16 | |||
| 17 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 18 | --- | ||
| 19 | libsoup/soup-filter-input-stream.c | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/libsoup/soup-filter-input-stream.c b/libsoup/soup-filter-input-stream.c | ||
| 23 | index 2c30bf9..c34510b 100644 | ||
| 24 | --- a/libsoup/soup-filter-input-stream.c | ||
| 25 | +++ b/libsoup/soup-filter-input-stream.c | ||
| 26 | @@ -272,6 +272,6 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, | ||
| 27 | if (eof && !*got_boundary) | ||
| 28 | read_length = MIN (fstream->priv->buf->len, length); | ||
| 29 | else | ||
| 30 | - read_length = p - buf; | ||
| 31 | + read_length = MIN ((gsize)(p - buf), length); | ||
| 32 | return read_from_buf (fstream, buffer, read_length); | ||
| 33 | } | ||
| 34 | -- | ||
| 35 | 2.34.1 | ||
| 36 | |||
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 0000000000..5f445f7354 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1801.patch | |||
| @@ -0,0 +1,126 @@ | |||
| 1 | From f9c933e258e9ef2f221cca6395f8092a1c4b93dd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Thu, 19 Mar 2026 17:10:36 +0800 | ||
| 4 | Subject: [PATCH 2/4] Fix CVE-2026-1801 | ||
| 5 | |||
| 6 | This patch merges 3 upstream patches | ||
| 7 | |||
| 8 | Chery-pick the first two patches to make the context is the same as the | ||
| 9 | third patch that fix CVE-2026-1801 | ||
| 10 | |||
| 11 | Upstream-Status: Backport | ||
| 12 | [https://gitlab.gnome.org/GNOME/libsoup/-/commit/1e32b5e123aa1689505472bdbfcbd897eac41977, | ||
| 13 | https://gitlab.gnome.org/GNOME/libsoup/-/commit/8a2e15c88512ae4517d2c2c887d39299725b22da, | ||
| 14 | https://gitlab.gnome.org/GNOME/libsoup/-/commit/b9a1c0663ff8ab6e79715db4b35b54f560416ddd] | ||
| 15 | CVE: CVE-2026-1801 | ||
| 16 | |||
| 17 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 18 | --- | ||
| 19 | libsoup/soup-body-input-stream.c | 66 ++++++++++++++++++++------------ | ||
| 20 | 1 file changed, 41 insertions(+), 25 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/libsoup/soup-body-input-stream.c b/libsoup/soup-body-input-stream.c | ||
| 23 | index 6b95884..25d9312 100644 | ||
| 24 | --- a/libsoup/soup-body-input-stream.c | ||
| 25 | +++ b/libsoup/soup-body-input-stream.c | ||
| 26 | @@ -159,15 +159,18 @@ soup_body_input_stream_read_chunked (SoupBodyInputStream *bistream, | ||
| 27 | again: | ||
| 28 | switch (bistream->priv->chunked_state) { | ||
| 29 | case SOUP_BODY_INPUT_STREAM_STATE_CHUNK_SIZE: | ||
| 30 | - nread = soup_filter_input_stream_read_line ( | ||
| 31 | - fstream, metabuf, sizeof (metabuf), blocking, | ||
| 32 | - &got_line, cancellable, error); | ||
| 33 | - if (nread <= 0) | ||
| 34 | + nread = soup_filter_input_stream_read_until ( | ||
| 35 | + fstream, metabuf, sizeof (metabuf), | ||
| 36 | + "\r\n", 2, blocking, TRUE, | ||
| 37 | + &got_line, cancellable, error); | ||
| 38 | + if (nread < 0) | ||
| 39 | return nread; | ||
| 40 | - if (!got_line) { | ||
| 41 | - g_set_error_literal (error, G_IO_ERROR, | ||
| 42 | - G_IO_ERROR_PARTIAL_INPUT, | ||
| 43 | - _("Connection terminated unexpectedly")); | ||
| 44 | + if (nread == 0 || !got_line) { | ||
| 45 | + if (error && *error == NULL) { | ||
| 46 | + g_set_error_literal (error, G_IO_ERROR, | ||
| 47 | + G_IO_ERROR_PARTIAL_INPUT, | ||
| 48 | + ("Connection terminated unexpectedly")); | ||
| 49 | + } | ||
| 50 | return -1; | ||
| 51 | } | ||
| 52 | |||
| 53 | @@ -180,9 +183,9 @@ again: | ||
| 54 | |||
| 55 | case SOUP_BODY_INPUT_STREAM_STATE_CHUNK: | ||
| 56 | nread = soup_body_input_stream_read_raw ( | ||
| 57 | - bistream, buffer, | ||
| 58 | - MIN (count, bistream->priv->read_length), | ||
| 59 | - blocking, cancellable, error); | ||
| 60 | + bistream, buffer, | ||
| 61 | + MIN (count, bistream->priv->read_length), | ||
| 62 | + blocking, cancellable, error); | ||
| 63 | if (nread > 0) { | ||
| 64 | bistream->priv->read_length -= nread; | ||
| 65 | if (bistream->priv->read_length == 0) | ||
| 66 | @@ -191,16 +194,19 @@ again: | ||
| 67 | return nread; | ||
| 68 | |||
| 69 | case SOUP_BODY_INPUT_STREAM_STATE_CHUNK_END: | ||
| 70 | - nread = soup_filter_input_stream_read_line ( | ||
| 71 | - SOUP_FILTER_INPUT_STREAM (bistream->priv->base_stream), | ||
| 72 | - metabuf, sizeof (metabuf), blocking, | ||
| 73 | - &got_line, cancellable, error); | ||
| 74 | - if (nread <= 0) | ||
| 75 | + nread = soup_filter_input_stream_read_until ( | ||
| 76 | + SOUP_FILTER_INPUT_STREAM (bistream->priv->base_stream), | ||
| 77 | + metabuf, sizeof (metabuf), | ||
| 78 | + "\r\n", 2, blocking, TRUE, | ||
| 79 | + &got_line, cancellable, error); | ||
| 80 | + if (nread < 0) | ||
| 81 | return nread; | ||
| 82 | - if (!got_line) { | ||
| 83 | - g_set_error_literal (error, G_IO_ERROR, | ||
| 84 | - G_IO_ERROR_PARTIAL_INPUT, | ||
| 85 | - _("Connection terminated unexpectedly")); | ||
| 86 | + if (nread == 0 || !got_line) { | ||
| 87 | + if (error && *error == NULL) { | ||
| 88 | + g_set_error_literal (error, G_IO_ERROR, | ||
| 89 | + G_IO_ERROR_PARTIAL_INPUT, | ||
| 90 | + _("Connection terminated unexpectedly")); | ||
| 91 | + } | ||
| 92 | return -1; | ||
| 93 | } | ||
| 94 | |||
| 95 | @@ -208,13 +214,23 @@ again: | ||
| 96 | break; | ||
| 97 | |||
| 98 | case SOUP_BODY_INPUT_STREAM_STATE_TRAILERS: | ||
| 99 | - nread = soup_filter_input_stream_read_line ( | ||
| 100 | - fstream, buffer, count, blocking, | ||
| 101 | - &got_line, cancellable, error); | ||
| 102 | - if (nread <= 0) | ||
| 103 | + nread = soup_filter_input_stream_read_until ( | ||
| 104 | + fstream, metabuf, sizeof (metabuf), | ||
| 105 | + "\r\n", 2, blocking, TRUE, | ||
| 106 | + &got_line, cancellable, error); | ||
| 107 | + if (nread < 0) | ||
| 108 | return nread; | ||
| 109 | |||
| 110 | - if (strncmp (buffer, "\r\n", nread) || strncmp (buffer, "\n", nread)) { | ||
| 111 | + if (nread == 0) { | ||
| 112 | + if (error && *error == NULL) { | ||
| 113 | + g_set_error_literal (error, G_IO_ERROR, | ||
| 114 | + G_IO_ERROR_PARTIAL_INPUT, | ||
| 115 | + _("Connection terminated unexpectedly")); | ||
| 116 | + } | ||
| 117 | + return -1; | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + if (nread == 2 && strncmp (metabuf, "\r\n", nread) == 0) { | ||
| 121 | bistream->priv->chunked_state = SOUP_BODY_INPUT_STREAM_STATE_DONE; | ||
| 122 | bistream->priv->eof = TRUE; | ||
| 123 | } | ||
| 124 | -- | ||
| 125 | 2.34.1 | ||
| 126 | |||
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 0000000000..814672caca --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2369.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From 5c4e65fd99ff4e3ae76c7985c5e160bb07ea0f92 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Wed, 25 Mar 2026 11:24:36 +0800 | ||
| 4 | Subject: [PATCH] sniffer: Handle potential underflow | ||
| 5 | |||
| 6 | Closes #498 | ||
| 7 | |||
| 8 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/b91bbd7d7888c85b17a8b33173caa806dff51681] | ||
| 9 | CVE: CVE-2026-2369 | ||
| 10 | |||
| 11 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 12 | --- | ||
| 13 | libsoup/soup-content-sniffer.c | 4 ++++ | ||
| 14 | 1 file changed, 4 insertions(+) | ||
| 15 | |||
| 16 | diff --git a/libsoup/soup-content-sniffer.c b/libsoup/soup-content-sniffer.c | ||
| 17 | index 3edc568..b091bca 100644 | ||
| 18 | --- a/libsoup/soup-content-sniffer.c | ||
| 19 | +++ b/libsoup/soup-content-sniffer.c | ||
| 20 | @@ -504,6 +504,10 @@ sniff_unknown (SoupContentSniffer *sniffer, SoupBuffer *buffer, | ||
| 21 | if (!sniff_scriptable && type_row->scriptable) | ||
| 22 | continue; | ||
| 23 | |||
| 24 | + /* Ensure we have data to sniff - prevents underflow in resource_length - 1 */ | ||
| 25 | + if (resource_length == 0) | ||
| 26 | + continue; | ||
| 27 | + | ||
| 28 | if (type_row->has_ws) { | ||
| 29 | guint index_stream = 0; | ||
| 30 | guint index_pattern = 0; | ||
| 31 | -- | ||
| 32 | 2.34.1 | ||
| 33 | |||
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 0000000000..99d42acb1e --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2443.patch | |||
| @@ -0,0 +1,135 @@ | |||
| 1 | From 7bb3115a296154e3f465900ea5c984a493385a7f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Philip Withnall <pwithnall@gnome.org> | ||
| 3 | Date: Fri, 19 Dec 2025 23:49:05 +0000 | ||
| 4 | Subject: [PATCH] Fix CVE-2026-2443 | ||
| 5 | |||
| 6 | Upstream-Status: Backport [ | ||
| 7 | c1796442 soup-message-headers: Rework Range response statuses to match Apache | ||
| 8 | 191ef313 soup-message-headers: Fix rejection of Range headers with trailing garbage | ||
| 9 | be677bea soup-message-headers: Fix parsing of invalid Range suffix lengths | ||
| 10 | 2bbfdfe8 soup-message-headers: Reject ranges where end is before start | ||
| 11 | 739bf7cb soup-message-headers: Reject invalid Range ends longer than the content | ||
| 12 | ] | ||
| 13 | CVE: CVE-2026-2443 | ||
| 14 | |||
| 15 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 16 | --- | ||
| 17 | libsoup/soup-message-headers.c | 62 ++++++++++++++++++++++++---------- | ||
| 18 | 1 file changed, 44 insertions(+), 18 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c | ||
| 21 | index bb20bbb..535cf14 100644 | ||
| 22 | --- a/libsoup/soup-message-headers.c | ||
| 23 | +++ b/libsoup/soup-message-headers.c | ||
| 24 | @@ -943,10 +943,16 @@ sort_ranges (gconstpointer a, gconstpointer b) | ||
| 25 | } | ||
| 26 | |||
| 27 | /* like soup_message_headers_get_ranges(), except it returns: | ||
| 28 | - * SOUP_STATUS_OK if there is no Range or it should be ignored. | ||
| 29 | - * SOUP_STATUS_PARTIAL_CONTENT if there is at least one satisfiable range. | ||
| 30 | - * SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE if @check_satisfiable | ||
| 31 | - * is %TRUE and the request is not satisfiable given @total_length. | ||
| 32 | + * - SOUP_STATUS_OK if there is no Range or it should be ignored due to being | ||
| 33 | + * entirely invalid. | ||
| 34 | + * - SOUP_STATUS_PARTIAL_CONTENT if there is at least one satisfiable range. | ||
| 35 | + * - SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE if @check_satisfiable | ||
| 36 | + * is %TRUE, the Range is valid, but no part of the request is satisfiable | ||
| 37 | + * given @total_length. | ||
| 38 | + * | ||
| 39 | + * @ranges and @length are only set if SOUP_STATUS_PARTIAL_CONTENT is returned. | ||
| 40 | + * | ||
| 41 | + * See https://httpwg.org/specs/rfc9110.html#field.range | ||
| 42 | */ | ||
| 43 | guint | ||
| 44 | soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, | ||
| 45 | @@ -960,22 +966,28 @@ soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, | ||
| 46 | GArray *array; | ||
| 47 | char *spec, *end; | ||
| 48 | guint status = SOUP_STATUS_OK; | ||
| 49 | + gboolean is_all_valid = TRUE; | ||
| 50 | |||
| 51 | if (!range || strncmp (range, "bytes", 5) != 0) | ||
| 52 | - return status; | ||
| 53 | + return SOUP_STATUS_OK; /* invalid header or unknown range unit */ | ||
| 54 | |||
| 55 | range += 5; | ||
| 56 | while (g_ascii_isspace (*range)) | ||
| 57 | range++; | ||
| 58 | if (*range++ != '=') | ||
| 59 | - return status; | ||
| 60 | + return SOUP_STATUS_OK; /* invalid header */ | ||
| 61 | while (g_ascii_isspace (*range)) | ||
| 62 | range++; | ||
| 63 | |||
| 64 | range_list = soup_header_parse_list (range); | ||
| 65 | if (!range_list) | ||
| 66 | - return status; | ||
| 67 | + return SOUP_STATUS_OK; /* invalid list */ | ||
| 68 | |||
| 69 | + /* Loop through the ranges and modify the status accordingly. Default to | ||
| 70 | + * status 200 (OK, ignoring the ranges). Switch to status 206 (Partial | ||
| 71 | + * Content) if there is at least one partially valid range. Switch to | ||
| 72 | + * status 416 (Range Not Satisfiable) if there are no partially valid | ||
| 73 | + * ranges at all. */ | ||
| 74 | array = g_array_new (FALSE, FALSE, sizeof (SoupRange)); | ||
| 75 | for (r = range_list; r; r = r->next) { | ||
| 76 | SoupRange cur; | ||
| 77 | @@ -988,30 +1000,44 @@ soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, | ||
| 78 | cur.start = g_ascii_strtoull (spec, &end, 10); | ||
| 79 | if (*end == '-') | ||
| 80 | end++; | ||
| 81 | - if (*end) { | ||
| 82 | + if (*end) | ||
| 83 | cur.end = g_ascii_strtoull (end, &end, 10); | ||
| 84 | - if (cur.end < cur.start) { | ||
| 85 | - status = SOUP_STATUS_OK; | ||
| 86 | - break; | ||
| 87 | - } | ||
| 88 | - } else | ||
| 89 | + else | ||
| 90 | cur.end = total_length - 1; | ||
| 91 | } | ||
| 92 | + | ||
| 93 | if (*end) { | ||
| 94 | - status = SOUP_STATUS_OK; | ||
| 95 | - break; | ||
| 96 | - } else if (check_satisfiable && cur.start >= total_length) { | ||
| 97 | - if (status == SOUP_STATUS_OK) | ||
| 98 | - status = SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE; | ||
| 99 | + /* Junk after the range */ | ||
| 100 | + is_all_valid = FALSE; | ||
| 101 | + continue; | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + if (cur.end < cur.start) { | ||
| 105 | + is_all_valid = FALSE; | ||
| 106 | + continue; | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + g_assert (cur.start >= 0); | ||
| 110 | + if (cur.end >= total_length) | ||
| 111 | + cur.end = total_length - 1; | ||
| 112 | + | ||
| 113 | + if (cur.start >= total_length) { | ||
| 114 | + /* Range is valid, but unsatisfiable */ | ||
| 115 | continue; | ||
| 116 | } | ||
| 117 | |||
| 118 | + /* We have at least one (at least partially) satisfiable range */ | ||
| 119 | g_array_append_val (array, cur); | ||
| 120 | status = SOUP_STATUS_PARTIAL_CONTENT; | ||
| 121 | } | ||
| 122 | soup_header_free_list (range_list); | ||
| 123 | |||
| 124 | if (status != SOUP_STATUS_PARTIAL_CONTENT) { | ||
| 125 | + g_assert (status == SOUP_STATUS_OK); | ||
| 126 | + | ||
| 127 | + if (is_all_valid && check_satisfiable) | ||
| 128 | + status = SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE; | ||
| 129 | + | ||
| 130 | g_array_free (array, TRUE); | ||
| 131 | return status; | ||
| 132 | } | ||
| 133 | -- | ||
| 134 | 2.34.1 | ||
| 135 | |||
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 68ec576d9b..e588e60cd5 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 \ | |||
| 40 | file://CVE-2025-4948.patch \ | 40 | file://CVE-2025-4948.patch \ |
| 41 | file://CVE-2025-4969.patch \ | 41 | file://CVE-2025-4969.patch \ |
| 42 | file://CVE-2025-4945.patch \ | 42 | file://CVE-2025-4945.patch \ |
| 43 | file://CVE-2025-14523.patch \ | ||
| 44 | file://CVE-2025-32049-1.patch \ | ||
| 45 | file://CVE-2025-32049-2.patch \ | ||
| 46 | file://CVE-2026-2443.patch \ | ||
| 47 | file://CVE-2026-1801.patch \ | ||
| 48 | file://CVE-2026-1761.patch \ | ||
| 49 | file://CVE-2026-1539.patch \ | ||
| 50 | file://CVE-2026-2369.patch \ | ||
| 51 | file://CVE-2026-1760.patch \ | ||
| 52 | file://CVE-2026-1467.patch \ | ||
| 43 | " | 53 | " |
| 44 | SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" | 54 | SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" |
| 45 | 55 | ||
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 0000000000..4585c586b4 --- /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 @@ | |||
| 1 | From 5ea04d70221a18cbd711a9d570c81ef0b9be6765 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 10 Apr 2026 18:41:04 -0700 | ||
| 4 | Subject: [PATCH] compat: convert K&R function definitions to ANSI C prototypes | ||
| 5 | |||
| 6 | Replace old-style K&R parameter declarations with modern ANSI C | ||
| 7 | function prototypes in basename.c, dirname.c, and strmode.c. | ||
| 8 | |||
| 9 | Required for compatibility with clang 22 under -std=gnu23, which | ||
| 10 | no longer supports K&R-style function definitions. | ||
| 11 | |||
| 12 | Upstream-Status: Pending | ||
| 13 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 14 | --- | ||
| 15 | compat/basename.c | 3 +-- | ||
| 16 | compat/dirname.c | 3 +-- | ||
| 17 | compat/strmode.c | 4 +--- | ||
| 18 | 3 files changed, 3 insertions(+), 7 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/compat/basename.c b/compat/basename.c | ||
| 21 | index 2ac1e13..7b0384a 100644 | ||
| 22 | --- a/compat/basename.c | ||
| 23 | +++ b/compat/basename.c | ||
| 24 | @@ -36,8 +36,7 @@ static char rcsid[] = "$OpenBSD: basename.c,v 1.4 1999/05/30 17:10:30 espie Exp | ||
| 25 | #include <sys/param.h> | ||
| 26 | |||
| 27 | char * | ||
| 28 | -openbsd_basename(path) | ||
| 29 | - const char *path; | ||
| 30 | +openbsd_basename(const char *path) | ||
| 31 | { | ||
| 32 | static char bname[MAXPATHLEN]; | ||
| 33 | register const char *endp, *startp; | ||
| 34 | diff --git a/compat/dirname.c b/compat/dirname.c | ||
| 35 | index 986db4a..6c1231d 100644 | ||
| 36 | --- a/compat/dirname.c | ||
| 37 | +++ b/compat/dirname.c | ||
| 38 | @@ -36,8 +36,7 @@ static char rcsid[] = "$OpenBSD: dirname.c,v 1.4 1999/05/30 17:10:30 espie Exp $ | ||
| 39 | #include <sys/param.h> | ||
| 40 | |||
| 41 | char * | ||
| 42 | -openbsd_dirname(path) | ||
| 43 | - const char *path; | ||
| 44 | +openbsd_dirname (const char *path) | ||
| 45 | { | ||
| 46 | static char bname[MAXPATHLEN]; | ||
| 47 | register const char *endp; | ||
| 48 | diff --git a/compat/strmode.c b/compat/strmode.c | ||
| 49 | index 5e7f15e..2ffab61 100644 | ||
| 50 | --- a/compat/strmode.c | ||
| 51 | +++ b/compat/strmode.c | ||
| 52 | @@ -40,9 +40,7 @@ static char *rcsid = "$OpenBSD: strmode.c,v 1.3 1997/06/13 13:57:20 deraadt Exp | ||
| 53 | #include <string.h> | ||
| 54 | |||
| 55 | void | ||
| 56 | -strmode(mode, p) | ||
| 57 | - register mode_t mode; | ||
| 58 | - register char *p; | ||
| 59 | +strmode (register mode_t mode, register char *p) | ||
| 60 | { | ||
| 61 | /* print type */ | ||
| 62 | 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 a17509d2e5..39d410064e 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 \ | |||
| 20 | file://CVE-2021-33643-CVE-2021-33644.patch \ | 20 | file://CVE-2021-33643-CVE-2021-33644.patch \ |
| 21 | file://CVE-2021-33640-CVE-2021-33645-CVE-2021-33646.patch \ | 21 | file://CVE-2021-33640-CVE-2021-33645-CVE-2021-33646.patch \ |
| 22 | file://CVE-2013-4420.patch \ | 22 | file://CVE-2013-4420.patch \ |
| 23 | file://0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch \ | ||
| 23 | " | 24 | " |
| 24 | 25 | ||
| 25 | S = "${UNPACKDIR}/${BPN}" | 26 | 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 0000000000..348dc88838 --- /dev/null +++ b/meta-oe/recipes-support/libvarlink/libvarlink/0001-transport-tool-use-const-for-strchr-return-pointers.patch | |||
| @@ -0,0 +1,96 @@ | |||
| 1 | From 27e4f4504b3c60356b9507e926aae2b82ba47275 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Wed, 15 Apr 2026 11:10:01 -0700 | ||
| 4 | Subject: [PATCH] transport,tool: use const for strchr return pointers | ||
| 5 | |||
| 6 | Fixes errors seen after c23 implemented in glibc | ||
| 7 | |||
| 8 | lib/transport-device.c:13:14: error: assigning to 'char *' from 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] | ||
| 9 | 13 | parm = strchr(address, ';'); | ||
| 10 | | ^ ~~~~~~~~~~~~~~~~~~~~ | ||
| 11 | 1 error generated. | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://github.com/varlink/libvarlink/pull/85] | ||
| 14 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 15 | --- | ||
| 16 | lib/transport-device.c | 2 +- | ||
| 17 | lib/transport-tcp.c | 4 ++-- | ||
| 18 | lib/transport-unix.c | 2 +- | ||
| 19 | tool/command-format.c | 2 +- | ||
| 20 | tool/command-info.c | 2 +- | ||
| 21 | 5 files changed, 6 insertions(+), 6 deletions(-) | ||
| 22 | |||
| 23 | diff --git a/lib/transport-device.c b/lib/transport-device.c | ||
| 24 | index 0b8cec5..205eac4 100644 | ||
| 25 | --- a/lib/transport-device.c | ||
| 26 | +++ b/lib/transport-device.c | ||
| 27 | @@ -7,7 +7,7 @@ | ||
| 28 | #include <fcntl.h> | ||
| 29 | |||
| 30 | static int strip_parameters(const char *address, char **devicep) { | ||
| 31 | - char *parm; | ||
| 32 | + const char *parm; | ||
| 33 | _cleanup_(freep) char *device = NULL; | ||
| 34 | |||
| 35 | parm = strchr(address, ';'); | ||
| 36 | diff --git a/lib/transport-tcp.c b/lib/transport-tcp.c | ||
| 37 | index 92a0e7b..fff2379 100644 | ||
| 38 | --- a/lib/transport-tcp.c | ||
| 39 | +++ b/lib/transport-tcp.c | ||
| 40 | @@ -10,7 +10,7 @@ | ||
| 41 | #include <sys/socket.h> | ||
| 42 | |||
| 43 | static int strip_parameters(const char *address, char **hostp) { | ||
| 44 | - char *parm; | ||
| 45 | + const char *parm; | ||
| 46 | _cleanup_(freep) char *host = NULL; | ||
| 47 | |||
| 48 | parm = strchr(address, ';'); | ||
| 49 | @@ -34,7 +34,7 @@ static void freeaddrinfop(struct addrinfo **ai) { | ||
| 50 | static int resolve_addrinfo(const char *address, struct addrinfo **resultp) { | ||
| 51 | _cleanup_(freep) char *host = NULL; | ||
| 52 | char *endptr; | ||
| 53 | - char *port; | ||
| 54 | + const char *port; | ||
| 55 | struct addrinfo hints = { | ||
| 56 | .ai_family = AF_UNSPEC, | ||
| 57 | .ai_socktype = SOCK_STREAM, | ||
| 58 | diff --git a/lib/transport-unix.c b/lib/transport-unix.c | ||
| 59 | index 5dc3853..2414b29 100644 | ||
| 60 | --- a/lib/transport-unix.c | ||
| 61 | +++ b/lib/transport-unix.c | ||
| 62 | @@ -10,7 +10,7 @@ | ||
| 63 | #include <unistd.h> | ||
| 64 | |||
| 65 | static int strip_parameters(const char *address, char **pathp) { | ||
| 66 | - char *parm; | ||
| 67 | + const char *parm; | ||
| 68 | _cleanup_(freep) char *path = NULL; | ||
| 69 | |||
| 70 | parm = strchr(address, ';'); | ||
| 71 | diff --git a/tool/command-format.c b/tool/command-format.c | ||
| 72 | index 6932bc4..0f5ef8c 100644 | ||
| 73 | --- a/tool/command-format.c | ||
| 74 | +++ b/tool/command-format.c | ||
| 75 | @@ -155,7 +155,7 @@ static long format_run(Cli *UNUSED(cli), int argc, char **argv) { | ||
| 76 | static long format_complete(Cli *cli, int argc, char **UNUSED(argv), const char *current) { | ||
| 77 | _cleanup_(freep) char *prefix = NULL; | ||
| 78 | DIR *dir; | ||
| 79 | - char *p; | ||
| 80 | + const char *p; | ||
| 81 | |||
| 82 | if (argc != 1) | ||
| 83 | return 0; | ||
| 84 | diff --git a/tool/command-info.c b/tool/command-info.c | ||
| 85 | index 571b6fd..9d252f7 100644 | ||
| 86 | --- a/tool/command-info.c | ||
| 87 | +++ b/tool/command-info.c | ||
| 88 | @@ -137,7 +137,7 @@ static long info_run(Cli *cli, int argc, char **argv) { | ||
| 89 | static long info_complete(Cli *UNUSED(cli), int argc, char **UNUSED(argv), const char *current) { | ||
| 90 | _cleanup_(freep) char *prefix = NULL; | ||
| 91 | DIR *dir; | ||
| 92 | - char *p; | ||
| 93 | + const char *p; | ||
| 94 | |||
| 95 | if (argc != 1) | ||
| 96 | 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 0000000000..1d1419a878 --- /dev/null +++ b/meta-oe/recipes-support/libvarlink/libvarlink_24.0.1.bb | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | SUMMARY = "Varlink C library and command line tool" | ||
| 2 | HOMEPAGE = "https://varlink.org/" | ||
| 3 | DESCRIPTION = "Varlink is an interface description format and protocol that aims \ | ||
| 4 | to make services accessible to both humans and machines in the simplest feasible way." | ||
| 5 | SECION = "devel" | ||
| 6 | LICENSE = "Apache-2.0" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" | ||
| 8 | |||
| 9 | SRC_URI = "git://github.com/varlink/libvarlink.git;protocol=https;branch=master;tag=v${PV} \ | ||
| 10 | file://0001-transport-tool-use-const-for-strchr-return-pointers.patch \ | ||
| 11 | " | ||
| 12 | SRCREV = "2ad4ec7ca62e148dbf0ad98646ec68c2e7e8a88e" | ||
| 13 | |||
| 14 | inherit meson bash-completion lib_package | ||
| 15 | |||
| 16 | do_install:append() { | ||
| 17 | # vim integration is not needed | ||
| 18 | rm -rf ${D}${datadir}/vim | ||
| 19 | } | ||
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 0000000000..fae1a2d0c2 --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c/0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch | |||
| @@ -0,0 +1,92 @@ | |||
| 1 | From b0ecadec662a8e35b017e16e92c5b1a04ed72598 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sat, 11 Apr 2026 00:24:17 -0700 | ||
| 4 | Subject: [PATCH] sd/malloc: convert K&R function declarations to ANSI C | ||
| 5 | prototypes | ||
| 6 | |||
| 7 | Replace old-style K&R parameter declarations with modern ANSI C | ||
| 8 | (C89/C90) function prototypes across all functions in malloc.c. | ||
| 9 | Also remove trailing whitespace in fixup_null_alloc(). | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 13 | --- | ||
| 14 | src/sd/malloc.c | 23 ++++++++--------------- | ||
| 15 | 1 file changed, 8 insertions(+), 15 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/sd/malloc.c b/src/sd/malloc.c | ||
| 18 | index 7d241ad..43dd460 100644 | ||
| 19 | --- a/src/sd/malloc.c | ||
| 20 | +++ b/src/sd/malloc.c | ||
| 21 | @@ -41,8 +41,7 @@ typedef void (*sd_malloc_handler_t)(); | ||
| 22 | static sd_malloc_handler_t handler = NULL; | ||
| 23 | |||
| 24 | static void * | ||
| 25 | -fixup_null_alloc (n) | ||
| 26 | - size_t n; | ||
| 27 | +fixup_null_alloc (size_t n) | ||
| 28 | { | ||
| 29 | void* p = 0; | ||
| 30 | |||
| 31 | @@ -62,8 +61,8 @@ fixup_null_alloc (n) | ||
| 32 | allocated = (char *) sbrk (0) - (char *) &environ; | ||
| 33 | sd_error("\nCannot allocate %lu bytes after allocating %lu bytes\n", | ||
| 34 | (unsigned long) n, (unsigned long) allocated); | ||
| 35 | - | ||
| 36 | - if (handler) | ||
| 37 | + | ||
| 38 | + if (handler) | ||
| 39 | handler(); | ||
| 40 | else { | ||
| 41 | sd_error("\n\tMemory exhausted !! Aborting.\n"); | ||
| 42 | @@ -75,8 +74,7 @@ fixup_null_alloc (n) | ||
| 43 | } | ||
| 44 | |||
| 45 | sd_malloc_handler_t | ||
| 46 | -sd_malloc_set_handler(a_handler) | ||
| 47 | - sd_malloc_handler_t a_handler; | ||
| 48 | +sd_malloc_set_handler(sd_malloc_handler_t a_handler) | ||
| 49 | { | ||
| 50 | sd_malloc_handler_t previous = handler; | ||
| 51 | |||
| 52 | @@ -87,8 +85,7 @@ sd_malloc_set_handler(a_handler) | ||
| 53 | /* Allocate N bytes of memory dynamically, with error checking. */ | ||
| 54 | |||
| 55 | void * | ||
| 56 | -sd_malloc (n) | ||
| 57 | - size_t n; | ||
| 58 | +sd_malloc (size_t n) | ||
| 59 | { | ||
| 60 | void *p; | ||
| 61 | |||
| 62 | @@ -101,8 +98,7 @@ sd_malloc (n) | ||
| 63 | /* Allocate memory for N elements of S bytes, with error checking. */ | ||
| 64 | |||
| 65 | void * | ||
| 66 | -sd_calloc (n, s) | ||
| 67 | - size_t n, s; | ||
| 68 | +sd_calloc (size_t n, size_t s) | ||
| 69 | { | ||
| 70 | void *p; | ||
| 71 | |||
| 72 | @@ -117,9 +113,7 @@ sd_calloc (n, s) | ||
| 73 | If P is NULL, run sd_malloc. */ | ||
| 74 | |||
| 75 | void * | ||
| 76 | -sd_realloc (p, n) | ||
| 77 | - void *p; | ||
| 78 | - size_t n; | ||
| 79 | +sd_realloc (void *p, size_t n) | ||
| 80 | { | ||
| 81 | if (p == 0) | ||
| 82 | return sd_malloc (n); | ||
| 83 | @@ -132,8 +126,7 @@ sd_realloc (p, n) | ||
| 84 | /* Return a newly allocated copy of STRING. */ | ||
| 85 | |||
| 86 | char * | ||
| 87 | -sd_strdup (string) | ||
| 88 | - const char *string; | ||
| 89 | +sd_strdup (const char *string) | ||
| 90 | { | ||
| 91 | return strcpy (sd_malloc (strlen (string) + 1), string); | ||
| 92 | } | ||
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 a0bd40b03a..eca800dc5e 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" | |||
| 6 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ | 6 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ |
| 7 | file://fix_configure_with-expat.patch \ | 7 | file://fix_configure_with-expat.patch \ |
| 8 | file://0001-Use-the-API-properly-in-the-example-format-security-.patch \ | 8 | file://0001-Use-the-API-properly-in-the-example-format-security-.patch \ |
| 9 | file://0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch \ | ||
| 9 | " | 10 | " |
| 10 | 11 | ||
| 11 | SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" | 12 | SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" |
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 bfb75718f2..0c572d1bd3 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" | |||
| 110 | FILES:${PN}-libs = "${base_libdir}/lib*.so.* \ | 110 | FILES:${PN}-libs = "${base_libdir}/lib*.so.* \ |
| 111 | ${base_libdir}/multipath/lib*.so*" | 111 | ${base_libdir}/multipath/lib*.so*" |
| 112 | RDEPENDS:${PN} += "${PN}-libs bash libgcc" | 112 | RDEPENDS:${PN} += "${PN}-libs bash libgcc" |
| 113 | RRECOMMENDS:${PN} = "kernel-module-dm-multipath" | ||
| 113 | 114 | ||
| 114 | PROVIDES += "device-mapper-multipath" | 115 | PROVIDES += "device-mapper-multipath" |
| 115 | RPROVIDES:${PN} += "device-mapper-multipath" | 116 | RPROVIDES:${PN} += "device-mapper-multipath" |
diff --git a/meta-oe/recipes-support/nano/nano_8.7.1.bb b/meta-oe/recipes-support/nano/nano_9.0.bb index e62529ff9b..06bb7a63ce 100644 --- a/meta-oe/recipes-support/nano/nano_8.7.1.bb +++ b/meta-oe/recipes-support/nano/nano_9.0.bb | |||
| @@ -13,7 +13,7 @@ RDEPENDS:${PN} = "ncurses-terminfo-base" | |||
| 13 | PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" | 13 | PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" |
| 14 | 14 | ||
| 15 | SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" | 15 | SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" |
| 16 | SRC_URI[sha256sum] = "76f0dcb248f2e2f1251d4ecd20fd30fb400a360a3a37c6c340e0a52c2d1cdedf" | 16 | SRC_URI[sha256sum] = "9f384374b496110a25b73ad5a5febb384783c6e3188b37063f677ac908013fde" |
| 17 | 17 | ||
| 18 | UPSTREAM_CHECK_URI = "${GNU_MIRROR}/nano" | 18 | UPSTREAM_CHECK_URI = "${GNU_MIRROR}/nano" |
| 19 | 19 | ||
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 73c9d06667..0000000000 --- a/meta-oe/recipes-support/openct/openct/0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch +++ /dev/null | |||
| @@ -1,65 +0,0 @@ | |||
| 1 | From c4351058da555e1e6a2b4b15d913baee80f55865 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Wang Mingyu <wangmy@fujitsu.com> | ||
| 3 | Date: Thu, 27 Jun 2024 06:27:18 +0000 | ||
| 4 | Subject: Fix incompatible pointer type error with gcc option | ||
| 5 | -Wincompatible-pointer-types | ||
| 6 | |||
| 7 | | ../../../openct-0.6.20/src/ifd/ifdhandler.c: In function 'ifdhandler_run': | ||
| 8 | | ../../../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] | ||
| 9 | | 239 | sock->fd = ifd_get_eventfd(reader, &sock->events); | ||
| 10 | | | ^~~~~~~~~~~~~ | ||
| 11 | | | | | ||
| 12 | | | int * | ||
| 13 | | In file included from ../../../openct-0.6.20/src/ifd/internal.h:17, | ||
| 14 | | from ../../../openct-0.6.20/src/ifd/ifdhandler.c:7: | ||
| 15 | | ../../../openct-0.6.20/src/include/openct/ifd.h:182:65: note: expected 'short int *' but argument is of type 'int *' | ||
| 16 | | 182 | extern int ifd_get_eventfd(ifd_reader_t *, short *); | ||
| 17 | | | ^~~~~~~ | ||
| 18 | |||
| 19 | | ../../../openct-0.6.20/src/ifd/process.c: In function 'do_memory_write': | ||
| 20 | | ../../../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] | ||
| 21 | | 461 | || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, &data_len)) | ||
| 22 | | | ^~~~~~~~~ | ||
| 23 | | | | | ||
| 24 | | | unsigned int * | ||
| 25 | | In file included from ../../../openct-0.6.20/src/ifd/process.c:20: | ||
| 26 | | ../../../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 *' | ||
| 27 | | 40 | ifd_tag_t, unsigned char **, size_t *); | ||
| 28 | |||
| 29 | Upstream-Status: Submitted | ||
| 30 | |||
| 31 | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> | ||
| 32 | --- | ||
| 33 | src/ifd/ifdhandler.c | 2 +- | ||
| 34 | src/ifd/process.c | 2 +- | ||
| 35 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
| 36 | |||
| 37 | diff --git a/src/ifd/ifdhandler.c b/src/ifd/ifdhandler.c | ||
| 38 | index 12686c9..ebd1b53 100644 | ||
| 39 | --- a/src/ifd/ifdhandler.c | ||
| 40 | +++ b/src/ifd/ifdhandler.c | ||
| 41 | @@ -236,7 +236,7 @@ static void ifdhandler_run(ifd_reader_t * reader) | ||
| 42 | sock->fd = -1; | ||
| 43 | } | ||
| 44 | else { | ||
| 45 | - sock->fd = ifd_get_eventfd(reader, &sock->events); | ||
| 46 | + sock->fd = ifd_get_eventfd(reader, (short int *)&sock->events); | ||
| 47 | } | ||
| 48 | if (sock->fd == -1) { | ||
| 49 | ifd_debug(1, "events inactive for reader %s", reader->name); | ||
| 50 | diff --git a/src/ifd/process.c b/src/ifd/process.c | ||
| 51 | index 4563bdf..7088a76 100644 | ||
| 52 | --- a/src/ifd/process.c | ||
| 53 | +++ b/src/ifd/process.c | ||
| 54 | @@ -458,7 +458,7 @@ static int do_memory_write(ifd_reader_t * reader, int unit, | ||
| 55 | return IFD_ERROR_INVALID_SLOT; | ||
| 56 | |||
| 57 | if (ct_tlv_get_int(args, CT_TAG_ADDRESS, &address) == 0 | ||
| 58 | - || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, &data_len)) | ||
| 59 | + || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, (size_t *)&data_len)) | ||
| 60 | return IFD_ERROR_MISSING_ARG; | ||
| 61 | |||
| 62 | rc = ifd_card_write_memory(reader, unit, address, data, data_len); | ||
| 63 | -- | ||
| 64 | 2.34.1 | ||
| 65 | |||
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 9bd3d18d6e..0000000000 --- a/meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | From 146b5116140d719e4e9ae19748c0b6dee7d82f96 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 22 May 2023 22:01:28 -0700 | ||
| 4 | Subject: [PATCH] m4: Just emit the first line of compiler version | ||
| 5 | |||
| 6 | Avoids emitting buildpaths into comments | ||
| 7 | Fixes | ||
| 8 | 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] | ||
| 9 | |||
| 10 | Upstream-Status: Pending | ||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | m4/ac_create_stdint_h.m4 | 2 +- | ||
| 14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 15 | |||
| 16 | diff --git a/m4/ac_create_stdint_h.m4 b/m4/ac_create_stdint_h.m4 | ||
| 17 | index 66de704..4b7223a 100644 | ||
| 18 | --- a/m4/ac_create_stdint_h.m4 | ||
| 19 | +++ b/m4/ac_create_stdint_h.m4 | ||
| 20 | @@ -110,7 +110,7 @@ echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h | ||
| 21 | echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h | ||
| 22 | echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h | ||
| 23 | if test "$GCC" = "yes" ; then | ||
| 24 | - echo "/* generated using a gnu compiler version" `$CC --version` "*/" \ | ||
| 25 | + echo "/* generated using a gnu compiler version" `$CC --version|head -1` "*/" \ | ||
| 26 | >>$ac_stdint_h | ||
| 27 | else | ||
| 28 | echo "/* generated using $CC */" >>$ac_stdint_h | ||
| 29 | -- | ||
| 30 | 2.40.1 | ||
| 31 | |||
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 e2401bb31b..0000000000 --- a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | From e0d3e0bb1e38ff851696a7d8826e651d364ad8ce Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Li xin <lixin.fnst@cn.fujitsu.com> | ||
| 3 | Date: Fri, 5 Dec 2014 02:00:57 +0900 | ||
| 4 | Subject: [PATCH 1/2] etc/openct.udev.in: disablePROGRAM | ||
| 5 | |||
| 6 | Bug fix: https://bugzilla.redhat.com/show_bug.cgi?id=287871 | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> | ||
| 11 | --- | ||
| 12 | etc/openct.udev.in | 3 ++- | ||
| 13 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/etc/openct.udev.in b/etc/openct.udev.in | ||
| 16 | index d11d0e1..48083c9 100644 | ||
| 17 | --- a/etc/openct.udev.in | ||
| 18 | +++ b/etc/openct.udev.in | ||
| 19 | @@ -22,7 +22,8 @@ ACTION!="add", GOTO="openct_usb_rules_end" | ||
| 20 | # 2010-01-06 removed, as latest udev doesn't know WAIT_FOR_ATTR any more. | ||
| 21 | |||
| 22 | # sleep for 100ms - the wait_for_sysfs might not be enough | ||
| 23 | -PROGRAM="/bin/sleep 0.1" | ||
| 24 | +# Disabled in this package - see https://bugzilla.redhat.com/287871 | ||
| 25 | +# PROGRAM="/bin/sleep 0.1" | ||
| 26 | |||
| 27 | # ccid | ||
| 28 | ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*" RUN+="@udevdir@/openct_usb /dev/$parent" | ||
| 29 | -- | ||
| 30 | 1.8.4.2 | ||
| 31 | |||
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 22eda729fb..0000000000 --- a/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | From d93985a137b553b2723235d03bda341dab14064f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Li xin <lixin.fnst@cn.fujitsu.com> | ||
| 3 | Date: Fri, 5 Dec 2014 02:04:03 +0900 | ||
| 4 | Subject: [PATCH 2/2] etc/openct_usb.in: modify UDEVINFO | ||
| 5 | |||
| 6 | this patch is from Fedora | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> | ||
| 11 | --- | ||
| 12 | etc/openct_usb.in | 6 +++--- | ||
| 13 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/etc/openct_usb.in b/etc/openct_usb.in | ||
| 16 | index 32f91aa..917467d 100644 | ||
| 17 | --- a/etc/openct_usb.in | ||
| 18 | +++ b/etc/openct_usb.in | ||
| 19 | @@ -15,10 +15,10 @@ if [ -z "$DEVNAME" ]; then | ||
| 20 | # Guess udev info interface. | ||
| 21 | # Newer udev uses udevadm | ||
| 22 | # | ||
| 23 | - if which udevinfo > /dev/null 2>&1; then | ||
| 24 | - UDEVINFO="udevinfo" | ||
| 25 | - else | ||
| 26 | + if which udevadm > /dev/null 2>&1; then | ||
| 27 | UDEVINFO="udevadm info" | ||
| 28 | + else | ||
| 29 | + UDEVINFO="udevinfo" | ||
| 30 | fi | ||
| 31 | DEVNAME=/dev/$($UDEVINFO --query=name --path=$(dirname $DEVPATH)) | ||
| 32 | fi | ||
| 33 | -- | ||
| 34 | 1.8.4.2 | ||
| 35 | |||
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 c6896095e3..0000000000 --- a/meta-oe/recipes-support/openct/openct/openct.init +++ /dev/null | |||
| @@ -1,89 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # openct This shell script takes care of starting and stopping OpenCT. | ||
| 4 | # | ||
| 5 | # chkconfig: 2345 24 89 | ||
| 6 | # description: OpenCT is a middleware framework for smart card terminals. | ||
| 7 | # | ||
| 8 | # processname: ifdhandler | ||
| 9 | # config: /etc/openct.conf | ||
| 10 | |||
| 11 | ### BEGIN INIT INFO | ||
| 12 | # Provides: openct | ||
| 13 | # Default-Start: 2 3 4 5 | ||
| 14 | # Default-Stop: 0 1 6 | ||
| 15 | # Should-Start: $syslog $network | ||
| 16 | # Should-Stop: $syslog $network | ||
| 17 | # Short-Description: Middleware framework for smart card terminals | ||
| 18 | # Description: This starts/stops the OpenCT middleware framework support | ||
| 19 | # for smart card terminals. | ||
| 20 | ### END INIT INFO | ||
| 21 | |||
| 22 | . /etc/init.d/functions | ||
| 23 | |||
| 24 | exec="/usr/sbin/openct-control" | ||
| 25 | prog=openct | ||
| 26 | proc=ifdhandler | ||
| 27 | |||
| 28 | OPENCT_OPTIONS= | ||
| 29 | [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog | ||
| 30 | |||
| 31 | lockfile=/var/lock/subsys/$prog | ||
| 32 | |||
| 33 | start() { | ||
| 34 | retval=0 | ||
| 35 | if ! status $proc >/dev/null 2>&1 ; then | ||
| 36 | action $"Initializing OpenCT smart card terminals: " \ | ||
| 37 | $exec $OPENCT_OPTIONS init | ||
| 38 | retval=$? | ||
| 39 | [ $retval -eq 0 ] && touch $lockfile | ||
| 40 | fi | ||
| 41 | return $retval | ||
| 42 | } | ||
| 43 | |||
| 44 | stop() { | ||
| 45 | if status $proc >/dev/null 2>&1 ; then | ||
| 46 | action $"Stopping OpenCT smart card terminals: " \ | ||
| 47 | $exec $OPENCT_OPTIONS shutdown | ||
| 48 | fi | ||
| 49 | retval=$? | ||
| 50 | if [ $retval -eq 0 ] ; then | ||
| 51 | rm -f /var/run/openct/status | ||
| 52 | rm -f $lockfile | ||
| 53 | fi | ||
| 54 | return $retval | ||
| 55 | } | ||
| 56 | |||
| 57 | restart() { | ||
| 58 | stop | ||
| 59 | start | ||
| 60 | } | ||
| 61 | |||
| 62 | oct_status() { | ||
| 63 | status $proc | ||
| 64 | retval=$? | ||
| 65 | if [ -e /var/run/openct/status ] ; then | ||
| 66 | $exec $OPENCT_OPTIONS status | ||
| 67 | [ -e /var/run/openct/status ] && \ | ||
| 68 | echo $"Waiting for reader attach/detach events..." | ||
| 69 | fi | ||
| 70 | return $retval | ||
| 71 | } | ||
| 72 | |||
| 73 | case "$1" in | ||
| 74 | start|stop|restart) | ||
| 75 | $1 | ||
| 76 | ;; | ||
| 77 | reload|force-reload) | ||
| 78 | restart | ||
| 79 | ;; | ||
| 80 | status) | ||
| 81 | oct_status | ||
| 82 | ;; | ||
| 83 | try-restart|condrestart) | ||
| 84 | [ ! -f $lockfile ] || restart | ||
| 85 | ;; | ||
| 86 | *) | ||
| 87 | echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}" | ||
| 88 | exit 2 | ||
| 89 | 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 57de8c0a88..0000000000 --- a/meta-oe/recipes-support/openct/openct/openct.service +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | [Unit] | ||
| 2 | Description=Openct Middleware framework for smart card terminals | ||
| 3 | After=syslog.target network.target | ||
| 4 | |||
| 5 | [Service] | ||
| 6 | EnvironmentFile=-/etc/sysconfig/openct | ||
| 7 | ExecStart=/usr/sbin/openct-control $OPENCT_OPTIONS init | ||
| 8 | ExecStop=/usr/sbin/openct-control $OPENCT_OPTIONS shutdown | ||
| 9 | RemainAfterExit=yes | ||
| 10 | KillMode=mixed | ||
| 11 | |||
| 12 | [Install] | ||
| 13 | 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 ffc270790f..0000000000 --- a/meta-oe/recipes-support/openct/openct/openct.sysconfig +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | # -*- sh -*- | ||
| 2 | # Extra options to pass to openct-control. | ||
| 3 | # Consult "/usr/sbin/openct-control -h" for available options. | ||
| 4 | # | ||
| 5 | 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 c7b0d0d56d..0000000000 --- a/meta-oe/recipes-support/openct/openct_0.6.20.bb +++ /dev/null | |||
| @@ -1,91 +0,0 @@ | |||
| 1 | SUMMARY = "Middleware framework for smart card terminals" | ||
| 2 | HOMEPAGE = "https://github.com/OpenSC/openct/wiki" | ||
| 3 | DESCRIPTION = " \ | ||
| 4 | OpenCT implements drivers for several smart card readers. \ | ||
| 5 | It comes as driver in ifdhandler format for PC/SC-Lite, \ | ||
| 6 | as CT-API driver, or as a small and lean middleware, \ | ||
| 7 | so applications can use it with minimal overhead. \ | ||
| 8 | OpenCT also has a primitive mechanism to export smart card \ | ||
| 9 | readers to remote machines via TCP/IP." | ||
| 10 | |||
| 11 | DEPENDS += "libtool pcsc-lite libusb-compat" | ||
| 12 | |||
| 13 | SRC_URI = " \ | ||
| 14 | https://downloads.sourceforge.net/project/opensc/${BPN}/${BPN}-${PV}.tar.gz \ | ||
| 15 | file://etc-openct.udev.in-disablePROGRAM.patch \ | ||
| 16 | file://etc-openct_usb.in-modify-UDEVINFO.patch \ | ||
| 17 | file://0001-m4-Just-emit-the-first-line-of-compiler-version.patch \ | ||
| 18 | file://openct.init \ | ||
| 19 | file://openct.sysconfig \ | ||
| 20 | file://openct.service \ | ||
| 21 | file://0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch \ | ||
| 22 | " | ||
| 23 | |||
| 24 | SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68" | ||
| 25 | |||
| 26 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/opensc/files/openct/" | ||
| 27 | |||
| 28 | LICENSE = "LGPL-2.0-or-later" | ||
| 29 | LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" | ||
| 30 | |||
| 31 | inherit systemd | ||
| 32 | SYSTEMD_SERVICE:${PN} += "openct.service " | ||
| 33 | SYSTEMD_AUTO_ENABLE = "enable" | ||
| 34 | |||
| 35 | EXTRA_OECONF = " \ | ||
| 36 | --disable-static \ | ||
| 37 | --enable-usb \ | ||
| 38 | --enable-pcsc \ | ||
| 39 | --enable-doc \ | ||
| 40 | --enable-api-doc \ | ||
| 41 | --with-udev=${nonarch_libdir}/udev \ | ||
| 42 | --with-bundle=${libdir}/pcsc/drivers \ | ||
| 43 | " | ||
| 44 | |||
| 45 | inherit autotools pkgconfig | ||
| 46 | |||
| 47 | FILES:${PN} += " \ | ||
| 48 | ${libdir}/ctapi \ | ||
| 49 | ${nonarch_libdir}/udev \ | ||
| 50 | ${libdir}/openct-ifd.so \ | ||
| 51 | ${libdir}/pcsc \ | ||
| 52 | " | ||
| 53 | |||
| 54 | FILES:${PN}-dbg += " \ | ||
| 55 | ${libdir}/ctapi/.debug \ | ||
| 56 | ${libdir}/pcsc/drivers/openct-ifd.bundle/Contents/Linux/.debug \ | ||
| 57 | " | ||
| 58 | |||
| 59 | INSANE_SKIP:${PN} += "dev-deps" | ||
| 60 | |||
| 61 | do_install[cleandirs] += "${D}" | ||
| 62 | |||
| 63 | do_install () { | ||
| 64 | install -d ${D}${sysconfdir} | ||
| 65 | # fix up hardcoded paths | ||
| 66 | sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ | ||
| 67 | ${UNPACKDIR}/openct.service ${UNPACKDIR}/openct.init | ||
| 68 | |||
| 69 | oe_runmake install DESTDIR=${D} | ||
| 70 | install -dm 755 ${D}${libdir}/ctapi/ | ||
| 71 | mv ${D}${libdir}/libopenctapi.so ${D}${libdir}/ctapi/ | ||
| 72 | install -Dpm 644 etc/openct.udev ${D}${nonarch_libdir}/udev/rules.d/60-openct.rules | ||
| 73 | install -pm 644 etc/openct.conf ${D}${sysconfdir}/openct.conf | ||
| 74 | |||
| 75 | install -Dpm 755 ${UNPACKDIR}/openct.init ${D}${sysconfdir}/init.d/openct | ||
| 76 | install -Dpm 644 ${UNPACKDIR}/openct.sysconfig ${D}${sysconfdir}/sysconfig/openct | ||
| 77 | |||
| 78 | install -d ${D}${systemd_unitdir}/system | ||
| 79 | install -m 644 ${UNPACKDIR}/openct.service ${D}${systemd_unitdir}/system | ||
| 80 | |||
| 81 | so=$(find ${D} -name \*.so | sed "s|^${D}||") | ||
| 82 | sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf | ||
| 83 | install -Dpm 644 etc/reader.conf ${D}${sysconfdir}/reader.conf.d/openct.conf | ||
| 84 | } | ||
| 85 | |||
| 86 | BBCLASSEXTEND = "native" | ||
| 87 | |||
| 88 | # http://errors.yoctoproject.org/Errors/Details/766890/ | ||
| 89 | # 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] | ||
| 90 | # 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] | ||
| 91 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta-oe/recipes-support/opensc/opensc_0.26.1.bb b/meta-oe/recipes-support/opensc/opensc_0.27.1.bb index 78258c965a..91e738e0a0 100644 --- a/meta-oe/recipes-support/opensc/opensc_0.26.1.bb +++ b/meta-oe/recipes-support/opensc/opensc_0.27.1.bb | |||
| @@ -11,8 +11,8 @@ LICENSE = "LGPL-2.1-or-later" | |||
| 11 | LIC_FILES_CHKSUM = "file://COPYING;md5=cb8aedd3bced19bd8026d96a8b6876d7" | 11 | LIC_FILES_CHKSUM = "file://COPYING;md5=cb8aedd3bced19bd8026d96a8b6876d7" |
| 12 | DEPENDS = "openssl" | 12 | DEPENDS = "openssl" |
| 13 | 13 | ||
| 14 | SRCREV = "043343d2df7b09d1938bc3dc313d86a96be457cc" | 14 | SRCREV = "19868984dc4dc697af6a86d65ab32a1f19a43ea4" |
| 15 | SRC_URI = "git://github.com/OpenSC/OpenSC;branch=0.26.1;protocol=https" | 15 | SRC_URI = "git://github.com/OpenSC/OpenSC;branch=master;protocol=https" |
| 16 | 16 | ||
| 17 | CVE_STATUS[CVE-2024-8443] = "fixed-version: this is fixed since 0.26.0" | 17 | CVE_STATUS[CVE-2024-8443] = "fixed-version: this is fixed since 0.26.0" |
| 18 | 18 | ||
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 85c521df87..af44864fa9 100644 --- a/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb +++ b/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb | |||
| @@ -50,6 +50,7 @@ EXTRA_OECONF = " \ | |||
| 50 | --disable-farstream \ | 50 | --disable-farstream \ |
| 51 | --disable-vv \ | 51 | --disable-vv \ |
| 52 | " | 52 | " |
| 53 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 53 | 54 | ||
| 54 | # CONFIG_ARGS is used to display build info. Replace full paths by reproducible | 55 | # CONFIG_ARGS is used to display build info. Replace full paths by reproducible |
| 55 | # variables ($S, $WORKDIR) | 56 | # variables ($S, $WORKDIR) |
diff --git a/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.1.bb b/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.2.bb index 015c2287ef..1bdb4445e5 100644 --- a/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.1.bb +++ b/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_1.2.bb | |||
| @@ -15,7 +15,7 @@ DEPENDS = "\ | |||
| 15 | p11-kit \ | 15 | p11-kit \ |
| 16 | " | 16 | " |
| 17 | 17 | ||
| 18 | SRCREV = "acb7086e44849d019956233348046c4f07c0670b" | 18 | SRCREV = "c7a5c8b62a0ff012b16574f01651254ef7e664ee" |
| 19 | 19 | ||
| 20 | SRC_URI = "git://github.com/latchset/${BPN}.git;branch=main;protocol=https" | 20 | SRC_URI = "git://github.com/latchset/${BPN}.git;branch=main;protocol=https" |
| 21 | 21 | ||
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 0000000000..293321bfa8 --- /dev/null +++ b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | From dce2cc2886a9097971856e69737cc5c05c9239ea Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Peter Marko <peter.marko@siemens.com> | ||
| 3 | Date: Wed, 8 Apr 2026 10:54:25 +0200 | ||
| 4 | Subject: [PATCH] quill: use soft rdtsc fallback on 32-bit PowerPC | ||
| 5 | |||
| 6 | Quill's rdtsc helper already avoids __rdtsc() on ARM and PPC64, but | ||
| 7 | 32-bit PowerPC was not included in that guard. On powerpc targets this | ||
| 8 | falls through to the x86-specific intrinsic and fails with: | ||
| 9 | |||
| 10 | error: '__rdtsc' was not declared in this scope | ||
| 11 | |||
| 12 | Treat common 32-bit PowerPC compiler define the same way as PPC64 and | ||
| 13 | use the existing steady_clock-based fallback. | ||
| 14 | |||
| 15 | Upstream-Status: Submitted [https://github.com/odygrd/quill/pull/911] | ||
| 16 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
| 17 | --- | ||
| 18 | dependencies/quill/include/quill/core/Rdtsc.h | 2 +- | ||
| 19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 20 | |||
| 21 | diff --git a/dependencies/quill/include/quill/core/Rdtsc.h b/dependencies/quill/include/quill/core/Rdtsc.h | ||
| 22 | index 3d0ae9f26..67f26cb89 100644 | ||
| 23 | --- a/dependencies/quill/include/quill/core/Rdtsc.h | ||
| 24 | +++ b/dependencies/quill/include/quill/core/Rdtsc.h | ||
| 25 | @@ -95,7 +95,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept | ||
| 26 | __asm__ volatile("stck %0" : "=Q"(tsc) : : "cc"); | ||
| 27 | return tsc; | ||
| 28 | } | ||
| 29 | -#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__)) | ||
| 30 | +#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__) || defined(__PPC__)) | ||
| 31 | QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept | ||
| 32 | { | ||
| 33 | // soft failover | ||
| 34 | -- | ||
| 35 | 2.47.2 | ||
diff --git a/meta-oe/recipes-support/poco/poco_1.15.1.bb b/meta-oe/recipes-support/poco/poco_1.15.2.bb index 7dd87606ef..5a873a1d85 100644 --- a/meta-oe/recipes-support/poco/poco_1.15.1.bb +++ b/meta-oe/recipes-support/poco/poco_1.15.2.bb | |||
| @@ -11,9 +11,10 @@ DEPENDS = "libpcre2 utf8proc zlib" | |||
| 11 | SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-${PV};protocol=https;tag=poco-${PV}-release \ | 11 | SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-${PV};protocol=https;tag=poco-${PV}-release \ |
| 12 | file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ | 12 | file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ |
| 13 | file://0002-DataTest-disable-testSQLChannel-test.patch \ | 13 | file://0002-DataTest-disable-testSQLChannel-test.patch \ |
| 14 | file://0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch \ | ||
| 14 | file://run-ptest \ | 15 | file://run-ptest \ |
| 15 | " | 16 | " |
| 16 | SRCREV = "a1aacbba1bda4301db01bb1a2c2ab80677756b90" | 17 | SRCREV = "afbb1ab68f29eec7079e2fdfa04b3efdbec6529d" |
| 17 | 18 | ||
| 18 | UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)" | 19 | UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)" |
| 19 | 20 | ||
| @@ -23,7 +24,7 @@ inherit cmake ptest | |||
| 23 | # By default the most commonly used poco components are built | 24 | # By default the most commonly used poco components are built |
| 24 | # Foundation is built anyway and doesn't need to be listed explicitly | 25 | # Foundation is built anyway and doesn't need to be listed explicitly |
| 25 | # these don't have dependencies outside oe-core | 26 | # these don't have dependencies outside oe-core |
| 26 | PACKAGECONFIG ??= "XML JSON PDF Util Net NetSSL Crypto JWT Data DataPostgreSQL DataSQLite DNSSDAvahi Zip Encodings Prometheus" | 27 | PACKAGECONFIG ??= "XML JSON PDF Util Net NetSSL Crypto JWT Data DataPostgreSQL DataSQLite DNSSDAvahi Zip Encodings Prometheus FastLogger" |
| 27 | # MongoDB does not build for all architectures yet keep in sync with COMPATIBLE_HOST list in mongodb recipe | 28 | # MongoDB does not build for all architectures yet keep in sync with COMPATIBLE_HOST list in mongodb recipe |
| 28 | # and mongodb needs meta-python enabled as well | 29 | # and mongodb needs meta-python enabled as well |
| 29 | PACKAGECONFIG:remove:riscv32 = "MongoDB" | 30 | PACKAGECONFIG:remove:riscv32 = "MongoDB" |
| @@ -48,6 +49,7 @@ PACKAGECONFIG[DNSSDAvahi] = "-DENABLE_DNSSD=ON -DENABLE_DNSSD_AVAHI=ON,-DENABLE_ | |||
| 48 | PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF" | 49 | PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF" |
| 49 | PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF" | 50 | PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF" |
| 50 | PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-DENABLE_PROMETHEUS=OFF" | 51 | PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-DENABLE_PROMETHEUS=OFF" |
| 52 | PACKAGECONFIG[FastLogger] = "-DENABLE_FASTLOGGER=ON,-DENABLE_FASTLOGGER=OFF" | ||
| 51 | 53 | ||
| 52 | # Additional components not build by default, | 54 | # Additional components not build by default, |
| 53 | # they might have dependencies not included in oe-core | 55 | # they might have dependencies not included in oe-core |
| @@ -74,11 +76,6 @@ EXTRA_OECMAKE:append:class-native = " -DPOCO_UNBUNDLED=OFF" | |||
| 74 | # do not use rpath | 76 | # do not use rpath |
| 75 | EXTRA_OECMAKE:append = " -DCMAKE_SKIP_RPATH=ON" | 77 | EXTRA_OECMAKE:append = " -DCMAKE_SKIP_RPATH=ON" |
| 76 | 78 | ||
| 77 | LDFLAGS:append:riscv32 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" | ||
| 78 | LDFLAGS:append:mips = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" | ||
| 79 | LDFLAGS:append:powerpc = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" | ||
| 80 | LDFLAGS:append:x86 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" | ||
| 81 | |||
| 82 | python populate_packages:prepend () { | 79 | python populate_packages:prepend () { |
| 83 | poco_libdir = d.expand('${libdir}') | 80 | poco_libdir = d.expand('${libdir}') |
| 84 | pn = d.getVar("PN") | 81 | pn = d.getVar("PN") |
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 0000000000..190baff606 --- /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 @@ | |||
| 1 | From 515e23b37ad1400bfb73797771c4f0fd78655328 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Wed, 15 Apr 2026 10:52:05 -0700 | ||
| 4 | Subject: [PATCH] Fix const-correctness for pointer variables to referred | ||
| 5 | strings | ||
| 6 | |||
| 7 | Mark pointer variables 'e' as 'const char *' in | ||
| 8 | config_parse_netlog_remote_address,file_in_same_dir, and | ||
| 9 | socket_address_parse, since they point to memory they do not | ||
| 10 | own or modify. | ||
| 11 | |||
| 12 | Upstream-Status: Submitted [https://github.com/systemd/systemd-netlogd/pull/148] | ||
| 13 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 14 | --- | ||
| 15 | src/netlog/netlog-conf.c | 2 +- | ||
| 16 | src/share/path-util.c | 3 ++- | ||
| 17 | src/share/socket-util.c | 3 ++- | ||
| 18 | 3 files changed, 5 insertions(+), 3 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/src/netlog/netlog-conf.c b/src/netlog/netlog-conf.c | ||
| 21 | index a4cf0da..59bdd23 100644 | ||
| 22 | --- a/src/netlog/netlog-conf.c | ||
| 23 | +++ b/src/netlog/netlog-conf.c | ||
| 24 | @@ -22,7 +22,7 @@ int config_parse_netlog_remote_address(const char *unit, | ||
| 25 | void *data, | ||
| 26 | void *userdata) { | ||
| 27 | Manager *m = userdata; | ||
| 28 | - char *e; | ||
| 29 | + const char *e; | ||
| 30 | int r; | ||
| 31 | |||
| 32 | assert(filename); | ||
| 33 | diff --git a/src/share/path-util.c b/src/share/path-util.c | ||
| 34 | index dda7ec6..ad6f24a 100644 | ||
| 35 | --- a/src/share/path-util.c | ||
| 36 | +++ b/src/share/path-util.c | ||
| 37 | @@ -327,7 +327,8 @@ bool path_is_safe(const char *p) { | ||
| 38 | } | ||
| 39 | |||
| 40 | char *file_in_same_dir(const char *path, const char *filename) { | ||
| 41 | - char *e, *ret; | ||
| 42 | + const char *e; | ||
| 43 | + char *ret; | ||
| 44 | size_t k; | ||
| 45 | |||
| 46 | assert(path); | ||
| 47 | diff --git a/src/share/socket-util.c b/src/share/socket-util.c | ||
| 48 | index ae33338..5a6284b 100644 | ||
| 49 | --- a/src/share/socket-util.c | ||
| 50 | +++ b/src/share/socket-util.c | ||
| 51 | @@ -33,7 +33,8 @@ | ||
| 52 | #include "util.h" | ||
| 53 | |||
| 54 | int socket_address_parse(SocketAddress *a, const char *s) { | ||
| 55 | - char *e, *n; | ||
| 56 | + const char *e; | ||
| 57 | + char *n; | ||
| 58 | unsigned u; | ||
| 59 | int r; | ||
| 60 | |||
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.5.bb index 019098fdf7..c52940ec70 100644 --- a/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.4.bb +++ b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.5.bb | |||
| @@ -3,8 +3,10 @@ SUMMARY = "Forwards messages from the journal to other hosts over the network us | |||
| 3 | LICENSE = "LGPL-2.1-or-later" | 3 | LICENSE = "LGPL-2.1-or-later" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" | 4 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" |
| 5 | 5 | ||
| 6 | SRC_URI = "git://github.com/systemd/systemd-netlogd.git;protocol=https;branch=main" | 6 | SRC_URI = "git://github.com/systemd/systemd-netlogd.git;protocol=https;branch=main;tag=v${PV} \ |
| 7 | SRCREV = "b03cc3b1a75048c7cf19467d8918a4b7320767e6" | 7 | file://0001-Fix-const-correctness-for-pointer-variables-to-refer.patch \ |
| 8 | " | ||
| 9 | SRCREV = "20534091417686d1185acb3f29e93944d8663c4b" | ||
| 8 | 10 | ||
| 9 | inherit meson systemd pkgconfig useradd features_check | 11 | inherit meson systemd pkgconfig useradd features_check |
| 10 | 12 | ||
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 01115e7e4d..440b6e0f46 100644 --- a/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb +++ b/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb | |||
| @@ -17,6 +17,7 @@ SRCREV = "f1862f38f83568d96e814e469ab61f88336cc595" | |||
| 17 | SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ | 17 | SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ |
| 18 | " | 18 | " |
| 19 | 19 | ||
| 20 | LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}" | ||
| 20 | 21 | ||
| 21 | inherit cmake pkgconfig | 22 | inherit cmake pkgconfig |
| 22 | 23 | ||
diff --git a/meta-oe/recipes-support/upower/upower_1.91.1.bb b/meta-oe/recipes-support/upower/upower_1.91.2.bb index d4107a959a..d6505974e9 100644 --- a/meta-oe/recipes-support/upower/upower_1.91.1.bb +++ b/meta-oe/recipes-support/upower/upower_1.91.2.bb | |||
| @@ -13,7 +13,7 @@ DEPENDS = " \ | |||
| 13 | " | 13 | " |
| 14 | 14 | ||
| 15 | SRC_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/archive/v${PV}/${BPN}-v${PV}.tar.bz2" | 15 | SRC_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/archive/v${PV}/${BPN}-v${PV}.tar.bz2" |
| 16 | SRC_URI[sha256sum] = "d568638d670a63a1886335b7b136f4888cb38a3b28f3f4bcdeaffcca0b0f6df8" | 16 | SRC_URI[sha256sum] = "f07f19b78a43a5053973d95a2fe96a12ede270b8db232b2e2c4ac4186fb42539" |
| 17 | S = "${UNPACKDIR}/${BPN}-v${PV}" | 17 | S = "${UNPACKDIR}/${BPN}-v${PV}" |
| 18 | 18 | ||
| 19 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/tags" | 19 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/tags" |
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.5.bb b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.6.bb index e6007a6667..c3f736568f 100644 --- a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.5.bb +++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.6.bb | |||
| @@ -22,7 +22,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \ | |||
| 22 | file://fix-ftbfs-riscv64.patch \ | 22 | file://fix-ftbfs-riscv64.patch \ |
| 23 | file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ | 23 | file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ |
| 24 | " | 24 | " |
| 25 | SRC_URI[sha256sum] = "8737631bac3e9c7ad3e5208f9370e076c09d9c45b39980021ce54edadcc6f94f" | 25 | SRC_URI[sha256sum] = "2b281abf8894ffc6172152e5660b75eeeedbe1cc43d6783d09dc79f7c865bb42" |
| 26 | 26 | ||
| 27 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen | 27 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen |
| 28 | 28 | ||
| @@ -31,7 +31,7 @@ S = "${UNPACKDIR}/webkitgtk-${PV}" | |||
| 31 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 31 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
| 32 | REQUIRED_DISTRO_FEATURES = "opengl" | 32 | REQUIRED_DISTRO_FEATURES = "opengl" |
| 33 | 33 | ||
| 34 | CVE_PRODUCT = "webkitgtk webkitgtk\+" | 34 | CVE_PRODUCT = "webkitgtk webkitgtk+" |
| 35 | 35 | ||
| 36 | DEPENDS += " \ | 36 | DEPENDS += " \ |
| 37 | ruby-native \ | 37 | ruby-native \ |
diff --git a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/99f9b9f68664166badfdfaa7e69efcedf750f1e3.patch b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/99f9b9f68664166badfdfaa7e69efcedf750f1e3.patch deleted file mode 100644 index 5ae21b5989..0000000000 --- a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/99f9b9f68664166badfdfaa7e69efcedf750f1e3.patch +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | From 99f9b9f68664166badfdfaa7e69efcedf750f1e3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Brahmajit Das <listout@listout.xyz> | ||
| 3 | Date: Wed, 4 Mar 2026 06:27:54 +0530 | ||
| 4 | Subject: [PATCH] dbus-proxy: fix build with glibc >= 2.43 | ||
| 5 | |||
| 6 | memchr() returns const void * when passed const input, but the result | ||
| 7 | was assigned to guchar *. This triggers | ||
| 8 | -Wincompatible-pointer-types-discards-qualifiers when building with | ||
| 9 | clang and -Werror. | ||
| 10 | |||
| 11 | Make the pointer const to preserve const correctness. | ||
| 12 | |||
| 13 | Closes: https://github.com/flatpak/xdg-dbus-proxy/issues/70 | ||
| 14 | Signed-off-by: Brahmajit Das <listout@listout.xyz> | ||
| 15 | |||
| 16 | Upstream-Status: Backport [https://github.com/flatpak/xdg-dbus-proxy/commit/99f9b9f68664166badfdfaa7e69efcedf750f1e3] | ||
| 17 | --- | ||
| 18 | dbus-proxy.c | 2 +- | ||
| 19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 20 | |||
| 21 | diff --git a/dbus-proxy.c b/dbus-proxy.c | ||
| 22 | index 53d5c01..b32df34 100644 | ||
| 23 | --- a/dbus-proxy.c | ||
| 24 | +++ b/dbus-proxy.c | ||
| 25 | @@ -133,7 +133,7 @@ add_args (GBytes *bytes, | ||
| 26 | { | ||
| 27 | gsize data_len, remainder_len; | ||
| 28 | const guchar *data = g_bytes_get_data (bytes, &data_len); | ||
| 29 | - guchar *s; | ||
| 30 | + const guchar *s; | ||
| 31 | const guchar *remainder; | ||
| 32 | |||
| 33 | remainder = data; | ||
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.7.bb index 617d29bd84..a8e0a651ad 100644 --- 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.7.bb | |||
| @@ -12,12 +12,13 @@ DEPENDS = " \ | |||
| 12 | inherit meson pkgconfig ptest-gnome | 12 | inherit meson pkgconfig ptest-gnome |
| 13 | 13 | ||
| 14 | SRC_URI = " \ | 14 | SRC_URI = " \ |
| 15 | git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https;branch=main \ | 15 | git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https;branch=main;tag=${PV} \ |
| 16 | file://99f9b9f68664166badfdfaa7e69efcedf750f1e3.patch \ | ||
| 17 | file://run-ptest \ | 16 | file://run-ptest \ |
| 18 | " | 17 | " |
| 19 | 18 | ||
| 20 | SRCREV = "1c1989e56f94b9eb3b7567f8a6e8a0aa16cba496" | 19 | SRCREV = "6a170fa77e3cbecb48f9dd2478fe5c0a119eb467" |
| 20 | |||
| 21 | CVE_STATUS[CVE-2026-34080] = "fixed-version: fixed in 0.1.7" | ||
| 21 | 22 | ||
| 22 | PACKAGECONFIG = "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" | 23 | PACKAGECONFIG = "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" |
| 23 | PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false" | 24 | PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false" |
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.4.bb index e0aca558fd..bb48b59dd8 100644 --- 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.4.bb | |||
| @@ -27,11 +27,17 @@ RDEPENDS:${PN} = "bubblewrap rtkit ${PORTAL_BACKENDS} fuse3-utils" | |||
| 27 | inherit meson pkgconfig python3native features_check | 27 | inherit meson pkgconfig python3native features_check |
| 28 | 28 | ||
| 29 | SRC_URI = " \ | 29 | SRC_URI = " \ |
| 30 | git://github.com/flatpak/xdg-desktop-portal.git;protocol=https;branch=xdg-desktop-portal-1.20 \ | 30 | git://github.com/flatpak/xdg-desktop-portal.git;protocol=https;branch=xdg-desktop-portal-1.20;name=main;tag=${PV} \ |
| 31 | git://gitlab.gnome.org/GNOME/libglnx.git;protocol=https;branch=master;name=libglnx;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/subprojects/libglnx \ | ||
| 31 | file://0001-meson.build-add-a-hack-for-crosscompile.patch \ | 32 | file://0001-meson.build-add-a-hack-for-crosscompile.patch \ |
| 32 | " | 33 | " |
| 33 | 34 | ||
| 34 | SRCREV = "23a76c392170dbbd26230f85ef56c3a57e52b857" | 35 | SRCREV_main = "f5aec228c9eb0c9a70eadd6424d92c0ca8a78247" |
| 36 | |||
| 37 | # this revision comes from subprojects/libglnx.wrap file of the main source repo | ||
| 38 | SRCREV_libglnx = "ccea836b799256420788c463a638ded0636b1632" | ||
| 39 | |||
| 40 | SRCREV_FORMAT = "main" | ||
| 35 | 41 | ||
| 36 | FILES:${PN} += "${libdir}/systemd ${datadir}/dbus-1" | 42 | FILES:${PN} += "${libdir}/systemd ${datadir}/dbus-1" |
| 37 | 43 | ||
| @@ -47,3 +53,5 @@ do_write_config:append() { | |||
| 47 | bwrap = '${bindir}/bwrap' | 53 | bwrap = '${bindir}/bwrap' |
| 48 | EOF | 54 | EOF |
| 49 | } | 55 | } |
| 56 | |||
| 57 | CVE_STATUS[CVE-2026-40354] = "fixed-version: fixed in 1.20.4" | ||
diff --git a/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.19.bb b/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.20.bb index 2550d4cd59..3d122981ca 100644 --- a/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.19.bb +++ b/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.20.bb | |||
| @@ -3,11 +3,11 @@ LICENSE = "GPL-2.0-only" | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" |
| 4 | 4 | ||
| 5 | SRC_URI = "http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.xz" | 5 | SRC_URI = "http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.xz" |
| 6 | SRC_URI[sha256sum] = "e92deb929c10d4b29329397af8a2585101247f7e6177ac6f1d28e82130ed8c19" | 6 | SRC_URI[sha256sum] = "b8e34286278f4fef3e1bfe9685c395ccc0eb50c14d3a2fb4953dd00fbfd3af39" |
| 7 | 7 | ||
| 8 | inherit autotools gettext pkgconfig | 8 | inherit meson gettext pkgconfig |
| 9 | 9 | ||
| 10 | EXTRA_OECONF = "--disable-documentation" | 10 | EXTRA_OEMESON = "-Ddocs=false" |
| 11 | 11 | ||
| 12 | CONFFILES:${PN} += " \ | 12 | CONFFILES:${PN} += " \ |
| 13 | ${sysconfdir}/xdg/user-dirs.conf \ | 13 | ${sysconfdir}/xdg/user-dirs.conf \ |
diff --git a/meta-oe/recipes-support/xrdp/xrdp_0.10.5.bb b/meta-oe/recipes-support/xrdp/xrdp_0.10.6.bb index 8d7c5807f2..152b37cb37 100644 --- a/meta-oe/recipes-support/xrdp/xrdp_0.10.5.bb +++ b/meta-oe/recipes-support/xrdp/xrdp_0.10.6.bb | |||
| @@ -17,7 +17,7 @@ SRC_URI = "https://github.com/neutrinolabs/${BPN}/releases/download/v${PV}/${BPN | |||
| 17 | file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \ | 17 | file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \ |
| 18 | file://0001-mark-count-with-unused-attribute.patch \ | 18 | file://0001-mark-count-with-unused-attribute.patch \ |
| 19 | " | 19 | " |
| 20 | SRC_URI[sha256sum] = "9abc96d164de4b1c40e2f3f537d0593d052a640cf3388978c133715ea69fb123" | 20 | SRC_URI[sha256sum] = "dfc21d5d603b642cf583987b36706b685bf05fd3aaaaacefb8f57c5f4a448677" |
| 21 | 21 | ||
| 22 | UPSTREAM_CHECK_URI = "https://github.com/neutrinolabs/xrdp/releases" | 22 | UPSTREAM_CHECK_URI = "https://github.com/neutrinolabs/xrdp/releases" |
| 23 | UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)" | 23 | UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)" |
| @@ -127,3 +127,12 @@ pkg_postinst:${PN}() { | |||
| 127 | fi | 127 | fi |
| 128 | fi | 128 | fi |
| 129 | } | 129 | } |
| 130 | |||
| 131 | CVE_STATUS[CVE-2026-32105] = "fixed-version: fixed in 0.10.6" | ||
| 132 | CVE_STATUS[CVE-2026-32107] = "fixed-version: fixed in 0.10.6" | ||
| 133 | CVE_STATUS[CVE-2026-32623] = "fixed-version: fixed in 0.10.6" | ||
| 134 | CVE_STATUS[CVE-2026-32624] = "fixed-version: fixed in 0.10.6" | ||
| 135 | CVE_STATUS[CVE-2026-33145] = "fixed-version: fixed in 0.10.6" | ||
| 136 | CVE_STATUS[CVE-2026-33516] = "fixed-version: fixed in 0.10.6" | ||
| 137 | CVE_STATUS[CVE-2026-33689] = "fixed-version: fixed in 0.10.6" | ||
| 138 | CVE_STATUS[CVE-2026-35512] = "fixed-version: fixed in 0.10.6" | ||
diff --git a/meta-oe/recipes-test/catch2/catch2_3.13.0.bb b/meta-oe/recipes-test/catch2/catch2_3.14.0.bb index c5d85ba302..2aba52e7ae 100644 --- a/meta-oe/recipes-test/catch2/catch2_3.13.0.bb +++ b/meta-oe/recipes-test/catch2/catch2_3.14.0.bb | |||
| @@ -5,7 +5,7 @@ LICENSE = "BSL-1.0" | |||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" | 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" |
| 6 | 6 | ||
| 7 | SRC_URI = "git://github.com/catchorg/Catch2.git;branch=devel;protocol=https;tag=v${PV}" | 7 | SRC_URI = "git://github.com/catchorg/Catch2.git;branch=devel;protocol=https;tag=v${PV}" |
| 8 | SRCREV = "29c9844f688acb27c87338c39cd186ebfe41aa19" | 8 | SRCREV = "b670de4fe12ac7c5e858b7de3a14fb4bd18c760e" |
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | inherit cmake python3native | 11 | inherit cmake python3native |
diff --git a/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb index 2ff88e6264..65f23cfe9e 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 = "\ | |||
| 300 | python3-py-ubjson \ | 300 | python3-py-ubjson \ |
| 301 | python3-pyalsaaudio \ | 301 | python3-pyalsaaudio \ |
| 302 | python3-pyasn1-modules \ | 302 | python3-pyasn1-modules \ |
| 303 | python3-pyatspi \ | 303 | ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data ${GTK2DISTROFEATURES}", "python3-pyatspi", "", d)} \ |
| 304 | python3-pyaudio \ | 304 | python3-pyaudio \ |
| 305 | python3-pybind11 \ | 305 | python3-pybind11 \ |
| 306 | python3-pybind11-json \ | 306 | python3-pybind11-json \ |
diff --git a/meta-python/recipes-devtools/python/python3-aiofiles_24.1.0.bb b/meta-python/recipes-devtools/python/python3-aiofiles_25.1.0.bb index 1e9ebdf97d..26cc9e81f3 100644 --- a/meta-python/recipes-devtools/python/python3-aiofiles_24.1.0.bb +++ b/meta-python/recipes-devtools/python/python3-aiofiles_25.1.0.bb | |||
| @@ -4,12 +4,16 @@ HOMEPAGE = "https://github.com/aio-libs/aiohttp" | |||
| 4 | LICENSE = "Apache-2.0" | 4 | LICENSE = "Apache-2.0" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c" | 7 | SRC_URI[sha256sum] = "a8d728f0a29de45dc521f18f07297428d56992a742f0cd2701ba86e44d23d5b2" |
| 8 | 8 | ||
| 9 | PYPI_PACKAGE = "aiofiles" | 9 | PYPI_PACKAGE = "aiofiles" |
| 10 | 10 | ||
| 11 | inherit pypi python_hatchling | 11 | inherit pypi python_hatchling |
| 12 | 12 | ||
| 13 | DEPENDS += "\ | ||
| 14 | python3-hatch-vcs-native \ | ||
| 15 | " | ||
| 16 | |||
| 13 | RDEPENDS:${PN} = "\ | 17 | RDEPENDS:${PN} = "\ |
| 14 | python3-asyncio \ | 18 | python3-asyncio \ |
| 15 | " | 19 | " |
diff --git a/meta-python/recipes-devtools/python/python3-aiohttp_3.13.4.bb b/meta-python/recipes-devtools/python/python3-aiohttp_3.13.5.bb index 7416b87347..f3a0fbf557 100644 --- a/meta-python/recipes-devtools/python/python3-aiohttp_3.13.4.bb +++ b/meta-python/recipes-devtools/python/python3-aiohttp_3.13.5.bb | |||
| @@ -4,9 +4,14 @@ HOMEPAGE = "https://github.com/aio-libs/aiohttp" | |||
| 4 | LICENSE = "Apache-2.0" | 4 | LICENSE = "Apache-2.0" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41" | 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "d97a6d09c66087890c2ab5d49069e1e570583f7ac0314ecf98294c1b6aaebd38" | 7 | SRC_URI[sha256sum] = "9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" |
| 8 | 8 | ||
| 9 | CVE_PRODUCT = "aiohttp" | 9 | CVE_PRODUCT = "aiohttp" |
| 10 | CVE_STATUS_GROUPS = "CVE_AIOHTTP_FIX_3_13_4" | ||
| 11 | CVE_AIOHTTP_FIX_3_13_4[status] = "fixed-version: fixed in 3.13.4" | ||
| 12 | CVE_AIOHTTP_FIX_3_13_4 = "CVE-2026-22815 CVE-2026-34513 CVE-2026-34514 \ | ||
| 13 | CVE-2026-34515 CVE-2026-34516 CVE-2026-34517 CVE-2026-34518 CVE-2026-34519 \ | ||
| 14 | CVE-2026-34520 CVE-2026-34525" | ||
| 10 | 15 | ||
| 11 | inherit python_setuptools_build_meta pypi | 16 | inherit python_setuptools_build_meta pypi |
| 12 | 17 | ||
diff --git a/meta-python/recipes-devtools/python/python3-asyncinotify_4.4.0.bb b/meta-python/recipes-devtools/python/python3-asyncinotify_4.4.2.bb index 115e88cedf..bdda38734d 100644 --- a/meta-python/recipes-devtools/python/python3-asyncinotify_4.4.0.bb +++ b/meta-python/recipes-devtools/python/python3-asyncinotify_4.4.2.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://gitlab.com/Taywee/asyncinotify" | |||
| 3 | LICENSE = "MPL-2.0" | 3 | LICENSE = "MPL-2.0" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f75d2927d3c1ed2414ef72048f5ad640" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f75d2927d3c1ed2414ef72048f5ad640" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "438bdc0715f4f959e6e0af70e76cea198b4e28e5933c7cbf1e9987b50394afb3" | 6 | SRC_URI[sha256sum] = "52ad97aa5332dd78592ab9c64171f2953447d98f9170b9bd440c5d19b17d0416" |
| 7 | 7 | ||
| 8 | inherit pypi python_setuptools_build_meta | 8 | inherit pypi python_setuptools_build_meta |
| 9 | 9 | ||
diff --git a/meta-python/recipes-devtools/python/python3-bitarray_3.8.0.bb b/meta-python/recipes-devtools/python/python3-bitarray_3.8.1.bb index 4cacd79522..6ef0f4202a 100644 --- a/meta-python/recipes-devtools/python/python3-bitarray_3.8.0.bb +++ b/meta-python/recipes-devtools/python/python3-bitarray_3.8.1.bb | |||
| @@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/ilanschnell/bitarray" | |||
| 4 | LICENSE = "PSF-2.0" | 4 | LICENSE = "PSF-2.0" |
| 5 | LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=6abe80c028e4ee53045a33ae807c64fd" | 5 | LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=6abe80c028e4ee53045a33ae807c64fd" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "3eae38daffd77c9621ae80c16932eea3fb3a4af141fb7cc724d4ad93eff9210d" | 7 | SRC_URI[sha256sum] = "f90bb3c680804ec9630bcf8c0965e54b4de84d33b17d7da57c87c30f0c64c6f5" |
| 8 | 8 | ||
| 9 | inherit python_setuptools_build_meta pypi | 9 | inherit python_setuptools_build_meta pypi |
| 10 | 10 | ||
diff --git a/meta-python/recipes-devtools/python/python3-charset-normalizer/0001-pyprojects-Bump-setuptools-check-to-be-82.x.patch b/meta-python/recipes-devtools/python/python3-charset-normalizer/0001-pyprojects-Bump-setuptools-check-to-be-82.x.patch deleted file mode 100644 index 571333e44e..0000000000 --- a/meta-python/recipes-devtools/python/python3-charset-normalizer/0001-pyprojects-Bump-setuptools-check-to-be-82.x.patch +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | From 17bc1de2c08f9303886d654572b1ba64259a8a68 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 20 Mar 2026 15:06:51 -0700 | ||
| 4 | Subject: [PATCH] pyprojects: Bump setuptools check to be <= 82.x | ||
| 5 | |||
| 6 | This ensures build with 82.0.1 goes on | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 11 | --- | ||
| 12 | pyproject.toml | 2 +- | ||
| 13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/pyproject.toml b/pyproject.toml | ||
| 16 | index ea1c514..bbc83b7 100644 | ||
| 17 | --- a/pyproject.toml | ||
| 18 | +++ b/pyproject.toml | ||
| 19 | @@ -1,5 +1,5 @@ | ||
| 20 | [build-system] | ||
| 21 | -requires = ["setuptools>=68,<=82.0.0"] | ||
| 22 | +requires = ["setuptools>=68,<=83.0.0"] | ||
| 23 | build-backend = "backend" | ||
| 24 | backend-path = ["_mypyc_hook"] | ||
| 25 | |||
diff --git a/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.6.bb b/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.7.bb index e6056a3512..b9dffb21e4 100644 --- a/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.6.bb +++ b/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.7.bb | |||
| @@ -3,9 +3,7 @@ HOMEPAGE = "https://github.com/ousret/charset_normalizer" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=48178f3fc1374ad7e830412f812bde05" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=48178f3fc1374ad7e830412f812bde05" |
| 5 | 5 | ||
| 6 | SRC_URI += "file://0001-pyprojects-Bump-setuptools-check-to-be-82.x.patch" | 6 | SRC_URI[sha256sum] = "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5" |
| 7 | |||
| 8 | SRC_URI[sha256sum] = "1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6" | ||
| 9 | 7 | ||
| 10 | DEPENDS += "python3-setuptools-scm-native python3-mypy-native" | 8 | DEPENDS += "python3-setuptools-scm-native python3-mypy-native" |
| 11 | 9 | ||
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 c58089cc15..0000000000 --- a/meta-python/recipes-devtools/python/python3-ckzg/python-ckzg-0001-Let-override-CC.patch +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | From: Peter Lemenkov <lemenkov@gmail.com> | ||
| 2 | Date: Wed, 6 Nov 2024 16:35:23 +0300 | ||
| 3 | Subject: [PATCH] Let override CC | ||
| 4 | |||
| 5 | Upstream-Status: Pending | ||
| 6 | |||
| 7 | Signed-off-by: Peter Lemenkov <lemenkov@gmail.com> | ||
| 8 | |||
| 9 | diff --git a/src/Makefile b/src/Makefile | ||
| 10 | index b733a11..c688005 100644 | ||
| 11 | --- a/src/Makefile | ||
| 12 | +++ b/src/Makefile | ||
| 13 | @@ -79,7 +79,7 @@ ifeq ($(PLATFORM),Windows) | ||
| 14 | CFLAGS += -D_CRT_SECURE_NO_WARNINGS | ||
| 15 | CFLAGS += -Wno-missing-braces -Wno-format | ||
| 16 | else | ||
| 17 | - CC = clang | ||
| 18 | + CC ?= clang | ||
| 19 | CFLAGS += -fPIC | ||
| 20 | CFLAGS += -Wmissing-braces -Wformat=2 | ||
| 21 | 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 9b0baa358a..0000000000 --- a/meta-python/recipes-devtools/python/python3-ckzg/python-ckzg-0002-Disable-Werror.patch +++ /dev/null | |||
| @@ -1,30 +0,0 @@ | |||
| 1 | From: rpm-build <rpm-build> | ||
| 2 | Date: Tue, 26 Nov 2024 11:13:18 +0100 | ||
| 3 | Subject: [PATCH] Disable Werror | ||
| 4 | |||
| 5 | Upstream-Status: Pending | ||
| 6 | |||
| 7 | Signed-off-by: rpm-build <rpm-build> | ||
| 8 | |||
| 9 | diff --git a/src/Makefile b/src/Makefile | ||
| 10 | index c688005..01b7a80 100644 | ||
| 11 | --- a/src/Makefile | ||
| 12 | +++ b/src/Makefile | ||
| 13 | @@ -20,7 +20,7 @@ ifeq ($(PLATFORM),Darwin) | ||
| 14 | endif | ||
| 15 | |||
| 16 | # The base compiler flags. More can be added on command line. | ||
| 17 | -CFLAGS += -I. -I../inc -O2 -Werror | ||
| 18 | +CFLAGS += -I. -I../inc | ||
| 19 | # Enable a bunch of optional warnings. | ||
| 20 | CFLAGS += \ | ||
| 21 | -pedantic \ | ||
| 22 | @@ -81,7 +81,7 @@ ifeq ($(PLATFORM),Windows) | ||
| 23 | else | ||
| 24 | CC ?= clang | ||
| 25 | CFLAGS += -fPIC | ||
| 26 | - CFLAGS += -Wmissing-braces -Wformat=2 | ||
| 27 | + CFLAGS += -Wmissing-braces | ||
| 28 | endif | ||
| 29 | |||
| 30 | # 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.7.bb index 5a6196bf75..b01bd2d78d 100644 --- a/meta-python/recipes-devtools/python/python3-ckzg_2.1.1.bb +++ b/meta-python/recipes-devtools/python/python3-ckzg_2.1.7.bb | |||
| @@ -6,10 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" | |||
| 6 | 6 | ||
| 7 | SRC_URI += " \ | 7 | SRC_URI += " \ |
| 8 | file://blst-0001-Support-64-bit-limbs-on-no-asm-platforms.patch \ | 8 | file://blst-0001-Support-64-bit-limbs-on-no-asm-platforms.patch \ |
| 9 | file://python-ckzg-0001-Let-override-CC.patch \ | ||
| 10 | file://python-ckzg-0002-Disable-Werror.patch \ | ||
| 11 | " | 9 | " |
| 12 | 10 | ||
| 13 | SRC_URI[sha256sum] = "d6b306b7ec93a24e4346aa53d07f7f75053bc0afc7398e35fa649e5f9d48fcc4" | 11 | SRC_URI[sha256sum] = "a0c61c5fd573af0267bcb435ef0f499911289ceb05e863480779ea284a3bb928" |
| 14 | 12 | ||
| 15 | inherit pypi setuptools3 | 13 | inherit pypi setuptools3 |
diff --git a/meta-python/recipes-devtools/python/python3-cmake_4.3.0.bb b/meta-python/recipes-devtools/python/python3-cmake_4.3.1.bb index b9eb56891d..5787b73d98 100644 --- a/meta-python/recipes-devtools/python/python3-cmake_4.3.0.bb +++ b/meta-python/recipes-devtools/python/python3-cmake_4.3.1.bb | |||
| @@ -11,7 +11,7 @@ PYPI_PACKAGE = "cmake" | |||
| 11 | PYPI_ARCHIVE_NAME_PREFIX = "pypi-" | 11 | PYPI_ARCHIVE_NAME_PREFIX = "pypi-" |
| 12 | 12 | ||
| 13 | inherit pypi python_setuptools_build_meta | 13 | inherit pypi python_setuptools_build_meta |
| 14 | SRC_URI[sha256sum] = "b25ef14e4ebc16219eeb199da2199fc526c011f9973e02e7c21c69bfd46ed752" | 14 | SRC_URI[sha256sum] = "6fe523413cdd2568a19a6ec297b8f869a95a3f8edaf0dd73731b81412216e00e" |
| 15 | 15 | ||
| 16 | SRC_URI += " \ | 16 | SRC_URI += " \ |
| 17 | file://CMakeLists.txt \ | 17 | file://CMakeLists.txt \ |
diff --git a/meta-python/recipes-devtools/python/python3-configargparse_1.7.3.bb b/meta-python/recipes-devtools/python/python3-configargparse_1.7.5.bb index 6715abab3a..49df56d75b 100644 --- a/meta-python/recipes-devtools/python/python3-configargparse_1.7.3.bb +++ b/meta-python/recipes-devtools/python/python3-configargparse_1.7.5.bb | |||
| @@ -3,12 +3,14 @@ HOMEPAGE = "https://github.com/bw2/ConfigArgParse" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "76dd1a51145fb7ca82621ee08cd38ec0c6316fe27a38b9137b75667d1116399e" | 6 | SRC_URI[sha256sum] = "e3f9a7bb6be34d66b2e3c4a2f58e3045f8dfae47b0dc039f87bcfaa0f193fb0f" |
| 7 | 7 | ||
| 8 | PYPI_PACKAGE = "configargparse" | 8 | PYPI_PACKAGE = "configargparse" |
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" |
| 10 | 10 | ||
| 11 | inherit pypi setuptools3 | 11 | inherit pypi python_setuptools_build_meta |
| 12 | |||
| 13 | DEPENDS += "python3-setuptools-scm-native" | ||
| 12 | 14 | ||
| 13 | PACKAGECONFIG ?= "yaml" | 15 | PACKAGECONFIG ?= "yaml" |
| 14 | PACKAGECONFIG[yaml] = ",,,python3-pyyaml" | 16 | PACKAGECONFIG[yaml] = ",,,python3-pyyaml" |
diff --git a/meta-python/recipes-devtools/python/python3-croniter_6.0.0.bb b/meta-python/recipes-devtools/python/python3-croniter_6.2.2.bb index 201074e1e3..d217161d7d 100644 --- a/meta-python/recipes-devtools/python/python3-croniter_6.0.0.bb +++ b/meta-python/recipes-devtools/python/python3-croniter_6.2.2.bb | |||
| @@ -5,9 +5,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b8ee59850b882cbf623188489ea748e2" | |||
| 5 | 5 | ||
| 6 | PYPI_PACKAGE = "croniter" | 6 | PYPI_PACKAGE = "croniter" |
| 7 | 7 | ||
| 8 | SRC_URI[sha256sum] = "37c504b313956114a983ece2c2b07790b1f1094fe9d81cc94739214748255577" | 8 | SRC_URI[sha256sum] = "ba60832a5ec8e12e51b8691c3309a113d1cf6526bdf1a48150ce8ec7a532d0ab" |
| 9 | 9 | ||
| 10 | inherit pypi setuptools3 | 10 | inherit pypi python_hatchling |
| 11 | 11 | ||
| 12 | RDEPENDS:${PN} += " \ | 12 | RDEPENDS:${PN} += " \ |
| 13 | python3-dateutil \ | 13 | python3-dateutil \ |
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_9.1.0.bb index 6ddc489f8a..add7031f1e 100644 --- a/meta-python/recipes-devtools/python/python3-cucumber-tag-expressions_6.2.0.bb +++ b/meta-python/recipes-devtools/python/python3-cucumber-tag-expressions_9.1.0.bb | |||
| @@ -2,9 +2,9 @@ SUMMARY = "Cucumber tag expression parser" | |||
| 2 | DESCRIPTION = "Provides a tag-expression parser and evaluation logic for cucumber/behave" | 2 | DESCRIPTION = "Provides a tag-expression parser and evaluation logic for cucumber/behave" |
| 3 | HOMEPAGE = "https://github.com/cucumber/tag-expressions" | 3 | HOMEPAGE = "https://github.com/cucumber/tag-expressions" |
| 4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
| 5 | LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=8227180126797a0148f94f483f3e1489" | 5 | LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=134f1026f0de92fd30e71976590a2868" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "b60aa2cdbf9ac43e28d9b0e4fd49edf9f09d5d941257d2912f5228f9d166c023" | 7 | SRC_URI[sha256sum] = "d960383d5885300ebcbcb14e41657946fde2a59d5c0f485eb291bc6a0e228acc" |
| 8 | 8 | ||
| 9 | inherit pypi python_setuptools_build_meta | 9 | inherit pypi python_setuptools_build_meta |
| 10 | 10 | ||
| @@ -12,4 +12,5 @@ PYPI_PACKAGE = "cucumber_tag_expressions" | |||
| 12 | 12 | ||
| 13 | DEPENDS += "\ | 13 | DEPENDS += "\ |
| 14 | python3-setuptools-scm-native \ | 14 | python3-setuptools-scm-native \ |
| 15 | python3-uv-build-native \ | ||
| 15 | " | 16 | " |
diff --git a/meta-python/recipes-devtools/python/python3-django_5.2.12.bb b/meta-python/recipes-devtools/python/python3-django_5.2.13.bb index 13166d4c53..fcf50e939d 100644 --- a/meta-python/recipes-devtools/python/python3-django_5.2.12.bb +++ b/meta-python/recipes-devtools/python/python3-django_5.2.13.bb | |||
| @@ -2,4 +2,4 @@ require python3-django.inc | |||
| 2 | inherit python_setuptools_build_meta | 2 | inherit python_setuptools_build_meta |
| 3 | 3 | ||
| 4 | SRC_URI += "file://0001-fix-test_msgfmt_error_including_non_ascii-test.patch" | 4 | SRC_URI += "file://0001-fix-test_msgfmt_error_including_non_ascii-test.patch" |
| 5 | SRC_URI[sha256sum] = "6b809af7165c73eff5ce1c87fdae75d4da6520d6667f86401ecf55b681eb1eeb" | 5 | SRC_URI[sha256sum] = "a31589db5188d074c63f0945c3888fad104627dfcc236fb2b97f71f89da33bc4" |
diff --git a/meta-python/recipes-devtools/python/python3-django_6.0.3.bb b/meta-python/recipes-devtools/python/python3-django_6.0.4.bb index b3aec8870a..378b760f2c 100644 --- a/meta-python/recipes-devtools/python/python3-django_6.0.3.bb +++ b/meta-python/recipes-devtools/python/python3-django_6.0.4.bb | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | require python3-django.inc | 1 | require python3-django.inc |
| 2 | inherit python_setuptools_build_meta | 2 | inherit python_setuptools_build_meta |
| 3 | 3 | ||
| 4 | SRC_URI[sha256sum] = "90be765ee756af8a6cbd6693e56452404b5ad15294f4d5e40c0a55a0f4870fe1" | 4 | SRC_URI[sha256sum] = "8cfa2572b3f2768b2e84983cf3c4811877a01edb64e817986ec5d60751c113ac" |
| 5 | 5 | ||
| 6 | # Set DEFAULT_PREFERENCE so that the LTS version of django is built by | 6 | # Set DEFAULT_PREFERENCE so that the LTS version of django is built by |
| 7 | # default. To build the 6.x branch, | 7 | # default. To build the 6.x branch, |
diff --git a/meta-python/recipes-devtools/python/python3-djangorestframework_3.16.1.bb b/meta-python/recipes-devtools/python/python3-djangorestframework_3.17.1.bb index bcd079f328..42edd15156 100644 --- a/meta-python/recipes-devtools/python/python3-djangorestframework_3.16.1.bb +++ b/meta-python/recipes-devtools/python/python3-djangorestframework_3.17.1.bb | |||
| @@ -5,11 +5,11 @@ HOMEPAGE = "https://pypi.python.org/pypi/djangorestframework" | |||
| 5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
| 6 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7879a5a716147a784f7e524c9cf103c1" | 6 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7879a5a716147a784f7e524c9cf103c1" |
| 7 | 7 | ||
| 8 | SRC_URI[sha256sum] = "166809528b1aced0a17dc66c24492af18049f2c9420dbd0be29422029cfc3ff7" | 8 | SRC_URI[sha256sum] = "a6def5f447fe78ff853bff1d47a3c59bf38f5434b031780b351b0c73a62db1a5" |
| 9 | 9 | ||
| 10 | PYPI_PACKAGE = "djangorestframework" | 10 | PYPI_PACKAGE = "djangorestframework" |
| 11 | 11 | ||
| 12 | inherit pypi setuptools3 | 12 | inherit pypi python_setuptools_build_meta |
| 13 | 13 | ||
| 14 | RDEPENDS:${PN} += "\ | 14 | RDEPENDS:${PN} += "\ |
| 15 | python3-django \ | 15 | python3-django \ |
diff --git a/meta-python/recipes-devtools/python/python3-eventlet_0.40.4.bb b/meta-python/recipes-devtools/python/python3-eventlet_0.41.0.bb index 213460dc70..3c27caf968 100644 --- a/meta-python/recipes-devtools/python/python3-eventlet_0.40.4.bb +++ b/meta-python/recipes-devtools/python/python3-eventlet_0.41.0.bb | |||
| @@ -5,7 +5,7 @@ LICENSE = "MIT" | |||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778" |
| 6 | 6 | ||
| 7 | SRC_URI += "file://d19ad6cc086684ee74db250f5fd35227c98e678a.patch" | 7 | SRC_URI += "file://d19ad6cc086684ee74db250f5fd35227c98e678a.patch" |
| 8 | SRC_URI[sha256sum] = "69bef712b1be18b4930df6f0c495d2a882bf7b63aa111e7b6eeff461cfcaf26f" | 8 | SRC_URI[sha256sum] = "35df85f0ccd3e73effb6fd9f1ceae46b500b966c7da1817289c323a307bd397b" |
| 9 | 9 | ||
| 10 | CVE_PRODUCT = "eventlet" | 10 | CVE_PRODUCT = "eventlet" |
| 11 | 11 | ||
diff --git a/meta-python/recipes-devtools/python/python3-faker_40.12.0.bb b/meta-python/recipes-devtools/python/python3-faker_40.13.0.bb index 2f3ec72c02..97f0e6e8f6 100644 --- a/meta-python/recipes-devtools/python/python3-faker_40.12.0.bb +++ b/meta-python/recipes-devtools/python/python3-faker_40.13.0.bb | |||
| @@ -7,7 +7,7 @@ HOMEPAGE = "https://github.com/joke2k/faker" | |||
| 7 | LICENSE = "MIT" | 7 | LICENSE = "MIT" |
| 8 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=53360c4126f7d03b63cb79b0dab9e9e1" | 8 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=53360c4126f7d03b63cb79b0dab9e9e1" |
| 9 | 9 | ||
| 10 | SRC_URI[sha256sum] = "58b5a9054c367bd5fb2e948634105364cc570e78a98a8e5161a74691c45f158f" | 10 | SRC_URI[sha256sum] = "a0751c84c3abac17327d7bb4c98e8afe70ebf7821e01dd7d0b15cd8856415525" |
| 11 | 11 | ||
| 12 | inherit pypi setuptools3 ptest-python-pytest | 12 | inherit pypi setuptools3 ptest-python-pytest |
| 13 | 13 | ||
diff --git a/meta-python/recipes-devtools/python/python3-fastapi_0.135.2.bb b/meta-python/recipes-devtools/python/python3-fastapi_0.135.3.bb index a8ace95347..a4bdb19bbf 100644 --- a/meta-python/recipes-devtools/python/python3-fastapi_0.135.2.bb +++ b/meta-python/recipes-devtools/python/python3-fastapi_0.135.3.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://fastapi.tiangolo.com/" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=95792ff3fe8e11aa49ceb247e66e4810" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=95792ff3fe8e11aa49ceb247e66e4810" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "88a832095359755527b7f63bb4c6bc9edb8329a026189eed83d6c1afcf419d56" | 6 | SRC_URI[sha256sum] = "bd6d7caf1a2bdd8d676843cdcd2287729572a1ef524fc4d65c17ae002a1be654" |
| 7 | 7 | ||
| 8 | SRC_URI += "file://run-ptest" | 8 | SRC_URI += "file://run-ptest" |
| 9 | 9 | ||
diff --git a/meta-python/recipes-devtools/python/python3-gevent_25.9.1.bb b/meta-python/recipes-devtools/python/python3-gevent_26.4.0.bb index 51861f24c7..c29b55d25d 100644 --- a/meta-python/recipes-devtools/python/python3-gevent_25.9.1.bb +++ b/meta-python/recipes-devtools/python/python3-gevent_26.4.0.bb | |||
| @@ -15,7 +15,7 @@ RDEPENDS:${PN} = "python3-greenlet \ | |||
| 15 | 15 | ||
| 16 | SRC_URI += "file://0001-_setuputils.py-Do-not-add-sys_inc_dir.patch" | 16 | SRC_URI += "file://0001-_setuputils.py-Do-not-add-sys_inc_dir.patch" |
| 17 | 17 | ||
| 18 | SRC_URI[sha256sum] = "adf9cd552de44a4e6754c51ff2e78d9193b7fa6eab123db9578a210e657235dd" | 18 | SRC_URI[sha256sum] = "288d03addfccf0d1c67268358b6759b04392bf3bc35d26f3d9a45c82899c292d" |
| 19 | 19 | ||
| 20 | CVE_PRODUCT = "gevent" | 20 | CVE_PRODUCT = "gevent" |
| 21 | 21 | ||
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.8.0.bb index 6308732f49..4cb8621ad8 100644 --- a/meta-python/recipes-devtools/python/python3-git-pw_2.7.1.bb +++ b/meta-python/recipes-devtools/python/python3-git-pw_2.8.0.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/getpatchwork/git-pw" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=26e1a171d943c64f00c51f90c256b9d4" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=26e1a171d943c64f00c51f90c256b9d4" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "f69c57aafd13d21d6fa604dff680c4f9113a8f31bf3f65dd663bad0e1839b0e1" | 6 | SRC_URI[sha256sum] = "212743923badb38b9da658b0df0b9f3770997684a9e787d489eed5d103e96100" |
| 7 | PYPI_PACKAGE = "git_pw" | 7 | PYPI_PACKAGE = "git_pw" |
| 8 | 8 | ||
| 9 | inherit pypi python_setuptools_build_meta | 9 | inherit pypi python_setuptools_build_meta |
diff --git a/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.3.0.bb b/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.3.1.bb index 0eed90090c..7f9435d475 100644 --- a/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.3.0.bb +++ b/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.3.1.bb | |||
| @@ -5,7 +5,7 @@ LICENSE = "Apache-2.0" | |||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" |
| 6 | 6 | ||
| 7 | SRC_URI += "file://0001-python3-google-auth-oauthlib-Skip-failing-3PI-creden.patch" | 7 | SRC_URI += "file://0001-python3-google-auth-oauthlib-Skip-failing-3PI-creden.patch" |
| 8 | SRC_URI[sha256sum] = "cd39e807ac7229d6b8b9c1e297321d36fcc8a9e4857dff4301870985df51a528" | 8 | SRC_URI[sha256sum] = "14c22c7b3dd3d06dbe44264144409039465effdd1eef94f7ce3710e486cc4bfa" |
| 9 | 9 | ||
| 10 | inherit pypi setuptools3 ptest | 10 | inherit pypi setuptools3 ptest |
| 11 | PYPI_PACKAGE = "google_auth_oauthlib" | 11 | PYPI_PACKAGE = "google_auth_oauthlib" |
diff --git a/meta-python/recipes-devtools/python/python3-google-auth_2.48.0.bb b/meta-python/recipes-devtools/python/python3-google-auth_2.49.2.bb index 4e48c62861..fc6df70f45 100644 --- a/meta-python/recipes-devtools/python/python3-google-auth_2.48.0.bb +++ b/meta-python/recipes-devtools/python/python3-google-auth_2.49.2.bb | |||
| @@ -9,7 +9,7 @@ SRC_URI += " \ | |||
| 9 | file://0001-python3-google-auth-Skip-mTLS-tests-in-ptest-environ.patch \ | 9 | file://0001-python3-google-auth-Skip-mTLS-tests-in-ptest-environ.patch \ |
| 10 | file://run-ptest \ | 10 | file://run-ptest \ |
| 11 | " | 11 | " |
| 12 | SRC_URI[sha256sum] = "4f7e706b0cd3208a3d940a19a822c37a476ddba5450156c3e6624a71f7c841ce" | 12 | SRC_URI[sha256sum] = "c1ae38500e73065dcae57355adb6278cf8b5c8e391994ae9cbadbcb9631ab409" |
| 13 | 13 | ||
| 14 | PYPI_PACKAGE = "google_auth" | 14 | PYPI_PACKAGE = "google_auth" |
| 15 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | 15 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" |
diff --git a/meta-python/recipes-devtools/python/python3-gpiod_2.4.1.bb b/meta-python/recipes-devtools/python/python3-gpiod_2.4.2.bb index 61a3fb929e..87765c2482 100644 --- a/meta-python/recipes-devtools/python/python3-gpiod_2.4.1.bb +++ b/meta-python/recipes-devtools/python/python3-gpiod_2.4.2.bb | |||
| @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4b54a1fd55a448865a0b32d41598759d" | |||
| 5 | 5 | ||
| 6 | SRC_URI += "file://run-ptest" | 6 | SRC_URI += "file://run-ptest" |
| 7 | 7 | ||
| 8 | SRC_URI[sha256sum] = "d29a1e8b2a065f7ed82f00a96009bc1486fc705bb2ad25820a8ae962ec6d7688" | 8 | SRC_URI[sha256sum] = "602aae17ff365bb8e2a30ce65c6bbf2d8e7a7e64bf016e82e4fd4c730ef69ab7" |
| 9 | 9 | ||
| 10 | inherit python_setuptools_build_meta python_pep517 ptest pypi | 10 | inherit python_setuptools_build_meta python_pep517 ptest pypi |
| 11 | 11 | ||
diff --git a/meta-python/recipes-devtools/python/python3-greenlet_3.3.2.bb b/meta-python/recipes-devtools/python/python3-greenlet_3.4.0.bb index 21d6d620cb..728c2b7940 100644 --- a/meta-python/recipes-devtools/python/python3-greenlet_3.3.2.bb +++ b/meta-python/recipes-devtools/python/python3-greenlet_3.4.0.bb | |||
| @@ -4,7 +4,7 @@ LICENSE = "MIT & PSF-2.0" | |||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ |
| 5 | file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" | 5 | file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "2eaf067fc6d886931c7962e8c6bede15d2f01965560f3359b27c80bde2d151f2" | 7 | SRC_URI[sha256sum] = "f50a96b64dafd6169e595a5c56c9146ef80333e67d4476a65a9c55f400fc22ff" |
| 8 | 8 | ||
| 9 | inherit pypi python_setuptools_build_meta | 9 | inherit pypi python_setuptools_build_meta |
| 10 | 10 | ||
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 index 6ac6a72d25..d9ec337427 100644 --- a/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb +++ b/meta-python/recipes-devtools/python/python3-grpcio_1.78.0.bb | |||
| @@ -50,3 +50,4 @@ BBCLASSEXTEND = "native nativesdk" | |||
| 50 | CCACHE_DISABLE = "1" | 50 | CCACHE_DISABLE = "1" |
| 51 | 51 | ||
| 52 | CVE_PRODUCT += "grpc:grpc" | 52 | CVE_PRODUCT += "grpc:grpc" |
| 53 | CVE_STATUS[CVE-2026-33186] = "cpe-incorrect: the vulnerabilty affects only the go implementation" | ||
diff --git a/meta-python/recipes-devtools/python/python3-huey_2.6.0.bb b/meta-python/recipes-devtools/python/python3-huey_3.0.0.bb index 2821262153..f07383ed45 100644 --- a/meta-python/recipes-devtools/python/python3-huey_2.6.0.bb +++ b/meta-python/recipes-devtools/python/python3-huey_3.0.0.bb | |||
| @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" | |||
| 5 | 5 | ||
| 6 | PYPI_PACKAGE = "huey" | 6 | PYPI_PACKAGE = "huey" |
| 7 | 7 | ||
| 8 | SRC_URI[sha256sum] = "8d11f8688999d65266af1425b831f6e3773e99415027177b8734b0ffd5e251f6" | 8 | SRC_URI[sha256sum] = "0cfc83617b90132b0d375a3a3726aa7263cd461e7ae12af79b3a94e2630afaf5" |
| 9 | 9 | ||
| 10 | RDEPENDS:${PN} += " \ | 10 | RDEPENDS:${PN} += " \ |
| 11 | python3-datetime \ | 11 | python3-datetime \ |
diff --git a/meta-python/recipes-devtools/python/python3-icecream_2.1.10.bb b/meta-python/recipes-devtools/python/python3-icecream_2.2.0.bb index 68728caf9b..e307311834 100644 --- a/meta-python/recipes-devtools/python/python3-icecream_2.1.10.bb +++ b/meta-python/recipes-devtools/python/python3-icecream_2.2.0.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/gruns/icecream" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eca5ce1610d64ed40920efdce85ff8d1" | 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eca5ce1610d64ed40920efdce85ff8d1" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "15900126ba7dbe1f83819583cbe5ff79a2943224600878d89307e4633b32e528" | 6 | SRC_URI[sha256sum] = "9d7f244187f00a13f4ac77d176990e187e9c279d6cac4f7548e338291ad97343" |
| 7 | 7 | ||
| 8 | inherit pypi setuptools3 | 8 | inherit pypi setuptools3 |
| 9 | 9 | ||
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 index bfc37c2763..ca7cca4457 100644 --- a/meta-python/recipes-devtools/python/python3-icu_2.16.2.bb +++ b/meta-python/recipes-devtools/python/python3-icu_2.16.2.bb | |||
| @@ -18,3 +18,5 @@ inherit pkgconfig pypi python_setuptools_build_meta | |||
| 18 | 18 | ||
| 19 | # it's lowercase pyicu instead of ${PYPI_PACKAGE} in this version | 19 | # it's lowercase pyicu instead of ${PYPI_PACKAGE} in this version |
| 20 | S = "${UNPACKDIR}/pyicu-${PV}" | 20 | S = "${UNPACKDIR}/pyicu-${PV}" |
| 21 | |||
| 22 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta-python/recipes-devtools/python/python3-imgtool_2.3.0.bb b/meta-python/recipes-devtools/python/python3-imgtool_2.4.0.bb index ed647143cc..6b88fc0535 100644 --- a/meta-python/recipes-devtools/python/python3-imgtool_2.3.0.bb +++ b/meta-python/recipes-devtools/python/python3-imgtool_2.4.0.bb | |||
| @@ -3,7 +3,7 @@ SUMMARY = "MCUboot's image signing and key management tool" | |||
| 3 | LICENSE = "Apache-2.0" | 3 | LICENSE = "Apache-2.0" |
| 4 | LIC_FILES_CHKSUM = "file://imgtool/main.py;beginline=3;endline=18;md5=0645fb61e2f961a110302fbfdb227446" | 4 | LIC_FILES_CHKSUM = "file://imgtool/main.py;beginline=3;endline=18;md5=0645fb61e2f961a110302fbfdb227446" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "fff72e4e793ac0ec02a493c19548715ccc0a2358afaeeaa10b49ccc2e0bd1295" | 6 | SRC_URI[sha256sum] = "ef2db1d9e3f62b9bc9425a8e86c4ea7212c164f0a16e923d55250f0d8743342e" |
| 7 | 7 | ||
| 8 | inherit pypi setuptools3 | 8 | inherit pypi setuptools3 |
| 9 | 9 | ||
diff --git a/meta-python/recipes-devtools/python/python3-inline-snapshot_0.32.5.bb b/meta-python/recipes-devtools/python/python3-inline-snapshot_0.32.6.bb index 32b8d15249..1bcd3a457f 100644 --- a/meta-python/recipes-devtools/python/python3-inline-snapshot_0.32.5.bb +++ b/meta-python/recipes-devtools/python/python3-inline-snapshot_0.32.6.bb | |||
| @@ -4,7 +4,7 @@ LICENSE = "MIT" | |||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7a35eb90dfdf03953dd2074d0fdba1d4" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7a35eb90dfdf03953dd2074d0fdba1d4" |
| 5 | 5 | ||
| 6 | DEPENDS = "python3-hatchling-native" | 6 | DEPENDS = "python3-hatchling-native" |
| 7 | SRC_URI[sha256sum] = "5025074eab5c82a88504975e2655beeb5e96fd57ed2d9ebb38538473748f2065" | 7 | SRC_URI[sha256sum] = "224a96eeb86c4b2831d274239d3468dc0b7819264f608f595b2f9d01f79a6e38" |
| 8 | 8 | ||
| 9 | inherit pypi python_hatchling | 9 | inherit pypi python_hatchling |
| 10 | 10 | ||
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.4.bb index 2b2840ae14..85328ed951 100644 --- a/meta-python/recipes-devtools/python/python3-legacy-cgi_2.6.2.bb +++ b/meta-python/recipes-devtools/python/python3-legacy-cgi_2.6.4.bb | |||
| @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4b8801e752a2c70ac41a5f9aa243f766" | |||
| 5 | 5 | ||
| 6 | PYPI_PACKAGE = "legacy_cgi" | 6 | PYPI_PACKAGE = "legacy_cgi" |
| 7 | 7 | ||
| 8 | inherit python_poetry_core pypi | 8 | inherit python_poetry_core pypi python_hatchling |
| 9 | 9 | ||
| 10 | SRC_URI += "\ | 10 | SRC_URI += "\ |
| 11 | file://0001-cgi.py-fixup-interpreter-according-to-OE.patch \ | 11 | file://0001-cgi.py-fixup-interpreter-according-to-OE.patch \ |
| @@ -15,8 +15,13 @@ DEPENDS += "\ | |||
| 15 | ${PYTHON_PN}-setuptools-scm-native \ | 15 | ${PYTHON_PN}-setuptools-scm-native \ |
| 16 | " | 16 | " |
| 17 | 17 | ||
| 18 | # Add this function to solve package QA Issue | ||
| 19 | do_install:append() { | ||
| 20 | rm ${D}${PYTHON_SITEPACKAGES_DIR}/.pc -rf | ||
| 21 | } | ||
| 22 | |||
| 18 | #RDEPENDS:${PN} = "python3-core" | 23 | #RDEPENDS:${PN} = "python3-core" |
| 19 | 24 | ||
| 20 | BBCLASSEXTEND = "native nativesdk" | 25 | BBCLASSEXTEND = "native nativesdk" |
| 21 | 26 | ||
| 22 | SRC_URI[sha256sum] = "9952471ceb304043b104c22d00b4f333cac27a6abe446d8a528fc437cf13c85f" | 27 | SRC_URI[sha256sum] = "abb9dfc7835772f7c9317977c63253fd22a7484b5c9bbcdca60a29dcce97c577" |
diff --git a/meta-python/recipes-devtools/python/python3-marshmallow_4.2.3.bb b/meta-python/recipes-devtools/python/python3-marshmallow_4.3.0.bb index d41ec8f6de..169726e527 100644 --- a/meta-python/recipes-devtools/python/python3-marshmallow_4.2.3.bb +++ b/meta-python/recipes-devtools/python/python3-marshmallow_4.3.0.bb | |||
| @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "\ | |||
| 6 | file://LICENSE;md5=27586b20700d7544c06933afe56f7df4 \ | 6 | file://LICENSE;md5=27586b20700d7544c06933afe56f7df4 \ |
| 7 | file://docs/license.rst;md5=13da439ad060419fb7cf364523017cfb" | 7 | file://docs/license.rst;md5=13da439ad060419fb7cf364523017cfb" |
| 8 | 8 | ||
| 9 | SRC_URI[sha256sum] = "3e3fef6b3603721a25a723b8caedfa488369bddaf9bc03b40b9442c90aebd22b" | 9 | SRC_URI[sha256sum] = "fb43c53b3fe240b8f6af37223d6ef1636f927ad9bea8ab323afad95dff090880" |
| 10 | 10 | ||
| 11 | CVE_PRODUCT = "marshmallow" | 11 | CVE_PRODUCT = "marshmallow" |
| 12 | 12 | ||
diff --git a/meta-python/recipes-devtools/python/python3-moteus_0.3.99.bb b/meta-python/recipes-devtools/python/python3-moteus_0.3.100.bb index 3de7f6a0ec..fe12809d78 100644 --- a/meta-python/recipes-devtools/python/python3-moteus_0.3.99.bb +++ b/meta-python/recipes-devtools/python/python3-moteus_0.3.100.bb | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | SUMMARY = "moteus brushless controller library and tools" | 1 | SUMMARY = "moteus brushless controller library and tools" |
| 2 | HOMEPAGE = "https://github.com/mjbots/moteus" | 2 | HOMEPAGE = "https://github.com/mjbots/moteus" |
| 3 | LICENSE = "Apache-2.0" | 3 | LICENSE = "Apache-2.0" |
| 4 | LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=9;md5=24025d3c660abfc62a83f0e709a45e76" | 4 | LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=c2d9643b4523fdf462545aeb1356ad23" |
| 5 | 5 | ||
| 6 | inherit pypi setuptools3 | 6 | inherit pypi python_setuptools_build_meta |
| 7 | 7 | ||
| 8 | SRC_URI[sha256sum] = "30d3cafa6b23692536102f52d9a7d919f2775fa75bdee087f98782c7e3c88805" | 8 | SRC_URI[sha256sum] = "cab1bdcffc18b83ebb52066b1bffe6de7c1354b163b3bd63e430b4fa04fbc6b9" |
| 9 | 9 | ||
| 10 | S = "${UNPACKDIR}/moteus-${PV}" | 10 | S = "${UNPACKDIR}/moteus-${PV}" |
| 11 | 11 | ||
diff --git a/meta-python/recipes-devtools/python/python3-orjson-crates.inc b/meta-python/recipes-devtools/python/python3-orjson-crates.inc index 5e3aa8592b..3feff8d77d 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 @@ | |||
| 2 | 2 | ||
| 3 | # from Cargo.lock | 3 | # from Cargo.lock |
| 4 | SRC_URI += " \ | 4 | SRC_URI += " \ |
| 5 | crate://crates.io/associative-cache/2.0.0 \ | 5 | crate://crates.io/associative-cache/3.0.0 \ |
| 6 | crate://crates.io/bytecount/0.6.9 \ | 6 | crate://crates.io/bytecount/0.6.9 \ |
| 7 | crate://crates.io/bytes/1.11.0 \ | 7 | crate://crates.io/bytes/1.11.1 \ |
| 8 | crate://crates.io/cc/1.2.55 \ | 8 | crate://crates.io/cc/1.2.58 \ |
| 9 | crate://crates.io/cfg-if/1.0.4 \ | 9 | crate://crates.io/cfg-if/1.0.4 \ |
| 10 | crate://crates.io/crunchy/0.2.4 \ | ||
| 11 | crate://crates.io/encoding_rs/0.8.35 \ | 10 | crate://crates.io/encoding_rs/0.8.35 \ |
| 12 | crate://crates.io/find-msvc-tools/0.1.9 \ | 11 | crate://crates.io/find-msvc-tools/0.1.9 \ |
| 13 | crate://crates.io/gimli/0.32.3 \ | 12 | crate://crates.io/gimli/0.32.3 \ |
| 14 | crate://crates.io/half/2.7.1 \ | 13 | crate://crates.io/itoa/1.0.18 \ |
| 15 | crate://crates.io/itoa/1.0.17 \ | ||
| 16 | crate://crates.io/itoap/1.0.1 \ | 14 | crate://crates.io/itoap/1.0.1 \ |
| 17 | crate://crates.io/jiff/0.2.18 \ | 15 | crate://crates.io/jiff/0.2.23 \ |
| 18 | crate://crates.io/jiff-static/0.2.18 \ | 16 | crate://crates.io/jiff-static/0.2.23 \ |
| 19 | crate://crates.io/libc/0.2.180 \ | 17 | crate://crates.io/libc/0.2.183 \ |
| 20 | crate://crates.io/memchr/2.7.6 \ | 18 | crate://crates.io/memchr/2.8.0 \ |
| 21 | crate://crates.io/no-panic/0.1.36 \ | 19 | crate://crates.io/no-panic/0.1.36 \ |
| 22 | crate://crates.io/once_cell/1.21.3 \ | 20 | crate://crates.io/once_cell/1.21.4 \ |
| 23 | crate://crates.io/portable-atomic/1.13.1 \ | 21 | crate://crates.io/portable-atomic/1.13.1 \ |
| 24 | crate://crates.io/portable-atomic-util/0.2.5 \ | 22 | crate://crates.io/portable-atomic-util/0.2.6 \ |
| 25 | crate://crates.io/proc-macro2/1.0.106 \ | 23 | crate://crates.io/proc-macro2/1.0.106 \ |
| 26 | crate://crates.io/pyo3-build-config/0.28.0 \ | 24 | crate://crates.io/pyo3-build-config/0.28.2 \ |
| 27 | crate://crates.io/pyo3-ffi/0.28.0 \ | 25 | crate://crates.io/pyo3-ffi/0.28.2 \ |
| 28 | crate://crates.io/quote/1.0.44 \ | 26 | crate://crates.io/quote/1.0.45 \ |
| 29 | crate://crates.io/serde/1.0.228 \ | 27 | crate://crates.io/serde/1.0.228 \ |
| 30 | crate://crates.io/serde_core/1.0.228 \ | 28 | crate://crates.io/serde_core/1.0.228 \ |
| 31 | crate://crates.io/serde_derive/1.0.228 \ | 29 | crate://crates.io/serde_derive/1.0.228 \ |
| 32 | crate://crates.io/serde_json/1.0.149 \ | 30 | crate://crates.io/serde_json/1.0.149 \ |
| 33 | crate://crates.io/shlex/1.3.0 \ | 31 | crate://crates.io/shlex/1.3.0 \ |
| 34 | crate://crates.io/simdutf8/0.1.5 \ | 32 | crate://crates.io/simdutf8/0.1.5 \ |
| 35 | crate://crates.io/smallvec/1.15.1 \ | 33 | crate://crates.io/syn/2.0.117 \ |
| 36 | crate://crates.io/syn/2.0.114 \ | 34 | crate://crates.io/target-lexicon/0.13.5 \ |
| 37 | crate://crates.io/target-lexicon/0.13.4 \ | 35 | crate://crates.io/unicode-ident/1.0.24 \ |
| 38 | crate://crates.io/unicode-ident/1.0.22 \ | ||
| 39 | crate://crates.io/unwinding/0.2.8 \ | 36 | crate://crates.io/unwinding/0.2.8 \ |
| 40 | crate://crates.io/uuid/1.20.0 \ | ||
| 41 | crate://crates.io/version_check/0.9.5 \ | 37 | crate://crates.io/version_check/0.9.5 \ |
| 42 | crate://crates.io/xxhash-rust/0.8.15 \ | 38 | crate://crates.io/xxhash-rust/0.8.15 \ |
| 43 | crate://crates.io/zerocopy/0.8.37 \ | 39 | crate://crates.io/zmij/1.0.21 \ |
| 44 | crate://crates.io/zerocopy-derive/0.8.37 \ | ||
| 45 | crate://crates.io/zmij/1.0.19 \ | ||
| 46 | " | 40 | " |
| 47 | 41 | ||
| 48 | SRC_URI[associative-cache-2.0.0.sha256sum] = "b993cd767a2bc7307dd87622311ca22c44329cc7a21366206bfa0896827b2bad" | 42 | SRC_URI[associative-cache-3.0.0.sha256sum] = "6104bd6fd778b62f638add0dd848dca9887cf016a343d15a21d27fb8a3965b98" |
| 49 | SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" | 43 | SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" |
| 50 | SRC_URI[bytes-1.11.0.sha256sum] = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" | 44 | SRC_URI[bytes-1.11.1.sha256sum] = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" |
| 51 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" | 45 | SRC_URI[cc-1.2.58.sha256sum] = "e1e928d4b69e3077709075a938a05ffbedfa53a84c8f766efbf8220bb1ff60e1" |
| 52 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" | 46 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" |
| 53 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" | ||
| 54 | SRC_URI[encoding_rs-0.8.35.sha256sum] = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" | 47 | SRC_URI[encoding_rs-0.8.35.sha256sum] = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" |
| 55 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" | 48 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" |
| 56 | SRC_URI[gimli-0.32.3.sha256sum] = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" | 49 | SRC_URI[gimli-0.32.3.sha256sum] = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" |
| 57 | SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" | 50 | SRC_URI[itoa-1.0.18.sha256sum] = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" |
| 58 | SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" | ||
| 59 | SRC_URI[itoap-1.0.1.sha256sum] = "9028f49264629065d057f340a86acb84867925865f73bbf8d47b4d149a7e88b8" | 51 | SRC_URI[itoap-1.0.1.sha256sum] = "9028f49264629065d057f340a86acb84867925865f73bbf8d47b4d149a7e88b8" |
| 60 | SRC_URI[jiff-0.2.18.sha256sum] = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" | 52 | SRC_URI[jiff-0.2.23.sha256sum] = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" |
| 61 | SRC_URI[jiff-static-0.2.18.sha256sum] = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" | 53 | SRC_URI[jiff-static-0.2.23.sha256sum] = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" |
| 62 | SRC_URI[libc-0.2.180.sha256sum] = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" | 54 | SRC_URI[libc-0.2.183.sha256sum] = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" |
| 63 | SRC_URI[memchr-2.7.6.sha256sum] = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" | 55 | SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" |
| 64 | SRC_URI[no-panic-0.1.36.sha256sum] = "f967505aabc8af5752d098c34146544a43684817cdba8f9725b292530cabbf53" | 56 | SRC_URI[no-panic-0.1.36.sha256sum] = "f967505aabc8af5752d098c34146544a43684817cdba8f9725b292530cabbf53" |
| 65 | SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" | 57 | SRC_URI[once_cell-1.21.4.sha256sum] = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" |
| 66 | SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" | 58 | SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" |
| 67 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" | 59 | SRC_URI[portable-atomic-util-0.2.6.sha256sum] = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" |
| 68 | SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" | 60 | SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" |
| 69 | SRC_URI[pyo3-build-config-0.28.0.sha256sum] = "972720a441c91fd9c49f212a1d2d74c6e3803b231ebc8d66c51efbd7ccab11c8" | 61 | SRC_URI[pyo3-build-config-0.28.2.sha256sum] = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7" |
| 70 | SRC_URI[pyo3-ffi-0.28.0.sha256sum] = "5994456d9dab8934d600d3867571b6410f24fbd6002570ad56356733eb54859b" | 62 | SRC_URI[pyo3-ffi-0.28.2.sha256sum] = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc" |
| 71 | SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" | 63 | SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" |
| 72 | SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" | 64 | SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" |
| 73 | SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" | 65 | SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" |
| 74 | SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" | 66 | SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" |
| 75 | SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" | 67 | SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" |
| 76 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | 68 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" |
| 77 | SRC_URI[simdutf8-0.1.5.sha256sum] = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" | 69 | SRC_URI[simdutf8-0.1.5.sha256sum] = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" |
| 78 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" | 70 | SRC_URI[syn-2.0.117.sha256sum] = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" |
| 79 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" | 71 | SRC_URI[target-lexicon-0.13.5.sha256sum] = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" |
| 80 | SRC_URI[target-lexicon-0.13.4.sha256sum] = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba" | 72 | SRC_URI[unicode-ident-1.0.24.sha256sum] = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" |
| 81 | SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" | ||
| 82 | SRC_URI[unwinding-0.2.8.sha256sum] = "60612c845ef41699f39dc8c5391f252942c0a88b7d15da672eff0d14101bbd6d" | 73 | SRC_URI[unwinding-0.2.8.sha256sum] = "60612c845ef41699f39dc8c5391f252942c0a88b7d15da672eff0d14101bbd6d" |
| 83 | SRC_URI[uuid-1.20.0.sha256sum] = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" | ||
| 84 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" | 74 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" |
| 85 | SRC_URI[xxhash-rust-0.8.15.sha256sum] = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" | 75 | SRC_URI[xxhash-rust-0.8.15.sha256sum] = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" |
| 86 | SRC_URI[zerocopy-0.8.37.sha256sum] = "7456cf00f0685ad319c5b1693f291a650eaf345e941d082fc4e03df8a03996ac" | 76 | SRC_URI[zmij-1.0.21.sha256sum] = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" |
| 87 | SRC_URI[zerocopy-derive-0.8.37.sha256sum] = "1328722bbf2115db7e19d69ebcc15e795719e2d66b60827c6a69a117365e37a0" | ||
| 88 | SRC_URI[zmij-1.0.19.sha256sum] = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" | ||
diff --git a/meta-python/recipes-devtools/python/python3-orjson_3.11.7.bb b/meta-python/recipes-devtools/python/python3-orjson_3.11.8.bb index 63e2e089e1..22a0205af3 100644 --- a/meta-python/recipes-devtools/python/python3-orjson_3.11.7.bb +++ b/meta-python/recipes-devtools/python/python3-orjson_3.11.8.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://pypi.org/project/orjson/" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d" | 4 | LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d" |
| 5 | 5 | ||
| 6 | SRCREV = "ec2b066cae79ae4a90ed126ac5723335dd99e408" | 6 | SRCREV = "5cbb3d0398a2f42de51210270286fecd798c5d78" |
| 7 | PYPI_SRC_URI = "git://github.com/ijl/orjson;protocol=https;branch=master;tag=${PV};destsuffix=orjson-${PV}" | 7 | PYPI_SRC_URI = "git://github.com/ijl/orjson;protocol=https;branch=master;tag=${PV};destsuffix=orjson-${PV}" |
| 8 | 8 | ||
| 9 | CVE_PRODUCT = "orjson" | 9 | CVE_PRODUCT = "orjson" |
diff --git a/meta-python/recipes-devtools/python/python3-pandas_3.0.1.bb b/meta-python/recipes-devtools/python/python3-pandas_3.0.2.bb index a25b367130..62affc5f45 100644 --- a/meta-python/recipes-devtools/python/python3-pandas_3.0.1.bb +++ b/meta-python/recipes-devtools/python/python3-pandas_3.0.2.bb | |||
| @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e98642e1210ade884e5254ab18d55b7d" | |||
| 8 | 8 | ||
| 9 | SRC_URI:append:class-target = " file://0001-BLD-add-option-to-specify-numpy-header-location.patch " | 9 | SRC_URI:append:class-target = " file://0001-BLD-add-option-to-specify-numpy-header-location.patch " |
| 10 | 10 | ||
| 11 | SRC_URI[sha256sum] = "4186a699674af418f655dbd420ed87f50d56b4cd6603784279d9eef6627823c8" | 11 | SRC_URI[sha256sum] = "f4753e73e34c8d83221ba58f232433fca2748be8b18dbca02d242ed153945043" |
| 12 | 12 | ||
| 13 | CVE_PRODUCT = "pandas" | 13 | CVE_PRODUCT = "pandas" |
| 14 | 14 | ||
diff --git a/meta-python/recipes-devtools/python/python3-pillow_12.1.1.bb b/meta-python/recipes-devtools/python/python3-pillow_12.2.0.bb index 2b3660fc56..f3fcb2d3c1 100644 --- a/meta-python/recipes-devtools/python/python3-pillow_12.1.1.bb +++ b/meta-python/recipes-devtools/python/python3-pillow_12.2.0.bb | |||
| @@ -3,12 +3,12 @@ Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \ | |||
| 3 | Contributors." | 3 | Contributors." |
| 4 | HOMEPAGE = "https://pillow.readthedocs.io" | 4 | HOMEPAGE = "https://pillow.readthedocs.io" |
| 5 | LICENSE = "MIT-CMU" | 5 | LICENSE = "MIT-CMU" |
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=a1b708da743e3fc0e5c35e92daac0bf8" | 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f0ac3777cfc96ded1b825e32ae7c99" |
| 7 | 7 | ||
| 8 | SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=12.1.x;protocol=https;tag=${PV} \ | 8 | SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=main;protocol=https;tag=${PV} \ |
| 9 | file://0001-support-cross-compiling.patch \ | 9 | file://0001-support-cross-compiling.patch \ |
| 10 | " | 10 | " |
| 11 | SRCREV = "5158d98c807e719c5938aa3886913ef0ea6814e9" | 11 | SRCREV = "3c41c095064200a02672d89cc5ff629eaf4b0d4f" |
| 12 | 12 | ||
| 13 | inherit python_setuptools_build_meta ptest-python-pytest | 13 | inherit python_setuptools_build_meta ptest-python-pytest |
| 14 | 14 | ||
diff --git a/meta-python/recipes-devtools/python/python3-platformdirs_4.9.4.bb b/meta-python/recipes-devtools/python/python3-platformdirs_4.9.6.bb index df0e3597b7..6ca4a09bde 100644 --- a/meta-python/recipes-devtools/python/python3-platformdirs_4.9.4.bb +++ b/meta-python/recipes-devtools/python/python3-platformdirs_4.9.6.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/platformdirs/platformdirs" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934" | 6 | SRC_URI[sha256sum] = "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a" |
| 7 | 7 | ||
| 8 | inherit pypi python_hatchling ptest-python-pytest | 8 | inherit pypi python_hatchling ptest-python-pytest |
| 9 | 9 | ||
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 index bbc713442b..0595ec2a47 100644 --- a/meta-python/recipes-devtools/python/python3-protobuf_6.33.6.bb +++ b/meta-python/recipes-devtools/python/python3-protobuf_6.33.6.bb | |||
| @@ -14,6 +14,7 @@ SRC_URI[sha256sum] = "a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095 | |||
| 14 | 14 | ||
| 15 | CVE_PRODUCT += "google:protobuf protobuf:protobuf google-protobuf protobuf-python" | 15 | CVE_PRODUCT += "google:protobuf protobuf:protobuf google-protobuf protobuf-python" |
| 16 | CVE_STATUS[CVE-2026-0994] = "fixed-version: it is fixed in 6.33.5" | 16 | CVE_STATUS[CVE-2026-0994] = "fixed-version: it is fixed in 6.33.5" |
| 17 | CVE_STATUS[CVE-2026-6409] = "cpe-incorrect: the vulnerability affects only the php library" | ||
| 17 | 18 | ||
| 18 | # http://errors.yoctoproject.org/Errors/Details/184715/ | 19 | # http://errors.yoctoproject.org/Errors/Details/184715/ |
| 19 | # Can't find required file: ../src/google/protobuf/descriptor.proto | 20 | # Can't find required file: ../src/google/protobuf/descriptor.proto |
diff --git a/meta-python/recipes-devtools/python/python3-pyais_2.20.1.bb b/meta-python/recipes-devtools/python/python3-pyais_3.0.0.bb index 6ee62a6a32..a8b8777821 100644 --- a/meta-python/recipes-devtools/python/python3-pyais_2.20.1.bb +++ b/meta-python/recipes-devtools/python/python3-pyais_3.0.0.bb | |||
| @@ -3,9 +3,9 @@ HOMEPAGE = "https://github.com/M0r13n/pyais" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=79d9e278b76e3e5b3358cd70b328173c" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=79d9e278b76e3e5b3358cd70b328173c" |
| 5 | 5 | ||
| 6 | SRC_URI = "git://github.com/M0r13n/pyais;protocol=https;branch=master;tag=v${PV}" | 6 | SRC_URI = "git://github.com/M0r13n/pyais;protocol=https;branch=main;tag=v${PV}" |
| 7 | 7 | ||
| 8 | SRCREV = "6cec67eb8e48c2254bd7bc31415f8df60ecb11ce" | 8 | SRCREV = "a88659ae381487e547fde3c18ab45cfe572b1094" |
| 9 | 9 | ||
| 10 | inherit python_setuptools_build_meta ptest-python-pytest | 10 | inherit python_setuptools_build_meta ptest-python-pytest |
| 11 | 11 | ||
diff --git a/meta-python/recipes-devtools/python/python3-pyatspi_2.46.1.bb b/meta-python/recipes-devtools/python/python3-pyatspi_2.58.2.bb index cb9b61bd66..404ff19a72 100644 --- a/meta-python/recipes-devtools/python/python3-pyatspi_2.46.1.bb +++ b/meta-python/recipes-devtools/python/python3-pyatspi_2.58.2.bb | |||
| @@ -7,16 +7,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=db29218e6ba3794c56df7d4987dc7e4d \ | |||
| 7 | file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" | 7 | file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" |
| 8 | DEPENDS = "python3-dbus-native glib-2.0 dbus-glib libxml2 atk gtk+ python3-pygobject" | 8 | DEPENDS = "python3-dbus-native glib-2.0 dbus-glib libxml2 atk gtk+ python3-pygobject" |
| 9 | 9 | ||
| 10 | SRC_URI = "git://github.com/GNOME/pyatspi2.git;protocol=https;branch=master" | 10 | SRC_URI = "git://github.com/GNOME/pyatspi2.git;protocol=https;branch=master;tag=${PV}" |
| 11 | SRCREV = "8c69016b38d0e4caaf4c986938ea3410fb7351b6" | 11 | SRCREV = "f2fb289a9d2e4dac65fca8db0f4d3d65607a0cf2" |
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | # Same restriction as gtk+ | 14 | # Same restriction as gtk+ |
| 15 | inherit features_check setuptools3 | 15 | inherit features_check |
| 16 | ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" | 16 | ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" |
| 17 | REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" | 17 | REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" |
| 18 | 18 | ||
| 19 | inherit pkgconfig autotools python3native | 19 | inherit pkgconfig python_setuptools_build_meta python_mesonpy |
| 20 | |||
| 21 | DEPENDS += "python3-pygobject-native" | ||
| 20 | 22 | ||
| 21 | FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/pyatspi/*" | 23 | FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/pyatspi/*" |
| 22 | 24 | ||
diff --git a/meta-python/recipes-devtools/python/python3-pymodbus_3.12.1.bb b/meta-python/recipes-devtools/python/python3-pymodbus_3.13.0.bb index 7ba7ee78cd..c59e8870b7 100644 --- a/meta-python/recipes-devtools/python/python3-pymodbus_3.12.1.bb +++ b/meta-python/recipes-devtools/python/python3-pymodbus_3.13.0.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/riptideio/pymodbus/" | |||
| 3 | LICENSE = "BSD-3-Clause" | 3 | LICENSE = "BSD-3-Clause" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=12a490c6cffa2e76a6df8aa1fa29e183" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=12a490c6cffa2e76a6df8aa1fa29e183" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "bcb483381747b3e3aec2c8e01d5df885e5ea43f85b7145dc1907af06aca93a2c" | 6 | SRC_URI[sha256sum] = "da4c87afe772787620594c564cd8aa8a4c58ff9786382aba9550fe0ce8879f32" |
| 7 | 7 | ||
| 8 | inherit pypi python_setuptools_build_meta | 8 | inherit pypi python_setuptools_build_meta |
| 9 | 9 | ||
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 8005d1275b..d5c95cf546 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} += " \ | |||
| 19 | python3-pkgutil \ | 19 | python3-pkgutil \ |
| 20 | python3-pprint \ | 20 | python3-pprint \ |
| 21 | python3-shell \ | 21 | python3-shell \ |
| 22 | python3-unittest \ | ||
| 22 | python3-unixadmin \ | 23 | python3-unixadmin \ |
| 23 | " | 24 | " |
| 24 | 25 | ||
diff --git a/meta-python/recipes-devtools/python/python3-pytest-codspeed_3.0.0.bb b/meta-python/recipes-devtools/python/python3-pytest-codspeed_4.3.0.bb index 0789e9f548..3fc2715102 100644 --- a/meta-python/recipes-devtools/python/python3-pytest-codspeed_3.0.0.bb +++ b/meta-python/recipes-devtools/python/python3-pytest-codspeed_4.3.0.bb | |||
| @@ -3,8 +3,8 @@ HOMEPAGE = "https://codspeed.io/" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=2856cbe664e8843cd4fd4c1d1d85c2c3" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=2856cbe664e8843cd4fd4c1d1d85c2c3" |
| 5 | 5 | ||
| 6 | DEPENDS = "python3-hatchling-native" | 6 | DEPENDS = "python3-cffi-native" |
| 7 | SRC_URI[sha256sum] = "c5b80100ea32dd44079bb2db298288763eb8fe859eafa1650a8711bd2c32fd06" | 7 | SRC_URI[sha256sum] = "5230d9d65f39063a313ed1820df775166227ec5c20a1122968f85653d5efee48" |
| 8 | 8 | ||
| 9 | inherit pypi python_hatchling | 9 | inherit pypi python_hatchling |
| 10 | 10 | ||
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.2.bb index 1cdf3d3d23..ac1a53d224 100644 --- a/meta-python/recipes-devtools/python/python3-pytest-httpx_0.36.0.bb +++ b/meta-python/recipes-devtools/python/python3-pytest-httpx_0.36.2.bb | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | SUMMARY = "Send responses to httpx." | 1 | SUMMARY = "Send responses to httpx." |
| 2 | HOMEPAGE = "https://github.com/Colin-b/pytest_httpx" | 2 | HOMEPAGE = "https://github.com/Colin-b/pytest_httpx" |
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=8dcb0d82b1d402b6be745fc78dde254b" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b6746540997ba13df3f30783db069bc" |
| 5 | RECIPE_MAINTAINER = "Tom Geelen <t.f.g.geelen@gmail.com>" | 5 | RECIPE_MAINTAINER = "Tom Geelen <t.f.g.geelen@gmail.com>" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "9edb66a5fd4388ce3c343189bc67e7e1cb50b07c2e3fc83b97d511975e8a831b" | 7 | SRC_URI[sha256sum] = "05a56527484f7f4e8c856419ea379b8dc359c36801c4992fdb330f294c690356" |
| 8 | 8 | ||
| 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest | 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest |
| 10 | 10 | ||
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 0000000000..20c1c121fb --- /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 @@ | |||
| 1 | From 81b0218e390e36aa2c3d1bdaa124d8af175e9cbb Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Li Zhou <li.zhou@windriver.com> | ||
| 3 | Date: Thu, 2 Apr 2026 15:44:18 +0800 | ||
| 4 | Subject: [PATCH] Not use functions from pkg_resources any more | ||
| 5 | |||
| 6 | The python3 setuptools 82 dropped pkg_resources module by now. | ||
| 7 | To avoid the failure "No module named 'pkg_resources'", replace the | ||
| 8 | functions from this module with other functions from modules | ||
| 9 | packaging and importlib.metadata. | ||
| 10 | |||
| 11 | Upstream-Status: Inactive-Upstream [lastcommit: 2023] | ||
| 12 | Signed-off-by: Li Zhou <li.zhou@windriver.com> | ||
| 13 | --- | ||
| 14 | ptr/__init__.py | 23 +++++++++++++---------- | ||
| 15 | 1 file changed, 13 insertions(+), 10 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/ptr/__init__.py b/ptr/__init__.py | ||
| 18 | index 41192fa..5186059 100644 | ||
| 19 | --- a/ptr/__init__.py | ||
| 20 | +++ b/ptr/__init__.py | ||
| 21 | @@ -10,10 +10,12 @@ import operator as _operator | ||
| 22 | import itertools as _itertools | ||
| 23 | import warnings as _warnings | ||
| 24 | |||
| 25 | -import pkg_resources | ||
| 26 | import setuptools.command.test as orig | ||
| 27 | from setuptools import Distribution | ||
| 28 | |||
| 29 | +from importlib.metadata import version | ||
| 30 | +from packaging.version import Version | ||
| 31 | +from packaging.markers import Marker, InvalidMarker | ||
| 32 | |||
| 33 | @_contextlib.contextmanager | ||
| 34 | def _save_argv(repl=None): | ||
| 35 | @@ -121,7 +123,8 @@ class PyTest(orig.test): | ||
| 36 | instead of declaring the dependency in the package | ||
| 37 | metadata, assert the requirement at run time. | ||
| 38 | """ | ||
| 39 | - pkg_resources.require('setuptools>=27.3') | ||
| 40 | + if Version(version('setuptools')) < Version('27.3'): | ||
| 41 | + raise RuntimeError("setuptools >= 27.3 is required") | ||
| 42 | |||
| 43 | def finalize_options(self): | ||
| 44 | if self.addopts: | ||
| 45 | @@ -133,11 +136,12 @@ class PyTest(orig.test): | ||
| 46 | Given an environment marker, return True if the marker is valid | ||
| 47 | and matches this environment. | ||
| 48 | """ | ||
| 49 | - return ( | ||
| 50 | - not marker | ||
| 51 | - or not pkg_resources.invalid_marker(marker) | ||
| 52 | - and pkg_resources.evaluate_marker(marker) | ||
| 53 | - ) | ||
| 54 | + if not marker: | ||
| 55 | + return True | ||
| 56 | + try: | ||
| 57 | + return Marker(marker).evaluate() | ||
| 58 | + except InvalidMarker: | ||
| 59 | + return False | ||
| 60 | |||
| 61 | def install_dists(self, dist): | ||
| 62 | """ | ||
| 63 | @@ -175,9 +179,8 @@ class PyTest(orig.test): | ||
| 64 | "please upgrade to setuptools 30.4 or later or pin to " | ||
| 65 | "pytest-runner < 5." | ||
| 66 | ) | ||
| 67 | - ver_str = pkg_resources.get_distribution('setuptools').version | ||
| 68 | - ver = pkg_resources.parse_version(ver_str) | ||
| 69 | - if ver < pkg_resources.parse_version('30.4'): | ||
| 70 | + ver = Version(version('setuptools')) | ||
| 71 | + if ver < Version('30.4'): | ||
| 72 | _warnings.warn(msg) | ||
| 73 | |||
| 74 | def run(self): | ||
| 75 | -- | ||
| 76 | 2.34.1 | ||
| 77 | |||
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 e5e5e048bd..dd3a8d0234 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" | |||
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "70d4739585a7008f37bf4933c013fdb327b8878a5a69fcbb3316c88882f0f49b" | 6 | SRC_URI[sha256sum] = "70d4739585a7008f37bf4933c013fdb327b8878a5a69fcbb3316c88882f0f49b" |
| 7 | 7 | ||
| 8 | SRC_URI += " \ | ||
| 9 | file://0001-Not-use-functions-from-pkg_resources-any-more.patch \ | ||
| 10 | " | ||
| 11 | |||
| 8 | inherit pypi python_setuptools_build_meta | 12 | inherit pypi python_setuptools_build_meta |
| 9 | 13 | ||
| 10 | DEPENDS += " \ | 14 | 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.26.bb index b54fe5d309..46046dc050 100644 --- a/meta-python/recipes-devtools/python/python3-python-multipart_0.0.22.bb +++ b/meta-python/recipes-devtools/python/python3-python-multipart_0.0.26.bb | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | SUMMARY = "A streaming multipart parser for Python" | 1 | SUMMARY = "A streaming multipart parser for Python" |
| 2 | LICENSE = "Apache-2.0" | 2 | LICENSE = "Apache-2.0" |
| 3 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3d98f0d58b28321924a89ab60c82410e" | 3 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" |
| 4 | 4 | ||
| 5 | SRC_URI[sha256sum] = "7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58" | 5 | SRC_URI[sha256sum] = "08fadc45918cd615e26846437f50c5d6d23304da32c341f289a617127b081f17" |
| 6 | 6 | ||
| 7 | inherit pypi python_hatchling ptest-python-pytest | 7 | inherit pypi python_hatchling ptest-python-pytest |
| 8 | 8 | ||
diff --git a/meta-python/recipes-devtools/python/python3-regex_2026.3.32.bb b/meta-python/recipes-devtools/python/python3-regex_2026.4.4.bb index a2091df806..3d4d7a3e99 100644 --- a/meta-python/recipes-devtools/python/python3-regex_2026.3.32.bb +++ b/meta-python/recipes-devtools/python/python3-regex_2026.4.4.bb | |||
| @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7b5751ddd6b643203c31ff873051d069" | |||
| 5 | 5 | ||
| 6 | inherit pypi python_setuptools_build_meta | 6 | inherit pypi python_setuptools_build_meta |
| 7 | 7 | ||
| 8 | SRC_URI[sha256sum] = "f1574566457161678297a116fa5d1556c5a4159d64c5ff7c760e7c564bf66f16" | 8 | SRC_URI[sha256sum] = "e08270659717f6973523ce3afbafa53515c4dc5dcad637dc215b6fd50f689423" |
| 9 | 9 | ||
| 10 | RDEPENDS:${PN} += " \ | 10 | RDEPENDS:${PN} += " \ |
| 11 | python3-stringold \ | 11 | python3-stringold \ |
diff --git a/meta-python/recipes-devtools/python/python3-sentry-sdk_2.56.0.bb b/meta-python/recipes-devtools/python/python3-sentry-sdk_2.57.0.bb index 4833feac20..94fc007b84 100644 --- a/meta-python/recipes-devtools/python/python3-sentry-sdk_2.56.0.bb +++ b/meta-python/recipes-devtools/python/python3-sentry-sdk_2.57.0.bb | |||
| @@ -15,7 +15,7 @@ RDEPENDS:${PN} += "\ | |||
| 15 | python3-datetime \ | 15 | python3-datetime \ |
| 16 | " | 16 | " |
| 17 | 17 | ||
| 18 | SRC_URI[sha256sum] = "fdab72030b69625665b2eeb9738bdde748ad254e8073085a0ce95382678e8168" | 18 | SRC_URI[sha256sum] = "4be8d1e71c32fb27f79c577a337ac8912137bba4bcbc64a4ec1da4d6d8dc5199" |
| 19 | 19 | ||
| 20 | PYPI_PACKAGE = "sentry_sdk" | 20 | PYPI_PACKAGE = "sentry_sdk" |
| 21 | 21 | ||
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_3.0.1.bb index 8206e8513d..561f1d06c6 100644 --- a/meta-python/recipes-devtools/python/python3-setuptools-git-versioning_2.1.0.bb +++ b/meta-python/recipes-devtools/python/python3-setuptools-git-versioning_3.0.1.bb | |||
| @@ -3,9 +3,9 @@ HOMEPAGE = "https://setuptools-git-versioning.readthedocs.io" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=92e79e3a844e66731724600f3ac9c0d8" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=92e79e3a844e66731724600f3ac9c0d8" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "6aef5b8bb1cfb953b6b343d27cbfc561d96cf2a2ee23c2e0dd3591042a059921" | 6 | SRC_URI[sha256sum] = "c8a599bacf163b5d215552b5701faf5480ffc4d65426a5711a010b802e1590eb" |
| 7 | 7 | ||
| 8 | inherit pypi setuptools3 | 8 | inherit pypi python_setuptools_build_meta |
| 9 | 9 | ||
| 10 | PACKAGECONFIG ?= "" | 10 | PACKAGECONFIG ?= "" |
| 11 | PACKAGECONFIG[python-version-smaller-3-dot-11] = ",,,python3-tomli" | 11 | PACKAGECONFIG[python-version-smaller-3-dot-11] = ",,,python3-tomli" |
diff --git a/meta-python/recipes-devtools/python/python3-smbus2_0.6.0.bb b/meta-python/recipes-devtools/python/python3-smbus2_0.6.1.bb index 33613d9abe..1b9a879234 100644 --- a/meta-python/recipes-devtools/python/python3-smbus2_0.6.0.bb +++ b/meta-python/recipes-devtools/python/python3-smbus2_0.6.1.bb | |||
| @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2a3eca2de44816126b3c6f33811a9fba" | |||
| 6 | 6 | ||
| 7 | inherit pypi setuptools3 | 7 | inherit pypi setuptools3 |
| 8 | 8 | ||
| 9 | SRC_URI[sha256sum] = "9b5ff1e998e114730f9dfe0c4babbef06c92468cfb61eaa684e30f225661b95b" | 9 | SRC_URI[sha256sum] = "2b043372abf8f6029a632c3aab36b641c5d5872b1cbad599fc68e17ac4fd90a5" |
| 10 | 10 | ||
| 11 | CLEANBROKEN = "1" | 11 | CLEANBROKEN = "1" |
| 12 | 12 | ||
diff --git a/meta-python/recipes-devtools/python/python3-snagboot_2.6.bb b/meta-python/recipes-devtools/python/python3-snagboot_2.6.1.bb index 16cc5c7882..74e6df64a9 100644 --- a/meta-python/recipes-devtools/python/python3-snagboot_2.6.bb +++ b/meta-python/recipes-devtools/python/python3-snagboot_2.6.1.bb | |||
| @@ -3,7 +3,7 @@ SUMMARY = "Snagboot intends to be an open-source replacement vendor-specific too | |||
| 3 | LICENSE = "GPL-2.0-only" | 3 | LICENSE = "GPL-2.0-only" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" |
| 5 | 5 | ||
| 6 | SRC_URI[sha256sum] = "8451ff4cb96f8a4dc7aca06cee8a54db900e93b4e0e946205e0856b7a4cf4632" | 6 | SRC_URI[sha256sum] = "9800562936d21972a212e8e7c6f0f79eff8faf7f1bfb534675875bd06666f28c" |
| 7 | 7 | ||
| 8 | inherit pypi python_setuptools_build_meta | 8 | inherit pypi python_setuptools_build_meta |
| 9 | 9 | ||
diff --git a/meta-python/recipes-devtools/python/python3-soundcard_0.4.5.bb b/meta-python/recipes-devtools/python/python3-soundcard_0.4.6.bb index 5116892dad..17308a8965 100644 --- a/meta-python/recipes-devtools/python/python3-soundcard_0.4.5.bb +++ b/meta-python/recipes-devtools/python/python3-soundcard_0.4.6.bb | |||
| @@ -6,7 +6,7 @@ SECTION = "devel/python" | |||
| 6 | LICENSE = "BSD-3-Clause" | 6 | LICENSE = "BSD-3-Clause" |
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e39df1540c06c17ca310ce87c36b042c" | 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e39df1540c06c17ca310ce87c36b042c" |
| 8 | 8 | ||
| 9 | SRC_URI[sha256sum] = "07272ba927e32cafdf634e4a1ca53b9a3218321a60c7d2e08f54b832a56946aa" | 9 | SRC_URI[sha256sum] = "9b46d64a26f97cd7d88bcfc385c97c069f97c5ec3404e4e7c23771598a8cf47b" |
| 10 | 10 | ||
| 11 | inherit pypi setuptools3 features_check | 11 | inherit pypi setuptools3 features_check |
| 12 | 12 | ||
diff --git a/meta-python/recipes-devtools/python/python3-soupsieve_2.8.2.bb b/meta-python/recipes-devtools/python/python3-soupsieve_2.8.3.bb index 63b5d3b2e7..11a2b5e103 100644 --- a/meta-python/recipes-devtools/python/python3-soupsieve_2.8.2.bb +++ b/meta-python/recipes-devtools/python/python3-soupsieve_2.8.3.bb | |||
| @@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/facelessuser/soupsieve" | |||
| 4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=74851a2f1e5c07496dcb452af6a6bf54" | 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=74851a2f1e5c07496dcb452af6a6bf54" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "78a66b0fdee2ab40b7199dc3e747ee6c6e231899feeaae0b9b98a353afd48fd8" | 7 | SRC_URI[sha256sum] = "3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349" |
| 8 | 8 | ||
| 9 | inherit pypi python_hatchling ptest-python-pytest | 9 | inherit pypi python_hatchling ptest-python-pytest |
| 10 | 10 | ||
diff --git a/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.48.bb b/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.49.bb index 6681792f01..ecc9099e30 100644 --- a/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.48.bb +++ b/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.49.bb | |||
| @@ -4,7 +4,7 @@ HOMEPAGE = "https://www.sqlalchemy.org/" | |||
| 4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=53a9111717b305b0fae0d704a24925c3" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=53a9111717b305b0fae0d704a24925c3" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "5ca74f37f3369b45e1f6b7b06afb182af1fd5dde009e4ffd831830d98cbe5fe7" | 7 | SRC_URI[sha256sum] = "d15950a57a210e36dd4cec1aac22787e2a4d57ba9318233e2ef8b2daf9ff2d5f" |
| 8 | 8 | ||
| 9 | inherit pypi python_setuptools_build_meta cython | 9 | inherit pypi python_setuptools_build_meta cython |
| 10 | 10 | ||
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 a83adffcd2..2cf7742a90 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 | |||
| @@ -14,8 +14,4 @@ SRC_URI += "\ | |||
| 14 | file://0001-Drop-the-deprecated-pkg_resources.patch \ | 14 | file://0001-Drop-the-deprecated-pkg_resources.patch \ |
| 15 | " | 15 | " |
| 16 | 16 | ||
| 17 | RDEPENDS:${PN} += "\ | ||
| 18 | python3-setuptools \ | ||
| 19 | " | ||
| 20 | |||
| 21 | BBCLASSEXTEND = "native nativesdk" | 17 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta-python/recipes-devtools/python/python3-tox_4.49.0.bb b/meta-python/recipes-devtools/python/python3-tox_4.52.1.bb index f07694cb79..dbac6deed8 100644 --- a/meta-python/recipes-devtools/python/python3-tox_4.49.0.bb +++ b/meta-python/recipes-devtools/python/python3-tox_4.52.1.bb | |||
| @@ -6,13 +6,14 @@ HOMEPAGE = "https://tox.readthedocs.org/" | |||
| 6 | LICENSE = "MIT" | 6 | LICENSE = "MIT" |
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7" | 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7" |
| 8 | 8 | ||
| 9 | SRC_URI[sha256sum] = "2e01f09ae1226749466cbcd8c514fe988ffc8c76b5d523c7f9b745d1711a6e71" | 9 | SRC_URI[sha256sum] = "297e71ea0ae4ef3acc45cb5fdf080b74537e6ecb5eea7d4646fa7322ca10473e" |
| 10 | 10 | ||
| 11 | BBCLASSEXTEND = "native nativesdk" | 11 | BBCLASSEXTEND = "native nativesdk" |
| 12 | inherit pypi python_hatchling | 12 | inherit pypi python_hatchling |
| 13 | 13 | ||
| 14 | DEPENDS += "\ | 14 | DEPENDS += "\ |
| 15 | python3-hatch-vcs-native \ | 15 | python3-hatch-vcs-native \ |
| 16 | python3-docutils-native \ | ||
| 16 | " | 17 | " |
| 17 | 18 | ||
| 18 | RDEPENDS:${PN} += "\ | 19 | RDEPENDS:${PN} += "\ |
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.20260408.bb index 78e96b3122..88fff6c83d 100644 --- 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.20260408.bb | |||
| @@ -8,7 +8,7 @@ UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | |||
| 8 | 8 | ||
| 9 | inherit pypi python_setuptools_build_meta | 9 | inherit pypi python_setuptools_build_meta |
| 10 | 10 | ||
| 11 | SRC_URI[sha256sum] = "15b0ab69c52841cf9ce3c383e8480c620a4d13d6a8e22b16978ebddac5590950" | 11 | SRC_URI[sha256sum] = "e8053450685965b8cd52afb62569073d00ea9967ae78bb45dff5f606847f97f2" |
| 12 | 12 | ||
| 13 | BBCLASSEXTEND = "native" | 13 | BBCLASSEXTEND = "native" |
| 14 | 14 | ||
diff --git a/meta-python/recipes-devtools/python/python3-tzdata_2025.3.bb b/meta-python/recipes-devtools/python/python3-tzdata_2026.1.bb index 1c313ea223..9a66460e76 100644 --- a/meta-python/recipes-devtools/python/python3-tzdata_2025.3.bb +++ b/meta-python/recipes-devtools/python/python3-tzdata_2026.1.bb | |||
| @@ -4,7 +4,7 @@ LICENSE = "Apache-2.0" | |||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=fca9fd5c15a28eb874ba38577a585d48 \ | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=fca9fd5c15a28eb874ba38577a585d48 \ |
| 5 | file://licenses/LICENSE_APACHE;md5=86d3f3a95c324c9479bd8986968f4327" | 5 | file://licenses/LICENSE_APACHE;md5=86d3f3a95c324c9479bd8986968f4327" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7" | 7 | SRC_URI[sha256sum] = "67658a1903c75917309e753fdc349ac0efd8c27db7a0cb406a25be4840f87f98" |
| 8 | 8 | ||
| 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest | 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest |
| 10 | 10 | ||
diff --git a/meta-python/recipes-devtools/python/python3-uvicorn_0.42.0.bb b/meta-python/recipes-devtools/python/python3-uvicorn_0.44.0.bb index f14ba46dc6..ce92c96d8d 100644 --- a/meta-python/recipes-devtools/python/python3-uvicorn_0.42.0.bb +++ b/meta-python/recipes-devtools/python/python3-uvicorn_0.44.0.bb | |||
| @@ -4,7 +4,7 @@ LICENSE = "BSD-3-Clause" | |||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5c778842f66a649636561c423c0eec2e" | 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5c778842f66a649636561c423c0eec2e" |
| 5 | RECIPE_MAINTAINER = "Tom Geelen <t.f.g.geelen@gmail.com>" | 5 | RECIPE_MAINTAINER = "Tom Geelen <t.f.g.geelen@gmail.com>" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "9b1f190ce15a2dd22e7758651d9b6d12df09a13d51ba5bf4fc33c383a48e1775" | 7 | SRC_URI[sha256sum] = "6c942071b68f07e178264b9152f1f16dfac5da85880c4ce06366a96d70d4f31e" |
| 8 | 8 | ||
| 9 | SRC_URI += "file://0001-ptest-disable-failing-tests.patch" | 9 | SRC_URI += "file://0001-ptest-disable-failing-tests.patch" |
| 10 | 10 | ||
diff --git a/meta-python/recipes-devtools/python/python3-virtualenv_21.2.0.bb b/meta-python/recipes-devtools/python/python3-virtualenv_21.2.1.bb index dda29c549d..3ff03e43c7 100644 --- a/meta-python/recipes-devtools/python/python3-virtualenv_21.2.0.bb +++ b/meta-python/recipes-devtools/python/python3-virtualenv_21.2.1.bb | |||
| @@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/pypa/virtualenv" | |||
| 6 | LICENSE = "MIT" | 6 | LICENSE = "MIT" |
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538" | 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538" |
| 8 | 8 | ||
| 9 | SRC_URI[sha256sum] = "1720dc3a62ef5b443092e3f499228599045d7fea4c79199770499df8becf9098" | 9 | SRC_URI[sha256sum] = "b66ffe81301766c0d5e2208fc3576652c59d44e7b731fc5f5ed701c9b537fa78" |
| 10 | 10 | ||
| 11 | BBCLASSEXTEND = "native nativesdk" | 11 | BBCLASSEXTEND = "native nativesdk" |
| 12 | inherit pypi python_hatchling | 12 | inherit pypi python_hatchling |
diff --git a/meta-python/recipes-devtools/python/python3-werkzeug_3.1.7.bb b/meta-python/recipes-devtools/python/python3-werkzeug_3.1.8.bb index 29ef2db10a..4e1be5cb2f 100644 --- a/meta-python/recipes-devtools/python/python3-werkzeug_3.1.7.bb +++ b/meta-python/recipes-devtools/python/python3-werkzeug_3.1.8.bb | |||
| @@ -10,7 +10,7 @@ HOMEPAGE = "https://werkzeug.palletsprojects.com" | |||
| 10 | LICENSE = "BSD-3-Clause" | 10 | LICENSE = "BSD-3-Clause" |
| 11 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dc88300786f1c214c1e9827a5229462" | 11 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dc88300786f1c214c1e9827a5229462" |
| 12 | 12 | ||
| 13 | SRC_URI[sha256sum] = "fb8c01fe6ab13b9b7cdb46892b99b1d66754e1d7ab8e542e865ec13f526b5351" | 13 | SRC_URI[sha256sum] = "9bad61a4268dac112f1c5cd4630a56ede601b6ed420300677a869083d70a4c44" |
| 14 | 14 | ||
| 15 | CVE_PRODUCT = "werkzeug" | 15 | CVE_PRODUCT = "werkzeug" |
| 16 | 16 | ||
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 70d4607c29..0000000000 --- a/meta-python/recipes-devtools/python/python3-yappi/0001-test_functionality-convert-line-endings-to-Unix.patch +++ /dev/null | |||
| @@ -1,3845 +0,0 @@ | |||
| 1 | From 0136ca731cba8b056b3f2ff0e7df3953b94f1e87 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Tim Orling <tim.orling@konsulko.com> | ||
| 3 | Date: Sun, 24 Dec 2023 09:41:57 -0800 | ||
| 4 | Subject: [PATCH 1/2] test_functionality: convert line endings to Unix | ||
| 5 | |||
| 6 | Convert the Windows line endings with dos2unix to be like the | ||
| 7 | other files in tests/* | ||
| 8 | |||
| 9 | Upstream-Status: Submitted [https://github.com/sumerc/yappi/pull/164] | ||
| 10 | |||
| 11 | Signed-off-by: Tim Orling <tim.orling@konsulko.com> | ||
| 12 | --- | ||
| 13 | tests/test_functionality.py | 3822 +++++++++++++++++------------------ | ||
| 14 | 1 file changed, 1911 insertions(+), 1911 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/tests/test_functionality.py b/tests/test_functionality.py | ||
| 17 | index 0e99c47..38bbe67 100644 | ||
| 18 | --- a/tests/test_functionality.py | ||
| 19 | +++ b/tests/test_functionality.py | ||
| 20 | @@ -1,1911 +1,1911 @@ | ||
| 21 | -import os | ||
| 22 | -import sys | ||
| 23 | -import time | ||
| 24 | -import threading | ||
| 25 | -import unittest | ||
| 26 | -import yappi | ||
| 27 | -import _yappi | ||
| 28 | -import utils | ||
| 29 | -import multiprocessing | ||
| 30 | -import subprocess | ||
| 31 | - | ||
| 32 | -_counter = 0 | ||
| 33 | - | ||
| 34 | - | ||
| 35 | -class BasicUsage(utils.YappiUnitTestCase): | ||
| 36 | - | ||
| 37 | - def test_callback_function_int_return_overflow(self): | ||
| 38 | - # this test is just here to check if any errors are generated, as the err | ||
| 39 | - # is printed in C side, I did not include it here. THere are ways to test | ||
| 40 | - # this deterministically, I did not bother | ||
| 41 | - import ctypes | ||
| 42 | - | ||
| 43 | - def _unsigned_overflow_margin(): | ||
| 44 | - return 2**(ctypes.sizeof(ctypes.c_void_p) * 8) - 1 | ||
| 45 | - | ||
| 46 | - def foo(): | ||
| 47 | - pass | ||
| 48 | - | ||
| 49 | - #with utils.captured_output() as (out, err): | ||
| 50 | - yappi.set_context_id_callback(_unsigned_overflow_margin) | ||
| 51 | - yappi.set_tag_callback(_unsigned_overflow_margin) | ||
| 52 | - yappi.start() | ||
| 53 | - foo() | ||
| 54 | - | ||
| 55 | - def test_issue60(self): | ||
| 56 | - | ||
| 57 | - def foo(): | ||
| 58 | - buf = bytearray() | ||
| 59 | - buf += b't' * 200 | ||
| 60 | - view = memoryview(buf)[10:] | ||
| 61 | - view = view.tobytes() | ||
| 62 | - del buf[:10] # this throws exception | ||
| 63 | - return view | ||
| 64 | - | ||
| 65 | - yappi.start(builtins=True) | ||
| 66 | - foo() | ||
| 67 | - self.assertTrue( | ||
| 68 | - len( | ||
| 69 | - yappi.get_func_stats( | ||
| 70 | - filter_callback=lambda x: yappi. | ||
| 71 | - func_matches(x, [memoryview.tobytes]) | ||
| 72 | - ) | ||
| 73 | - ) > 0 | ||
| 74 | - ) | ||
| 75 | - yappi.stop() | ||
| 76 | - | ||
| 77 | - def test_issue54(self): | ||
| 78 | - | ||
| 79 | - def _tag_cbk(): | ||
| 80 | - global _counter | ||
| 81 | - _counter += 1 | ||
| 82 | - return _counter | ||
| 83 | - | ||
| 84 | - def a(): | ||
| 85 | - pass | ||
| 86 | - | ||
| 87 | - def b(): | ||
| 88 | - pass | ||
| 89 | - | ||
| 90 | - yappi.set_tag_callback(_tag_cbk) | ||
| 91 | - yappi.start() | ||
| 92 | - a() | ||
| 93 | - a() | ||
| 94 | - a() | ||
| 95 | - yappi.stop() | ||
| 96 | - stats = yappi.get_func_stats() | ||
| 97 | - self.assertEqual(stats.pop().ncall, 3) # aggregated if no tag is given | ||
| 98 | - stats = yappi.get_func_stats(tag=1) | ||
| 99 | - | ||
| 100 | - for i in range(1, 3): | ||
| 101 | - stats = yappi.get_func_stats(tag=i) | ||
| 102 | - stats = yappi.get_func_stats( | ||
| 103 | - tag=i, filter_callback=lambda x: yappi.func_matches(x, [a]) | ||
| 104 | - ) | ||
| 105 | - | ||
| 106 | - stat = stats.pop() | ||
| 107 | - self.assertEqual(stat.ncall, 1) | ||
| 108 | - | ||
| 109 | - yappi.set_tag_callback(None) | ||
| 110 | - yappi.clear_stats() | ||
| 111 | - yappi.start() | ||
| 112 | - b() | ||
| 113 | - b() | ||
| 114 | - stats = yappi.get_func_stats() | ||
| 115 | - self.assertEqual(len(stats), 1) | ||
| 116 | - stat = stats.pop() | ||
| 117 | - self.assertEqual(stat.ncall, 2) | ||
| 118 | - | ||
| 119 | - def test_filter(self): | ||
| 120 | - | ||
| 121 | - def a(): | ||
| 122 | - pass | ||
| 123 | - | ||
| 124 | - def b(): | ||
| 125 | - a() | ||
| 126 | - | ||
| 127 | - def c(): | ||
| 128 | - b() | ||
| 129 | - | ||
| 130 | - _TCOUNT = 5 | ||
| 131 | - | ||
| 132 | - ts = [] | ||
| 133 | - yappi.start() | ||
| 134 | - for i in range(_TCOUNT): | ||
| 135 | - t = threading.Thread(target=c) | ||
| 136 | - t.start() | ||
| 137 | - ts.append(t) | ||
| 138 | - | ||
| 139 | - for t in ts: | ||
| 140 | - t.join() | ||
| 141 | - | ||
| 142 | - yappi.stop() | ||
| 143 | - | ||
| 144 | - ctx_ids = [] | ||
| 145 | - for tstat in yappi.get_thread_stats(): | ||
| 146 | - if tstat.name == '_MainThread': | ||
| 147 | - main_ctx_id = tstat.id | ||
| 148 | - else: | ||
| 149 | - ctx_ids.append(tstat.id) | ||
| 150 | - | ||
| 151 | - fstats = yappi.get_func_stats(filter={"ctx_id": 9}) | ||
| 152 | - self.assertTrue(fstats.empty()) | ||
| 153 | - fstats = yappi.get_func_stats( | ||
| 154 | - filter={ | ||
| 155 | - "ctx_id": main_ctx_id, | ||
| 156 | - "name": "c" | ||
| 157 | - } | ||
| 158 | - ) # main thread | ||
| 159 | - self.assertTrue(fstats.empty()) | ||
| 160 | - | ||
| 161 | - for i in ctx_ids: | ||
| 162 | - fstats = yappi.get_func_stats( | ||
| 163 | - filter={ | ||
| 164 | - "ctx_id": i, | ||
| 165 | - "name": "a", | ||
| 166 | - "ncall": 1 | ||
| 167 | - } | ||
| 168 | - ) | ||
| 169 | - self.assertEqual(fstats.pop().ncall, 1) | ||
| 170 | - fstats = yappi.get_func_stats(filter={"ctx_id": i, "name": "b"}) | ||
| 171 | - self.assertEqual(fstats.pop().ncall, 1) | ||
| 172 | - fstats = yappi.get_func_stats(filter={"ctx_id": i, "name": "c"}) | ||
| 173 | - self.assertEqual(fstats.pop().ncall, 1) | ||
| 174 | - | ||
| 175 | - yappi.clear_stats() | ||
| 176 | - yappi.start(builtins=True) | ||
| 177 | - time.sleep(0.1) | ||
| 178 | - yappi.stop() | ||
| 179 | - fstats = yappi.get_func_stats(filter={"module": "time"}) | ||
| 180 | - self.assertEqual(len(fstats), 1) | ||
| 181 | - | ||
| 182 | - # invalid filters` | ||
| 183 | - self.assertRaises( | ||
| 184 | - Exception, yappi.get_func_stats, filter={'tag': "sss"} | ||
| 185 | - ) | ||
| 186 | - self.assertRaises( | ||
| 187 | - Exception, yappi.get_func_stats, filter={'ctx_id': "None"} | ||
| 188 | - ) | ||
| 189 | - | ||
| 190 | - def test_filter_callback(self): | ||
| 191 | - | ||
| 192 | - def a(): | ||
| 193 | - time.sleep(0.1) | ||
| 194 | - | ||
| 195 | - def b(): | ||
| 196 | - a() | ||
| 197 | - | ||
| 198 | - def c(): | ||
| 199 | - pass | ||
| 200 | - | ||
| 201 | - def d(): | ||
| 202 | - pass | ||
| 203 | - | ||
| 204 | - yappi.set_clock_type("wall") | ||
| 205 | - yappi.start(builtins=True) | ||
| 206 | - a() | ||
| 207 | - b() | ||
| 208 | - c() | ||
| 209 | - d() | ||
| 210 | - stats = yappi.get_func_stats( | ||
| 211 | - filter_callback=lambda x: yappi.func_matches(x, [a, b]) | ||
| 212 | - ) | ||
| 213 | - #stats.print_all() | ||
| 214 | - r1 = ''' | ||
| 215 | - tests/test_functionality.py:98 a 2 0.000000 0.200350 0.100175 | ||
| 216 | - tests/test_functionality.py:101 b 1 0.000000 0.120000 0.100197 | ||
| 217 | - ''' | ||
| 218 | - self.assert_traces_almost_equal(r1, stats) | ||
| 219 | - self.assertEqual(len(stats), 2) | ||
| 220 | - stats = yappi.get_func_stats( | ||
| 221 | - filter_callback=lambda x: yappi. | ||
| 222 | - module_matches(x, [sys.modules[__name__]]) | ||
| 223 | - ) | ||
| 224 | - r1 = ''' | ||
| 225 | - tests/test_functionality.py:98 a 2 0.000000 0.230130 0.115065 | ||
| 226 | - tests/test_functionality.py:101 b 1 0.000000 0.120000 0.109011 | ||
| 227 | - tests/test_functionality.py:104 c 1 0.000000 0.000002 0.000002 | ||
| 228 | - tests/test_functionality.py:107 d 1 0.000000 0.000001 0.000001 | ||
| 229 | - ''' | ||
| 230 | - self.assert_traces_almost_equal(r1, stats) | ||
| 231 | - self.assertEqual(len(stats), 4) | ||
| 232 | - | ||
| 233 | - stats = yappi.get_func_stats( | ||
| 234 | - filter_callback=lambda x: yappi.func_matches(x, [time.sleep]) | ||
| 235 | - ) | ||
| 236 | - self.assertEqual(len(stats), 1) | ||
| 237 | - r1 = ''' | ||
| 238 | - time.sleep 2 0.206804 0.220000 0.103402 | ||
| 239 | - ''' | ||
| 240 | - self.assert_traces_almost_equal(r1, stats) | ||
| 241 | - | ||
| 242 | - def test_print_formatting(self): | ||
| 243 | - | ||
| 244 | - def a(): | ||
| 245 | - pass | ||
| 246 | - | ||
| 247 | - def b(): | ||
| 248 | - a() | ||
| 249 | - | ||
| 250 | - func_cols = { | ||
| 251 | - 1: ("name", 48), | ||
| 252 | - 0: ("ncall", 5), | ||
| 253 | - 2: ("tsub", 8), | ||
| 254 | - } | ||
| 255 | - thread_cols = { | ||
| 256 | - 1: ("name", 48), | ||
| 257 | - 0: ("ttot", 8), | ||
| 258 | - } | ||
| 259 | - | ||
| 260 | - yappi.start() | ||
| 261 | - a() | ||
| 262 | - b() | ||
| 263 | - yappi.stop() | ||
| 264 | - fs = yappi.get_func_stats() | ||
| 265 | - cs = fs[1].children | ||
| 266 | - ts = yappi.get_thread_stats() | ||
| 267 | - #fs.print_all(out=sys.stderr, columns={1:("name", 70), }) | ||
| 268 | - #cs.print_all(out=sys.stderr, columns=func_cols) | ||
| 269 | - #ts.print_all(out=sys.stderr, columns=thread_cols) | ||
| 270 | - #cs.print_all(out=sys.stderr, columns={}) | ||
| 271 | - | ||
| 272 | - self.assertRaises( | ||
| 273 | - yappi.YappiError, fs.print_all, columns={1: ("namee", 9)} | ||
| 274 | - ) | ||
| 275 | - self.assertRaises( | ||
| 276 | - yappi.YappiError, cs.print_all, columns={1: ("dd", 0)} | ||
| 277 | - ) | ||
| 278 | - self.assertRaises( | ||
| 279 | - yappi.YappiError, ts.print_all, columns={1: ("tidd", 0)} | ||
| 280 | - ) | ||
| 281 | - | ||
| 282 | - def test_get_clock(self): | ||
| 283 | - yappi.set_clock_type('cpu') | ||
| 284 | - self.assertEqual('cpu', yappi.get_clock_type()) | ||
| 285 | - clock_info = yappi.get_clock_info() | ||
| 286 | - self.assertTrue('api' in clock_info) | ||
| 287 | - self.assertTrue('resolution' in clock_info) | ||
| 288 | - | ||
| 289 | - yappi.set_clock_type('wall') | ||
| 290 | - self.assertEqual('wall', yappi.get_clock_type()) | ||
| 291 | - | ||
| 292 | - t0 = yappi.get_clock_time() | ||
| 293 | - time.sleep(0.1) | ||
| 294 | - duration = yappi.get_clock_time() - t0 | ||
| 295 | - self.assertTrue(0.05 < duration < 0.3) | ||
| 296 | - | ||
| 297 | - def test_profile_decorator(self): | ||
| 298 | - | ||
| 299 | - def aggregate(func, stats): | ||
| 300 | - fname = f"tests/{func.__name__}.profile" | ||
| 301 | - try: | ||
| 302 | - stats.add(fname) | ||
| 303 | - except OSError: | ||
| 304 | - pass | ||
| 305 | - stats.save(fname) | ||
| 306 | - raise Exception("messing around") | ||
| 307 | - | ||
| 308 | - @yappi.profile(return_callback=aggregate) | ||
| 309 | - def a(x, y): | ||
| 310 | - if x + y == 25: | ||
| 311 | - raise Exception("") | ||
| 312 | - return x + y | ||
| 313 | - | ||
| 314 | - def b(): | ||
| 315 | - pass | ||
| 316 | - | ||
| 317 | - try: | ||
| 318 | - os.remove( | ||
| 319 | - "tests/a.profile" | ||
| 320 | - ) # remove the one from prev test, if available | ||
| 321 | - except: | ||
| 322 | - pass | ||
| 323 | - | ||
| 324 | - # global profile is on to mess things up | ||
| 325 | - yappi.start() | ||
| 326 | - b() | ||
| 327 | - | ||
| 328 | - # assert functionality and call function at same time | ||
| 329 | - try: | ||
| 330 | - self.assertEqual(a(1, 2), 3) | ||
| 331 | - except: | ||
| 332 | - pass | ||
| 333 | - try: | ||
| 334 | - self.assertEqual(a(2, 5), 7) | ||
| 335 | - except: | ||
| 336 | - pass | ||
| 337 | - try: | ||
| 338 | - a(4, 21) | ||
| 339 | - except: | ||
| 340 | - pass | ||
| 341 | - stats = yappi.get_func_stats().add("tests/a.profile") | ||
| 342 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 343 | - self.assertEqual(fsa.ncall, 3) | ||
| 344 | - self.assertEqual(len(stats), 1) # b() should be cleared out. | ||
| 345 | - | ||
| 346 | - @yappi.profile(return_callback=aggregate) | ||
| 347 | - def count_down_rec(n): | ||
| 348 | - if n == 0: | ||
| 349 | - return | ||
| 350 | - count_down_rec(n - 1) | ||
| 351 | - | ||
| 352 | - try: | ||
| 353 | - os.remove( | ||
| 354 | - "tests/count_down_rec.profile" | ||
| 355 | - ) # remove the one from prev test, if available | ||
| 356 | - except: | ||
| 357 | - pass | ||
| 358 | - | ||
| 359 | - try: | ||
| 360 | - count_down_rec(4) | ||
| 361 | - except: | ||
| 362 | - pass | ||
| 363 | - try: | ||
| 364 | - count_down_rec(3) | ||
| 365 | - except: | ||
| 366 | - pass | ||
| 367 | - | ||
| 368 | - stats = yappi.YFuncStats("tests/count_down_rec.profile") | ||
| 369 | - fsrec = utils.find_stat_by_name(stats, 'count_down_rec') | ||
| 370 | - self.assertEqual(fsrec.ncall, 9) | ||
| 371 | - self.assertEqual(fsrec.nactualcall, 2) | ||
| 372 | - | ||
| 373 | - def test_strip_dirs(self): | ||
| 374 | - | ||
| 375 | - def a(): | ||
| 376 | - pass | ||
| 377 | - | ||
| 378 | - stats = utils.run_and_get_func_stats(a, ) | ||
| 379 | - stats.strip_dirs() | ||
| 380 | - fsa = utils.find_stat_by_name(stats, "a") | ||
| 381 | - self.assertEqual(fsa.module, os.path.basename(fsa.module)) | ||
| 382 | - | ||
| 383 | - @unittest.skipIf(os.name == "nt", "do not run on Windows") | ||
| 384 | - def test_run_as_script(self): | ||
| 385 | - import re | ||
| 386 | - p = subprocess.Popen( | ||
| 387 | - ['yappi', os.path.join('./tests', 'run_as_script.py')], | ||
| 388 | - stdout=subprocess.PIPE | ||
| 389 | - ) | ||
| 390 | - out, err = p.communicate() | ||
| 391 | - self.assertEqual(p.returncode, 0) | ||
| 392 | - func_stats, thread_stats = re.split( | ||
| 393 | - b'name\\s+id\\s+tid\\s+ttot\\s+scnt\\s*\n', out | ||
| 394 | - ) | ||
| 395 | - self.assertTrue(b'FancyThread' in thread_stats) | ||
| 396 | - | ||
| 397 | - def test_yappi_overhead(self): | ||
| 398 | - LOOP_COUNT = 100000 | ||
| 399 | - | ||
| 400 | - def a(): | ||
| 401 | - pass | ||
| 402 | - | ||
| 403 | - def b(): | ||
| 404 | - for i in range(LOOP_COUNT): | ||
| 405 | - a() | ||
| 406 | - | ||
| 407 | - t0 = time.time() | ||
| 408 | - yappi.start() | ||
| 409 | - b() | ||
| 410 | - yappi.stop() | ||
| 411 | - time_with_yappi = time.time() - t0 | ||
| 412 | - t0 = time.time() | ||
| 413 | - b() | ||
| 414 | - time_without_yappi = time.time() - t0 | ||
| 415 | - if time_without_yappi == 0: | ||
| 416 | - time_without_yappi = 0.000001 | ||
| 417 | - | ||
| 418 | - # in latest v0.82, I calculated this as close to "7.0" in my machine. | ||
| 419 | - # however, %83 of this overhead is coming from tickcount(). The other %17 | ||
| 420 | - # seems to have been evenly distributed to the internal bookkeeping | ||
| 421 | - # structures/algorithms which seems acceptable. Note that our test only | ||
| 422 | - # tests one function being profiled at-a-time in a short interval. | ||
| 423 | - # profiling high number of functions in a small time | ||
| 424 | - # is a different beast, (which is pretty unlikely in most applications) | ||
| 425 | - # So as a conclusion: I cannot see any optimization window for Yappi that | ||
| 426 | - # is worth implementing as we will only optimize %17 of the time. | ||
| 427 | - sys.stderr.write("\r\nYappi puts %0.1f times overhead to the profiled application in average.\r\n" % \ | ||
| 428 | - (time_with_yappi / time_without_yappi)) | ||
| 429 | - | ||
| 430 | - def test_clear_stats_while_running(self): | ||
| 431 | - | ||
| 432 | - def a(): | ||
| 433 | - pass | ||
| 434 | - | ||
| 435 | - yappi.start() | ||
| 436 | - a() | ||
| 437 | - yappi.clear_stats() | ||
| 438 | - a() | ||
| 439 | - stats = yappi.get_func_stats() | ||
| 440 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 441 | - self.assertEqual(fsa.ncall, 1) | ||
| 442 | - | ||
| 443 | - def test_generator(self): | ||
| 444 | - | ||
| 445 | - def _gen(n): | ||
| 446 | - while (n > 0): | ||
| 447 | - yield n | ||
| 448 | - n -= 1 | ||
| 449 | - | ||
| 450 | - yappi.start() | ||
| 451 | - for x in _gen(5): | ||
| 452 | - pass | ||
| 453 | - self.assertTrue( | ||
| 454 | - yappi.convert2pstats(yappi.get_func_stats()) is not None | ||
| 455 | - ) | ||
| 456 | - | ||
| 457 | - def test_slice_child_stats_and_strip_dirs(self): | ||
| 458 | - | ||
| 459 | - def b(): | ||
| 460 | - for i in range(10000000): | ||
| 461 | - pass | ||
| 462 | - | ||
| 463 | - def a(): | ||
| 464 | - b() | ||
| 465 | - | ||
| 466 | - yappi.start(builtins=True) | ||
| 467 | - a() | ||
| 468 | - stats = yappi.get_func_stats() | ||
| 469 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 470 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 471 | - self.assertTrue(fsa.children[0:1] is not None) | ||
| 472 | - prev_afullname = fsa.full_name | ||
| 473 | - prev_bchildfullname = fsa.children[fsb].full_name | ||
| 474 | - stats.strip_dirs() | ||
| 475 | - self.assertTrue(len(prev_afullname) > len(fsa.full_name)) | ||
| 476 | - self.assertTrue( | ||
| 477 | - len(prev_bchildfullname) > len(fsa.children[fsb].full_name) | ||
| 478 | - ) | ||
| 479 | - | ||
| 480 | - def test_children_stat_functions(self): | ||
| 481 | - _timings = {"a_1": 5, "b_1": 3, "c_1": 1} | ||
| 482 | - _yappi._set_test_timings(_timings) | ||
| 483 | - | ||
| 484 | - def b(): | ||
| 485 | - pass | ||
| 486 | - | ||
| 487 | - def c(): | ||
| 488 | - pass | ||
| 489 | - | ||
| 490 | - def a(): | ||
| 491 | - b() | ||
| 492 | - c() | ||
| 493 | - | ||
| 494 | - yappi.start() | ||
| 495 | - a() | ||
| 496 | - b() # non-child call | ||
| 497 | - c() # non-child call | ||
| 498 | - stats = yappi.get_func_stats() | ||
| 499 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 500 | - childs_of_a = fsa.children.get().sort("tavg", "desc") | ||
| 501 | - prev_item = None | ||
| 502 | - for item in childs_of_a: | ||
| 503 | - if prev_item: | ||
| 504 | - self.assertTrue(prev_item.tavg > item.tavg) | ||
| 505 | - prev_item = item | ||
| 506 | - childs_of_a.sort("name", "desc") | ||
| 507 | - prev_item = None | ||
| 508 | - for item in childs_of_a: | ||
| 509 | - if prev_item: | ||
| 510 | - self.assertTrue(prev_item.name > item.name) | ||
| 511 | - prev_item = item | ||
| 512 | - childs_of_a.clear() | ||
| 513 | - self.assertTrue(childs_of_a.empty()) | ||
| 514 | - | ||
| 515 | - def test_no_stats_different_clock_type_load(self): | ||
| 516 | - | ||
| 517 | - def a(): | ||
| 518 | - pass | ||
| 519 | - | ||
| 520 | - yappi.start() | ||
| 521 | - a() | ||
| 522 | - yappi.stop() | ||
| 523 | - yappi.get_func_stats().save("tests/ystats1.ys") | ||
| 524 | - yappi.clear_stats() | ||
| 525 | - yappi.set_clock_type("WALL") | ||
| 526 | - yappi.start() | ||
| 527 | - yappi.stop() | ||
| 528 | - stats = yappi.get_func_stats().add("tests/ystats1.ys") | ||
| 529 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 530 | - self.assertTrue(fsa is not None) | ||
| 531 | - | ||
| 532 | - def test_subsequent_profile(self): | ||
| 533 | - _timings = {"a_1": 1, "b_1": 1} | ||
| 534 | - _yappi._set_test_timings(_timings) | ||
| 535 | - | ||
| 536 | - def a(): | ||
| 537 | - pass | ||
| 538 | - | ||
| 539 | - def b(): | ||
| 540 | - pass | ||
| 541 | - | ||
| 542 | - yappi.start() | ||
| 543 | - a() | ||
| 544 | - yappi.stop() | ||
| 545 | - yappi.start() | ||
| 546 | - b() | ||
| 547 | - yappi.stop() | ||
| 548 | - stats = yappi.get_func_stats() | ||
| 549 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 550 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 551 | - self.assertTrue(fsa is not None) | ||
| 552 | - self.assertTrue(fsb is not None) | ||
| 553 | - self.assertEqual(fsa.ttot, 1) | ||
| 554 | - self.assertEqual(fsb.ttot, 1) | ||
| 555 | - | ||
| 556 | - def test_lambda(self): | ||
| 557 | - f = lambda: time.sleep(0.3) | ||
| 558 | - yappi.set_clock_type("wall") | ||
| 559 | - yappi.start() | ||
| 560 | - f() | ||
| 561 | - stats = yappi.get_func_stats() | ||
| 562 | - fsa = utils.find_stat_by_name(stats, '<lambda>') | ||
| 563 | - self.assertTrue(fsa.ttot > 0.1) | ||
| 564 | - | ||
| 565 | - def test_module_stress(self): | ||
| 566 | - self.assertEqual(yappi.is_running(), False) | ||
| 567 | - | ||
| 568 | - yappi.start() | ||
| 569 | - yappi.clear_stats() | ||
| 570 | - self.assertRaises(_yappi.error, yappi.set_clock_type, "wall") | ||
| 571 | - | ||
| 572 | - yappi.stop() | ||
| 573 | - yappi.clear_stats() | ||
| 574 | - yappi.set_clock_type("cpu") | ||
| 575 | - self.assertRaises(yappi.YappiError, yappi.set_clock_type, "dummy") | ||
| 576 | - self.assertEqual(yappi.is_running(), False) | ||
| 577 | - yappi.clear_stats() | ||
| 578 | - yappi.clear_stats() | ||
| 579 | - | ||
| 580 | - def test_stat_sorting(self): | ||
| 581 | - _timings = {"a_1": 13, "b_1": 10, "a_2": 6, "b_2": 1} | ||
| 582 | - _yappi._set_test_timings(_timings) | ||
| 583 | - | ||
| 584 | - self._ncall = 1 | ||
| 585 | - | ||
| 586 | - def a(): | ||
| 587 | - b() | ||
| 588 | - | ||
| 589 | - def b(): | ||
| 590 | - if self._ncall == 2: | ||
| 591 | - return | ||
| 592 | - self._ncall += 1 | ||
| 593 | - a() | ||
| 594 | - | ||
| 595 | - stats = utils.run_and_get_func_stats(a) | ||
| 596 | - stats = stats.sort("totaltime", "desc") | ||
| 597 | - prev_stat = None | ||
| 598 | - for stat in stats: | ||
| 599 | - if prev_stat: | ||
| 600 | - self.assertTrue(prev_stat.ttot >= stat.ttot) | ||
| 601 | - prev_stat = stat | ||
| 602 | - stats = stats.sort("totaltime", "asc") | ||
| 603 | - prev_stat = None | ||
| 604 | - for stat in stats: | ||
| 605 | - if prev_stat: | ||
| 606 | - self.assertTrue(prev_stat.ttot <= stat.ttot) | ||
| 607 | - prev_stat = stat | ||
| 608 | - stats = stats.sort("avgtime", "asc") | ||
| 609 | - prev_stat = None | ||
| 610 | - for stat in stats: | ||
| 611 | - if prev_stat: | ||
| 612 | - self.assertTrue(prev_stat.tavg <= stat.tavg) | ||
| 613 | - prev_stat = stat | ||
| 614 | - stats = stats.sort("name", "asc") | ||
| 615 | - prev_stat = None | ||
| 616 | - for stat in stats: | ||
| 617 | - if prev_stat: | ||
| 618 | - self.assertTrue(prev_stat.name <= stat.name) | ||
| 619 | - prev_stat = stat | ||
| 620 | - stats = stats.sort("subtime", "asc") | ||
| 621 | - prev_stat = None | ||
| 622 | - for stat in stats: | ||
| 623 | - if prev_stat: | ||
| 624 | - self.assertTrue(prev_stat.tsub <= stat.tsub) | ||
| 625 | - prev_stat = stat | ||
| 626 | - | ||
| 627 | - self.assertRaises( | ||
| 628 | - yappi.YappiError, stats.sort, "invalid_func_sorttype_arg" | ||
| 629 | - ) | ||
| 630 | - self.assertRaises( | ||
| 631 | - yappi.YappiError, stats.sort, "totaltime", | ||
| 632 | - "invalid_func_sortorder_arg" | ||
| 633 | - ) | ||
| 634 | - | ||
| 635 | - def test_start_flags(self): | ||
| 636 | - self.assertEqual(_yappi._get_start_flags(), None) | ||
| 637 | - yappi.start() | ||
| 638 | - | ||
| 639 | - def a(): | ||
| 640 | - pass | ||
| 641 | - | ||
| 642 | - a() | ||
| 643 | - self.assertEqual(_yappi._get_start_flags()["profile_builtins"], 0) | ||
| 644 | - self.assertEqual(_yappi._get_start_flags()["profile_multicontext"], 1) | ||
| 645 | - self.assertEqual(len(yappi.get_thread_stats()), 1) | ||
| 646 | - | ||
| 647 | - def test_builtin_profiling(self): | ||
| 648 | - | ||
| 649 | - def a(): | ||
| 650 | - time.sleep(0.4) # is a builtin function | ||
| 651 | - | ||
| 652 | - yappi.set_clock_type('wall') | ||
| 653 | - | ||
| 654 | - yappi.start(builtins=True) | ||
| 655 | - a() | ||
| 656 | - stats = yappi.get_func_stats() | ||
| 657 | - fsa = utils.find_stat_by_name(stats, 'sleep') | ||
| 658 | - self.assertTrue(fsa is not None) | ||
| 659 | - self.assertTrue(fsa.ttot > 0.3) | ||
| 660 | - yappi.stop() | ||
| 661 | - yappi.clear_stats() | ||
| 662 | - | ||
| 663 | - def a(): | ||
| 664 | - pass | ||
| 665 | - | ||
| 666 | - yappi.start() | ||
| 667 | - t = threading.Thread(target=a) | ||
| 668 | - t.start() | ||
| 669 | - t.join() | ||
| 670 | - stats = yappi.get_func_stats() | ||
| 671 | - | ||
| 672 | - def test_singlethread_profiling(self): | ||
| 673 | - yappi.set_clock_type('wall') | ||
| 674 | - | ||
| 675 | - def a(): | ||
| 676 | - time.sleep(0.2) | ||
| 677 | - | ||
| 678 | - class Worker1(threading.Thread): | ||
| 679 | - | ||
| 680 | - def a(self): | ||
| 681 | - time.sleep(0.3) | ||
| 682 | - | ||
| 683 | - def run(self): | ||
| 684 | - self.a() | ||
| 685 | - | ||
| 686 | - yappi.start(profile_threads=False) | ||
| 687 | - | ||
| 688 | - c = Worker1() | ||
| 689 | - c.start() | ||
| 690 | - c.join() | ||
| 691 | - a() | ||
| 692 | - stats = yappi.get_func_stats() | ||
| 693 | - fsa1 = utils.find_stat_by_name(stats, 'Worker1.a') | ||
| 694 | - fsa2 = utils.find_stat_by_name(stats, 'a') | ||
| 695 | - self.assertTrue(fsa1 is None) | ||
| 696 | - self.assertTrue(fsa2 is not None) | ||
| 697 | - self.assertTrue(fsa2.ttot > 0.1) | ||
| 698 | - | ||
| 699 | - def test_run(self): | ||
| 700 | - | ||
| 701 | - def profiled(): | ||
| 702 | - pass | ||
| 703 | - | ||
| 704 | - yappi.clear_stats() | ||
| 705 | - try: | ||
| 706 | - with yappi.run(): | ||
| 707 | - profiled() | ||
| 708 | - stats = yappi.get_func_stats() | ||
| 709 | - finally: | ||
| 710 | - yappi.clear_stats() | ||
| 711 | - | ||
| 712 | - self.assertIsNotNone(utils.find_stat_by_name(stats, 'profiled')) | ||
| 713 | - | ||
| 714 | - def test_run_recursive(self): | ||
| 715 | - | ||
| 716 | - def profiled(): | ||
| 717 | - pass | ||
| 718 | - | ||
| 719 | - def not_profiled(): | ||
| 720 | - pass | ||
| 721 | - | ||
| 722 | - yappi.clear_stats() | ||
| 723 | - try: | ||
| 724 | - with yappi.run(): | ||
| 725 | - with yappi.run(): | ||
| 726 | - profiled() | ||
| 727 | - # Profiling stopped here | ||
| 728 | - not_profiled() | ||
| 729 | - stats = yappi.get_func_stats() | ||
| 730 | - finally: | ||
| 731 | - yappi.clear_stats() | ||
| 732 | - | ||
| 733 | - self.assertIsNotNone(utils.find_stat_by_name(stats, 'profiled')) | ||
| 734 | - self.assertIsNone(utils.find_stat_by_name(stats, 'not_profiled')) | ||
| 735 | - | ||
| 736 | - | ||
| 737 | -class StatSaveScenarios(utils.YappiUnitTestCase): | ||
| 738 | - | ||
| 739 | - def test_pstats_conversion(self): | ||
| 740 | - | ||
| 741 | - def pstat_id(fs): | ||
| 742 | - return (fs.module, fs.lineno, fs.name) | ||
| 743 | - | ||
| 744 | - def a(): | ||
| 745 | - d() | ||
| 746 | - | ||
| 747 | - def b(): | ||
| 748 | - d() | ||
| 749 | - | ||
| 750 | - def c(): | ||
| 751 | - pass | ||
| 752 | - | ||
| 753 | - def d(): | ||
| 754 | - pass | ||
| 755 | - | ||
| 756 | - _timings = {"a_1": 12, "b_1": 7, "c_1": 5, "d_1": 2} | ||
| 757 | - _yappi._set_test_timings(_timings) | ||
| 758 | - stats = utils.run_and_get_func_stats(a, ) | ||
| 759 | - stats.strip_dirs() | ||
| 760 | - stats.save("tests/a1.pstats", type="pstat") | ||
| 761 | - fsa_pid = pstat_id(utils.find_stat_by_name(stats, "a")) | ||
| 762 | - fsd_pid = pstat_id(utils.find_stat_by_name(stats, "d")) | ||
| 763 | - yappi.clear_stats() | ||
| 764 | - _yappi._set_test_timings(_timings) | ||
| 765 | - stats = utils.run_and_get_func_stats(a, ) | ||
| 766 | - stats.strip_dirs() | ||
| 767 | - stats.save("tests/a2.pstats", type="pstat") | ||
| 768 | - yappi.clear_stats() | ||
| 769 | - _yappi._set_test_timings(_timings) | ||
| 770 | - stats = utils.run_and_get_func_stats(b, ) | ||
| 771 | - stats.strip_dirs() | ||
| 772 | - stats.save("tests/b1.pstats", type="pstat") | ||
| 773 | - fsb_pid = pstat_id(utils.find_stat_by_name(stats, "b")) | ||
| 774 | - yappi.clear_stats() | ||
| 775 | - _yappi._set_test_timings(_timings) | ||
| 776 | - stats = utils.run_and_get_func_stats(c, ) | ||
| 777 | - stats.strip_dirs() | ||
| 778 | - stats.save("tests/c1.pstats", type="pstat") | ||
| 779 | - fsc_pid = pstat_id(utils.find_stat_by_name(stats, "c")) | ||
| 780 | - | ||
| 781 | - # merge saved stats and check pstats values are correct | ||
| 782 | - import pstats | ||
| 783 | - p = pstats.Stats( | ||
| 784 | - 'tests/a1.pstats', 'tests/a2.pstats', 'tests/b1.pstats', | ||
| 785 | - 'tests/c1.pstats' | ||
| 786 | - ) | ||
| 787 | - p.strip_dirs() | ||
| 788 | - # ct = ttot, tt = tsub | ||
| 789 | - (cc, nc, tt, ct, callers) = p.stats[fsa_pid] | ||
| 790 | - self.assertEqual(cc, nc, 2) | ||
| 791 | - self.assertEqual(tt, 20) | ||
| 792 | - self.assertEqual(ct, 24) | ||
| 793 | - (cc, nc, tt, ct, callers) = p.stats[fsd_pid] | ||
| 794 | - self.assertEqual(cc, nc, 3) | ||
| 795 | - self.assertEqual(tt, 6) | ||
| 796 | - self.assertEqual(ct, 6) | ||
| 797 | - self.assertEqual(len(callers), 2) | ||
| 798 | - (cc, nc, tt, ct) = callers[fsa_pid] | ||
| 799 | - self.assertEqual(cc, nc, 2) | ||
| 800 | - self.assertEqual(tt, 4) | ||
| 801 | - self.assertEqual(ct, 4) | ||
| 802 | - (cc, nc, tt, ct) = callers[fsb_pid] | ||
| 803 | - self.assertEqual(cc, nc, 1) | ||
| 804 | - self.assertEqual(tt, 2) | ||
| 805 | - self.assertEqual(ct, 2) | ||
| 806 | - | ||
| 807 | - def test_merge_stats(self): | ||
| 808 | - _timings = { | ||
| 809 | - "a_1": 15, | ||
| 810 | - "b_1": 14, | ||
| 811 | - "c_1": 12, | ||
| 812 | - "d_1": 10, | ||
| 813 | - "e_1": 9, | ||
| 814 | - "f_1": 7, | ||
| 815 | - "g_1": 6, | ||
| 816 | - "h_1": 5, | ||
| 817 | - "i_1": 1 | ||
| 818 | - } | ||
| 819 | - _yappi._set_test_timings(_timings) | ||
| 820 | - | ||
| 821 | - def a(): | ||
| 822 | - b() | ||
| 823 | - | ||
| 824 | - def b(): | ||
| 825 | - c() | ||
| 826 | - | ||
| 827 | - def c(): | ||
| 828 | - d() | ||
| 829 | - | ||
| 830 | - def d(): | ||
| 831 | - e() | ||
| 832 | - | ||
| 833 | - def e(): | ||
| 834 | - f() | ||
| 835 | - | ||
| 836 | - def f(): | ||
| 837 | - g() | ||
| 838 | - | ||
| 839 | - def g(): | ||
| 840 | - h() | ||
| 841 | - | ||
| 842 | - def h(): | ||
| 843 | - i() | ||
| 844 | - | ||
| 845 | - def i(): | ||
| 846 | - pass | ||
| 847 | - | ||
| 848 | - yappi.start() | ||
| 849 | - a() | ||
| 850 | - a() | ||
| 851 | - yappi.stop() | ||
| 852 | - stats = yappi.get_func_stats() | ||
| 853 | - self.assertRaises( | ||
| 854 | - NotImplementedError, stats.save, "", "INVALID_SAVE_TYPE" | ||
| 855 | - ) | ||
| 856 | - stats.save("tests/ystats2.ys") | ||
| 857 | - yappi.clear_stats() | ||
| 858 | - _yappi._set_test_timings(_timings) | ||
| 859 | - yappi.start() | ||
| 860 | - a() | ||
| 861 | - stats = yappi.get_func_stats().add("tests/ystats2.ys") | ||
| 862 | - fsa = utils.find_stat_by_name(stats, "a") | ||
| 863 | - fsb = utils.find_stat_by_name(stats, "b") | ||
| 864 | - fsc = utils.find_stat_by_name(stats, "c") | ||
| 865 | - fsd = utils.find_stat_by_name(stats, "d") | ||
| 866 | - fse = utils.find_stat_by_name(stats, "e") | ||
| 867 | - fsf = utils.find_stat_by_name(stats, "f") | ||
| 868 | - fsg = utils.find_stat_by_name(stats, "g") | ||
| 869 | - fsh = utils.find_stat_by_name(stats, "h") | ||
| 870 | - fsi = utils.find_stat_by_name(stats, "i") | ||
| 871 | - self.assertEqual(fsa.ttot, 45) | ||
| 872 | - self.assertEqual(fsa.ncall, 3) | ||
| 873 | - self.assertEqual(fsa.nactualcall, 3) | ||
| 874 | - self.assertEqual(fsa.tsub, 3) | ||
| 875 | - self.assertEqual(fsa.children[fsb].ttot, fsb.ttot) | ||
| 876 | - self.assertEqual(fsa.children[fsb].tsub, fsb.tsub) | ||
| 877 | - self.assertEqual(fsb.children[fsc].ttot, fsc.ttot) | ||
| 878 | - self.assertEqual(fsb.children[fsc].tsub, fsc.tsub) | ||
| 879 | - self.assertEqual(fsc.tsub, 6) | ||
| 880 | - self.assertEqual(fsc.children[fsd].ttot, fsd.ttot) | ||
| 881 | - self.assertEqual(fsc.children[fsd].tsub, fsd.tsub) | ||
| 882 | - self.assertEqual(fsd.children[fse].ttot, fse.ttot) | ||
| 883 | - self.assertEqual(fsd.children[fse].tsub, fse.tsub) | ||
| 884 | - self.assertEqual(fse.children[fsf].ttot, fsf.ttot) | ||
| 885 | - self.assertEqual(fse.children[fsf].tsub, fsf.tsub) | ||
| 886 | - self.assertEqual(fsf.children[fsg].ttot, fsg.ttot) | ||
| 887 | - self.assertEqual(fsf.children[fsg].tsub, fsg.tsub) | ||
| 888 | - self.assertEqual(fsg.ttot, 18) | ||
| 889 | - self.assertEqual(fsg.tsub, 3) | ||
| 890 | - self.assertEqual(fsg.children[fsh].ttot, fsh.ttot) | ||
| 891 | - self.assertEqual(fsg.children[fsh].tsub, fsh.tsub) | ||
| 892 | - self.assertEqual(fsh.ttot, 15) | ||
| 893 | - self.assertEqual(fsh.tsub, 12) | ||
| 894 | - self.assertEqual(fsh.tavg, 5) | ||
| 895 | - self.assertEqual(fsh.children[fsi].ttot, fsi.ttot) | ||
| 896 | - self.assertEqual(fsh.children[fsi].tsub, fsi.tsub) | ||
| 897 | - #stats.debug_print() | ||
| 898 | - | ||
| 899 | - def test_merge_multithreaded_stats(self): | ||
| 900 | - import _yappi | ||
| 901 | - timings = {"a_1": 2, "b_1": 1} | ||
| 902 | - _yappi._set_test_timings(timings) | ||
| 903 | - | ||
| 904 | - def a(): | ||
| 905 | - pass | ||
| 906 | - | ||
| 907 | - def b(): | ||
| 908 | - pass | ||
| 909 | - | ||
| 910 | - yappi.start() | ||
| 911 | - t = threading.Thread(target=a) | ||
| 912 | - t.start() | ||
| 913 | - t.join() | ||
| 914 | - t = threading.Thread(target=b) | ||
| 915 | - t.start() | ||
| 916 | - t.join() | ||
| 917 | - yappi.get_func_stats().save("tests/ystats1.ys") | ||
| 918 | - yappi.clear_stats() | ||
| 919 | - _yappi._set_test_timings(timings) | ||
| 920 | - self.assertEqual(len(yappi.get_func_stats()), 0) | ||
| 921 | - self.assertEqual(len(yappi.get_thread_stats()), 1) | ||
| 922 | - t = threading.Thread(target=a) | ||
| 923 | - t.start() | ||
| 924 | - t.join() | ||
| 925 | - | ||
| 926 | - self.assertEqual(_yappi._get_start_flags()["profile_builtins"], 0) | ||
| 927 | - self.assertEqual(_yappi._get_start_flags()["profile_multicontext"], 1) | ||
| 928 | - yappi.get_func_stats().save("tests/ystats2.ys") | ||
| 929 | - | ||
| 930 | - stats = yappi.YFuncStats([ | ||
| 931 | - "tests/ystats1.ys", | ||
| 932 | - "tests/ystats2.ys", | ||
| 933 | - ]) | ||
| 934 | - fsa = utils.find_stat_by_name(stats, "a") | ||
| 935 | - fsb = utils.find_stat_by_name(stats, "b") | ||
| 936 | - self.assertEqual(fsa.ncall, 2) | ||
| 937 | - self.assertEqual(fsb.ncall, 1) | ||
| 938 | - self.assertEqual(fsa.tsub, fsa.ttot, 4) | ||
| 939 | - self.assertEqual(fsb.tsub, fsb.ttot, 1) | ||
| 940 | - | ||
| 941 | - def test_merge_load_different_clock_types(self): | ||
| 942 | - yappi.start(builtins=True) | ||
| 943 | - | ||
| 944 | - def a(): | ||
| 945 | - b() | ||
| 946 | - | ||
| 947 | - def b(): | ||
| 948 | - c() | ||
| 949 | - | ||
| 950 | - def c(): | ||
| 951 | - pass | ||
| 952 | - | ||
| 953 | - t = threading.Thread(target=a) | ||
| 954 | - t.start() | ||
| 955 | - t.join() | ||
| 956 | - yappi.get_func_stats().sort("name", "asc").save("tests/ystats1.ys") | ||
| 957 | - yappi.stop() | ||
| 958 | - yappi.clear_stats() | ||
| 959 | - yappi.start(builtins=False) | ||
| 960 | - t = threading.Thread(target=a) | ||
| 961 | - t.start() | ||
| 962 | - t.join() | ||
| 963 | - yappi.get_func_stats().save("tests/ystats2.ys") | ||
| 964 | - yappi.stop() | ||
| 965 | - self.assertRaises(_yappi.error, yappi.set_clock_type, "wall") | ||
| 966 | - yappi.clear_stats() | ||
| 967 | - yappi.set_clock_type("wall") | ||
| 968 | - yappi.start() | ||
| 969 | - t = threading.Thread(target=a) | ||
| 970 | - t.start() | ||
| 971 | - t.join() | ||
| 972 | - yappi.get_func_stats().save("tests/ystats3.ys") | ||
| 973 | - self.assertRaises( | ||
| 974 | - yappi.YappiError, | ||
| 975 | - yappi.YFuncStats().add("tests/ystats1.ys").add, "tests/ystats3.ys" | ||
| 976 | - ) | ||
| 977 | - stats = yappi.YFuncStats(["tests/ystats1.ys", | ||
| 978 | - "tests/ystats2.ys"]).sort("name") | ||
| 979 | - fsa = utils.find_stat_by_name(stats, "a") | ||
| 980 | - fsb = utils.find_stat_by_name(stats, "b") | ||
| 981 | - fsc = utils.find_stat_by_name(stats, "c") | ||
| 982 | - self.assertEqual(fsa.ncall, 2) | ||
| 983 | - self.assertEqual(fsa.ncall, fsb.ncall, fsc.ncall) | ||
| 984 | - | ||
| 985 | - def test_merge_aabab_aabbc(self): | ||
| 986 | - _timings = { | ||
| 987 | - "a_1": 15, | ||
| 988 | - "a_2": 14, | ||
| 989 | - "b_1": 12, | ||
| 990 | - "a_3": 10, | ||
| 991 | - "b_2": 9, | ||
| 992 | - "c_1": 4 | ||
| 993 | - } | ||
| 994 | - _yappi._set_test_timings(_timings) | ||
| 995 | - | ||
| 996 | - def a(): | ||
| 997 | - if self._ncall == 1: | ||
| 998 | - self._ncall += 1 | ||
| 999 | - a() | ||
| 1000 | - elif self._ncall == 5: | ||
| 1001 | - self._ncall += 1 | ||
| 1002 | - a() | ||
| 1003 | - else: | ||
| 1004 | - b() | ||
| 1005 | - | ||
| 1006 | - def b(): | ||
| 1007 | - if self._ncall == 2: | ||
| 1008 | - self._ncall += 1 | ||
| 1009 | - a() | ||
| 1010 | - elif self._ncall == 6: | ||
| 1011 | - self._ncall += 1 | ||
| 1012 | - b() | ||
| 1013 | - elif self._ncall == 7: | ||
| 1014 | - c() | ||
| 1015 | - else: | ||
| 1016 | - return | ||
| 1017 | - | ||
| 1018 | - def c(): | ||
| 1019 | - pass | ||
| 1020 | - | ||
| 1021 | - self._ncall = 1 | ||
| 1022 | - stats = utils.run_and_get_func_stats(a, ) | ||
| 1023 | - stats.save("tests/ystats1.ys") | ||
| 1024 | - yappi.clear_stats() | ||
| 1025 | - _yappi._set_test_timings(_timings) | ||
| 1026 | - #stats.print_all() | ||
| 1027 | - | ||
| 1028 | - self._ncall = 5 | ||
| 1029 | - stats = utils.run_and_get_func_stats(a, ) | ||
| 1030 | - stats.save("tests/ystats2.ys") | ||
| 1031 | - | ||
| 1032 | - #stats.print_all() | ||
| 1033 | - | ||
| 1034 | - def a(): # same name but another function(code object) | ||
| 1035 | - pass | ||
| 1036 | - | ||
| 1037 | - yappi.start() | ||
| 1038 | - a() | ||
| 1039 | - stats = yappi.get_func_stats().add( | ||
| 1040 | - ["tests/ystats1.ys", "tests/ystats2.ys"] | ||
| 1041 | - ) | ||
| 1042 | - #stats.print_all() | ||
| 1043 | - self.assertEqual(len(stats), 4) | ||
| 1044 | - | ||
| 1045 | - fsa = None | ||
| 1046 | - for stat in stats: | ||
| 1047 | - if stat.name == "a" and stat.ttot == 45: | ||
| 1048 | - fsa = stat | ||
| 1049 | - break | ||
| 1050 | - self.assertTrue(fsa is not None) | ||
| 1051 | - | ||
| 1052 | - self.assertEqual(fsa.ncall, 7) | ||
| 1053 | - self.assertEqual(fsa.nactualcall, 3) | ||
| 1054 | - self.assertEqual(fsa.ttot, 45) | ||
| 1055 | - self.assertEqual(fsa.tsub, 10) | ||
| 1056 | - fsb = utils.find_stat_by_name(stats, "b") | ||
| 1057 | - fsc = utils.find_stat_by_name(stats, "c") | ||
| 1058 | - self.assertEqual(fsb.ncall, 6) | ||
| 1059 | - self.assertEqual(fsb.nactualcall, 3) | ||
| 1060 | - self.assertEqual(fsb.ttot, 36) | ||
| 1061 | - self.assertEqual(fsb.tsub, 27) | ||
| 1062 | - self.assertEqual(fsb.tavg, 6) | ||
| 1063 | - self.assertEqual(fsc.ttot, 8) | ||
| 1064 | - self.assertEqual(fsc.tsub, 8) | ||
| 1065 | - self.assertEqual(fsc.tavg, 4) | ||
| 1066 | - self.assertEqual(fsc.nactualcall, fsc.ncall, 2) | ||
| 1067 | - | ||
| 1068 | - | ||
| 1069 | -class MultithreadedScenarios(utils.YappiUnitTestCase): | ||
| 1070 | - | ||
| 1071 | - def test_issue_32(self): | ||
| 1072 | - ''' | ||
| 1073 | - Start yappi from different thread and we get Internal Error(15) as | ||
| 1074 | - the current_ctx_id() called while enumerating the threads in start() | ||
| 1075 | - and as it does not swap to the enumerated ThreadState* the THreadState_GetDict() | ||
| 1076 | - returns wrong object and thus sets an invalid id for the _ctx structure. | ||
| 1077 | - | ||
| 1078 | - When this issue happens multiple Threads have same tid as the internal ts_ptr | ||
| 1079 | - will be same for different contexts. So, let's see if that happens | ||
| 1080 | - ''' | ||
| 1081 | - | ||
| 1082 | - def foo(): | ||
| 1083 | - time.sleep(0.2) | ||
| 1084 | - | ||
| 1085 | - def bar(): | ||
| 1086 | - time.sleep(0.1) | ||
| 1087 | - | ||
| 1088 | - def thread_func(): | ||
| 1089 | - yappi.set_clock_type("wall") | ||
| 1090 | - yappi.start() | ||
| 1091 | - | ||
| 1092 | - bar() | ||
| 1093 | - | ||
| 1094 | - t = threading.Thread(target=thread_func) | ||
| 1095 | - t.start() | ||
| 1096 | - t.join() | ||
| 1097 | - | ||
| 1098 | - foo() | ||
| 1099 | - | ||
| 1100 | - yappi.stop() | ||
| 1101 | - | ||
| 1102 | - thread_ids = set() | ||
| 1103 | - for tstat in yappi.get_thread_stats(): | ||
| 1104 | - self.assertTrue(tstat.tid not in thread_ids) | ||
| 1105 | - thread_ids.add(tstat.tid) | ||
| 1106 | - | ||
| 1107 | - def test_subsequent_profile(self): | ||
| 1108 | - WORKER_COUNT = 5 | ||
| 1109 | - | ||
| 1110 | - def a(): | ||
| 1111 | - pass | ||
| 1112 | - | ||
| 1113 | - def b(): | ||
| 1114 | - pass | ||
| 1115 | - | ||
| 1116 | - def c(): | ||
| 1117 | - pass | ||
| 1118 | - | ||
| 1119 | - _timings = { | ||
| 1120 | - "a_1": 3, | ||
| 1121 | - "b_1": 2, | ||
| 1122 | - "c_1": 1, | ||
| 1123 | - } | ||
| 1124 | - | ||
| 1125 | - yappi.start() | ||
| 1126 | - | ||
| 1127 | - def g(): | ||
| 1128 | - pass | ||
| 1129 | - | ||
| 1130 | - g() | ||
| 1131 | - yappi.stop() | ||
| 1132 | - yappi.clear_stats() | ||
| 1133 | - _yappi._set_test_timings(_timings) | ||
| 1134 | - yappi.start() | ||
| 1135 | - | ||
| 1136 | - _dummy = [] | ||
| 1137 | - for i in range(WORKER_COUNT): | ||
| 1138 | - t = threading.Thread(target=a) | ||
| 1139 | - t.start() | ||
| 1140 | - t.join() | ||
| 1141 | - for i in range(WORKER_COUNT): | ||
| 1142 | - t = threading.Thread(target=b) | ||
| 1143 | - t.start() | ||
| 1144 | - _dummy.append(t) | ||
| 1145 | - t.join() | ||
| 1146 | - for i in range(WORKER_COUNT): | ||
| 1147 | - t = threading.Thread(target=a) | ||
| 1148 | - t.start() | ||
| 1149 | - t.join() | ||
| 1150 | - for i in range(WORKER_COUNT): | ||
| 1151 | - t = threading.Thread(target=c) | ||
| 1152 | - t.start() | ||
| 1153 | - t.join() | ||
| 1154 | - yappi.stop() | ||
| 1155 | - yappi.start() | ||
| 1156 | - | ||
| 1157 | - def f(): | ||
| 1158 | - pass | ||
| 1159 | - | ||
| 1160 | - f() | ||
| 1161 | - stats = yappi.get_func_stats() | ||
| 1162 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1163 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1164 | - fsc = utils.find_stat_by_name(stats, 'c') | ||
| 1165 | - self.assertEqual(fsa.ncall, 10) | ||
| 1166 | - self.assertEqual(fsb.ncall, 5) | ||
| 1167 | - self.assertEqual(fsc.ncall, 5) | ||
| 1168 | - self.assertEqual(fsa.ttot, fsa.tsub, 30) | ||
| 1169 | - self.assertEqual(fsb.ttot, fsb.tsub, 10) | ||
| 1170 | - self.assertEqual(fsc.ttot, fsc.tsub, 5) | ||
| 1171 | - | ||
| 1172 | - # MACOSx optimizes by only creating one worker thread | ||
| 1173 | - self.assertTrue(len(yappi.get_thread_stats()) >= 2) | ||
| 1174 | - | ||
| 1175 | - def test_basic(self): | ||
| 1176 | - yappi.set_clock_type('wall') | ||
| 1177 | - | ||
| 1178 | - def dummy(): | ||
| 1179 | - pass | ||
| 1180 | - | ||
| 1181 | - def a(): | ||
| 1182 | - time.sleep(0.2) | ||
| 1183 | - | ||
| 1184 | - class Worker1(threading.Thread): | ||
| 1185 | - | ||
| 1186 | - def a(self): | ||
| 1187 | - time.sleep(0.3) | ||
| 1188 | - | ||
| 1189 | - def run(self): | ||
| 1190 | - self.a() | ||
| 1191 | - | ||
| 1192 | - yappi.start(builtins=False, profile_threads=True) | ||
| 1193 | - | ||
| 1194 | - c = Worker1() | ||
| 1195 | - c.start() | ||
| 1196 | - c.join() | ||
| 1197 | - a() | ||
| 1198 | - stats = yappi.get_func_stats() | ||
| 1199 | - fsa1 = utils.find_stat_by_name(stats, 'Worker1.a') | ||
| 1200 | - fsa2 = utils.find_stat_by_name(stats, 'a') | ||
| 1201 | - self.assertTrue(fsa1 is not None) | ||
| 1202 | - self.assertTrue(fsa2 is not None) | ||
| 1203 | - self.assertTrue(fsa1.ttot > 0.2) | ||
| 1204 | - self.assertTrue(fsa2.ttot > 0.1) | ||
| 1205 | - tstats = yappi.get_thread_stats() | ||
| 1206 | - self.assertEqual(len(tstats), 2) | ||
| 1207 | - tsa = utils.find_stat_by_name(tstats, 'Worker1') | ||
| 1208 | - tsm = utils.find_stat_by_name(tstats, '_MainThread') | ||
| 1209 | - dummy() # call dummy to force ctx name to be retrieved again. | ||
| 1210 | - self.assertTrue(tsa is not None) | ||
| 1211 | - # TODO: I put dummy() to fix below, remove the comments after a while. | ||
| 1212 | - self.assertTrue( # FIX: I see this fails sometimes? | ||
| 1213 | - tsm is not None, | ||
| 1214 | - f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(tstats))}") | ||
| 1215 | - | ||
| 1216 | - def test_ctx_stats(self): | ||
| 1217 | - from threading import Thread | ||
| 1218 | - DUMMY_WORKER_COUNT = 5 | ||
| 1219 | - yappi.start() | ||
| 1220 | - | ||
| 1221 | - class DummyThread(Thread): | ||
| 1222 | - pass | ||
| 1223 | - | ||
| 1224 | - def dummy(): | ||
| 1225 | - pass | ||
| 1226 | - | ||
| 1227 | - def dummy_worker(): | ||
| 1228 | - pass | ||
| 1229 | - | ||
| 1230 | - for i in range(DUMMY_WORKER_COUNT): | ||
| 1231 | - t = DummyThread(target=dummy_worker) | ||
| 1232 | - t.start() | ||
| 1233 | - t.join() | ||
| 1234 | - yappi.stop() | ||
| 1235 | - stats = yappi.get_thread_stats() | ||
| 1236 | - tsa = utils.find_stat_by_name(stats, "DummyThread") | ||
| 1237 | - self.assertTrue(tsa is not None) | ||
| 1238 | - yappi.clear_stats() | ||
| 1239 | - time.sleep(1.0) | ||
| 1240 | - _timings = { | ||
| 1241 | - "a_1": 6, | ||
| 1242 | - "b_1": 5, | ||
| 1243 | - "c_1": 3, | ||
| 1244 | - "d_1": 1, | ||
| 1245 | - "a_2": 4, | ||
| 1246 | - "b_2": 3, | ||
| 1247 | - "c_2": 2, | ||
| 1248 | - "d_2": 1 | ||
| 1249 | - } | ||
| 1250 | - _yappi._set_test_timings(_timings) | ||
| 1251 | - | ||
| 1252 | - class Thread1(Thread): | ||
| 1253 | - pass | ||
| 1254 | - | ||
| 1255 | - class Thread2(Thread): | ||
| 1256 | - pass | ||
| 1257 | - | ||
| 1258 | - def a(): | ||
| 1259 | - b() | ||
| 1260 | - | ||
| 1261 | - def b(): | ||
| 1262 | - c() | ||
| 1263 | - | ||
| 1264 | - def c(): | ||
| 1265 | - d() | ||
| 1266 | - | ||
| 1267 | - def d(): | ||
| 1268 | - time.sleep(0.6) | ||
| 1269 | - | ||
| 1270 | - yappi.set_clock_type("wall") | ||
| 1271 | - yappi.start() | ||
| 1272 | - t1 = Thread1(target=a) | ||
| 1273 | - t1.start() | ||
| 1274 | - t2 = Thread2(target=a) | ||
| 1275 | - t2.start() | ||
| 1276 | - t1.join() | ||
| 1277 | - t2.join() | ||
| 1278 | - stats = yappi.get_thread_stats() | ||
| 1279 | - | ||
| 1280 | - # the fist clear_stats clears the context table? | ||
| 1281 | - tsa = utils.find_stat_by_name(stats, "DummyThread") | ||
| 1282 | - self.assertTrue(tsa is None) | ||
| 1283 | - | ||
| 1284 | - tst1 = utils.find_stat_by_name(stats, "Thread1") | ||
| 1285 | - tst2 = utils.find_stat_by_name(stats, "Thread2") | ||
| 1286 | - tsmain = utils.find_stat_by_name(stats, "_MainThread") | ||
| 1287 | - dummy() # call dummy to force ctx name to be retrieved again. | ||
| 1288 | - self.assertTrue(len(stats) == 3) | ||
| 1289 | - self.assertTrue(tst1 is not None) | ||
| 1290 | - self.assertTrue(tst2 is not None) | ||
| 1291 | - # TODO: I put dummy() to fix below, remove the comments after a while. | ||
| 1292 | - self.assertTrue( # FIX: I see this fails sometimes | ||
| 1293 | - tsmain is not None, | ||
| 1294 | - f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(stats))}") | ||
| 1295 | - self.assertTrue(1.0 > tst2.ttot >= 0.5) | ||
| 1296 | - self.assertTrue(1.0 > tst1.ttot >= 0.5) | ||
| 1297 | - | ||
| 1298 | - # test sorting of the ctx stats | ||
| 1299 | - stats = stats.sort("totaltime", "desc") | ||
| 1300 | - prev_stat = None | ||
| 1301 | - for stat in stats: | ||
| 1302 | - if prev_stat: | ||
| 1303 | - self.assertTrue(prev_stat.ttot >= stat.ttot) | ||
| 1304 | - prev_stat = stat | ||
| 1305 | - stats = stats.sort("totaltime", "asc") | ||
| 1306 | - prev_stat = None | ||
| 1307 | - for stat in stats: | ||
| 1308 | - if prev_stat: | ||
| 1309 | - self.assertTrue(prev_stat.ttot <= stat.ttot) | ||
| 1310 | - prev_stat = stat | ||
| 1311 | - stats = stats.sort("schedcount", "desc") | ||
| 1312 | - prev_stat = None | ||
| 1313 | - for stat in stats: | ||
| 1314 | - if prev_stat: | ||
| 1315 | - self.assertTrue(prev_stat.sched_count >= stat.sched_count) | ||
| 1316 | - prev_stat = stat | ||
| 1317 | - stats = stats.sort("name", "desc") | ||
| 1318 | - prev_stat = None | ||
| 1319 | - for stat in stats: | ||
| 1320 | - if prev_stat: | ||
| 1321 | - self.assertTrue(prev_stat.name.lower() >= stat.name.lower()) | ||
| 1322 | - prev_stat = stat | ||
| 1323 | - self.assertRaises( | ||
| 1324 | - yappi.YappiError, stats.sort, "invalid_thread_sorttype_arg" | ||
| 1325 | - ) | ||
| 1326 | - self.assertRaises( | ||
| 1327 | - yappi.YappiError, stats.sort, "invalid_thread_sortorder_arg" | ||
| 1328 | - ) | ||
| 1329 | - | ||
| 1330 | - def test_ctx_stats_cpu(self): | ||
| 1331 | - | ||
| 1332 | - def get_thread_name(): | ||
| 1333 | - try: | ||
| 1334 | - return threading.current_thread().name | ||
| 1335 | - except AttributeError: | ||
| 1336 | - return "Anonymous" | ||
| 1337 | - | ||
| 1338 | - def burn_cpu(sec): | ||
| 1339 | - t0 = yappi.get_clock_time() | ||
| 1340 | - elapsed = 0 | ||
| 1341 | - while (elapsed < sec): | ||
| 1342 | - for _ in range(1000): | ||
| 1343 | - pass | ||
| 1344 | - elapsed = yappi.get_clock_time() - t0 | ||
| 1345 | - | ||
| 1346 | - def test(): | ||
| 1347 | - | ||
| 1348 | - ts = [] | ||
| 1349 | - for i in (0.01, 0.05, 0.1): | ||
| 1350 | - t = threading.Thread(target=burn_cpu, args=(i, )) | ||
| 1351 | - t.name = f"burn_cpu-{str(i)}" | ||
| 1352 | - t.start() | ||
| 1353 | - ts.append(t) | ||
| 1354 | - for t in ts: | ||
| 1355 | - t.join() | ||
| 1356 | - | ||
| 1357 | - yappi.set_clock_type("cpu") | ||
| 1358 | - yappi.set_context_name_callback(get_thread_name) | ||
| 1359 | - | ||
| 1360 | - yappi.start() | ||
| 1361 | - | ||
| 1362 | - test() | ||
| 1363 | - | ||
| 1364 | - yappi.stop() | ||
| 1365 | - | ||
| 1366 | - tstats = yappi.get_thread_stats() | ||
| 1367 | - r1 = ''' | ||
| 1368 | - burn_cpu-0.1 3 123145356058624 0.100105 8 | ||
| 1369 | - burn_cpu-0.05 2 123145361313792 0.050149 8 | ||
| 1370 | - burn_cpu-0.01 1 123145356058624 0.010127 2 | ||
| 1371 | - MainThread 0 4321620864 0.001632 6 | ||
| 1372 | - ''' | ||
| 1373 | - self.assert_ctx_stats_almost_equal(r1, tstats) | ||
| 1374 | - | ||
| 1375 | - def test_producer_consumer_with_queues(self): | ||
| 1376 | - # we currently just stress yappi, no functionality test is done here. | ||
| 1377 | - yappi.start() | ||
| 1378 | - from queue import Queue | ||
| 1379 | - from threading import Thread | ||
| 1380 | - WORKER_THREAD_COUNT = 50 | ||
| 1381 | - WORK_ITEM_COUNT = 2000 | ||
| 1382 | - | ||
| 1383 | - def worker(): | ||
| 1384 | - while True: | ||
| 1385 | - item = q.get() | ||
| 1386 | - # do the work with item | ||
| 1387 | - q.task_done() | ||
| 1388 | - | ||
| 1389 | - q = Queue() | ||
| 1390 | - for i in range(WORKER_THREAD_COUNT): | ||
| 1391 | - t = Thread(target=worker) | ||
| 1392 | - t.daemon = True | ||
| 1393 | - t.start() | ||
| 1394 | - | ||
| 1395 | - for item in range(WORK_ITEM_COUNT): | ||
| 1396 | - q.put(item) | ||
| 1397 | - q.join() # block until all tasks are done | ||
| 1398 | - #yappi.get_func_stats().sort("callcount").print_all() | ||
| 1399 | - yappi.stop() | ||
| 1400 | - | ||
| 1401 | - def test_temporary_lock_waiting(self): | ||
| 1402 | - yappi.start() | ||
| 1403 | - _lock = threading.Lock() | ||
| 1404 | - | ||
| 1405 | - def worker(): | ||
| 1406 | - _lock.acquire() | ||
| 1407 | - try: | ||
| 1408 | - time.sleep(1.0) | ||
| 1409 | - finally: | ||
| 1410 | - _lock.release() | ||
| 1411 | - | ||
| 1412 | - t1 = threading.Thread(target=worker) | ||
| 1413 | - t2 = threading.Thread(target=worker) | ||
| 1414 | - t1.start() | ||
| 1415 | - t2.start() | ||
| 1416 | - t1.join() | ||
| 1417 | - t2.join() | ||
| 1418 | - #yappi.get_func_stats().sort("callcount").print_all() | ||
| 1419 | - yappi.stop() | ||
| 1420 | - | ||
| 1421 | - @unittest.skipIf(os.name != "posix", "requires Posix compliant OS") | ||
| 1422 | - def test_signals_with_blocking_calls(self): | ||
| 1423 | - import signal, os, time | ||
| 1424 | - | ||
| 1425 | - # just to verify if signal is handled correctly and stats/yappi are not corrupted. | ||
| 1426 | - def handler(signum, frame): | ||
| 1427 | - raise Exception("Signal handler executed!") | ||
| 1428 | - | ||
| 1429 | - yappi.start() | ||
| 1430 | - signal.signal(signal.SIGALRM, handler) | ||
| 1431 | - signal.alarm(1) | ||
| 1432 | - self.assertRaises(Exception, time.sleep, 2) | ||
| 1433 | - stats = yappi.get_func_stats() | ||
| 1434 | - fsh = utils.find_stat_by_name(stats, "handler") | ||
| 1435 | - self.assertTrue(fsh is not None) | ||
| 1436 | - | ||
| 1437 | - def test_concurrent_futures(self): | ||
| 1438 | - yappi.start() | ||
| 1439 | - from concurrent.futures import ThreadPoolExecutor | ||
| 1440 | - with ThreadPoolExecutor(max_workers=5) as executor: | ||
| 1441 | - f = executor.submit(pow, 5, 2) | ||
| 1442 | - self.assertEqual(f.result(), 25) | ||
| 1443 | - time.sleep(1.0) | ||
| 1444 | - yappi.stop() | ||
| 1445 | - | ||
| 1446 | - def test_barrier(self): | ||
| 1447 | - yappi.start() | ||
| 1448 | - b = threading.Barrier(2, timeout=1) | ||
| 1449 | - | ||
| 1450 | - def worker(): | ||
| 1451 | - try: | ||
| 1452 | - b.wait() | ||
| 1453 | - except threading.BrokenBarrierError: | ||
| 1454 | - pass | ||
| 1455 | - except Exception: | ||
| 1456 | - raise Exception("BrokenBarrierError not raised") | ||
| 1457 | - | ||
| 1458 | - t1 = threading.Thread(target=worker) | ||
| 1459 | - t1.start() | ||
| 1460 | - #b.wait() | ||
| 1461 | - t1.join() | ||
| 1462 | - yappi.stop() | ||
| 1463 | - | ||
| 1464 | - | ||
| 1465 | -class NonRecursiveFunctions(utils.YappiUnitTestCase): | ||
| 1466 | - | ||
| 1467 | - def test_abcd(self): | ||
| 1468 | - _timings = {"a_1": 6, "b_1": 5, "c_1": 3, "d_1": 1} | ||
| 1469 | - _yappi._set_test_timings(_timings) | ||
| 1470 | - | ||
| 1471 | - def a(): | ||
| 1472 | - b() | ||
| 1473 | - | ||
| 1474 | - def b(): | ||
| 1475 | - c() | ||
| 1476 | - | ||
| 1477 | - def c(): | ||
| 1478 | - d() | ||
| 1479 | - | ||
| 1480 | - def d(): | ||
| 1481 | - pass | ||
| 1482 | - | ||
| 1483 | - stats = utils.run_and_get_func_stats(a) | ||
| 1484 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1485 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1486 | - fsc = utils.find_stat_by_name(stats, 'c') | ||
| 1487 | - fsd = utils.find_stat_by_name(stats, 'd') | ||
| 1488 | - cfsab = fsa.children[fsb] | ||
| 1489 | - cfsbc = fsb.children[fsc] | ||
| 1490 | - cfscd = fsc.children[fsd] | ||
| 1491 | - | ||
| 1492 | - self.assertEqual(fsa.ttot, 6) | ||
| 1493 | - self.assertEqual(fsa.tsub, 1) | ||
| 1494 | - self.assertEqual(fsb.ttot, 5) | ||
| 1495 | - self.assertEqual(fsb.tsub, 2) | ||
| 1496 | - self.assertEqual(fsc.ttot, 3) | ||
| 1497 | - self.assertEqual(fsc.tsub, 2) | ||
| 1498 | - self.assertEqual(fsd.ttot, 1) | ||
| 1499 | - self.assertEqual(fsd.tsub, 1) | ||
| 1500 | - self.assertEqual(cfsab.ttot, 5) | ||
| 1501 | - self.assertEqual(cfsab.tsub, 2) | ||
| 1502 | - self.assertEqual(cfsbc.ttot, 3) | ||
| 1503 | - self.assertEqual(cfsbc.tsub, 2) | ||
| 1504 | - self.assertEqual(cfscd.ttot, 1) | ||
| 1505 | - self.assertEqual(cfscd.tsub, 1) | ||
| 1506 | - | ||
| 1507 | - def test_stop_in_middle(self): | ||
| 1508 | - _timings = {"a_1": 6, "b_1": 4} | ||
| 1509 | - _yappi._set_test_timings(_timings) | ||
| 1510 | - | ||
| 1511 | - def a(): | ||
| 1512 | - b() | ||
| 1513 | - yappi.stop() | ||
| 1514 | - | ||
| 1515 | - def b(): | ||
| 1516 | - time.sleep(0.2) | ||
| 1517 | - | ||
| 1518 | - yappi.start() | ||
| 1519 | - a() | ||
| 1520 | - stats = yappi.get_func_stats() | ||
| 1521 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1522 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1523 | - | ||
| 1524 | - self.assertEqual(fsa.ncall, 1) | ||
| 1525 | - self.assertEqual(fsa.nactualcall, 0) | ||
| 1526 | - self.assertEqual(fsa.ttot, 0) # no call_leave called | ||
| 1527 | - self.assertEqual(fsa.tsub, 0) # no call_leave called | ||
| 1528 | - self.assertEqual(fsb.ttot, 4) | ||
| 1529 | - | ||
| 1530 | - | ||
| 1531 | -class RecursiveFunctions(utils.YappiUnitTestCase): | ||
| 1532 | - | ||
| 1533 | - def test_fibonacci(self): | ||
| 1534 | - | ||
| 1535 | - def fib(n): | ||
| 1536 | - if n > 1: | ||
| 1537 | - return fib(n - 1) + fib(n - 2) | ||
| 1538 | - else: | ||
| 1539 | - return n | ||
| 1540 | - | ||
| 1541 | - stats = utils.run_and_get_func_stats(fib, 22) | ||
| 1542 | - fs = utils.find_stat_by_name(stats, 'fib') | ||
| 1543 | - self.assertEqual(fs.ncall, 57313) | ||
| 1544 | - self.assertEqual(fs.ttot, fs.tsub) | ||
| 1545 | - | ||
| 1546 | - def test_abcadc(self): | ||
| 1547 | - _timings = { | ||
| 1548 | - "a_1": 20, | ||
| 1549 | - "b_1": 19, | ||
| 1550 | - "c_1": 17, | ||
| 1551 | - "a_2": 13, | ||
| 1552 | - "d_1": 12, | ||
| 1553 | - "c_2": 10, | ||
| 1554 | - "a_3": 5 | ||
| 1555 | - } | ||
| 1556 | - _yappi._set_test_timings(_timings) | ||
| 1557 | - | ||
| 1558 | - def a(n): | ||
| 1559 | - if n == 3: | ||
| 1560 | - return | ||
| 1561 | - if n == 1 + 1: | ||
| 1562 | - d(n) | ||
| 1563 | - else: | ||
| 1564 | - b(n) | ||
| 1565 | - | ||
| 1566 | - def b(n): | ||
| 1567 | - c(n) | ||
| 1568 | - | ||
| 1569 | - def c(n): | ||
| 1570 | - a(n + 1) | ||
| 1571 | - | ||
| 1572 | - def d(n): | ||
| 1573 | - c(n) | ||
| 1574 | - | ||
| 1575 | - stats = utils.run_and_get_func_stats(a, 1) | ||
| 1576 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1577 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1578 | - fsc = utils.find_stat_by_name(stats, 'c') | ||
| 1579 | - fsd = utils.find_stat_by_name(stats, 'd') | ||
| 1580 | - self.assertEqual(fsa.ncall, 3) | ||
| 1581 | - self.assertEqual(fsa.nactualcall, 1) | ||
| 1582 | - self.assertEqual(fsa.ttot, 20) | ||
| 1583 | - self.assertEqual(fsa.tsub, 7) | ||
| 1584 | - self.assertEqual(fsb.ttot, 19) | ||
| 1585 | - self.assertEqual(fsb.tsub, 2) | ||
| 1586 | - self.assertEqual(fsc.ttot, 17) | ||
| 1587 | - self.assertEqual(fsc.tsub, 9) | ||
| 1588 | - self.assertEqual(fsd.ttot, 12) | ||
| 1589 | - self.assertEqual(fsd.tsub, 2) | ||
| 1590 | - cfsca = fsc.children[fsa] | ||
| 1591 | - self.assertEqual(cfsca.nactualcall, 0) | ||
| 1592 | - self.assertEqual(cfsca.ncall, 2) | ||
| 1593 | - self.assertEqual(cfsca.ttot, 13) | ||
| 1594 | - self.assertEqual(cfsca.tsub, 6) | ||
| 1595 | - | ||
| 1596 | - def test_aaaa(self): | ||
| 1597 | - _timings = {"d_1": 9, "d_2": 7, "d_3": 3, "d_4": 2} | ||
| 1598 | - _yappi._set_test_timings(_timings) | ||
| 1599 | - | ||
| 1600 | - def d(n): | ||
| 1601 | - if n == 3: | ||
| 1602 | - return | ||
| 1603 | - d(n + 1) | ||
| 1604 | - | ||
| 1605 | - stats = utils.run_and_get_func_stats(d, 0) | ||
| 1606 | - fsd = utils.find_stat_by_name(stats, 'd') | ||
| 1607 | - self.assertEqual(fsd.ncall, 4) | ||
| 1608 | - self.assertEqual(fsd.nactualcall, 1) | ||
| 1609 | - self.assertEqual(fsd.ttot, 9) | ||
| 1610 | - self.assertEqual(fsd.tsub, 9) | ||
| 1611 | - cfsdd = fsd.children[fsd] | ||
| 1612 | - self.assertEqual(cfsdd.ttot, 7) | ||
| 1613 | - self.assertEqual(cfsdd.tsub, 7) | ||
| 1614 | - self.assertEqual(cfsdd.ncall, 3) | ||
| 1615 | - self.assertEqual(cfsdd.nactualcall, 0) | ||
| 1616 | - | ||
| 1617 | - def test_abcabc(self): | ||
| 1618 | - _timings = { | ||
| 1619 | - "a_1": 20, | ||
| 1620 | - "b_1": 19, | ||
| 1621 | - "c_1": 17, | ||
| 1622 | - "a_2": 13, | ||
| 1623 | - "b_2": 11, | ||
| 1624 | - "c_2": 9, | ||
| 1625 | - "a_3": 6 | ||
| 1626 | - } | ||
| 1627 | - _yappi._set_test_timings(_timings) | ||
| 1628 | - | ||
| 1629 | - def a(n): | ||
| 1630 | - if n == 3: | ||
| 1631 | - return | ||
| 1632 | - else: | ||
| 1633 | - b(n) | ||
| 1634 | - | ||
| 1635 | - def b(n): | ||
| 1636 | - c(n) | ||
| 1637 | - | ||
| 1638 | - def c(n): | ||
| 1639 | - a(n + 1) | ||
| 1640 | - | ||
| 1641 | - stats = utils.run_and_get_func_stats(a, 1) | ||
| 1642 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1643 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1644 | - fsc = utils.find_stat_by_name(stats, 'c') | ||
| 1645 | - self.assertEqual(fsa.ncall, 3) | ||
| 1646 | - self.assertEqual(fsa.nactualcall, 1) | ||
| 1647 | - self.assertEqual(fsa.ttot, 20) | ||
| 1648 | - self.assertEqual(fsa.tsub, 9) | ||
| 1649 | - self.assertEqual(fsb.ttot, 19) | ||
| 1650 | - self.assertEqual(fsb.tsub, 4) | ||
| 1651 | - self.assertEqual(fsc.ttot, 17) | ||
| 1652 | - self.assertEqual(fsc.tsub, 7) | ||
| 1653 | - cfsab = fsa.children[fsb] | ||
| 1654 | - cfsbc = fsb.children[fsc] | ||
| 1655 | - cfsca = fsc.children[fsa] | ||
| 1656 | - self.assertEqual(cfsab.ttot, 19) | ||
| 1657 | - self.assertEqual(cfsab.tsub, 4) | ||
| 1658 | - self.assertEqual(cfsbc.ttot, 17) | ||
| 1659 | - self.assertEqual(cfsbc.tsub, 7) | ||
| 1660 | - self.assertEqual(cfsca.ttot, 13) | ||
| 1661 | - self.assertEqual(cfsca.tsub, 8) | ||
| 1662 | - | ||
| 1663 | - def test_abcbca(self): | ||
| 1664 | - _timings = {"a_1": 10, "b_1": 9, "c_1": 7, "b_2": 4, "c_2": 2, "a_2": 1} | ||
| 1665 | - _yappi._set_test_timings(_timings) | ||
| 1666 | - self._ncall = 1 | ||
| 1667 | - | ||
| 1668 | - def a(): | ||
| 1669 | - if self._ncall == 1: | ||
| 1670 | - b() | ||
| 1671 | - else: | ||
| 1672 | - return | ||
| 1673 | - | ||
| 1674 | - def b(): | ||
| 1675 | - c() | ||
| 1676 | - | ||
| 1677 | - def c(): | ||
| 1678 | - if self._ncall == 1: | ||
| 1679 | - self._ncall += 1 | ||
| 1680 | - b() | ||
| 1681 | - else: | ||
| 1682 | - a() | ||
| 1683 | - | ||
| 1684 | - stats = utils.run_and_get_func_stats(a) | ||
| 1685 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1686 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1687 | - fsc = utils.find_stat_by_name(stats, 'c') | ||
| 1688 | - cfsab = fsa.children[fsb] | ||
| 1689 | - cfsbc = fsb.children[fsc] | ||
| 1690 | - cfsca = fsc.children[fsa] | ||
| 1691 | - self.assertEqual(fsa.ttot, 10) | ||
| 1692 | - self.assertEqual(fsa.tsub, 2) | ||
| 1693 | - self.assertEqual(fsb.ttot, 9) | ||
| 1694 | - self.assertEqual(fsb.tsub, 4) | ||
| 1695 | - self.assertEqual(fsc.ttot, 7) | ||
| 1696 | - self.assertEqual(fsc.tsub, 4) | ||
| 1697 | - self.assertEqual(cfsab.ttot, 9) | ||
| 1698 | - self.assertEqual(cfsab.tsub, 2) | ||
| 1699 | - self.assertEqual(cfsbc.ttot, 7) | ||
| 1700 | - self.assertEqual(cfsbc.tsub, 4) | ||
| 1701 | - self.assertEqual(cfsca.ttot, 1) | ||
| 1702 | - self.assertEqual(cfsca.tsub, 1) | ||
| 1703 | - self.assertEqual(cfsca.ncall, 1) | ||
| 1704 | - self.assertEqual(cfsca.nactualcall, 0) | ||
| 1705 | - | ||
| 1706 | - def test_aabccb(self): | ||
| 1707 | - _timings = { | ||
| 1708 | - "a_1": 13, | ||
| 1709 | - "a_2": 11, | ||
| 1710 | - "b_1": 9, | ||
| 1711 | - "c_1": 5, | ||
| 1712 | - "c_2": 3, | ||
| 1713 | - "b_2": 1 | ||
| 1714 | - } | ||
| 1715 | - _yappi._set_test_timings(_timings) | ||
| 1716 | - self._ncall = 1 | ||
| 1717 | - | ||
| 1718 | - def a(): | ||
| 1719 | - if self._ncall == 1: | ||
| 1720 | - self._ncall += 1 | ||
| 1721 | - a() | ||
| 1722 | - else: | ||
| 1723 | - b() | ||
| 1724 | - | ||
| 1725 | - def b(): | ||
| 1726 | - if self._ncall == 3: | ||
| 1727 | - return | ||
| 1728 | - else: | ||
| 1729 | - c() | ||
| 1730 | - | ||
| 1731 | - def c(): | ||
| 1732 | - if self._ncall == 2: | ||
| 1733 | - self._ncall += 1 | ||
| 1734 | - c() | ||
| 1735 | - else: | ||
| 1736 | - b() | ||
| 1737 | - | ||
| 1738 | - stats = utils.run_and_get_func_stats(a) | ||
| 1739 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1740 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1741 | - fsc = utils.find_stat_by_name(stats, 'c') | ||
| 1742 | - cfsaa = fsa.children[fsa.index] | ||
| 1743 | - cfsab = fsa.children[fsb] | ||
| 1744 | - cfsbc = fsb.children[fsc.full_name] | ||
| 1745 | - cfscc = fsc.children[fsc] | ||
| 1746 | - cfscb = fsc.children[fsb] | ||
| 1747 | - self.assertEqual(fsb.ttot, 9) | ||
| 1748 | - self.assertEqual(fsb.tsub, 5) | ||
| 1749 | - self.assertEqual(cfsbc.ttot, 5) | ||
| 1750 | - self.assertEqual(cfsbc.tsub, 2) | ||
| 1751 | - self.assertEqual(fsa.ttot, 13) | ||
| 1752 | - self.assertEqual(fsa.tsub, 4) | ||
| 1753 | - self.assertEqual(cfsab.ttot, 9) | ||
| 1754 | - self.assertEqual(cfsab.tsub, 4) | ||
| 1755 | - self.assertEqual(cfsaa.ttot, 11) | ||
| 1756 | - self.assertEqual(cfsaa.tsub, 2) | ||
| 1757 | - self.assertEqual(fsc.ttot, 5) | ||
| 1758 | - self.assertEqual(fsc.tsub, 4) | ||
| 1759 | - | ||
| 1760 | - def test_abaa(self): | ||
| 1761 | - _timings = {"a_1": 13, "b_1": 10, "a_2": 9, "a_3": 5} | ||
| 1762 | - _yappi._set_test_timings(_timings) | ||
| 1763 | - | ||
| 1764 | - self._ncall = 1 | ||
| 1765 | - | ||
| 1766 | - def a(): | ||
| 1767 | - if self._ncall == 1: | ||
| 1768 | - b() | ||
| 1769 | - elif self._ncall == 2: | ||
| 1770 | - self._ncall += 1 | ||
| 1771 | - a() | ||
| 1772 | - else: | ||
| 1773 | - return | ||
| 1774 | - | ||
| 1775 | - def b(): | ||
| 1776 | - self._ncall += 1 | ||
| 1777 | - a() | ||
| 1778 | - | ||
| 1779 | - stats = utils.run_and_get_func_stats(a) | ||
| 1780 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1781 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1782 | - cfsaa = fsa.children[fsa] | ||
| 1783 | - cfsba = fsb.children[fsa] | ||
| 1784 | - self.assertEqual(fsb.ttot, 10) | ||
| 1785 | - self.assertEqual(fsb.tsub, 1) | ||
| 1786 | - self.assertEqual(fsa.ttot, 13) | ||
| 1787 | - self.assertEqual(fsa.tsub, 12) | ||
| 1788 | - self.assertEqual(cfsaa.ttot, 5) | ||
| 1789 | - self.assertEqual(cfsaa.tsub, 5) | ||
| 1790 | - self.assertEqual(cfsba.ttot, 9) | ||
| 1791 | - self.assertEqual(cfsba.tsub, 4) | ||
| 1792 | - | ||
| 1793 | - def test_aabb(self): | ||
| 1794 | - _timings = {"a_1": 13, "a_2": 10, "b_1": 9, "b_2": 5} | ||
| 1795 | - _yappi._set_test_timings(_timings) | ||
| 1796 | - | ||
| 1797 | - self._ncall = 1 | ||
| 1798 | - | ||
| 1799 | - def a(): | ||
| 1800 | - if self._ncall == 1: | ||
| 1801 | - self._ncall += 1 | ||
| 1802 | - a() | ||
| 1803 | - elif self._ncall == 2: | ||
| 1804 | - b() | ||
| 1805 | - else: | ||
| 1806 | - return | ||
| 1807 | - | ||
| 1808 | - def b(): | ||
| 1809 | - if self._ncall == 2: | ||
| 1810 | - self._ncall += 1 | ||
| 1811 | - b() | ||
| 1812 | - else: | ||
| 1813 | - return | ||
| 1814 | - | ||
| 1815 | - stats = utils.run_and_get_func_stats(a) | ||
| 1816 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1817 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1818 | - cfsaa = fsa.children[fsa] | ||
| 1819 | - cfsab = fsa.children[fsb] | ||
| 1820 | - cfsbb = fsb.children[fsb] | ||
| 1821 | - self.assertEqual(fsa.ttot, 13) | ||
| 1822 | - self.assertEqual(fsa.tsub, 4) | ||
| 1823 | - self.assertEqual(fsb.ttot, 9) | ||
| 1824 | - self.assertEqual(fsb.tsub, 9) | ||
| 1825 | - self.assertEqual(cfsaa.ttot, 10) | ||
| 1826 | - self.assertEqual(cfsaa.tsub, 1) | ||
| 1827 | - self.assertEqual(cfsab.ttot, 9) | ||
| 1828 | - self.assertEqual(cfsab.tsub, 4) | ||
| 1829 | - self.assertEqual(cfsbb.ttot, 5) | ||
| 1830 | - self.assertEqual(cfsbb.tsub, 5) | ||
| 1831 | - | ||
| 1832 | - def test_abbb(self): | ||
| 1833 | - _timings = {"a_1": 13, "b_1": 10, "b_2": 6, "b_3": 1} | ||
| 1834 | - _yappi._set_test_timings(_timings) | ||
| 1835 | - | ||
| 1836 | - self._ncall = 1 | ||
| 1837 | - | ||
| 1838 | - def a(): | ||
| 1839 | - if self._ncall == 1: | ||
| 1840 | - b() | ||
| 1841 | - | ||
| 1842 | - def b(): | ||
| 1843 | - if self._ncall == 3: | ||
| 1844 | - return | ||
| 1845 | - self._ncall += 1 | ||
| 1846 | - b() | ||
| 1847 | - | ||
| 1848 | - stats = utils.run_and_get_func_stats(a) | ||
| 1849 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1850 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1851 | - cfsab = fsa.children[fsb] | ||
| 1852 | - cfsbb = fsb.children[fsb] | ||
| 1853 | - self.assertEqual(fsa.ttot, 13) | ||
| 1854 | - self.assertEqual(fsa.tsub, 3) | ||
| 1855 | - self.assertEqual(fsb.ttot, 10) | ||
| 1856 | - self.assertEqual(fsb.tsub, 10) | ||
| 1857 | - self.assertEqual(fsb.ncall, 3) | ||
| 1858 | - self.assertEqual(fsb.nactualcall, 1) | ||
| 1859 | - self.assertEqual(cfsab.ttot, 10) | ||
| 1860 | - self.assertEqual(cfsab.tsub, 4) | ||
| 1861 | - self.assertEqual(cfsbb.ttot, 6) | ||
| 1862 | - self.assertEqual(cfsbb.tsub, 6) | ||
| 1863 | - self.assertEqual(cfsbb.nactualcall, 0) | ||
| 1864 | - self.assertEqual(cfsbb.ncall, 2) | ||
| 1865 | - | ||
| 1866 | - def test_aaab(self): | ||
| 1867 | - _timings = {"a_1": 13, "a_2": 10, "a_3": 6, "b_1": 1} | ||
| 1868 | - _yappi._set_test_timings(_timings) | ||
| 1869 | - | ||
| 1870 | - self._ncall = 1 | ||
| 1871 | - | ||
| 1872 | - def a(): | ||
| 1873 | - if self._ncall == 3: | ||
| 1874 | - b() | ||
| 1875 | - return | ||
| 1876 | - self._ncall += 1 | ||
| 1877 | - a() | ||
| 1878 | - | ||
| 1879 | - def b(): | ||
| 1880 | - return | ||
| 1881 | - | ||
| 1882 | - stats = utils.run_and_get_func_stats(a) | ||
| 1883 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1884 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1885 | - cfsaa = fsa.children[fsa] | ||
| 1886 | - cfsab = fsa.children[fsb] | ||
| 1887 | - self.assertEqual(fsa.ttot, 13) | ||
| 1888 | - self.assertEqual(fsa.tsub, 12) | ||
| 1889 | - self.assertEqual(fsb.ttot, 1) | ||
| 1890 | - self.assertEqual(fsb.tsub, 1) | ||
| 1891 | - self.assertEqual(cfsaa.ttot, 10) | ||
| 1892 | - self.assertEqual(cfsaa.tsub, 9) | ||
| 1893 | - self.assertEqual(cfsab.ttot, 1) | ||
| 1894 | - self.assertEqual(cfsab.tsub, 1) | ||
| 1895 | - | ||
| 1896 | - def test_abab(self): | ||
| 1897 | - _timings = {"a_1": 13, "b_1": 10, "a_2": 6, "b_2": 1} | ||
| 1898 | - _yappi._set_test_timings(_timings) | ||
| 1899 | - | ||
| 1900 | - self._ncall = 1 | ||
| 1901 | - | ||
| 1902 | - def a(): | ||
| 1903 | - b() | ||
| 1904 | - | ||
| 1905 | - def b(): | ||
| 1906 | - if self._ncall == 2: | ||
| 1907 | - return | ||
| 1908 | - self._ncall += 1 | ||
| 1909 | - a() | ||
| 1910 | - | ||
| 1911 | - stats = utils.run_and_get_func_stats(a) | ||
| 1912 | - fsa = utils.find_stat_by_name(stats, 'a') | ||
| 1913 | - fsb = utils.find_stat_by_name(stats, 'b') | ||
| 1914 | - cfsab = fsa.children[fsb] | ||
| 1915 | - cfsba = fsb.children[fsa] | ||
| 1916 | - self.assertEqual(fsa.ttot, 13) | ||
| 1917 | - self.assertEqual(fsa.tsub, 8) | ||
| 1918 | - self.assertEqual(fsb.ttot, 10) | ||
| 1919 | - self.assertEqual(fsb.tsub, 5) | ||
| 1920 | - self.assertEqual(cfsab.ttot, 10) | ||
| 1921 | - self.assertEqual(cfsab.tsub, 5) | ||
| 1922 | - self.assertEqual(cfsab.ncall, 2) | ||
| 1923 | - self.assertEqual(cfsab.nactualcall, 1) | ||
| 1924 | - self.assertEqual(cfsba.ttot, 6) | ||
| 1925 | - self.assertEqual(cfsba.tsub, 5) | ||
| 1926 | - | ||
| 1927 | - | ||
| 1928 | -if __name__ == '__main__': | ||
| 1929 | - # import sys;sys.argv = ['', 'BasicUsage.test_run_as_script'] | ||
| 1930 | - # import sys;sys.argv = ['', 'MultithreadedScenarios.test_subsequent_profile'] | ||
| 1931 | - unittest.main() | ||
| 1932 | +import os | ||
| 1933 | +import sys | ||
| 1934 | +import time | ||
| 1935 | +import threading | ||
| 1936 | +import unittest | ||
| 1937 | +import yappi | ||
| 1938 | +import _yappi | ||
| 1939 | +import utils | ||
| 1940 | +import multiprocessing | ||
| 1941 | +import subprocess | ||
| 1942 | + | ||
| 1943 | +_counter = 0 | ||
| 1944 | + | ||
| 1945 | + | ||
| 1946 | +class BasicUsage(utils.YappiUnitTestCase): | ||
| 1947 | + | ||
| 1948 | + def test_callback_function_int_return_overflow(self): | ||
| 1949 | + # this test is just here to check if any errors are generated, as the err | ||
| 1950 | + # is printed in C side, I did not include it here. THere are ways to test | ||
| 1951 | + # this deterministically, I did not bother | ||
| 1952 | + import ctypes | ||
| 1953 | + | ||
| 1954 | + def _unsigned_overflow_margin(): | ||
| 1955 | + return 2**(ctypes.sizeof(ctypes.c_void_p) * 8) - 1 | ||
| 1956 | + | ||
| 1957 | + def foo(): | ||
| 1958 | + pass | ||
| 1959 | + | ||
| 1960 | + #with utils.captured_output() as (out, err): | ||
| 1961 | + yappi.set_context_id_callback(_unsigned_overflow_margin) | ||
| 1962 | + yappi.set_tag_callback(_unsigned_overflow_margin) | ||
| 1963 | + yappi.start() | ||
| 1964 | + foo() | ||
| 1965 | + | ||
| 1966 | + def test_issue60(self): | ||
| 1967 | + | ||
| 1968 | + def foo(): | ||
| 1969 | + buf = bytearray() | ||
| 1970 | + buf += b't' * 200 | ||
| 1971 | + view = memoryview(buf)[10:] | ||
| 1972 | + view = view.tobytes() | ||
| 1973 | + del buf[:10] # this throws exception | ||
| 1974 | + return view | ||
| 1975 | + | ||
| 1976 | + yappi.start(builtins=True) | ||
| 1977 | + foo() | ||
| 1978 | + self.assertTrue( | ||
| 1979 | + len( | ||
| 1980 | + yappi.get_func_stats( | ||
| 1981 | + filter_callback=lambda x: yappi. | ||
| 1982 | + func_matches(x, [memoryview.tobytes]) | ||
| 1983 | + ) | ||
| 1984 | + ) > 0 | ||
| 1985 | + ) | ||
| 1986 | + yappi.stop() | ||
| 1987 | + | ||
| 1988 | + def test_issue54(self): | ||
| 1989 | + | ||
| 1990 | + def _tag_cbk(): | ||
| 1991 | + global _counter | ||
| 1992 | + _counter += 1 | ||
| 1993 | + return _counter | ||
| 1994 | + | ||
| 1995 | + def a(): | ||
| 1996 | + pass | ||
| 1997 | + | ||
| 1998 | + def b(): | ||
| 1999 | + pass | ||
| 2000 | + | ||
| 2001 | + yappi.set_tag_callback(_tag_cbk) | ||
| 2002 | + yappi.start() | ||
| 2003 | + a() | ||
| 2004 | + a() | ||
| 2005 | + a() | ||
| 2006 | + yappi.stop() | ||
| 2007 | + stats = yappi.get_func_stats() | ||
| 2008 | + self.assertEqual(stats.pop().ncall, 3) # aggregated if no tag is given | ||
| 2009 | + stats = yappi.get_func_stats(tag=1) | ||
| 2010 | + | ||
| 2011 | + for i in range(1, 3): | ||
| 2012 | + stats = yappi.get_func_stats(tag=i) | ||
| 2013 | + stats = yappi.get_func_stats( | ||
| 2014 | + tag=i, filter_callback=lambda x: yappi.func_matches(x, [a]) | ||
| 2015 | + ) | ||
| 2016 | + | ||
| 2017 | + stat = stats.pop() | ||
| 2018 | + self.assertEqual(stat.ncall, 1) | ||
| 2019 | + | ||
| 2020 | + yappi.set_tag_callback(None) | ||
| 2021 | + yappi.clear_stats() | ||
| 2022 | + yappi.start() | ||
| 2023 | + b() | ||
| 2024 | + b() | ||
| 2025 | + stats = yappi.get_func_stats() | ||
| 2026 | + self.assertEqual(len(stats), 1) | ||
| 2027 | + stat = stats.pop() | ||
| 2028 | + self.assertEqual(stat.ncall, 2) | ||
| 2029 | + | ||
| 2030 | + def test_filter(self): | ||
| 2031 | + | ||
| 2032 | + def a(): | ||
| 2033 | + pass | ||
| 2034 | + | ||
| 2035 | + def b(): | ||
| 2036 | + a() | ||
| 2037 | + | ||
| 2038 | + def c(): | ||
| 2039 | + b() | ||
| 2040 | + | ||
| 2041 | + _TCOUNT = 5 | ||
| 2042 | + | ||
| 2043 | + ts = [] | ||
| 2044 | + yappi.start() | ||
| 2045 | + for i in range(_TCOUNT): | ||
| 2046 | + t = threading.Thread(target=c) | ||
| 2047 | + t.start() | ||
| 2048 | + ts.append(t) | ||
| 2049 | + | ||
| 2050 | + for t in ts: | ||
| 2051 | + t.join() | ||
| 2052 | + | ||
| 2053 | + yappi.stop() | ||
| 2054 | + | ||
| 2055 | + ctx_ids = [] | ||
| 2056 | + for tstat in yappi.get_thread_stats(): | ||
| 2057 | + if tstat.name == '_MainThread': | ||
| 2058 | + main_ctx_id = tstat.id | ||
| 2059 | + else: | ||
| 2060 | + ctx_ids.append(tstat.id) | ||
| 2061 | + | ||
| 2062 | + fstats = yappi.get_func_stats(filter={"ctx_id": 9}) | ||
| 2063 | + self.assertTrue(fstats.empty()) | ||
| 2064 | + fstats = yappi.get_func_stats( | ||
| 2065 | + filter={ | ||
| 2066 | + "ctx_id": main_ctx_id, | ||
| 2067 | + "name": "c" | ||
| 2068 | + } | ||
| 2069 | + ) # main thread | ||
| 2070 | + self.assertTrue(fstats.empty()) | ||
| 2071 | + | ||
| 2072 | + for i in ctx_ids: | ||
| 2073 | + fstats = yappi.get_func_stats( | ||
| 2074 | + filter={ | ||
| 2075 | + "ctx_id": i, | ||
| 2076 | + "name": "a", | ||
| 2077 | + "ncall": 1 | ||
| 2078 | + } | ||
| 2079 | + ) | ||
| 2080 | + self.assertEqual(fstats.pop().ncall, 1) | ||
| 2081 | + fstats = yappi.get_func_stats(filter={"ctx_id": i, "name": "b"}) | ||
| 2082 | + self.assertEqual(fstats.pop().ncall, 1) | ||
| 2083 | + fstats = yappi.get_func_stats(filter={"ctx_id": i, "name": "c"}) | ||
| 2084 | + self.assertEqual(fstats.pop().ncall, 1) | ||
| 2085 | + | ||
| 2086 | + yappi.clear_stats() | ||
| 2087 | + yappi.start(builtins=True) | ||
| 2088 | + time.sleep(0.1) | ||
| 2089 | + yappi.stop() | ||
| 2090 | + fstats = yappi.get_func_stats(filter={"module": "time"}) | ||
| 2091 | + self.assertEqual(len(fstats), 1) | ||
| 2092 | + | ||
| 2093 | + # invalid filters` | ||
| 2094 | + self.assertRaises( | ||
| 2095 | + Exception, yappi.get_func_stats, filter={'tag': "sss"} | ||
| 2096 | + ) | ||
| 2097 | + self.assertRaises( | ||
| 2098 | + Exception, yappi.get_func_stats, filter={'ctx_id': "None"} | ||
| 2099 | + ) | ||
| 2100 | + | ||
| 2101 | + def test_filter_callback(self): | ||
| 2102 | + | ||
| 2103 | + def a(): | ||
| 2104 | + time.sleep(0.1) | ||
| 2105 | + | ||
| 2106 | + def b(): | ||
| 2107 | + a() | ||
| 2108 | + | ||
| 2109 | + def c(): | ||
| 2110 | + pass | ||
| 2111 | + | ||
| 2112 | + def d(): | ||
| 2113 | + pass | ||
| 2114 | + | ||
| 2115 | + yappi.set_clock_type("wall") | ||
| 2116 | + yappi.start(builtins=True) | ||
| 2117 | + a() | ||
| 2118 | + b() | ||
| 2119 | + c() | ||
| 2120 | + d() | ||
| 2121 | + stats = yappi.get_func_stats( | ||
| 2122 | + filter_callback=lambda x: yappi.func_matches(x, [a, b]) | ||
| 2123 | + ) | ||
| 2124 | + #stats.print_all() | ||
| 2125 | + r1 = ''' | ||
| 2126 | + tests/test_functionality.py:98 a 2 0.000000 0.200350 0.100175 | ||
| 2127 | + tests/test_functionality.py:101 b 1 0.000000 0.120000 0.100197 | ||
| 2128 | + ''' | ||
| 2129 | + self.assert_traces_almost_equal(r1, stats) | ||
| 2130 | + self.assertEqual(len(stats), 2) | ||
| 2131 | + stats = yappi.get_func_stats( | ||
| 2132 | + filter_callback=lambda x: yappi. | ||
| 2133 | + module_matches(x, [sys.modules[__name__]]) | ||
| 2134 | + ) | ||
| 2135 | + r1 = ''' | ||
| 2136 | + tests/test_functionality.py:98 a 2 0.000000 0.230130 0.115065 | ||
| 2137 | + tests/test_functionality.py:101 b 1 0.000000 0.120000 0.109011 | ||
| 2138 | + tests/test_functionality.py:104 c 1 0.000000 0.000002 0.000002 | ||
| 2139 | + tests/test_functionality.py:107 d 1 0.000000 0.000001 0.000001 | ||
| 2140 | + ''' | ||
| 2141 | + self.assert_traces_almost_equal(r1, stats) | ||
| 2142 | + self.assertEqual(len(stats), 4) | ||
| 2143 | + | ||
| 2144 | + stats = yappi.get_func_stats( | ||
| 2145 | + filter_callback=lambda x: yappi.func_matches(x, [time.sleep]) | ||
| 2146 | + ) | ||
| 2147 | + self.assertEqual(len(stats), 1) | ||
| 2148 | + r1 = ''' | ||
| 2149 | + time.sleep 2 0.206804 0.220000 0.103402 | ||
| 2150 | + ''' | ||
| 2151 | + self.assert_traces_almost_equal(r1, stats) | ||
| 2152 | + | ||
| 2153 | + def test_print_formatting(self): | ||
| 2154 | + | ||
| 2155 | + def a(): | ||
| 2156 | + pass | ||
| 2157 | + | ||
| 2158 | + def b(): | ||
| 2159 | + a() | ||
| 2160 | + | ||
| 2161 | + func_cols = { | ||
| 2162 | + 1: ("name", 48), | ||
| 2163 | + 0: ("ncall", 5), | ||
| 2164 | + 2: ("tsub", 8), | ||
| 2165 | + } | ||
| 2166 | + thread_cols = { | ||
| 2167 | + 1: ("name", 48), | ||
| 2168 | + 0: ("ttot", 8), | ||
| 2169 | + } | ||
| 2170 | + | ||
| 2171 | + yappi.start() | ||
| 2172 | + a() | ||
| 2173 | + b() | ||
| 2174 | + yappi.stop() | ||
| 2175 | + fs = yappi.get_func_stats() | ||
| 2176 | + cs = fs[1].children | ||
| 2177 | + ts = yappi.get_thread_stats() | ||
| 2178 | + #fs.print_all(out=sys.stderr, columns={1:("name", 70), }) | ||
| 2179 | + #cs.print_all(out=sys.stderr, columns=func_cols) | ||
| 2180 | + #ts.print_all(out=sys.stderr, columns=thread_cols) | ||
| 2181 | + #cs.print_all(out=sys.stderr, columns={}) | ||
| 2182 | + | ||
| 2183 | + self.assertRaises( | ||
| 2184 | + yappi.YappiError, fs.print_all, columns={1: ("namee", 9)} | ||
| 2185 | + ) | ||
| 2186 | + self.assertRaises( | ||
| 2187 | + yappi.YappiError, cs.print_all, columns={1: ("dd", 0)} | ||
| 2188 | + ) | ||
| 2189 | + self.assertRaises( | ||
| 2190 | + yappi.YappiError, ts.print_all, columns={1: ("tidd", 0)} | ||
| 2191 | + ) | ||
| 2192 | + | ||
| 2193 | + def test_get_clock(self): | ||
| 2194 | + yappi.set_clock_type('cpu') | ||
| 2195 | + self.assertEqual('cpu', yappi.get_clock_type()) | ||
| 2196 | + clock_info = yappi.get_clock_info() | ||
| 2197 | + self.assertTrue('api' in clock_info) | ||
| 2198 | + self.assertTrue('resolution' in clock_info) | ||
| 2199 | + | ||
| 2200 | + yappi.set_clock_type('wall') | ||
| 2201 | + self.assertEqual('wall', yappi.get_clock_type()) | ||
| 2202 | + | ||
| 2203 | + t0 = yappi.get_clock_time() | ||
| 2204 | + time.sleep(0.1) | ||
| 2205 | + duration = yappi.get_clock_time() - t0 | ||
| 2206 | + self.assertTrue(0.05 < duration < 0.3) | ||
| 2207 | + | ||
| 2208 | + def test_profile_decorator(self): | ||
| 2209 | + | ||
| 2210 | + def aggregate(func, stats): | ||
| 2211 | + fname = f"tests/{func.__name__}.profile" | ||
| 2212 | + try: | ||
| 2213 | + stats.add(fname) | ||
| 2214 | + except OSError: | ||
| 2215 | + pass | ||
| 2216 | + stats.save(fname) | ||
| 2217 | + raise Exception("messing around") | ||
| 2218 | + | ||
| 2219 | + @yappi.profile(return_callback=aggregate) | ||
| 2220 | + def a(x, y): | ||
| 2221 | + if x + y == 25: | ||
| 2222 | + raise Exception("") | ||
| 2223 | + return x + y | ||
| 2224 | + | ||
| 2225 | + def b(): | ||
| 2226 | + pass | ||
| 2227 | + | ||
| 2228 | + try: | ||
| 2229 | + os.remove( | ||
| 2230 | + "tests/a.profile" | ||
| 2231 | + ) # remove the one from prev test, if available | ||
| 2232 | + except: | ||
| 2233 | + pass | ||
| 2234 | + | ||
| 2235 | + # global profile is on to mess things up | ||
| 2236 | + yappi.start() | ||
| 2237 | + b() | ||
| 2238 | + | ||
| 2239 | + # assert functionality and call function at same time | ||
| 2240 | + try: | ||
| 2241 | + self.assertEqual(a(1, 2), 3) | ||
| 2242 | + except: | ||
| 2243 | + pass | ||
| 2244 | + try: | ||
| 2245 | + self.assertEqual(a(2, 5), 7) | ||
| 2246 | + except: | ||
| 2247 | + pass | ||
| 2248 | + try: | ||
| 2249 | + a(4, 21) | ||
| 2250 | + except: | ||
| 2251 | + pass | ||
| 2252 | + stats = yappi.get_func_stats().add("tests/a.profile") | ||
| 2253 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 2254 | + self.assertEqual(fsa.ncall, 3) | ||
| 2255 | + self.assertEqual(len(stats), 1) # b() should be cleared out. | ||
| 2256 | + | ||
| 2257 | + @yappi.profile(return_callback=aggregate) | ||
| 2258 | + def count_down_rec(n): | ||
| 2259 | + if n == 0: | ||
| 2260 | + return | ||
| 2261 | + count_down_rec(n - 1) | ||
| 2262 | + | ||
| 2263 | + try: | ||
| 2264 | + os.remove( | ||
| 2265 | + "tests/count_down_rec.profile" | ||
| 2266 | + ) # remove the one from prev test, if available | ||
| 2267 | + except: | ||
| 2268 | + pass | ||
| 2269 | + | ||
| 2270 | + try: | ||
| 2271 | + count_down_rec(4) | ||
| 2272 | + except: | ||
| 2273 | + pass | ||
| 2274 | + try: | ||
| 2275 | + count_down_rec(3) | ||
| 2276 | + except: | ||
| 2277 | + pass | ||
| 2278 | + | ||
| 2279 | + stats = yappi.YFuncStats("tests/count_down_rec.profile") | ||
| 2280 | + fsrec = utils.find_stat_by_name(stats, 'count_down_rec') | ||
| 2281 | + self.assertEqual(fsrec.ncall, 9) | ||
| 2282 | + self.assertEqual(fsrec.nactualcall, 2) | ||
| 2283 | + | ||
| 2284 | + def test_strip_dirs(self): | ||
| 2285 | + | ||
| 2286 | + def a(): | ||
| 2287 | + pass | ||
| 2288 | + | ||
| 2289 | + stats = utils.run_and_get_func_stats(a, ) | ||
| 2290 | + stats.strip_dirs() | ||
| 2291 | + fsa = utils.find_stat_by_name(stats, "a") | ||
| 2292 | + self.assertEqual(fsa.module, os.path.basename(fsa.module)) | ||
| 2293 | + | ||
| 2294 | + @unittest.skipIf(os.name == "nt", "do not run on Windows") | ||
| 2295 | + def test_run_as_script(self): | ||
| 2296 | + import re | ||
| 2297 | + p = subprocess.Popen( | ||
| 2298 | + ['yappi', os.path.join('./tests', 'run_as_script.py')], | ||
| 2299 | + stdout=subprocess.PIPE | ||
| 2300 | + ) | ||
| 2301 | + out, err = p.communicate() | ||
| 2302 | + self.assertEqual(p.returncode, 0) | ||
| 2303 | + func_stats, thread_stats = re.split( | ||
| 2304 | + b'name\\s+id\\s+tid\\s+ttot\\s+scnt\\s*\n', out | ||
| 2305 | + ) | ||
| 2306 | + self.assertTrue(b'FancyThread' in thread_stats) | ||
| 2307 | + | ||
| 2308 | + def test_yappi_overhead(self): | ||
| 2309 | + LOOP_COUNT = 100000 | ||
| 2310 | + | ||
| 2311 | + def a(): | ||
| 2312 | + pass | ||
| 2313 | + | ||
| 2314 | + def b(): | ||
| 2315 | + for i in range(LOOP_COUNT): | ||
| 2316 | + a() | ||
| 2317 | + | ||
| 2318 | + t0 = time.time() | ||
| 2319 | + yappi.start() | ||
| 2320 | + b() | ||
| 2321 | + yappi.stop() | ||
| 2322 | + time_with_yappi = time.time() - t0 | ||
| 2323 | + t0 = time.time() | ||
| 2324 | + b() | ||
| 2325 | + time_without_yappi = time.time() - t0 | ||
| 2326 | + if time_without_yappi == 0: | ||
| 2327 | + time_without_yappi = 0.000001 | ||
| 2328 | + | ||
| 2329 | + # in latest v0.82, I calculated this as close to "7.0" in my machine. | ||
| 2330 | + # however, %83 of this overhead is coming from tickcount(). The other %17 | ||
| 2331 | + # seems to have been evenly distributed to the internal bookkeeping | ||
| 2332 | + # structures/algorithms which seems acceptable. Note that our test only | ||
| 2333 | + # tests one function being profiled at-a-time in a short interval. | ||
| 2334 | + # profiling high number of functions in a small time | ||
| 2335 | + # is a different beast, (which is pretty unlikely in most applications) | ||
| 2336 | + # So as a conclusion: I cannot see any optimization window for Yappi that | ||
| 2337 | + # is worth implementing as we will only optimize %17 of the time. | ||
| 2338 | + sys.stderr.write("\r\nYappi puts %0.1f times overhead to the profiled application in average.\r\n" % \ | ||
| 2339 | + (time_with_yappi / time_without_yappi)) | ||
| 2340 | + | ||
| 2341 | + def test_clear_stats_while_running(self): | ||
| 2342 | + | ||
| 2343 | + def a(): | ||
| 2344 | + pass | ||
| 2345 | + | ||
| 2346 | + yappi.start() | ||
| 2347 | + a() | ||
| 2348 | + yappi.clear_stats() | ||
| 2349 | + a() | ||
| 2350 | + stats = yappi.get_func_stats() | ||
| 2351 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 2352 | + self.assertEqual(fsa.ncall, 1) | ||
| 2353 | + | ||
| 2354 | + def test_generator(self): | ||
| 2355 | + | ||
| 2356 | + def _gen(n): | ||
| 2357 | + while (n > 0): | ||
| 2358 | + yield n | ||
| 2359 | + n -= 1 | ||
| 2360 | + | ||
| 2361 | + yappi.start() | ||
| 2362 | + for x in _gen(5): | ||
| 2363 | + pass | ||
| 2364 | + self.assertTrue( | ||
| 2365 | + yappi.convert2pstats(yappi.get_func_stats()) is not None | ||
| 2366 | + ) | ||
| 2367 | + | ||
| 2368 | + def test_slice_child_stats_and_strip_dirs(self): | ||
| 2369 | + | ||
| 2370 | + def b(): | ||
| 2371 | + for i in range(10000000): | ||
| 2372 | + pass | ||
| 2373 | + | ||
| 2374 | + def a(): | ||
| 2375 | + b() | ||
| 2376 | + | ||
| 2377 | + yappi.start(builtins=True) | ||
| 2378 | + a() | ||
| 2379 | + stats = yappi.get_func_stats() | ||
| 2380 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 2381 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 2382 | + self.assertTrue(fsa.children[0:1] is not None) | ||
| 2383 | + prev_afullname = fsa.full_name | ||
| 2384 | + prev_bchildfullname = fsa.children[fsb].full_name | ||
| 2385 | + stats.strip_dirs() | ||
| 2386 | + self.assertTrue(len(prev_afullname) > len(fsa.full_name)) | ||
| 2387 | + self.assertTrue( | ||
| 2388 | + len(prev_bchildfullname) > len(fsa.children[fsb].full_name) | ||
| 2389 | + ) | ||
| 2390 | + | ||
| 2391 | + def test_children_stat_functions(self): | ||
| 2392 | + _timings = {"a_1": 5, "b_1": 3, "c_1": 1} | ||
| 2393 | + _yappi._set_test_timings(_timings) | ||
| 2394 | + | ||
| 2395 | + def b(): | ||
| 2396 | + pass | ||
| 2397 | + | ||
| 2398 | + def c(): | ||
| 2399 | + pass | ||
| 2400 | + | ||
| 2401 | + def a(): | ||
| 2402 | + b() | ||
| 2403 | + c() | ||
| 2404 | + | ||
| 2405 | + yappi.start() | ||
| 2406 | + a() | ||
| 2407 | + b() # non-child call | ||
| 2408 | + c() # non-child call | ||
| 2409 | + stats = yappi.get_func_stats() | ||
| 2410 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 2411 | + childs_of_a = fsa.children.get().sort("tavg", "desc") | ||
| 2412 | + prev_item = None | ||
| 2413 | + for item in childs_of_a: | ||
| 2414 | + if prev_item: | ||
| 2415 | + self.assertTrue(prev_item.tavg > item.tavg) | ||
| 2416 | + prev_item = item | ||
| 2417 | + childs_of_a.sort("name", "desc") | ||
| 2418 | + prev_item = None | ||
| 2419 | + for item in childs_of_a: | ||
| 2420 | + if prev_item: | ||
| 2421 | + self.assertTrue(prev_item.name > item.name) | ||
| 2422 | + prev_item = item | ||
| 2423 | + childs_of_a.clear() | ||
| 2424 | + self.assertTrue(childs_of_a.empty()) | ||
| 2425 | + | ||
| 2426 | + def test_no_stats_different_clock_type_load(self): | ||
| 2427 | + | ||
| 2428 | + def a(): | ||
| 2429 | + pass | ||
| 2430 | + | ||
| 2431 | + yappi.start() | ||
| 2432 | + a() | ||
| 2433 | + yappi.stop() | ||
| 2434 | + yappi.get_func_stats().save("tests/ystats1.ys") | ||
| 2435 | + yappi.clear_stats() | ||
| 2436 | + yappi.set_clock_type("WALL") | ||
| 2437 | + yappi.start() | ||
| 2438 | + yappi.stop() | ||
| 2439 | + stats = yappi.get_func_stats().add("tests/ystats1.ys") | ||
| 2440 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 2441 | + self.assertTrue(fsa is not None) | ||
| 2442 | + | ||
| 2443 | + def test_subsequent_profile(self): | ||
| 2444 | + _timings = {"a_1": 1, "b_1": 1} | ||
| 2445 | + _yappi._set_test_timings(_timings) | ||
| 2446 | + | ||
| 2447 | + def a(): | ||
| 2448 | + pass | ||
| 2449 | + | ||
| 2450 | + def b(): | ||
| 2451 | + pass | ||
| 2452 | + | ||
| 2453 | + yappi.start() | ||
| 2454 | + a() | ||
| 2455 | + yappi.stop() | ||
| 2456 | + yappi.start() | ||
| 2457 | + b() | ||
| 2458 | + yappi.stop() | ||
| 2459 | + stats = yappi.get_func_stats() | ||
| 2460 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 2461 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 2462 | + self.assertTrue(fsa is not None) | ||
| 2463 | + self.assertTrue(fsb is not None) | ||
| 2464 | + self.assertEqual(fsa.ttot, 1) | ||
| 2465 | + self.assertEqual(fsb.ttot, 1) | ||
| 2466 | + | ||
| 2467 | + def test_lambda(self): | ||
| 2468 | + f = lambda: time.sleep(0.3) | ||
| 2469 | + yappi.set_clock_type("wall") | ||
| 2470 | + yappi.start() | ||
| 2471 | + f() | ||
| 2472 | + stats = yappi.get_func_stats() | ||
| 2473 | + fsa = utils.find_stat_by_name(stats, '<lambda>') | ||
| 2474 | + self.assertTrue(fsa.ttot > 0.1) | ||
| 2475 | + | ||
| 2476 | + def test_module_stress(self): | ||
| 2477 | + self.assertEqual(yappi.is_running(), False) | ||
| 2478 | + | ||
| 2479 | + yappi.start() | ||
| 2480 | + yappi.clear_stats() | ||
| 2481 | + self.assertRaises(_yappi.error, yappi.set_clock_type, "wall") | ||
| 2482 | + | ||
| 2483 | + yappi.stop() | ||
| 2484 | + yappi.clear_stats() | ||
| 2485 | + yappi.set_clock_type("cpu") | ||
| 2486 | + self.assertRaises(yappi.YappiError, yappi.set_clock_type, "dummy") | ||
| 2487 | + self.assertEqual(yappi.is_running(), False) | ||
| 2488 | + yappi.clear_stats() | ||
| 2489 | + yappi.clear_stats() | ||
| 2490 | + | ||
| 2491 | + def test_stat_sorting(self): | ||
| 2492 | + _timings = {"a_1": 13, "b_1": 10, "a_2": 6, "b_2": 1} | ||
| 2493 | + _yappi._set_test_timings(_timings) | ||
| 2494 | + | ||
| 2495 | + self._ncall = 1 | ||
| 2496 | + | ||
| 2497 | + def a(): | ||
| 2498 | + b() | ||
| 2499 | + | ||
| 2500 | + def b(): | ||
| 2501 | + if self._ncall == 2: | ||
| 2502 | + return | ||
| 2503 | + self._ncall += 1 | ||
| 2504 | + a() | ||
| 2505 | + | ||
| 2506 | + stats = utils.run_and_get_func_stats(a) | ||
| 2507 | + stats = stats.sort("totaltime", "desc") | ||
| 2508 | + prev_stat = None | ||
| 2509 | + for stat in stats: | ||
| 2510 | + if prev_stat: | ||
| 2511 | + self.assertTrue(prev_stat.ttot >= stat.ttot) | ||
| 2512 | + prev_stat = stat | ||
| 2513 | + stats = stats.sort("totaltime", "asc") | ||
| 2514 | + prev_stat = None | ||
| 2515 | + for stat in stats: | ||
| 2516 | + if prev_stat: | ||
| 2517 | + self.assertTrue(prev_stat.ttot <= stat.ttot) | ||
| 2518 | + prev_stat = stat | ||
| 2519 | + stats = stats.sort("avgtime", "asc") | ||
| 2520 | + prev_stat = None | ||
| 2521 | + for stat in stats: | ||
| 2522 | + if prev_stat: | ||
| 2523 | + self.assertTrue(prev_stat.tavg <= stat.tavg) | ||
| 2524 | + prev_stat = stat | ||
| 2525 | + stats = stats.sort("name", "asc") | ||
| 2526 | + prev_stat = None | ||
| 2527 | + for stat in stats: | ||
| 2528 | + if prev_stat: | ||
| 2529 | + self.assertTrue(prev_stat.name <= stat.name) | ||
| 2530 | + prev_stat = stat | ||
| 2531 | + stats = stats.sort("subtime", "asc") | ||
| 2532 | + prev_stat = None | ||
| 2533 | + for stat in stats: | ||
| 2534 | + if prev_stat: | ||
| 2535 | + self.assertTrue(prev_stat.tsub <= stat.tsub) | ||
| 2536 | + prev_stat = stat | ||
| 2537 | + | ||
| 2538 | + self.assertRaises( | ||
| 2539 | + yappi.YappiError, stats.sort, "invalid_func_sorttype_arg" | ||
| 2540 | + ) | ||
| 2541 | + self.assertRaises( | ||
| 2542 | + yappi.YappiError, stats.sort, "totaltime", | ||
| 2543 | + "invalid_func_sortorder_arg" | ||
| 2544 | + ) | ||
| 2545 | + | ||
| 2546 | + def test_start_flags(self): | ||
| 2547 | + self.assertEqual(_yappi._get_start_flags(), None) | ||
| 2548 | + yappi.start() | ||
| 2549 | + | ||
| 2550 | + def a(): | ||
| 2551 | + pass | ||
| 2552 | + | ||
| 2553 | + a() | ||
| 2554 | + self.assertEqual(_yappi._get_start_flags()["profile_builtins"], 0) | ||
| 2555 | + self.assertEqual(_yappi._get_start_flags()["profile_multicontext"], 1) | ||
| 2556 | + self.assertEqual(len(yappi.get_thread_stats()), 1) | ||
| 2557 | + | ||
| 2558 | + def test_builtin_profiling(self): | ||
| 2559 | + | ||
| 2560 | + def a(): | ||
| 2561 | + time.sleep(0.4) # is a builtin function | ||
| 2562 | + | ||
| 2563 | + yappi.set_clock_type('wall') | ||
| 2564 | + | ||
| 2565 | + yappi.start(builtins=True) | ||
| 2566 | + a() | ||
| 2567 | + stats = yappi.get_func_stats() | ||
| 2568 | + fsa = utils.find_stat_by_name(stats, 'sleep') | ||
| 2569 | + self.assertTrue(fsa is not None) | ||
| 2570 | + self.assertTrue(fsa.ttot > 0.3) | ||
| 2571 | + yappi.stop() | ||
| 2572 | + yappi.clear_stats() | ||
| 2573 | + | ||
| 2574 | + def a(): | ||
| 2575 | + pass | ||
| 2576 | + | ||
| 2577 | + yappi.start() | ||
| 2578 | + t = threading.Thread(target=a) | ||
| 2579 | + t.start() | ||
| 2580 | + t.join() | ||
| 2581 | + stats = yappi.get_func_stats() | ||
| 2582 | + | ||
| 2583 | + def test_singlethread_profiling(self): | ||
| 2584 | + yappi.set_clock_type('wall') | ||
| 2585 | + | ||
| 2586 | + def a(): | ||
| 2587 | + time.sleep(0.2) | ||
| 2588 | + | ||
| 2589 | + class Worker1(threading.Thread): | ||
| 2590 | + | ||
| 2591 | + def a(self): | ||
| 2592 | + time.sleep(0.3) | ||
| 2593 | + | ||
| 2594 | + def run(self): | ||
| 2595 | + self.a() | ||
| 2596 | + | ||
| 2597 | + yappi.start(profile_threads=False) | ||
| 2598 | + | ||
| 2599 | + c = Worker1() | ||
| 2600 | + c.start() | ||
| 2601 | + c.join() | ||
| 2602 | + a() | ||
| 2603 | + stats = yappi.get_func_stats() | ||
| 2604 | + fsa1 = utils.find_stat_by_name(stats, 'Worker1.a') | ||
| 2605 | + fsa2 = utils.find_stat_by_name(stats, 'a') | ||
| 2606 | + self.assertTrue(fsa1 is None) | ||
| 2607 | + self.assertTrue(fsa2 is not None) | ||
| 2608 | + self.assertTrue(fsa2.ttot > 0.1) | ||
| 2609 | + | ||
| 2610 | + def test_run(self): | ||
| 2611 | + | ||
| 2612 | + def profiled(): | ||
| 2613 | + pass | ||
| 2614 | + | ||
| 2615 | + yappi.clear_stats() | ||
| 2616 | + try: | ||
| 2617 | + with yappi.run(): | ||
| 2618 | + profiled() | ||
| 2619 | + stats = yappi.get_func_stats() | ||
| 2620 | + finally: | ||
| 2621 | + yappi.clear_stats() | ||
| 2622 | + | ||
| 2623 | + self.assertIsNotNone(utils.find_stat_by_name(stats, 'profiled')) | ||
| 2624 | + | ||
| 2625 | + def test_run_recursive(self): | ||
| 2626 | + | ||
| 2627 | + def profiled(): | ||
| 2628 | + pass | ||
| 2629 | + | ||
| 2630 | + def not_profiled(): | ||
| 2631 | + pass | ||
| 2632 | + | ||
| 2633 | + yappi.clear_stats() | ||
| 2634 | + try: | ||
| 2635 | + with yappi.run(): | ||
| 2636 | + with yappi.run(): | ||
| 2637 | + profiled() | ||
| 2638 | + # Profiling stopped here | ||
| 2639 | + not_profiled() | ||
| 2640 | + stats = yappi.get_func_stats() | ||
| 2641 | + finally: | ||
| 2642 | + yappi.clear_stats() | ||
| 2643 | + | ||
| 2644 | + self.assertIsNotNone(utils.find_stat_by_name(stats, 'profiled')) | ||
| 2645 | + self.assertIsNone(utils.find_stat_by_name(stats, 'not_profiled')) | ||
| 2646 | + | ||
| 2647 | + | ||
| 2648 | +class StatSaveScenarios(utils.YappiUnitTestCase): | ||
| 2649 | + | ||
| 2650 | + def test_pstats_conversion(self): | ||
| 2651 | + | ||
| 2652 | + def pstat_id(fs): | ||
| 2653 | + return (fs.module, fs.lineno, fs.name) | ||
| 2654 | + | ||
| 2655 | + def a(): | ||
| 2656 | + d() | ||
| 2657 | + | ||
| 2658 | + def b(): | ||
| 2659 | + d() | ||
| 2660 | + | ||
| 2661 | + def c(): | ||
| 2662 | + pass | ||
| 2663 | + | ||
| 2664 | + def d(): | ||
| 2665 | + pass | ||
| 2666 | + | ||
| 2667 | + _timings = {"a_1": 12, "b_1": 7, "c_1": 5, "d_1": 2} | ||
| 2668 | + _yappi._set_test_timings(_timings) | ||
| 2669 | + stats = utils.run_and_get_func_stats(a, ) | ||
| 2670 | + stats.strip_dirs() | ||
| 2671 | + stats.save("tests/a1.pstats", type="pstat") | ||
| 2672 | + fsa_pid = pstat_id(utils.find_stat_by_name(stats, "a")) | ||
| 2673 | + fsd_pid = pstat_id(utils.find_stat_by_name(stats, "d")) | ||
| 2674 | + yappi.clear_stats() | ||
| 2675 | + _yappi._set_test_timings(_timings) | ||
| 2676 | + stats = utils.run_and_get_func_stats(a, ) | ||
| 2677 | + stats.strip_dirs() | ||
| 2678 | + stats.save("tests/a2.pstats", type="pstat") | ||
| 2679 | + yappi.clear_stats() | ||
| 2680 | + _yappi._set_test_timings(_timings) | ||
| 2681 | + stats = utils.run_and_get_func_stats(b, ) | ||
| 2682 | + stats.strip_dirs() | ||
| 2683 | + stats.save("tests/b1.pstats", type="pstat") | ||
| 2684 | + fsb_pid = pstat_id(utils.find_stat_by_name(stats, "b")) | ||
| 2685 | + yappi.clear_stats() | ||
| 2686 | + _yappi._set_test_timings(_timings) | ||
| 2687 | + stats = utils.run_and_get_func_stats(c, ) | ||
| 2688 | + stats.strip_dirs() | ||
| 2689 | + stats.save("tests/c1.pstats", type="pstat") | ||
| 2690 | + fsc_pid = pstat_id(utils.find_stat_by_name(stats, "c")) | ||
| 2691 | + | ||
| 2692 | + # merge saved stats and check pstats values are correct | ||
| 2693 | + import pstats | ||
| 2694 | + p = pstats.Stats( | ||
| 2695 | + 'tests/a1.pstats', 'tests/a2.pstats', 'tests/b1.pstats', | ||
| 2696 | + 'tests/c1.pstats' | ||
| 2697 | + ) | ||
| 2698 | + p.strip_dirs() | ||
| 2699 | + # ct = ttot, tt = tsub | ||
| 2700 | + (cc, nc, tt, ct, callers) = p.stats[fsa_pid] | ||
| 2701 | + self.assertEqual(cc, nc, 2) | ||
| 2702 | + self.assertEqual(tt, 20) | ||
| 2703 | + self.assertEqual(ct, 24) | ||
| 2704 | + (cc, nc, tt, ct, callers) = p.stats[fsd_pid] | ||
| 2705 | + self.assertEqual(cc, nc, 3) | ||
| 2706 | + self.assertEqual(tt, 6) | ||
| 2707 | + self.assertEqual(ct, 6) | ||
| 2708 | + self.assertEqual(len(callers), 2) | ||
| 2709 | + (cc, nc, tt, ct) = callers[fsa_pid] | ||
| 2710 | + self.assertEqual(cc, nc, 2) | ||
| 2711 | + self.assertEqual(tt, 4) | ||
| 2712 | + self.assertEqual(ct, 4) | ||
| 2713 | + (cc, nc, tt, ct) = callers[fsb_pid] | ||
| 2714 | + self.assertEqual(cc, nc, 1) | ||
| 2715 | + self.assertEqual(tt, 2) | ||
| 2716 | + self.assertEqual(ct, 2) | ||
| 2717 | + | ||
| 2718 | + def test_merge_stats(self): | ||
| 2719 | + _timings = { | ||
| 2720 | + "a_1": 15, | ||
| 2721 | + "b_1": 14, | ||
| 2722 | + "c_1": 12, | ||
| 2723 | + "d_1": 10, | ||
| 2724 | + "e_1": 9, | ||
| 2725 | + "f_1": 7, | ||
| 2726 | + "g_1": 6, | ||
| 2727 | + "h_1": 5, | ||
| 2728 | + "i_1": 1 | ||
| 2729 | + } | ||
| 2730 | + _yappi._set_test_timings(_timings) | ||
| 2731 | + | ||
| 2732 | + def a(): | ||
| 2733 | + b() | ||
| 2734 | + | ||
| 2735 | + def b(): | ||
| 2736 | + c() | ||
| 2737 | + | ||
| 2738 | + def c(): | ||
| 2739 | + d() | ||
| 2740 | + | ||
| 2741 | + def d(): | ||
| 2742 | + e() | ||
| 2743 | + | ||
| 2744 | + def e(): | ||
| 2745 | + f() | ||
| 2746 | + | ||
| 2747 | + def f(): | ||
| 2748 | + g() | ||
| 2749 | + | ||
| 2750 | + def g(): | ||
| 2751 | + h() | ||
| 2752 | + | ||
| 2753 | + def h(): | ||
| 2754 | + i() | ||
| 2755 | + | ||
| 2756 | + def i(): | ||
| 2757 | + pass | ||
| 2758 | + | ||
| 2759 | + yappi.start() | ||
| 2760 | + a() | ||
| 2761 | + a() | ||
| 2762 | + yappi.stop() | ||
| 2763 | + stats = yappi.get_func_stats() | ||
| 2764 | + self.assertRaises( | ||
| 2765 | + NotImplementedError, stats.save, "", "INVALID_SAVE_TYPE" | ||
| 2766 | + ) | ||
| 2767 | + stats.save("tests/ystats2.ys") | ||
| 2768 | + yappi.clear_stats() | ||
| 2769 | + _yappi._set_test_timings(_timings) | ||
| 2770 | + yappi.start() | ||
| 2771 | + a() | ||
| 2772 | + stats = yappi.get_func_stats().add("tests/ystats2.ys") | ||
| 2773 | + fsa = utils.find_stat_by_name(stats, "a") | ||
| 2774 | + fsb = utils.find_stat_by_name(stats, "b") | ||
| 2775 | + fsc = utils.find_stat_by_name(stats, "c") | ||
| 2776 | + fsd = utils.find_stat_by_name(stats, "d") | ||
| 2777 | + fse = utils.find_stat_by_name(stats, "e") | ||
| 2778 | + fsf = utils.find_stat_by_name(stats, "f") | ||
| 2779 | + fsg = utils.find_stat_by_name(stats, "g") | ||
| 2780 | + fsh = utils.find_stat_by_name(stats, "h") | ||
| 2781 | + fsi = utils.find_stat_by_name(stats, "i") | ||
| 2782 | + self.assertEqual(fsa.ttot, 45) | ||
| 2783 | + self.assertEqual(fsa.ncall, 3) | ||
| 2784 | + self.assertEqual(fsa.nactualcall, 3) | ||
| 2785 | + self.assertEqual(fsa.tsub, 3) | ||
| 2786 | + self.assertEqual(fsa.children[fsb].ttot, fsb.ttot) | ||
| 2787 | + self.assertEqual(fsa.children[fsb].tsub, fsb.tsub) | ||
| 2788 | + self.assertEqual(fsb.children[fsc].ttot, fsc.ttot) | ||
| 2789 | + self.assertEqual(fsb.children[fsc].tsub, fsc.tsub) | ||
| 2790 | + self.assertEqual(fsc.tsub, 6) | ||
| 2791 | + self.assertEqual(fsc.children[fsd].ttot, fsd.ttot) | ||
| 2792 | + self.assertEqual(fsc.children[fsd].tsub, fsd.tsub) | ||
| 2793 | + self.assertEqual(fsd.children[fse].ttot, fse.ttot) | ||
| 2794 | + self.assertEqual(fsd.children[fse].tsub, fse.tsub) | ||
| 2795 | + self.assertEqual(fse.children[fsf].ttot, fsf.ttot) | ||
| 2796 | + self.assertEqual(fse.children[fsf].tsub, fsf.tsub) | ||
| 2797 | + self.assertEqual(fsf.children[fsg].ttot, fsg.ttot) | ||
| 2798 | + self.assertEqual(fsf.children[fsg].tsub, fsg.tsub) | ||
| 2799 | + self.assertEqual(fsg.ttot, 18) | ||
| 2800 | + self.assertEqual(fsg.tsub, 3) | ||
| 2801 | + self.assertEqual(fsg.children[fsh].ttot, fsh.ttot) | ||
| 2802 | + self.assertEqual(fsg.children[fsh].tsub, fsh.tsub) | ||
| 2803 | + self.assertEqual(fsh.ttot, 15) | ||
| 2804 | + self.assertEqual(fsh.tsub, 12) | ||
| 2805 | + self.assertEqual(fsh.tavg, 5) | ||
| 2806 | + self.assertEqual(fsh.children[fsi].ttot, fsi.ttot) | ||
| 2807 | + self.assertEqual(fsh.children[fsi].tsub, fsi.tsub) | ||
| 2808 | + #stats.debug_print() | ||
| 2809 | + | ||
| 2810 | + def test_merge_multithreaded_stats(self): | ||
| 2811 | + import _yappi | ||
| 2812 | + timings = {"a_1": 2, "b_1": 1} | ||
| 2813 | + _yappi._set_test_timings(timings) | ||
| 2814 | + | ||
| 2815 | + def a(): | ||
| 2816 | + pass | ||
| 2817 | + | ||
| 2818 | + def b(): | ||
| 2819 | + pass | ||
| 2820 | + | ||
| 2821 | + yappi.start() | ||
| 2822 | + t = threading.Thread(target=a) | ||
| 2823 | + t.start() | ||
| 2824 | + t.join() | ||
| 2825 | + t = threading.Thread(target=b) | ||
| 2826 | + t.start() | ||
| 2827 | + t.join() | ||
| 2828 | + yappi.get_func_stats().save("tests/ystats1.ys") | ||
| 2829 | + yappi.clear_stats() | ||
| 2830 | + _yappi._set_test_timings(timings) | ||
| 2831 | + self.assertEqual(len(yappi.get_func_stats()), 0) | ||
| 2832 | + self.assertEqual(len(yappi.get_thread_stats()), 1) | ||
| 2833 | + t = threading.Thread(target=a) | ||
| 2834 | + t.start() | ||
| 2835 | + t.join() | ||
| 2836 | + | ||
| 2837 | + self.assertEqual(_yappi._get_start_flags()["profile_builtins"], 0) | ||
| 2838 | + self.assertEqual(_yappi._get_start_flags()["profile_multicontext"], 1) | ||
| 2839 | + yappi.get_func_stats().save("tests/ystats2.ys") | ||
| 2840 | + | ||
| 2841 | + stats = yappi.YFuncStats([ | ||
| 2842 | + "tests/ystats1.ys", | ||
| 2843 | + "tests/ystats2.ys", | ||
| 2844 | + ]) | ||
| 2845 | + fsa = utils.find_stat_by_name(stats, "a") | ||
| 2846 | + fsb = utils.find_stat_by_name(stats, "b") | ||
| 2847 | + self.assertEqual(fsa.ncall, 2) | ||
| 2848 | + self.assertEqual(fsb.ncall, 1) | ||
| 2849 | + self.assertEqual(fsa.tsub, fsa.ttot, 4) | ||
| 2850 | + self.assertEqual(fsb.tsub, fsb.ttot, 1) | ||
| 2851 | + | ||
| 2852 | + def test_merge_load_different_clock_types(self): | ||
| 2853 | + yappi.start(builtins=True) | ||
| 2854 | + | ||
| 2855 | + def a(): | ||
| 2856 | + b() | ||
| 2857 | + | ||
| 2858 | + def b(): | ||
| 2859 | + c() | ||
| 2860 | + | ||
| 2861 | + def c(): | ||
| 2862 | + pass | ||
| 2863 | + | ||
| 2864 | + t = threading.Thread(target=a) | ||
| 2865 | + t.start() | ||
| 2866 | + t.join() | ||
| 2867 | + yappi.get_func_stats().sort("name", "asc").save("tests/ystats1.ys") | ||
| 2868 | + yappi.stop() | ||
| 2869 | + yappi.clear_stats() | ||
| 2870 | + yappi.start(builtins=False) | ||
| 2871 | + t = threading.Thread(target=a) | ||
| 2872 | + t.start() | ||
| 2873 | + t.join() | ||
| 2874 | + yappi.get_func_stats().save("tests/ystats2.ys") | ||
| 2875 | + yappi.stop() | ||
| 2876 | + self.assertRaises(_yappi.error, yappi.set_clock_type, "wall") | ||
| 2877 | + yappi.clear_stats() | ||
| 2878 | + yappi.set_clock_type("wall") | ||
| 2879 | + yappi.start() | ||
| 2880 | + t = threading.Thread(target=a) | ||
| 2881 | + t.start() | ||
| 2882 | + t.join() | ||
| 2883 | + yappi.get_func_stats().save("tests/ystats3.ys") | ||
| 2884 | + self.assertRaises( | ||
| 2885 | + yappi.YappiError, | ||
| 2886 | + yappi.YFuncStats().add("tests/ystats1.ys").add, "tests/ystats3.ys" | ||
| 2887 | + ) | ||
| 2888 | + stats = yappi.YFuncStats(["tests/ystats1.ys", | ||
| 2889 | + "tests/ystats2.ys"]).sort("name") | ||
| 2890 | + fsa = utils.find_stat_by_name(stats, "a") | ||
| 2891 | + fsb = utils.find_stat_by_name(stats, "b") | ||
| 2892 | + fsc = utils.find_stat_by_name(stats, "c") | ||
| 2893 | + self.assertEqual(fsa.ncall, 2) | ||
| 2894 | + self.assertEqual(fsa.ncall, fsb.ncall, fsc.ncall) | ||
| 2895 | + | ||
| 2896 | + def test_merge_aabab_aabbc(self): | ||
| 2897 | + _timings = { | ||
| 2898 | + "a_1": 15, | ||
| 2899 | + "a_2": 14, | ||
| 2900 | + "b_1": 12, | ||
| 2901 | + "a_3": 10, | ||
| 2902 | + "b_2": 9, | ||
| 2903 | + "c_1": 4 | ||
| 2904 | + } | ||
| 2905 | + _yappi._set_test_timings(_timings) | ||
| 2906 | + | ||
| 2907 | + def a(): | ||
| 2908 | + if self._ncall == 1: | ||
| 2909 | + self._ncall += 1 | ||
| 2910 | + a() | ||
| 2911 | + elif self._ncall == 5: | ||
| 2912 | + self._ncall += 1 | ||
| 2913 | + a() | ||
| 2914 | + else: | ||
| 2915 | + b() | ||
| 2916 | + | ||
| 2917 | + def b(): | ||
| 2918 | + if self._ncall == 2: | ||
| 2919 | + self._ncall += 1 | ||
| 2920 | + a() | ||
| 2921 | + elif self._ncall == 6: | ||
| 2922 | + self._ncall += 1 | ||
| 2923 | + b() | ||
| 2924 | + elif self._ncall == 7: | ||
| 2925 | + c() | ||
| 2926 | + else: | ||
| 2927 | + return | ||
| 2928 | + | ||
| 2929 | + def c(): | ||
| 2930 | + pass | ||
| 2931 | + | ||
| 2932 | + self._ncall = 1 | ||
| 2933 | + stats = utils.run_and_get_func_stats(a, ) | ||
| 2934 | + stats.save("tests/ystats1.ys") | ||
| 2935 | + yappi.clear_stats() | ||
| 2936 | + _yappi._set_test_timings(_timings) | ||
| 2937 | + #stats.print_all() | ||
| 2938 | + | ||
| 2939 | + self._ncall = 5 | ||
| 2940 | + stats = utils.run_and_get_func_stats(a, ) | ||
| 2941 | + stats.save("tests/ystats2.ys") | ||
| 2942 | + | ||
| 2943 | + #stats.print_all() | ||
| 2944 | + | ||
| 2945 | + def a(): # same name but another function(code object) | ||
| 2946 | + pass | ||
| 2947 | + | ||
| 2948 | + yappi.start() | ||
| 2949 | + a() | ||
| 2950 | + stats = yappi.get_func_stats().add( | ||
| 2951 | + ["tests/ystats1.ys", "tests/ystats2.ys"] | ||
| 2952 | + ) | ||
| 2953 | + #stats.print_all() | ||
| 2954 | + self.assertEqual(len(stats), 4) | ||
| 2955 | + | ||
| 2956 | + fsa = None | ||
| 2957 | + for stat in stats: | ||
| 2958 | + if stat.name == "a" and stat.ttot == 45: | ||
| 2959 | + fsa = stat | ||
| 2960 | + break | ||
| 2961 | + self.assertTrue(fsa is not None) | ||
| 2962 | + | ||
| 2963 | + self.assertEqual(fsa.ncall, 7) | ||
| 2964 | + self.assertEqual(fsa.nactualcall, 3) | ||
| 2965 | + self.assertEqual(fsa.ttot, 45) | ||
| 2966 | + self.assertEqual(fsa.tsub, 10) | ||
| 2967 | + fsb = utils.find_stat_by_name(stats, "b") | ||
| 2968 | + fsc = utils.find_stat_by_name(stats, "c") | ||
| 2969 | + self.assertEqual(fsb.ncall, 6) | ||
| 2970 | + self.assertEqual(fsb.nactualcall, 3) | ||
| 2971 | + self.assertEqual(fsb.ttot, 36) | ||
| 2972 | + self.assertEqual(fsb.tsub, 27) | ||
| 2973 | + self.assertEqual(fsb.tavg, 6) | ||
| 2974 | + self.assertEqual(fsc.ttot, 8) | ||
| 2975 | + self.assertEqual(fsc.tsub, 8) | ||
| 2976 | + self.assertEqual(fsc.tavg, 4) | ||
| 2977 | + self.assertEqual(fsc.nactualcall, fsc.ncall, 2) | ||
| 2978 | + | ||
| 2979 | + | ||
| 2980 | +class MultithreadedScenarios(utils.YappiUnitTestCase): | ||
| 2981 | + | ||
| 2982 | + def test_issue_32(self): | ||
| 2983 | + ''' | ||
| 2984 | + Start yappi from different thread and we get Internal Error(15) as | ||
| 2985 | + the current_ctx_id() called while enumerating the threads in start() | ||
| 2986 | + and as it does not swap to the enumerated ThreadState* the THreadState_GetDict() | ||
| 2987 | + returns wrong object and thus sets an invalid id for the _ctx structure. | ||
| 2988 | + | ||
| 2989 | + When this issue happens multiple Threads have same tid as the internal ts_ptr | ||
| 2990 | + will be same for different contexts. So, let's see if that happens | ||
| 2991 | + ''' | ||
| 2992 | + | ||
| 2993 | + def foo(): | ||
| 2994 | + time.sleep(0.2) | ||
| 2995 | + | ||
| 2996 | + def bar(): | ||
| 2997 | + time.sleep(0.1) | ||
| 2998 | + | ||
| 2999 | + def thread_func(): | ||
| 3000 | + yappi.set_clock_type("wall") | ||
| 3001 | + yappi.start() | ||
| 3002 | + | ||
| 3003 | + bar() | ||
| 3004 | + | ||
| 3005 | + t = threading.Thread(target=thread_func) | ||
| 3006 | + t.start() | ||
| 3007 | + t.join() | ||
| 3008 | + | ||
| 3009 | + foo() | ||
| 3010 | + | ||
| 3011 | + yappi.stop() | ||
| 3012 | + | ||
| 3013 | + thread_ids = set() | ||
| 3014 | + for tstat in yappi.get_thread_stats(): | ||
| 3015 | + self.assertTrue(tstat.tid not in thread_ids) | ||
| 3016 | + thread_ids.add(tstat.tid) | ||
| 3017 | + | ||
| 3018 | + def test_subsequent_profile(self): | ||
| 3019 | + WORKER_COUNT = 5 | ||
| 3020 | + | ||
| 3021 | + def a(): | ||
| 3022 | + pass | ||
| 3023 | + | ||
| 3024 | + def b(): | ||
| 3025 | + pass | ||
| 3026 | + | ||
| 3027 | + def c(): | ||
| 3028 | + pass | ||
| 3029 | + | ||
| 3030 | + _timings = { | ||
| 3031 | + "a_1": 3, | ||
| 3032 | + "b_1": 2, | ||
| 3033 | + "c_1": 1, | ||
| 3034 | + } | ||
| 3035 | + | ||
| 3036 | + yappi.start() | ||
| 3037 | + | ||
| 3038 | + def g(): | ||
| 3039 | + pass | ||
| 3040 | + | ||
| 3041 | + g() | ||
| 3042 | + yappi.stop() | ||
| 3043 | + yappi.clear_stats() | ||
| 3044 | + _yappi._set_test_timings(_timings) | ||
| 3045 | + yappi.start() | ||
| 3046 | + | ||
| 3047 | + _dummy = [] | ||
| 3048 | + for i in range(WORKER_COUNT): | ||
| 3049 | + t = threading.Thread(target=a) | ||
| 3050 | + t.start() | ||
| 3051 | + t.join() | ||
| 3052 | + for i in range(WORKER_COUNT): | ||
| 3053 | + t = threading.Thread(target=b) | ||
| 3054 | + t.start() | ||
| 3055 | + _dummy.append(t) | ||
| 3056 | + t.join() | ||
| 3057 | + for i in range(WORKER_COUNT): | ||
| 3058 | + t = threading.Thread(target=a) | ||
| 3059 | + t.start() | ||
| 3060 | + t.join() | ||
| 3061 | + for i in range(WORKER_COUNT): | ||
| 3062 | + t = threading.Thread(target=c) | ||
| 3063 | + t.start() | ||
| 3064 | + t.join() | ||
| 3065 | + yappi.stop() | ||
| 3066 | + yappi.start() | ||
| 3067 | + | ||
| 3068 | + def f(): | ||
| 3069 | + pass | ||
| 3070 | + | ||
| 3071 | + f() | ||
| 3072 | + stats = yappi.get_func_stats() | ||
| 3073 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3074 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3075 | + fsc = utils.find_stat_by_name(stats, 'c') | ||
| 3076 | + self.assertEqual(fsa.ncall, 10) | ||
| 3077 | + self.assertEqual(fsb.ncall, 5) | ||
| 3078 | + self.assertEqual(fsc.ncall, 5) | ||
| 3079 | + self.assertEqual(fsa.ttot, fsa.tsub, 30) | ||
| 3080 | + self.assertEqual(fsb.ttot, fsb.tsub, 10) | ||
| 3081 | + self.assertEqual(fsc.ttot, fsc.tsub, 5) | ||
| 3082 | + | ||
| 3083 | + # MACOSx optimizes by only creating one worker thread | ||
| 3084 | + self.assertTrue(len(yappi.get_thread_stats()) >= 2) | ||
| 3085 | + | ||
| 3086 | + def test_basic(self): | ||
| 3087 | + yappi.set_clock_type('wall') | ||
| 3088 | + | ||
| 3089 | + def dummy(): | ||
| 3090 | + pass | ||
| 3091 | + | ||
| 3092 | + def a(): | ||
| 3093 | + time.sleep(0.2) | ||
| 3094 | + | ||
| 3095 | + class Worker1(threading.Thread): | ||
| 3096 | + | ||
| 3097 | + def a(self): | ||
| 3098 | + time.sleep(0.3) | ||
| 3099 | + | ||
| 3100 | + def run(self): | ||
| 3101 | + self.a() | ||
| 3102 | + | ||
| 3103 | + yappi.start(builtins=False, profile_threads=True) | ||
| 3104 | + | ||
| 3105 | + c = Worker1() | ||
| 3106 | + c.start() | ||
| 3107 | + c.join() | ||
| 3108 | + a() | ||
| 3109 | + stats = yappi.get_func_stats() | ||
| 3110 | + fsa1 = utils.find_stat_by_name(stats, 'Worker1.a') | ||
| 3111 | + fsa2 = utils.find_stat_by_name(stats, 'a') | ||
| 3112 | + self.assertTrue(fsa1 is not None) | ||
| 3113 | + self.assertTrue(fsa2 is not None) | ||
| 3114 | + self.assertTrue(fsa1.ttot > 0.2) | ||
| 3115 | + self.assertTrue(fsa2.ttot > 0.1) | ||
| 3116 | + tstats = yappi.get_thread_stats() | ||
| 3117 | + self.assertEqual(len(tstats), 2) | ||
| 3118 | + tsa = utils.find_stat_by_name(tstats, 'Worker1') | ||
| 3119 | + tsm = utils.find_stat_by_name(tstats, '_MainThread') | ||
| 3120 | + dummy() # call dummy to force ctx name to be retrieved again. | ||
| 3121 | + self.assertTrue(tsa is not None) | ||
| 3122 | + # TODO: I put dummy() to fix below, remove the comments after a while. | ||
| 3123 | + self.assertTrue( # FIX: I see this fails sometimes? | ||
| 3124 | + tsm is not None, | ||
| 3125 | + f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(tstats))}") | ||
| 3126 | + | ||
| 3127 | + def test_ctx_stats(self): | ||
| 3128 | + from threading import Thread | ||
| 3129 | + DUMMY_WORKER_COUNT = 5 | ||
| 3130 | + yappi.start() | ||
| 3131 | + | ||
| 3132 | + class DummyThread(Thread): | ||
| 3133 | + pass | ||
| 3134 | + | ||
| 3135 | + def dummy(): | ||
| 3136 | + pass | ||
| 3137 | + | ||
| 3138 | + def dummy_worker(): | ||
| 3139 | + pass | ||
| 3140 | + | ||
| 3141 | + for i in range(DUMMY_WORKER_COUNT): | ||
| 3142 | + t = DummyThread(target=dummy_worker) | ||
| 3143 | + t.start() | ||
| 3144 | + t.join() | ||
| 3145 | + yappi.stop() | ||
| 3146 | + stats = yappi.get_thread_stats() | ||
| 3147 | + tsa = utils.find_stat_by_name(stats, "DummyThread") | ||
| 3148 | + self.assertTrue(tsa is not None) | ||
| 3149 | + yappi.clear_stats() | ||
| 3150 | + time.sleep(1.0) | ||
| 3151 | + _timings = { | ||
| 3152 | + "a_1": 6, | ||
| 3153 | + "b_1": 5, | ||
| 3154 | + "c_1": 3, | ||
| 3155 | + "d_1": 1, | ||
| 3156 | + "a_2": 4, | ||
| 3157 | + "b_2": 3, | ||
| 3158 | + "c_2": 2, | ||
| 3159 | + "d_2": 1 | ||
| 3160 | + } | ||
| 3161 | + _yappi._set_test_timings(_timings) | ||
| 3162 | + | ||
| 3163 | + class Thread1(Thread): | ||
| 3164 | + pass | ||
| 3165 | + | ||
| 3166 | + class Thread2(Thread): | ||
| 3167 | + pass | ||
| 3168 | + | ||
| 3169 | + def a(): | ||
| 3170 | + b() | ||
| 3171 | + | ||
| 3172 | + def b(): | ||
| 3173 | + c() | ||
| 3174 | + | ||
| 3175 | + def c(): | ||
| 3176 | + d() | ||
| 3177 | + | ||
| 3178 | + def d(): | ||
| 3179 | + time.sleep(0.6) | ||
| 3180 | + | ||
| 3181 | + yappi.set_clock_type("wall") | ||
| 3182 | + yappi.start() | ||
| 3183 | + t1 = Thread1(target=a) | ||
| 3184 | + t1.start() | ||
| 3185 | + t2 = Thread2(target=a) | ||
| 3186 | + t2.start() | ||
| 3187 | + t1.join() | ||
| 3188 | + t2.join() | ||
| 3189 | + stats = yappi.get_thread_stats() | ||
| 3190 | + | ||
| 3191 | + # the fist clear_stats clears the context table? | ||
| 3192 | + tsa = utils.find_stat_by_name(stats, "DummyThread") | ||
| 3193 | + self.assertTrue(tsa is None) | ||
| 3194 | + | ||
| 3195 | + tst1 = utils.find_stat_by_name(stats, "Thread1") | ||
| 3196 | + tst2 = utils.find_stat_by_name(stats, "Thread2") | ||
| 3197 | + tsmain = utils.find_stat_by_name(stats, "_MainThread") | ||
| 3198 | + dummy() # call dummy to force ctx name to be retrieved again. | ||
| 3199 | + self.assertTrue(len(stats) == 3) | ||
| 3200 | + self.assertTrue(tst1 is not None) | ||
| 3201 | + self.assertTrue(tst2 is not None) | ||
| 3202 | + # TODO: I put dummy() to fix below, remove the comments after a while. | ||
| 3203 | + self.assertTrue( # FIX: I see this fails sometimes | ||
| 3204 | + tsmain is not None, | ||
| 3205 | + f"Could not find \"_MainThread\". Found: {', '.join(utils.get_stat_names(stats))}") | ||
| 3206 | + self.assertTrue(1.0 > tst2.ttot >= 0.5) | ||
| 3207 | + self.assertTrue(1.0 > tst1.ttot >= 0.5) | ||
| 3208 | + | ||
| 3209 | + # test sorting of the ctx stats | ||
| 3210 | + stats = stats.sort("totaltime", "desc") | ||
| 3211 | + prev_stat = None | ||
| 3212 | + for stat in stats: | ||
| 3213 | + if prev_stat: | ||
| 3214 | + self.assertTrue(prev_stat.ttot >= stat.ttot) | ||
| 3215 | + prev_stat = stat | ||
| 3216 | + stats = stats.sort("totaltime", "asc") | ||
| 3217 | + prev_stat = None | ||
| 3218 | + for stat in stats: | ||
| 3219 | + if prev_stat: | ||
| 3220 | + self.assertTrue(prev_stat.ttot <= stat.ttot) | ||
| 3221 | + prev_stat = stat | ||
| 3222 | + stats = stats.sort("schedcount", "desc") | ||
| 3223 | + prev_stat = None | ||
| 3224 | + for stat in stats: | ||
| 3225 | + if prev_stat: | ||
| 3226 | + self.assertTrue(prev_stat.sched_count >= stat.sched_count) | ||
| 3227 | + prev_stat = stat | ||
| 3228 | + stats = stats.sort("name", "desc") | ||
| 3229 | + prev_stat = None | ||
| 3230 | + for stat in stats: | ||
| 3231 | + if prev_stat: | ||
| 3232 | + self.assertTrue(prev_stat.name.lower() >= stat.name.lower()) | ||
| 3233 | + prev_stat = stat | ||
| 3234 | + self.assertRaises( | ||
| 3235 | + yappi.YappiError, stats.sort, "invalid_thread_sorttype_arg" | ||
| 3236 | + ) | ||
| 3237 | + self.assertRaises( | ||
| 3238 | + yappi.YappiError, stats.sort, "invalid_thread_sortorder_arg" | ||
| 3239 | + ) | ||
| 3240 | + | ||
| 3241 | + def test_ctx_stats_cpu(self): | ||
| 3242 | + | ||
| 3243 | + def get_thread_name(): | ||
| 3244 | + try: | ||
| 3245 | + return threading.current_thread().name | ||
| 3246 | + except AttributeError: | ||
| 3247 | + return "Anonymous" | ||
| 3248 | + | ||
| 3249 | + def burn_cpu(sec): | ||
| 3250 | + t0 = yappi.get_clock_time() | ||
| 3251 | + elapsed = 0 | ||
| 3252 | + while (elapsed < sec): | ||
| 3253 | + for _ in range(1000): | ||
| 3254 | + pass | ||
| 3255 | + elapsed = yappi.get_clock_time() - t0 | ||
| 3256 | + | ||
| 3257 | + def test(): | ||
| 3258 | + | ||
| 3259 | + ts = [] | ||
| 3260 | + for i in (0.01, 0.05, 0.1): | ||
| 3261 | + t = threading.Thread(target=burn_cpu, args=(i, )) | ||
| 3262 | + t.name = f"burn_cpu-{str(i)}" | ||
| 3263 | + t.start() | ||
| 3264 | + ts.append(t) | ||
| 3265 | + for t in ts: | ||
| 3266 | + t.join() | ||
| 3267 | + | ||
| 3268 | + yappi.set_clock_type("cpu") | ||
| 3269 | + yappi.set_context_name_callback(get_thread_name) | ||
| 3270 | + | ||
| 3271 | + yappi.start() | ||
| 3272 | + | ||
| 3273 | + test() | ||
| 3274 | + | ||
| 3275 | + yappi.stop() | ||
| 3276 | + | ||
| 3277 | + tstats = yappi.get_thread_stats() | ||
| 3278 | + r1 = ''' | ||
| 3279 | + burn_cpu-0.1 3 123145356058624 0.100105 8 | ||
| 3280 | + burn_cpu-0.05 2 123145361313792 0.050149 8 | ||
| 3281 | + burn_cpu-0.01 1 123145356058624 0.010127 2 | ||
| 3282 | + MainThread 0 4321620864 0.001632 6 | ||
| 3283 | + ''' | ||
| 3284 | + self.assert_ctx_stats_almost_equal(r1, tstats) | ||
| 3285 | + | ||
| 3286 | + def test_producer_consumer_with_queues(self): | ||
| 3287 | + # we currently just stress yappi, no functionality test is done here. | ||
| 3288 | + yappi.start() | ||
| 3289 | + from queue import Queue | ||
| 3290 | + from threading import Thread | ||
| 3291 | + WORKER_THREAD_COUNT = 50 | ||
| 3292 | + WORK_ITEM_COUNT = 2000 | ||
| 3293 | + | ||
| 3294 | + def worker(): | ||
| 3295 | + while True: | ||
| 3296 | + item = q.get() | ||
| 3297 | + # do the work with item | ||
| 3298 | + q.task_done() | ||
| 3299 | + | ||
| 3300 | + q = Queue() | ||
| 3301 | + for i in range(WORKER_THREAD_COUNT): | ||
| 3302 | + t = Thread(target=worker) | ||
| 3303 | + t.daemon = True | ||
| 3304 | + t.start() | ||
| 3305 | + | ||
| 3306 | + for item in range(WORK_ITEM_COUNT): | ||
| 3307 | + q.put(item) | ||
| 3308 | + q.join() # block until all tasks are done | ||
| 3309 | + #yappi.get_func_stats().sort("callcount").print_all() | ||
| 3310 | + yappi.stop() | ||
| 3311 | + | ||
| 3312 | + def test_temporary_lock_waiting(self): | ||
| 3313 | + yappi.start() | ||
| 3314 | + _lock = threading.Lock() | ||
| 3315 | + | ||
| 3316 | + def worker(): | ||
| 3317 | + _lock.acquire() | ||
| 3318 | + try: | ||
| 3319 | + time.sleep(1.0) | ||
| 3320 | + finally: | ||
| 3321 | + _lock.release() | ||
| 3322 | + | ||
| 3323 | + t1 = threading.Thread(target=worker) | ||
| 3324 | + t2 = threading.Thread(target=worker) | ||
| 3325 | + t1.start() | ||
| 3326 | + t2.start() | ||
| 3327 | + t1.join() | ||
| 3328 | + t2.join() | ||
| 3329 | + #yappi.get_func_stats().sort("callcount").print_all() | ||
| 3330 | + yappi.stop() | ||
| 3331 | + | ||
| 3332 | + @unittest.skipIf(os.name != "posix", "requires Posix compliant OS") | ||
| 3333 | + def test_signals_with_blocking_calls(self): | ||
| 3334 | + import signal, os, time | ||
| 3335 | + | ||
| 3336 | + # just to verify if signal is handled correctly and stats/yappi are not corrupted. | ||
| 3337 | + def handler(signum, frame): | ||
| 3338 | + raise Exception("Signal handler executed!") | ||
| 3339 | + | ||
| 3340 | + yappi.start() | ||
| 3341 | + signal.signal(signal.SIGALRM, handler) | ||
| 3342 | + signal.alarm(1) | ||
| 3343 | + self.assertRaises(Exception, time.sleep, 2) | ||
| 3344 | + stats = yappi.get_func_stats() | ||
| 3345 | + fsh = utils.find_stat_by_name(stats, "handler") | ||
| 3346 | + self.assertTrue(fsh is not None) | ||
| 3347 | + | ||
| 3348 | + def test_concurrent_futures(self): | ||
| 3349 | + yappi.start() | ||
| 3350 | + from concurrent.futures import ThreadPoolExecutor | ||
| 3351 | + with ThreadPoolExecutor(max_workers=5) as executor: | ||
| 3352 | + f = executor.submit(pow, 5, 2) | ||
| 3353 | + self.assertEqual(f.result(), 25) | ||
| 3354 | + time.sleep(1.0) | ||
| 3355 | + yappi.stop() | ||
| 3356 | + | ||
| 3357 | + def test_barrier(self): | ||
| 3358 | + yappi.start() | ||
| 3359 | + b = threading.Barrier(2, timeout=1) | ||
| 3360 | + | ||
| 3361 | + def worker(): | ||
| 3362 | + try: | ||
| 3363 | + b.wait() | ||
| 3364 | + except threading.BrokenBarrierError: | ||
| 3365 | + pass | ||
| 3366 | + except Exception: | ||
| 3367 | + raise Exception("BrokenBarrierError not raised") | ||
| 3368 | + | ||
| 3369 | + t1 = threading.Thread(target=worker) | ||
| 3370 | + t1.start() | ||
| 3371 | + #b.wait() | ||
| 3372 | + t1.join() | ||
| 3373 | + yappi.stop() | ||
| 3374 | + | ||
| 3375 | + | ||
| 3376 | +class NonRecursiveFunctions(utils.YappiUnitTestCase): | ||
| 3377 | + | ||
| 3378 | + def test_abcd(self): | ||
| 3379 | + _timings = {"a_1": 6, "b_1": 5, "c_1": 3, "d_1": 1} | ||
| 3380 | + _yappi._set_test_timings(_timings) | ||
| 3381 | + | ||
| 3382 | + def a(): | ||
| 3383 | + b() | ||
| 3384 | + | ||
| 3385 | + def b(): | ||
| 3386 | + c() | ||
| 3387 | + | ||
| 3388 | + def c(): | ||
| 3389 | + d() | ||
| 3390 | + | ||
| 3391 | + def d(): | ||
| 3392 | + pass | ||
| 3393 | + | ||
| 3394 | + stats = utils.run_and_get_func_stats(a) | ||
| 3395 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3396 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3397 | + fsc = utils.find_stat_by_name(stats, 'c') | ||
| 3398 | + fsd = utils.find_stat_by_name(stats, 'd') | ||
| 3399 | + cfsab = fsa.children[fsb] | ||
| 3400 | + cfsbc = fsb.children[fsc] | ||
| 3401 | + cfscd = fsc.children[fsd] | ||
| 3402 | + | ||
| 3403 | + self.assertEqual(fsa.ttot, 6) | ||
| 3404 | + self.assertEqual(fsa.tsub, 1) | ||
| 3405 | + self.assertEqual(fsb.ttot, 5) | ||
| 3406 | + self.assertEqual(fsb.tsub, 2) | ||
| 3407 | + self.assertEqual(fsc.ttot, 3) | ||
| 3408 | + self.assertEqual(fsc.tsub, 2) | ||
| 3409 | + self.assertEqual(fsd.ttot, 1) | ||
| 3410 | + self.assertEqual(fsd.tsub, 1) | ||
| 3411 | + self.assertEqual(cfsab.ttot, 5) | ||
| 3412 | + self.assertEqual(cfsab.tsub, 2) | ||
| 3413 | + self.assertEqual(cfsbc.ttot, 3) | ||
| 3414 | + self.assertEqual(cfsbc.tsub, 2) | ||
| 3415 | + self.assertEqual(cfscd.ttot, 1) | ||
| 3416 | + self.assertEqual(cfscd.tsub, 1) | ||
| 3417 | + | ||
| 3418 | + def test_stop_in_middle(self): | ||
| 3419 | + _timings = {"a_1": 6, "b_1": 4} | ||
| 3420 | + _yappi._set_test_timings(_timings) | ||
| 3421 | + | ||
| 3422 | + def a(): | ||
| 3423 | + b() | ||
| 3424 | + yappi.stop() | ||
| 3425 | + | ||
| 3426 | + def b(): | ||
| 3427 | + time.sleep(0.2) | ||
| 3428 | + | ||
| 3429 | + yappi.start() | ||
| 3430 | + a() | ||
| 3431 | + stats = yappi.get_func_stats() | ||
| 3432 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3433 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3434 | + | ||
| 3435 | + self.assertEqual(fsa.ncall, 1) | ||
| 3436 | + self.assertEqual(fsa.nactualcall, 0) | ||
| 3437 | + self.assertEqual(fsa.ttot, 0) # no call_leave called | ||
| 3438 | + self.assertEqual(fsa.tsub, 0) # no call_leave called | ||
| 3439 | + self.assertEqual(fsb.ttot, 4) | ||
| 3440 | + | ||
| 3441 | + | ||
| 3442 | +class RecursiveFunctions(utils.YappiUnitTestCase): | ||
| 3443 | + | ||
| 3444 | + def test_fibonacci(self): | ||
| 3445 | + | ||
| 3446 | + def fib(n): | ||
| 3447 | + if n > 1: | ||
| 3448 | + return fib(n - 1) + fib(n - 2) | ||
| 3449 | + else: | ||
| 3450 | + return n | ||
| 3451 | + | ||
| 3452 | + stats = utils.run_and_get_func_stats(fib, 22) | ||
| 3453 | + fs = utils.find_stat_by_name(stats, 'fib') | ||
| 3454 | + self.assertEqual(fs.ncall, 57313) | ||
| 3455 | + self.assertEqual(fs.ttot, fs.tsub) | ||
| 3456 | + | ||
| 3457 | + def test_abcadc(self): | ||
| 3458 | + _timings = { | ||
| 3459 | + "a_1": 20, | ||
| 3460 | + "b_1": 19, | ||
| 3461 | + "c_1": 17, | ||
| 3462 | + "a_2": 13, | ||
| 3463 | + "d_1": 12, | ||
| 3464 | + "c_2": 10, | ||
| 3465 | + "a_3": 5 | ||
| 3466 | + } | ||
| 3467 | + _yappi._set_test_timings(_timings) | ||
| 3468 | + | ||
| 3469 | + def a(n): | ||
| 3470 | + if n == 3: | ||
| 3471 | + return | ||
| 3472 | + if n == 1 + 1: | ||
| 3473 | + d(n) | ||
| 3474 | + else: | ||
| 3475 | + b(n) | ||
| 3476 | + | ||
| 3477 | + def b(n): | ||
| 3478 | + c(n) | ||
| 3479 | + | ||
| 3480 | + def c(n): | ||
| 3481 | + a(n + 1) | ||
| 3482 | + | ||
| 3483 | + def d(n): | ||
| 3484 | + c(n) | ||
| 3485 | + | ||
| 3486 | + stats = utils.run_and_get_func_stats(a, 1) | ||
| 3487 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3488 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3489 | + fsc = utils.find_stat_by_name(stats, 'c') | ||
| 3490 | + fsd = utils.find_stat_by_name(stats, 'd') | ||
| 3491 | + self.assertEqual(fsa.ncall, 3) | ||
| 3492 | + self.assertEqual(fsa.nactualcall, 1) | ||
| 3493 | + self.assertEqual(fsa.ttot, 20) | ||
| 3494 | + self.assertEqual(fsa.tsub, 7) | ||
| 3495 | + self.assertEqual(fsb.ttot, 19) | ||
| 3496 | + self.assertEqual(fsb.tsub, 2) | ||
| 3497 | + self.assertEqual(fsc.ttot, 17) | ||
| 3498 | + self.assertEqual(fsc.tsub, 9) | ||
| 3499 | + self.assertEqual(fsd.ttot, 12) | ||
| 3500 | + self.assertEqual(fsd.tsub, 2) | ||
| 3501 | + cfsca = fsc.children[fsa] | ||
| 3502 | + self.assertEqual(cfsca.nactualcall, 0) | ||
| 3503 | + self.assertEqual(cfsca.ncall, 2) | ||
| 3504 | + self.assertEqual(cfsca.ttot, 13) | ||
| 3505 | + self.assertEqual(cfsca.tsub, 6) | ||
| 3506 | + | ||
| 3507 | + def test_aaaa(self): | ||
| 3508 | + _timings = {"d_1": 9, "d_2": 7, "d_3": 3, "d_4": 2} | ||
| 3509 | + _yappi._set_test_timings(_timings) | ||
| 3510 | + | ||
| 3511 | + def d(n): | ||
| 3512 | + if n == 3: | ||
| 3513 | + return | ||
| 3514 | + d(n + 1) | ||
| 3515 | + | ||
| 3516 | + stats = utils.run_and_get_func_stats(d, 0) | ||
| 3517 | + fsd = utils.find_stat_by_name(stats, 'd') | ||
| 3518 | + self.assertEqual(fsd.ncall, 4) | ||
| 3519 | + self.assertEqual(fsd.nactualcall, 1) | ||
| 3520 | + self.assertEqual(fsd.ttot, 9) | ||
| 3521 | + self.assertEqual(fsd.tsub, 9) | ||
| 3522 | + cfsdd = fsd.children[fsd] | ||
| 3523 | + self.assertEqual(cfsdd.ttot, 7) | ||
| 3524 | + self.assertEqual(cfsdd.tsub, 7) | ||
| 3525 | + self.assertEqual(cfsdd.ncall, 3) | ||
| 3526 | + self.assertEqual(cfsdd.nactualcall, 0) | ||
| 3527 | + | ||
| 3528 | + def test_abcabc(self): | ||
| 3529 | + _timings = { | ||
| 3530 | + "a_1": 20, | ||
| 3531 | + "b_1": 19, | ||
| 3532 | + "c_1": 17, | ||
| 3533 | + "a_2": 13, | ||
| 3534 | + "b_2": 11, | ||
| 3535 | + "c_2": 9, | ||
| 3536 | + "a_3": 6 | ||
| 3537 | + } | ||
| 3538 | + _yappi._set_test_timings(_timings) | ||
| 3539 | + | ||
| 3540 | + def a(n): | ||
| 3541 | + if n == 3: | ||
| 3542 | + return | ||
| 3543 | + else: | ||
| 3544 | + b(n) | ||
| 3545 | + | ||
| 3546 | + def b(n): | ||
| 3547 | + c(n) | ||
| 3548 | + | ||
| 3549 | + def c(n): | ||
| 3550 | + a(n + 1) | ||
| 3551 | + | ||
| 3552 | + stats = utils.run_and_get_func_stats(a, 1) | ||
| 3553 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3554 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3555 | + fsc = utils.find_stat_by_name(stats, 'c') | ||
| 3556 | + self.assertEqual(fsa.ncall, 3) | ||
| 3557 | + self.assertEqual(fsa.nactualcall, 1) | ||
| 3558 | + self.assertEqual(fsa.ttot, 20) | ||
| 3559 | + self.assertEqual(fsa.tsub, 9) | ||
| 3560 | + self.assertEqual(fsb.ttot, 19) | ||
| 3561 | + self.assertEqual(fsb.tsub, 4) | ||
| 3562 | + self.assertEqual(fsc.ttot, 17) | ||
| 3563 | + self.assertEqual(fsc.tsub, 7) | ||
| 3564 | + cfsab = fsa.children[fsb] | ||
| 3565 | + cfsbc = fsb.children[fsc] | ||
| 3566 | + cfsca = fsc.children[fsa] | ||
| 3567 | + self.assertEqual(cfsab.ttot, 19) | ||
| 3568 | + self.assertEqual(cfsab.tsub, 4) | ||
| 3569 | + self.assertEqual(cfsbc.ttot, 17) | ||
| 3570 | + self.assertEqual(cfsbc.tsub, 7) | ||
| 3571 | + self.assertEqual(cfsca.ttot, 13) | ||
| 3572 | + self.assertEqual(cfsca.tsub, 8) | ||
| 3573 | + | ||
| 3574 | + def test_abcbca(self): | ||
| 3575 | + _timings = {"a_1": 10, "b_1": 9, "c_1": 7, "b_2": 4, "c_2": 2, "a_2": 1} | ||
| 3576 | + _yappi._set_test_timings(_timings) | ||
| 3577 | + self._ncall = 1 | ||
| 3578 | + | ||
| 3579 | + def a(): | ||
| 3580 | + if self._ncall == 1: | ||
| 3581 | + b() | ||
| 3582 | + else: | ||
| 3583 | + return | ||
| 3584 | + | ||
| 3585 | + def b(): | ||
| 3586 | + c() | ||
| 3587 | + | ||
| 3588 | + def c(): | ||
| 3589 | + if self._ncall == 1: | ||
| 3590 | + self._ncall += 1 | ||
| 3591 | + b() | ||
| 3592 | + else: | ||
| 3593 | + a() | ||
| 3594 | + | ||
| 3595 | + stats = utils.run_and_get_func_stats(a) | ||
| 3596 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3597 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3598 | + fsc = utils.find_stat_by_name(stats, 'c') | ||
| 3599 | + cfsab = fsa.children[fsb] | ||
| 3600 | + cfsbc = fsb.children[fsc] | ||
| 3601 | + cfsca = fsc.children[fsa] | ||
| 3602 | + self.assertEqual(fsa.ttot, 10) | ||
| 3603 | + self.assertEqual(fsa.tsub, 2) | ||
| 3604 | + self.assertEqual(fsb.ttot, 9) | ||
| 3605 | + self.assertEqual(fsb.tsub, 4) | ||
| 3606 | + self.assertEqual(fsc.ttot, 7) | ||
| 3607 | + self.assertEqual(fsc.tsub, 4) | ||
| 3608 | + self.assertEqual(cfsab.ttot, 9) | ||
| 3609 | + self.assertEqual(cfsab.tsub, 2) | ||
| 3610 | + self.assertEqual(cfsbc.ttot, 7) | ||
| 3611 | + self.assertEqual(cfsbc.tsub, 4) | ||
| 3612 | + self.assertEqual(cfsca.ttot, 1) | ||
| 3613 | + self.assertEqual(cfsca.tsub, 1) | ||
| 3614 | + self.assertEqual(cfsca.ncall, 1) | ||
| 3615 | + self.assertEqual(cfsca.nactualcall, 0) | ||
| 3616 | + | ||
| 3617 | + def test_aabccb(self): | ||
| 3618 | + _timings = { | ||
| 3619 | + "a_1": 13, | ||
| 3620 | + "a_2": 11, | ||
| 3621 | + "b_1": 9, | ||
| 3622 | + "c_1": 5, | ||
| 3623 | + "c_2": 3, | ||
| 3624 | + "b_2": 1 | ||
| 3625 | + } | ||
| 3626 | + _yappi._set_test_timings(_timings) | ||
| 3627 | + self._ncall = 1 | ||
| 3628 | + | ||
| 3629 | + def a(): | ||
| 3630 | + if self._ncall == 1: | ||
| 3631 | + self._ncall += 1 | ||
| 3632 | + a() | ||
| 3633 | + else: | ||
| 3634 | + b() | ||
| 3635 | + | ||
| 3636 | + def b(): | ||
| 3637 | + if self._ncall == 3: | ||
| 3638 | + return | ||
| 3639 | + else: | ||
| 3640 | + c() | ||
| 3641 | + | ||
| 3642 | + def c(): | ||
| 3643 | + if self._ncall == 2: | ||
| 3644 | + self._ncall += 1 | ||
| 3645 | + c() | ||
| 3646 | + else: | ||
| 3647 | + b() | ||
| 3648 | + | ||
| 3649 | + stats = utils.run_and_get_func_stats(a) | ||
| 3650 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3651 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3652 | + fsc = utils.find_stat_by_name(stats, 'c') | ||
| 3653 | + cfsaa = fsa.children[fsa.index] | ||
| 3654 | + cfsab = fsa.children[fsb] | ||
| 3655 | + cfsbc = fsb.children[fsc.full_name] | ||
| 3656 | + cfscc = fsc.children[fsc] | ||
| 3657 | + cfscb = fsc.children[fsb] | ||
| 3658 | + self.assertEqual(fsb.ttot, 9) | ||
| 3659 | + self.assertEqual(fsb.tsub, 5) | ||
| 3660 | + self.assertEqual(cfsbc.ttot, 5) | ||
| 3661 | + self.assertEqual(cfsbc.tsub, 2) | ||
| 3662 | + self.assertEqual(fsa.ttot, 13) | ||
| 3663 | + self.assertEqual(fsa.tsub, 4) | ||
| 3664 | + self.assertEqual(cfsab.ttot, 9) | ||
| 3665 | + self.assertEqual(cfsab.tsub, 4) | ||
| 3666 | + self.assertEqual(cfsaa.ttot, 11) | ||
| 3667 | + self.assertEqual(cfsaa.tsub, 2) | ||
| 3668 | + self.assertEqual(fsc.ttot, 5) | ||
| 3669 | + self.assertEqual(fsc.tsub, 4) | ||
| 3670 | + | ||
| 3671 | + def test_abaa(self): | ||
| 3672 | + _timings = {"a_1": 13, "b_1": 10, "a_2": 9, "a_3": 5} | ||
| 3673 | + _yappi._set_test_timings(_timings) | ||
| 3674 | + | ||
| 3675 | + self._ncall = 1 | ||
| 3676 | + | ||
| 3677 | + def a(): | ||
| 3678 | + if self._ncall == 1: | ||
| 3679 | + b() | ||
| 3680 | + elif self._ncall == 2: | ||
| 3681 | + self._ncall += 1 | ||
| 3682 | + a() | ||
| 3683 | + else: | ||
| 3684 | + return | ||
| 3685 | + | ||
| 3686 | + def b(): | ||
| 3687 | + self._ncall += 1 | ||
| 3688 | + a() | ||
| 3689 | + | ||
| 3690 | + stats = utils.run_and_get_func_stats(a) | ||
| 3691 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3692 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3693 | + cfsaa = fsa.children[fsa] | ||
| 3694 | + cfsba = fsb.children[fsa] | ||
| 3695 | + self.assertEqual(fsb.ttot, 10) | ||
| 3696 | + self.assertEqual(fsb.tsub, 1) | ||
| 3697 | + self.assertEqual(fsa.ttot, 13) | ||
| 3698 | + self.assertEqual(fsa.tsub, 12) | ||
| 3699 | + self.assertEqual(cfsaa.ttot, 5) | ||
| 3700 | + self.assertEqual(cfsaa.tsub, 5) | ||
| 3701 | + self.assertEqual(cfsba.ttot, 9) | ||
| 3702 | + self.assertEqual(cfsba.tsub, 4) | ||
| 3703 | + | ||
| 3704 | + def test_aabb(self): | ||
| 3705 | + _timings = {"a_1": 13, "a_2": 10, "b_1": 9, "b_2": 5} | ||
| 3706 | + _yappi._set_test_timings(_timings) | ||
| 3707 | + | ||
| 3708 | + self._ncall = 1 | ||
| 3709 | + | ||
| 3710 | + def a(): | ||
| 3711 | + if self._ncall == 1: | ||
| 3712 | + self._ncall += 1 | ||
| 3713 | + a() | ||
| 3714 | + elif self._ncall == 2: | ||
| 3715 | + b() | ||
| 3716 | + else: | ||
| 3717 | + return | ||
| 3718 | + | ||
| 3719 | + def b(): | ||
| 3720 | + if self._ncall == 2: | ||
| 3721 | + self._ncall += 1 | ||
| 3722 | + b() | ||
| 3723 | + else: | ||
| 3724 | + return | ||
| 3725 | + | ||
| 3726 | + stats = utils.run_and_get_func_stats(a) | ||
| 3727 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3728 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3729 | + cfsaa = fsa.children[fsa] | ||
| 3730 | + cfsab = fsa.children[fsb] | ||
| 3731 | + cfsbb = fsb.children[fsb] | ||
| 3732 | + self.assertEqual(fsa.ttot, 13) | ||
| 3733 | + self.assertEqual(fsa.tsub, 4) | ||
| 3734 | + self.assertEqual(fsb.ttot, 9) | ||
| 3735 | + self.assertEqual(fsb.tsub, 9) | ||
| 3736 | + self.assertEqual(cfsaa.ttot, 10) | ||
| 3737 | + self.assertEqual(cfsaa.tsub, 1) | ||
| 3738 | + self.assertEqual(cfsab.ttot, 9) | ||
| 3739 | + self.assertEqual(cfsab.tsub, 4) | ||
| 3740 | + self.assertEqual(cfsbb.ttot, 5) | ||
| 3741 | + self.assertEqual(cfsbb.tsub, 5) | ||
| 3742 | + | ||
| 3743 | + def test_abbb(self): | ||
| 3744 | + _timings = {"a_1": 13, "b_1": 10, "b_2": 6, "b_3": 1} | ||
| 3745 | + _yappi._set_test_timings(_timings) | ||
| 3746 | + | ||
| 3747 | + self._ncall = 1 | ||
| 3748 | + | ||
| 3749 | + def a(): | ||
| 3750 | + if self._ncall == 1: | ||
| 3751 | + b() | ||
| 3752 | + | ||
| 3753 | + def b(): | ||
| 3754 | + if self._ncall == 3: | ||
| 3755 | + return | ||
| 3756 | + self._ncall += 1 | ||
| 3757 | + b() | ||
| 3758 | + | ||
| 3759 | + stats = utils.run_and_get_func_stats(a) | ||
| 3760 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3761 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3762 | + cfsab = fsa.children[fsb] | ||
| 3763 | + cfsbb = fsb.children[fsb] | ||
| 3764 | + self.assertEqual(fsa.ttot, 13) | ||
| 3765 | + self.assertEqual(fsa.tsub, 3) | ||
| 3766 | + self.assertEqual(fsb.ttot, 10) | ||
| 3767 | + self.assertEqual(fsb.tsub, 10) | ||
| 3768 | + self.assertEqual(fsb.ncall, 3) | ||
| 3769 | + self.assertEqual(fsb.nactualcall, 1) | ||
| 3770 | + self.assertEqual(cfsab.ttot, 10) | ||
| 3771 | + self.assertEqual(cfsab.tsub, 4) | ||
| 3772 | + self.assertEqual(cfsbb.ttot, 6) | ||
| 3773 | + self.assertEqual(cfsbb.tsub, 6) | ||
| 3774 | + self.assertEqual(cfsbb.nactualcall, 0) | ||
| 3775 | + self.assertEqual(cfsbb.ncall, 2) | ||
| 3776 | + | ||
| 3777 | + def test_aaab(self): | ||
| 3778 | + _timings = {"a_1": 13, "a_2": 10, "a_3": 6, "b_1": 1} | ||
| 3779 | + _yappi._set_test_timings(_timings) | ||
| 3780 | + | ||
| 3781 | + self._ncall = 1 | ||
| 3782 | + | ||
| 3783 | + def a(): | ||
| 3784 | + if self._ncall == 3: | ||
| 3785 | + b() | ||
| 3786 | + return | ||
| 3787 | + self._ncall += 1 | ||
| 3788 | + a() | ||
| 3789 | + | ||
| 3790 | + def b(): | ||
| 3791 | + return | ||
| 3792 | + | ||
| 3793 | + stats = utils.run_and_get_func_stats(a) | ||
| 3794 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3795 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3796 | + cfsaa = fsa.children[fsa] | ||
| 3797 | + cfsab = fsa.children[fsb] | ||
| 3798 | + self.assertEqual(fsa.ttot, 13) | ||
| 3799 | + self.assertEqual(fsa.tsub, 12) | ||
| 3800 | + self.assertEqual(fsb.ttot, 1) | ||
| 3801 | + self.assertEqual(fsb.tsub, 1) | ||
| 3802 | + self.assertEqual(cfsaa.ttot, 10) | ||
| 3803 | + self.assertEqual(cfsaa.tsub, 9) | ||
| 3804 | + self.assertEqual(cfsab.ttot, 1) | ||
| 3805 | + self.assertEqual(cfsab.tsub, 1) | ||
| 3806 | + | ||
| 3807 | + def test_abab(self): | ||
| 3808 | + _timings = {"a_1": 13, "b_1": 10, "a_2": 6, "b_2": 1} | ||
| 3809 | + _yappi._set_test_timings(_timings) | ||
| 3810 | + | ||
| 3811 | + self._ncall = 1 | ||
| 3812 | + | ||
| 3813 | + def a(): | ||
| 3814 | + b() | ||
| 3815 | + | ||
| 3816 | + def b(): | ||
| 3817 | + if self._ncall == 2: | ||
| 3818 | + return | ||
| 3819 | + self._ncall += 1 | ||
| 3820 | + a() | ||
| 3821 | + | ||
| 3822 | + stats = utils.run_and_get_func_stats(a) | ||
| 3823 | + fsa = utils.find_stat_by_name(stats, 'a') | ||
| 3824 | + fsb = utils.find_stat_by_name(stats, 'b') | ||
| 3825 | + cfsab = fsa.children[fsb] | ||
| 3826 | + cfsba = fsb.children[fsa] | ||
| 3827 | + self.assertEqual(fsa.ttot, 13) | ||
| 3828 | + self.assertEqual(fsa.tsub, 8) | ||
| 3829 | + self.assertEqual(fsb.ttot, 10) | ||
| 3830 | + self.assertEqual(fsb.tsub, 5) | ||
| 3831 | + self.assertEqual(cfsab.ttot, 10) | ||
| 3832 | + self.assertEqual(cfsab.tsub, 5) | ||
| 3833 | + self.assertEqual(cfsab.ncall, 2) | ||
| 3834 | + self.assertEqual(cfsab.nactualcall, 1) | ||
| 3835 | + self.assertEqual(cfsba.ttot, 6) | ||
| 3836 | + self.assertEqual(cfsba.tsub, 5) | ||
| 3837 | + | ||
| 3838 | + | ||
| 3839 | +if __name__ == '__main__': | ||
| 3840 | + # import sys;sys.argv = ['', 'BasicUsage.test_run_as_script'] | ||
| 3841 | + # import sys;sys.argv = ['', 'MultithreadedScenarios.test_subsequent_profile'] | ||
| 3842 | + unittest.main() | ||
| 3843 | -- | ||
| 3844 | 2.34.1 | ||
| 3845 | |||
diff --git a/meta-python/recipes-devtools/python/python3-yappi_1.7.3.bb b/meta-python/recipes-devtools/python/python3-yappi_1.7.6.bb index 3e735f7124..fefed051ab 100644 --- a/meta-python/recipes-devtools/python/python3-yappi_1.7.3.bb +++ b/meta-python/recipes-devtools/python/python3-yappi_1.7.6.bb | |||
| @@ -4,10 +4,9 @@ HOMEPAGE = "https://github.com/sumerc/yappi" | |||
| 4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=71c208c9a4fd864385eb69ad4caa3bee" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=71c208c9a4fd864385eb69ad4caa3bee" |
| 6 | 6 | ||
| 7 | SRC_URI[sha256sum] = "bef71ad0595b600261668dcb1e18b935a7117a724c04d7be60d9d246e32d0928" | 7 | SRC_URI[sha256sum] = "c94281936af77c00c6ac2306a0e7f85a67e354d717120df85fcc5dfb9243d4dd" |
| 8 | 8 | ||
| 9 | SRC_URI += " \ | 9 | SRC_URI += " \ |
| 10 | file://0001-test_functionality-convert-line-endings-to-Unix.patch \ | ||
| 11 | file://0002-Fix-import-of-tests.utils-to-enable-pytest.patch \ | 10 | file://0002-Fix-import-of-tests.utils-to-enable-pytest.patch \ |
| 12 | " | 11 | " |
| 13 | 12 | ||
diff --git a/meta-python/recipes-devtools/python/python3-zopeinterface_8.2.bb b/meta-python/recipes-devtools/python/python3-zopeinterface_8.3.bb index 690c2d26aa..2dc586a3ab 100644 --- a/meta-python/recipes-devtools/python/python3-zopeinterface_8.2.bb +++ b/meta-python/recipes-devtools/python/python3-zopeinterface_8.3.bb | |||
| @@ -6,7 +6,7 @@ PYPI_PACKAGE = "zope_interface" | |||
| 6 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | 6 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" |
| 7 | 7 | ||
| 8 | inherit pypi python_setuptools_build_meta | 8 | inherit pypi python_setuptools_build_meta |
| 9 | SRC_URI[sha256sum] = "afb20c371a601d261b4f6edb53c3c418c249db1a9717b0baafc9a9bb39ba1224" | 9 | SRC_URI[sha256sum] = "e1a9de7d0b5b5c249a73b91aebf4598ce05e334303af6aa94865893283e9ff10" |
| 10 | PACKAGES =. "${PN}-test " | 10 | PACKAGES =. "${PN}-test " |
| 11 | 11 | ||
| 12 | RPROVIDES:${PN} += "zope-interfaces" | 12 | RPROVIDES:${PN} += "zope-interfaces" |
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 32e529d483..3eac44e738 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 @@ | |||
| 1 | From dd7925397b84c2a327cd4594edba9f7ca5acef61 Mon Sep 17 00:00:00 2001 | 1 | From 99dfd88de60dd55bd3b5e7c0516b3882a8e56698 Mon Sep 17 00:00:00 2001 |
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Liu Yiding <liuyd.fnst@fujitsu.com> |
| 3 | Date: Fri, 26 Sep 2025 14:02:23 +0800 | 3 | Date: Wed, 15 Apr 2026 06:09:37 +0000 |
| 4 | Subject: [PATCH] Honor the SOURCE_DATE_EPOCH variable | 4 | Subject: [PATCH] Honor the SOURCE_DATE_EPOCH variable |
| 5 | 5 | ||
| 6 | Implement the SOURCE_DATE_EPOCH specification[1] for reproducible | 6 | Implement the SOURCE_DATE_EPOCH specification[1] for reproducible |
| @@ -12,30 +12,33 @@ current time. | |||
| 12 | Upstream-Status: Submitted [https://github.com/mlcommons/inference/pull/2345] | 12 | Upstream-Status: Submitted [https://github.com/mlcommons/inference/pull/2345] |
| 13 | 13 | ||
| 14 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | 14 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
| 15 | |||
| 16 | Update for 6.0.14 | ||
| 17 | Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> | ||
| 15 | --- | 18 | --- |
| 16 | version_generator.py | 9 +++++++-- | 19 | version_generator.py | 9 +++++++-- |
| 17 | 1 file changed, 7 insertions(+), 2 deletions(-) | 20 | 1 file changed, 7 insertions(+), 2 deletions(-) |
| 18 | 21 | ||
| 19 | diff --git a/version_generator.py b/version_generator.py | 22 | diff --git a/version_generator.py b/version_generator.py |
| 20 | index 2e75243..5202da9 100644 | 23 | index b88ae8e..b083eec 100644 |
| 21 | --- a/version_generator.py | 24 | --- a/version_generator.py |
| 22 | +++ b/version_generator.py | 25 | +++ b/version_generator.py |
| 23 | @@ -110,8 +110,13 @@ def generate_loadgen_version_definitions(cc_filename, loadgen_root): | 26 | @@ -113,8 +113,13 @@ def generate_loadgen_version_definitions(cc_filename, loadgen_root): |
| 24 | # Write the version into the function definition | 27 | # Write the version into the function definition |
| 25 | ofile.write(func_def("Version", f"\"{version_contents}\"")) | 28 | ofile.write(func_def("Version", f"\"{version_contents}\"")) |
| 26 | |||
| 27 | - date_time_now_local = datetime.datetime.now().isoformat() | ||
| 28 | - date_time_now_utc = datetime.datetime.utcnow().isoformat() | ||
| 29 | + if os.environ.get('SOURCE_DATE_EPOCH', False): | ||
| 30 | + source_date_epoch = int(os.environ['SOURCE_DATE_EPOCH']) | ||
| 31 | + date_time_now_local = datetime.datetime.fromtimestamp(source_date_epoch).isoformat() | ||
| 32 | + date_time_now_utc = datetime.datetime.fromtimestamp(source_date_epoch, tz=datetime.timezone.utc).isoformat() | ||
| 33 | + else: | ||
| 34 | + date_time_now_local = datetime.datetime.now().isoformat() | ||
| 35 | + date_time_now_utc = datetime.datetime.utcnow().isoformat() | ||
| 36 | ofile.write(func_def("BuildDateLocal", '"' + date_time_now_local + '"')) | ||
| 37 | ofile.write(func_def("BuildDateUtc", '"' + date_time_now_utc + '"')) | ||
| 38 | 29 | ||
| 30 | - date_time_now_local = datetime.datetime.now().isoformat() | ||
| 31 | - date_time_now_utc = datetime.datetime.utcnow().isoformat() | ||
| 32 | + if os.environ.get('SOURCE_DATE_EPOCH', False): | ||
| 33 | + source_date_epoch = int(os.environ['SOURCE_DATE_EPOCH']) | ||
| 34 | + date_time_now_local = datetime.datetime.fromtimestamp(source_date_epoch).isoformat() | ||
| 35 | + date_time_now_utc = datetime.datetime.fromtimestamp(source_date_epoch, tz=datetime.timezone.utc).isoformat() | ||
| 36 | + else: | ||
| 37 | + date_time_now_local = datetime.datetime.now().isoformat() | ||
| 38 | + date_time_now_utc = datetime.datetime.utcnow().isoformat() | ||
| 39 | ofile.write( | ||
| 40 | func_def( | ||
| 41 | "BuildDateLocal", | ||
| 39 | -- | 42 | -- |
| 40 | 2.34.1 | 43 | 2.43.0 |
| 41 | 44 | ||
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_6.0.14.bb index 79687290f5..3299f25080 100644 --- 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_6.0.14.bb | |||
| @@ -21,7 +21,7 @@ SRC_URI += " \ | |||
| 21 | PYPI_PACKAGE = "mlcommons_loadgen" | 21 | PYPI_PACKAGE = "mlcommons_loadgen" |
| 22 | UPSTREAM_CHECK_PYPI_PACKAGE = "mlcommons_loadgen" | 22 | UPSTREAM_CHECK_PYPI_PACKAGE = "mlcommons_loadgen" |
| 23 | 23 | ||
| 24 | SRC_URI[sha256sum] = "cd686a6223c978d1056e38a417e4807bfa21c855189f7882d24c8313174bca74" | 24 | SRC_URI[sha256sum] = "9a56e361b4614938acdb6a601cc9c57ce551809f831023401bbac6dd7eb00970" |
| 25 | 25 | ||
| 26 | # Because the pyproject.toml contains invalid requirements. | 26 | # Because the pyproject.toml contains invalid requirements. |
| 27 | INSANE_SKIP += "pep517-backend" | 27 | INSANE_SKIP += "pep517-backend" |
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 d3ab8f8526..0000000000 --- a/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | From 6a85945c060154581f5a129a6a946258bf9333c4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 3 | Date: Mon, 8 May 2017 03:54:12 -0400 | ||
| 4 | Subject: [PATCH 08/11] use oe variable to replace hardcoded dir | ||
| 5 | |||
| 6 | Upstream-Status: Pending | ||
| 7 | |||
| 8 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 9 | |||
| 10 | Rebase for python3-blivet 3.4.0. | ||
| 11 | |||
| 12 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
| 13 | --- | ||
| 14 | setup.py | 8 ++++---- | ||
| 15 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/setup.py b/setup.py | ||
| 18 | index e6bb3f3..700085b 100644 | ||
| 19 | --- a/setup.py | ||
| 20 | +++ b/setup.py | ||
| 21 | @@ -73,10 +73,10 @@ class blivet_sdist(sdist): | ||
| 22 | |||
| 23 | |||
| 24 | data_files = [ | ||
| 25 | - ('/etc/dbus-1/system.d', ['dbus/blivet.conf']), | ||
| 26 | - ('/usr/share/dbus-1/system-services', ['dbus/com.redhat.Blivet0.service']), | ||
| 27 | - ('/usr/libexec', ['dbus/blivetd']), | ||
| 28 | - ('/usr/lib/systemd/system', ['dbus/blivet.service']) | ||
| 29 | + (os.environ.get('sysconfdir')+'/dbus-1/system.d', ['dbus/blivet.conf']), | ||
| 30 | + (os.environ.get('datadir')+'/dbus-1/system-services', ['dbus/com.redhat.Blivet0.service']), | ||
| 31 | + (os.environ.get('libexecdir'), ['dbus/blivetd']), | ||
| 32 | + (os.environ.get('systemd_system_unitdir'), ['dbus/blivet.service']) | ||
| 33 | ] | ||
| 34 | |||
| 35 | |||
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.13.2.bb index bf492b3d57..a159979b73 100644 --- a/meta-python/recipes-extended/python-blivet/python3-blivet_3.12.1.bb +++ b/meta-python/recipes-extended/python-blivet/python3-blivet_3.13.2.bb | |||
| @@ -11,23 +11,34 @@ SRC_URI += "\ | |||
| 11 | file://0005-fix-incorrect-timeout-while-system-time-changed.patch \ | 11 | file://0005-fix-incorrect-timeout-while-system-time-changed.patch \ |
| 12 | file://0006-tweak-btrfs-packages.patch \ | 12 | file://0006-tweak-btrfs-packages.patch \ |
| 13 | file://0007-invoking-mount-with-infinite-timeout.patch \ | 13 | file://0007-invoking-mount-with-infinite-timeout.patch \ |
| 14 | file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \ | ||
| 15 | file://0009-invoking-fsck-with-infinite-timeout.patch \ | 14 | file://0009-invoking-fsck-with-infinite-timeout.patch \ |
| 16 | file://0010-invoking-mkfs-with-infinite-timeout.patch \ | 15 | file://0010-invoking-mkfs-with-infinite-timeout.patch \ |
| 17 | file://0011-invoking-dd-with-infinite-timeout.patch \ | 16 | file://0011-invoking-dd-with-infinite-timeout.patch \ |
| 18 | " | 17 | " |
| 19 | SRC_URI[sha256sum] = "54775ba212d1574b1b0750ce147f0d3cf3b5d73aaf040d172283edb57db4ba15" | 18 | SRC_URI[sha256sum] = "6d8374d05eeab513b2a26cf01267e853df7b31e13ad1a1ba7d73a856190d0518" |
| 20 | 19 | ||
| 21 | inherit pypi features_check systemd setuptools3_legacy | 20 | inherit pypi features_check systemd setuptools3_legacy |
| 22 | 21 | ||
| 23 | REQUIRED_DISTRO_FEATURES = "systemd" | 22 | REQUIRED_DISTRO_FEATURES = "systemd" |
| 24 | 23 | ||
| 25 | RDEPENDS:${PN} += "python3-pykickstart python3-pyudev \ | 24 | RDEPENDS:${PN} += "python3-dasbus python3-pygobject python3-pykickstart python3-pyudev \ |
| 26 | parted python3-pyparted multipath-tools \ | 25 | parted python3-pyparted multipath-tools \ |
| 27 | lsof cryptsetup libblockdev libblockdev-bin \ | 26 | lsof cryptsetup libblockdev libblockdev-bin \ |
| 28 | libbytesize \ | 27 | libbytesize \ |
| 28 | util-linux \ | ||
| 29 | " | 29 | " |
| 30 | 30 | ||
| 31 | do_install:append() { | ||
| 32 | install -d ${D}${sysconfdir}/dbus-1/system.d | ||
| 33 | install -m 644 ${S}/dbus/blivet.conf ${D}${sysconfdir}/dbus-1/system.d/blivet.conf | ||
| 34 | install -d ${D}${datadir}/dbus-1/system-services | ||
| 35 | install -m 644 ${S}/dbus/com.redhat.Blivet0.service ${D}${datadir}/dbus-1/system-services/com.redhat.Blivet0.service | ||
| 36 | install -d ${D}${libexecdir} | ||
| 37 | install -m 755 ${S}/dbus/blivetd ${D}${libexecdir}/blivetd | ||
| 38 | install -d ${D}${systemd_system_unitdir} | ||
| 39 | install -m 644 ${S}/dbus/blivet.service ${D}${systemd_system_unitdir}/blivet.service | ||
| 40 | } | ||
| 41 | |||
| 31 | FILES:${PN} += " \ | 42 | FILES:${PN} += " \ |
| 32 | ${datadir}/dbus-1/system-services \ | 43 | ${datadir}/dbus-1/system-services \ |
| 33 | " | 44 | " |
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 0d8cfcb408..034568251b 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" | |||
| 5 | LICENSE = "Apache-2.0" | 5 | LICENSE = "Apache-2.0" |
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" | 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" |
| 7 | 7 | ||
| 8 | SRC_URI[md5sum] = "73f9645e59b437f064d05882b95832ce" | 8 | SRC_URI[sha256sum] = "4bf5f880c99406f52a3cfc2633e42d9dc67615e69d8a509d74867d3baddb5db9" |
| 9 | 9 | ||
| 10 | RDEPENDS:${PN}:append = " python3-packaging tesseract" | 10 | RDEPENDS:${PN}:append = " python3-packaging tesseract" |
| 11 | 11 | ||
diff --git a/meta-python/recipes-extended/python-rich/python3-rich_14.3.3.bb b/meta-python/recipes-extended/python-rich/python3-rich_15.0.0.bb index a2af61840f..2ab3b2fdbc 100644 --- a/meta-python/recipes-extended/python-rich/python3-rich_14.3.3.bb +++ b/meta-python/recipes-extended/python-rich/python3-rich_15.0.0.bb | |||
| @@ -8,7 +8,7 @@ LICENSE = "MIT" | |||
| 8 | 8 | ||
| 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303" | 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303" |
| 10 | 10 | ||
| 11 | SRC_URI[sha256sum] = "b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b" | 11 | SRC_URI[sha256sum] = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" |
| 12 | 12 | ||
| 13 | inherit pypi python_poetry_core | 13 | inherit pypi python_poetry_core |
| 14 | 14 | ||
diff --git a/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.32.1.bb b/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.32.2.bb index bc9b414848..7684b1dccc 100644 --- a/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.32.1.bb +++ b/meta-webserver/recipes-devtools/swagger-ui/swagger-ui_5.32.2.bb | |||
| @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | |||
| 12 | 12 | ||
| 13 | SRC_URI = "git://github.com/swagger-api/swagger-ui;branch=master;protocol=https;tag=v${PV}" | 13 | SRC_URI = "git://github.com/swagger-api/swagger-ui;branch=master;protocol=https;tag=v${PV}" |
| 14 | 14 | ||
| 15 | SRCREV = "d361f5b3570b8ade67fb1c02cf7a676fcb441479" | 15 | SRCREV = "d02a2df106961d8cb6bceb6b4b3aa8d9f6faaf4a" |
| 16 | 16 | ||
| 17 | CVE_STATUS[CVE-2016-1000229] = "fixed-version: fixed since 2.2.1" | 17 | CVE_STATUS[CVE-2016-1000229] = "fixed-version: fixed since 2.2.1" |
| 18 | 18 | ||
diff --git a/meta-webserver/recipes-httpd/hiawatha/hiawatha_12.0.bb b/meta-webserver/recipes-httpd/hiawatha/hiawatha_12.1.bb index d6fa250cb9..8299e58263 100644 --- a/meta-webserver/recipes-httpd/hiawatha/hiawatha_12.0.bb +++ b/meta-webserver/recipes-httpd/hiawatha/hiawatha_12.1.bb | |||
| @@ -11,7 +11,7 @@ SRC_URI = "https://hiawatha.leisink.net/files/download/hiawatha-${PV}.tar.gz \ | |||
| 11 | file://hiawatha.service \ | 11 | file://hiawatha.service \ |
| 12 | " | 12 | " |
| 13 | 13 | ||
| 14 | SRC_URI[sha256sum] = "57b61a6d2640e72601d5ba0a063d6f1639613b910287871216f7ea06c75bfb96" | 14 | SRC_URI[sha256sum] = "e93e5964e69d98061d366fa4a0ec7b5d33d3e92e6c02efa8b291a79c646006b1" |
| 15 | 15 | ||
| 16 | INITSCRIPT_NAME = "hiawatha" | 16 | INITSCRIPT_NAME = "hiawatha" |
| 17 | INITSCRIPT_PARAMS = "defaults 70" | 17 | INITSCRIPT_PARAMS = "defaults 70" |
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 0000000000..b57d7ac219 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0001-server-http-fix-malformed-request-crash-paths.patch | |||
| @@ -0,0 +1,160 @@ | |||
| 1 | From 839620179e2b4e5982c53d8956d92e690d82960c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Eduardo Silva <eduardo@chronosphere.io> | ||
| 3 | Date: Thu, 9 Apr 2026 12:11:52 -0600 | ||
| 4 | Subject: [PATCH] server: http: fix malformed request crash paths | ||
| 5 | |||
| 6 | Fix the reproducible malformed-request crash paths in the HTTP | ||
| 7 | request lifecycle. | ||
| 8 | |||
| 9 | Handle missing Host data in directory redirects, reject malformed | ||
| 10 | range delimiters before substring parsing, and avoid reusing invalid | ||
| 11 | request state while advancing pipelined requests. | ||
| 12 | |||
| 13 | Verified by rebuilding with cmake --build build and replaying the | ||
| 14 | reported crash-inducing request fixtures against build/bin/monkey. | ||
| 15 | |||
| 16 | Signed-off-by: Eduardo Silva <eduardo@chronosphere.io> | ||
| 17 | |||
| 18 | This patch is part of https://github.com/monkey/monkey/pull/434, | ||
| 19 | containing assorted CVE fixes. | ||
| 20 | |||
| 21 | Upstream-Status: Backport [https://github.com/monkey/monkey/commit/1570f41231888ae8c7fbd719704e2486a952e45d] | ||
| 22 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 23 | --- | ||
| 24 | mk_core/mk_memory.c | 10 ++++++++++ | ||
| 25 | mk_server/mk_http.c | 46 +++++++++++++++++++++++++++++++++++++++++---- | ||
| 26 | 2 files changed, 52 insertions(+), 4 deletions(-) | ||
| 27 | |||
| 28 | diff --git a/mk_core/mk_memory.c b/mk_core/mk_memory.c | ||
| 29 | index c4073e23..008f7ac6 100644 | ||
| 30 | --- a/mk_core/mk_memory.c | ||
| 31 | +++ b/mk_core/mk_memory.c | ||
| 32 | @@ -52,6 +52,16 @@ char *mk_ptr_to_buf(mk_ptr_t p) | ||
| 33 | { | ||
| 34 | char *buf; | ||
| 35 | |||
| 36 | + if (!p.data || p.len == 0) { | ||
| 37 | + buf = mk_mem_alloc(1); | ||
| 38 | + if (!buf) { | ||
| 39 | + return NULL; | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + buf[0] = '\0'; | ||
| 43 | + return buf; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | buf = mk_mem_alloc(p.len + 1); | ||
| 47 | if (!buf) return NULL; | ||
| 48 | |||
| 49 | diff --git a/mk_server/mk_http.c b/mk_server/mk_http.c | ||
| 50 | index ad12a74a..f2f12554 100644 | ||
| 51 | --- a/mk_server/mk_http.c | ||
| 52 | +++ b/mk_server/mk_http.c | ||
| 53 | @@ -457,6 +457,10 @@ static int mk_http_range_parse(struct mk_http_request *sr) | ||
| 54 | if ((sep_pos = mk_string_char_search(sr->range.data, '-', sr->range.len)) < 0) | ||
| 55 | return -1; | ||
| 56 | |||
| 57 | + if (sep_pos < eq_pos) { | ||
| 58 | + return -1; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | len = sr->range.len; | ||
| 62 | sh = &sr->headers; | ||
| 63 | |||
| 64 | @@ -476,10 +480,16 @@ static int mk_http_range_parse(struct mk_http_request *sr) | ||
| 65 | /* =yyy-xxx */ | ||
| 66 | if ((eq_pos + 1 != sep_pos) && (len > sep_pos + 1)) { | ||
| 67 | buffer = mk_string_copy_substr(sr->range.data, eq_pos + 1, sep_pos); | ||
| 68 | + if (!buffer) { | ||
| 69 | + return -1; | ||
| 70 | + } | ||
| 71 | sh->ranges[0] = (unsigned long) atol(buffer); | ||
| 72 | mk_mem_free(buffer); | ||
| 73 | |||
| 74 | buffer = mk_string_copy_substr(sr->range.data, sep_pos + 1, len); | ||
| 75 | + if (!buffer) { | ||
| 76 | + return -1; | ||
| 77 | + } | ||
| 78 | sh->ranges[1] = (unsigned long) atol(buffer); | ||
| 79 | mk_mem_free(buffer); | ||
| 80 | |||
| 81 | @@ -493,6 +503,9 @@ static int mk_http_range_parse(struct mk_http_request *sr) | ||
| 82 | /* =yyy- */ | ||
| 83 | if ((eq_pos + 1 != sep_pos) && (len == sep_pos + 1)) { | ||
| 84 | buffer = mk_string_copy_substr(sr->range.data, eq_pos + 1, len); | ||
| 85 | + if (!buffer) { | ||
| 86 | + return -1; | ||
| 87 | + } | ||
| 88 | sr->headers.ranges[0] = (unsigned long) atol(buffer); | ||
| 89 | mk_mem_free(buffer); | ||
| 90 | |||
| 91 | @@ -522,7 +535,16 @@ static int mk_http_directory_redirect_check(struct mk_http_session *cs, | ||
| 92 | return 0; | ||
| 93 | } | ||
| 94 | |||
| 95 | + if (!sr->host.data || sr->host.len <= 0) { | ||
| 96 | + mk_http_error(MK_CLIENT_BAD_REQUEST, cs, sr, server); | ||
| 97 | + return -1; | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | host = mk_ptr_to_buf(sr->host); | ||
| 101 | + if (!host) { | ||
| 102 | + mk_http_error(MK_CLIENT_BAD_REQUEST, cs, sr, server); | ||
| 103 | + return -1; | ||
| 104 | + } | ||
| 105 | |||
| 106 | /* | ||
| 107 | * Add ending slash to the location string | ||
| 108 | @@ -588,6 +610,9 @@ static inline char *mk_http_index_lookup(mk_ptr_t *path_base, | ||
| 109 | } | ||
| 110 | |||
| 111 | off = path_base->len; | ||
| 112 | + if ((size_t) off >= buf_size) { | ||
| 113 | + return NULL; | ||
| 114 | + } | ||
| 115 | memcpy(buf, path_base->data, off); | ||
| 116 | |||
| 117 | mk_list_foreach(head, server->index_files) { | ||
| 118 | @@ -1138,15 +1163,27 @@ int mk_http_request_end(struct mk_http_session *cs, struct mk_server *server) | ||
| 119 | ret = mk_http_parser_more(&cs->parser, cs->body_length); | ||
| 120 | if (ret == MK_TRUE) { | ||
| 121 | /* Our pipeline request limit is the same that our keepalive limit */ | ||
| 122 | + if (cs->parser.i < 0 || | ||
| 123 | + (unsigned int) (cs->parser.i + 1) >= cs->body_length) { | ||
| 124 | + goto shutdown; | ||
| 125 | + } | ||
| 126 | + | ||
| 127 | cs->counter_connections++; | ||
| 128 | len = (cs->body_length - cs->parser.i) -1; | ||
| 129 | + if (len <= 0) { | ||
| 130 | + goto shutdown; | ||
| 131 | + } | ||
| 132 | memmove(cs->body, | ||
| 133 | cs->body + cs->parser.i + 1, | ||
| 134 | len); | ||
| 135 | cs->body_length = len; | ||
| 136 | |||
| 137 | /* Prepare for next one */ | ||
| 138 | - sr = mk_list_entry_first(&cs->request_list, struct mk_http_request, _head); | ||
| 139 | + if (mk_list_is_empty(&cs->request_list) == 0) { | ||
| 140 | + cs->close_now = MK_TRUE; | ||
| 141 | + goto shutdown; | ||
| 142 | + } | ||
| 143 | + sr = &cs->sr_fixed; | ||
| 144 | mk_http_request_free(sr, server); | ||
| 145 | mk_http_request_init(cs, sr, server); | ||
| 146 | mk_http_parser_init(&cs->parser); | ||
| 147 | @@ -1626,9 +1663,10 @@ int mk_http_sched_done(struct mk_sched_conn *conn, | ||
| 148 | struct mk_http_request *sr; | ||
| 149 | |||
| 150 | session = mk_http_session_get(conn); | ||
| 151 | - sr = mk_list_entry_first(&session->request_list, | ||
| 152 | - struct mk_http_request, _head); | ||
| 153 | - mk_plugin_stage_run_40(session, sr, server); | ||
| 154 | + if (mk_list_is_empty(&session->request_list) != 0) { | ||
| 155 | + sr = &session->sr_fixed; | ||
| 156 | + mk_plugin_stage_run_40(session, sr, server); | ||
| 157 | + } | ||
| 158 | |||
| 159 | return mk_http_request_end(session, server); | ||
| 160 | } | ||
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 0000000000..c731db0919 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0002-server-scheduler-guard-protocol-close-callback.patch | |||
| @@ -0,0 +1,51 @@ | |||
| 1 | From 82fb537e74e9b801d196b76efaf735ee50cd86c6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Eduardo Silva <eduardo@chronosphere.io> | ||
| 3 | Date: Thu, 9 Apr 2026 12:43:31 -0600 | ||
| 4 | Subject: [PATCH] server: scheduler: guard protocol close callback | ||
| 5 | |||
| 6 | Avoid calling a null cb_close handler from the scheduler close | ||
| 7 | and timeout paths. | ||
| 8 | |||
| 9 | This fixes the HTTP/2 upgrade case where the protocol handler can be | ||
| 10 | switched to mk_http2_handler even though that handler does not | ||
| 11 | implement cb_close. | ||
| 12 | |||
| 13 | Verified by rebuilding with cmake --build build. | ||
| 14 | |||
| 15 | Signed-off-by: Eduardo Silva <eduardo@chronosphere.io> | ||
| 16 | |||
| 17 | This patch is part of https://github.com/monkey/monkey/pull/434, | ||
| 18 | containing assorted CVE fixes. | ||
| 19 | |||
| 20 | Upstream-Status: Backport [https://github.com/monkey/monkey/commit/fc1d68fb38044df08cb43c7d9af0f68714388efc] | ||
| 21 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 22 | --- | ||
| 23 | mk_server/mk_scheduler.c | 8 +++++--- | ||
| 24 | 1 file changed, 5 insertions(+), 3 deletions(-) | ||
| 25 | |||
| 26 | diff --git a/mk_server/mk_scheduler.c b/mk_server/mk_scheduler.c | ||
| 27 | index a680d3cd..3cf0ba40 100644 | ||
| 28 | --- a/mk_server/mk_scheduler.c | ||
| 29 | +++ b/mk_server/mk_scheduler.c | ||
| 30 | @@ -598,8 +598,10 @@ int mk_sched_check_timeouts(struct mk_sched_worker *sched, | ||
| 31 | MK_TRACE("Scheduler, closing fd %i due TIMEOUT", | ||
| 32 | conn->event.fd); | ||
| 33 | MK_LT_SCHED(conn->event.fd, "TIMEOUT_CONN_PENDING"); | ||
| 34 | - conn->protocol->cb_close(conn, sched, MK_SCHED_CONN_TIMEOUT, | ||
| 35 | - server); | ||
| 36 | + if (conn->protocol->cb_close) { | ||
| 37 | + conn->protocol->cb_close(conn, sched, MK_SCHED_CONN_TIMEOUT, | ||
| 38 | + server); | ||
| 39 | + } | ||
| 40 | mk_sched_drop_connection(conn, sched, server); | ||
| 41 | } | ||
| 42 | } | ||
| 43 | @@ -749,7 +751,7 @@ int mk_sched_event_close(struct mk_sched_conn *conn, | ||
| 44 | MK_TRACE("[FD %i] Connection Handler, closed", conn->event.fd); | ||
| 45 | mk_event_del(sched->loop, &conn->event); | ||
| 46 | |||
| 47 | - if (type != MK_EP_SOCKET_DONE) { | ||
| 48 | + if (type != MK_EP_SOCKET_DONE && conn->protocol->cb_close) { | ||
| 49 | conn->protocol->cb_close(conn, sched, type, server); | ||
| 50 | } | ||
| 51 | /* | ||
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 0000000000..1e56893c65 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0003-server-parser-harden-boundary-checks.patch | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | From b9f24a2968fa62de4a6ecf070fa0389ce10e7729 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Eduardo Silva <eduardo@chronosphere.io> | ||
| 3 | Date: Thu, 9 Apr 2026 12:11:57 -0600 | ||
| 4 | Subject: [PATCH] server: parser: harden boundary checks | ||
| 5 | |||
| 6 | Tighten parser and helper validation around explicit lengths and | ||
| 7 | buffer boundaries. | ||
| 8 | |||
| 9 | Require exact header literal matches, validate chunk length tokens, | ||
| 10 | and guard helper routines that previously trusted inconsistent | ||
| 11 | pointer or length state. | ||
| 12 | |||
| 13 | Verified by rebuilding with cmake --build build and replaying the | ||
| 14 | reported malformed request fixtures against build/bin/monkey. | ||
| 15 | |||
| 16 | Signed-off-by: Eduardo Silva <eduardo@chronosphere.io> | ||
| 17 | |||
| 18 | This patch is part of https://github.com/monkey/monkey/pull/434, | ||
| 19 | containing assorted CVE fixes. | ||
| 20 | |||
| 21 | Upstream-Status: Backport [https://github.com/monkey/monkey/commit/ffe0d0ed1b074ea6f3965c37bb754e9f19130a82] | ||
| 22 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 23 | --- | ||
| 24 | include/monkey/mk_http_parser.h | 6 +++++- | ||
| 25 | mk_server/mk_http_parser.c | 13 +++++++++++++ | ||
| 26 | mk_server/mk_mimetype.c | 7 ++++++- | ||
| 27 | mk_server/mk_user.c | 2 +- | ||
| 28 | 4 files changed, 25 insertions(+), 3 deletions(-) | ||
| 29 | |||
| 30 | diff --git a/include/monkey/mk_http_parser.h b/include/monkey/mk_http_parser.h | ||
| 31 | index 9e3b365e..465ea0e4 100644 | ||
| 32 | --- a/include/monkey/mk_http_parser.h | ||
| 33 | +++ b/include/monkey/mk_http_parser.h | ||
| 34 | @@ -389,7 +389,11 @@ int mk_http_parser_chunked_decode_buf(struct mk_http_parser *p, | ||
| 35 | |||
| 36 | static inline int mk_http_parser_more(struct mk_http_parser *p, int len) | ||
| 37 | { | ||
| 38 | - if (abs(len - p->i) - 1 > 0) { | ||
| 39 | + if (len <= 0 || p->i < 0) { | ||
| 40 | + return MK_FALSE; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + if ((p->i + 1) < len) { | ||
| 44 | return MK_TRUE; | ||
| 45 | } | ||
| 46 | |||
| 47 | diff --git a/mk_server/mk_http_parser.c b/mk_server/mk_http_parser.c | ||
| 48 | index 9413528a..3c831f29 100644 | ||
| 49 | --- a/mk_server/mk_http_parser.c | ||
| 50 | +++ b/mk_server/mk_http_parser.c | ||
| 51 | @@ -173,6 +173,16 @@ static inline void request_set(mk_ptr_t *ptr, struct mk_http_parser *p, char *bu | ||
| 52 | static inline int header_cmp(const char *expected, char *value, int len) | ||
| 53 | { | ||
| 54 | int i = 0; | ||
| 55 | + size_t expected_len; | ||
| 56 | + | ||
| 57 | + if (len < 0) { | ||
| 58 | + return -1; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + expected_len = strlen(expected); | ||
| 62 | + if ((size_t) len != expected_len) { | ||
| 63 | + return -1; | ||
| 64 | + } | ||
| 65 | |||
| 66 | if (len >= 8) { | ||
| 67 | if (expected[0] != tolower(value[0])) return -1; | ||
| 68 | @@ -535,6 +545,9 @@ parse_more: | ||
| 69 | (errno != 0)) { | ||
| 70 | return MK_HTTP_PARSER_ERROR; | ||
| 71 | } | ||
| 72 | + if (ptr == tmp || *ptr != '\0') { | ||
| 73 | + return MK_HTTP_PARSER_ERROR; | ||
| 74 | + } | ||
| 75 | |||
| 76 | if (chunk_len < 0) { | ||
| 77 | return MK_HTTP_PARSER_ERROR; | ||
| 78 | diff --git a/mk_server/mk_mimetype.c b/mk_server/mk_mimetype.c | ||
| 79 | index b86b4ef1..5462ea5c 100644 | ||
| 80 | --- a/mk_server/mk_mimetype.c | ||
| 81 | +++ b/mk_server/mk_mimetype.c | ||
| 82 | @@ -197,7 +197,12 @@ struct mk_mimetype *mk_mimetype_find(struct mk_server *server, mk_ptr_t *filenam | ||
| 83 | { | ||
| 84 | int j, len; | ||
| 85 | |||
| 86 | - j = len = filename->len; | ||
| 87 | + if (!filename->data || filename->len <= 0) { | ||
| 88 | + return NULL; | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + len = filename->len; | ||
| 92 | + j = len - 1; | ||
| 93 | |||
| 94 | /* looking for extension */ | ||
| 95 | while (j >= 0 && filename->data[j] != '.') { | ||
| 96 | diff --git a/mk_server/mk_user.c b/mk_server/mk_user.c | ||
| 97 | index 7200ff08..716331ac 100644 | ||
| 98 | --- a/mk_server/mk_user.c | ||
| 99 | +++ b/mk_server/mk_user.c | ||
| 100 | @@ -46,7 +46,7 @@ int mk_user_init(struct mk_http_session *cs, struct mk_http_request *sr, | ||
| 101 | } | ||
| 102 | |||
| 103 | limit = mk_string_char_search(sr->uri_processed.data + offset, '/', | ||
| 104 | - sr->uri_processed.len); | ||
| 105 | + sr->uri_processed.len - offset); | ||
| 106 | |||
| 107 | if (limit == -1) { | ||
| 108 | 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.7.bb index 126a2a6fa5..a9bea8f767 100644 --- a/meta-webserver/recipes-httpd/monkey/monkey_1.8.4.bb +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.8.7.bb | |||
| @@ -7,13 +7,17 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" | |||
| 7 | 7 | ||
| 8 | SECTION = "net" | 8 | SECTION = "net" |
| 9 | 9 | ||
| 10 | SRC_URI = "git://github.com/monkey/monkey;branch=master;protocol=https \ | 10 | SRC_URI = "git://github.com/monkey/monkey;branch=master;protocol=https;tag=v${PV} \ |
| 11 | file://0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch \ | 11 | file://0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch \ |
| 12 | file://0001-include-Fix-location-of-mk_core.h-etal.patch \ | 12 | file://0001-include-Fix-location-of-mk_core.h-etal.patch \ |
| 13 | file://monkey.service \ | 13 | file://monkey.service \ |
| 14 | file://monkey.init" | 14 | file://monkey.init \ |
| 15 | file://0001-server-http-fix-malformed-request-crash-paths.patch \ | ||
| 16 | file://0002-server-scheduler-guard-protocol-close-callback.patch \ | ||
| 17 | file://0003-server-parser-harden-boundary-checks.patch \ | ||
| 18 | " | ||
| 15 | 19 | ||
| 16 | SRCREV = "94af273244369e1a8426d0d1f6376475aff90db9" | 20 | SRCREV = "0fd3bbd657c6d6339315709ef068493c572b973c" |
| 17 | 21 | ||
| 18 | UPSTREAM_CHECK_COMMITS = "1" | 22 | UPSTREAM_CHECK_COMMITS = "1" |
| 19 | 23 | ||
| @@ -51,6 +55,10 @@ do_install:append() { | |||
| 51 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | 55 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then |
| 52 | install -Dm 644 ${UNPACKDIR}/monkey.service ${D}/${systemd_unitdir}/system/monkey.service | 56 | install -Dm 644 ${UNPACKDIR}/monkey.service ${D}/${systemd_unitdir}/system/monkey.service |
| 53 | fi | 57 | fi |
| 58 | |||
| 59 | # QA Issue: monkey installs files in /var/volatile, but it is expected to be empty [empty-dirs] | ||
| 60 | # these folders are supposed to be recreated at runtime | ||
| 61 | find ${D}/var -type d -empty -delete | ||
| 54 | } | 62 | } |
| 55 | 63 | ||
| 56 | INITSCRIPT_NAME = "monkey" | 64 | INITSCRIPT_NAME = "monkey" |
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 9459670344..33543071ba 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<pver>\d+(\.\d+)+).tar.gz" | |||
| 19 | 19 | ||
| 20 | inherit autotools update-rc.d systemd update-alternatives | 20 | inherit autotools update-rc.d systemd update-alternatives |
| 21 | 21 | ||
| 22 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 23 | |||
| 22 | ALTERNATIVE_PRIORITY = "100" | 24 | ALTERNATIVE_PRIORITY = "100" |
| 23 | ALTERNATIVE:${PN}-doc = "htpasswd.1" | 25 | ALTERNATIVE:${PN}-doc = "htpasswd.1" |
| 24 | ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" | 26 | ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" |
diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_2.621.bb b/meta-webserver/recipes-webadmin/webmin/webmin_2.630.bb index bb5ac1c755..6a627e1f0e 100644 --- a/meta-webserver/recipes-webadmin/webmin/webmin_2.621.bb +++ b/meta-webserver/recipes-webadmin/webmin/webmin_2.630.bb | |||
| @@ -19,7 +19,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \ | |||
| 19 | file://mysql-config-fix.patch \ | 19 | file://mysql-config-fix.patch \ |
| 20 | file://webmin.service \ | 20 | file://webmin.service \ |
| 21 | " | 21 | " |
| 22 | SRC_URI[sha256sum] = "88381e8bcdd4733b215c114ca2158dc044892ea68dc0da4d235d88d2b1db4bb8" | 22 | SRC_URI[sha256sum] = "47e25daeefeb98598f4b3f3d99e5093fe618b96eb1b952e938ba6356806be20c" |
| 23 | UPSTREAM_CHECK_URI = "http://www.webmin.com/download.html" | 23 | UPSTREAM_CHECK_URI = "http://www.webmin.com/download.html" |
| 24 | UPSTREAM_CHECK_REGEX = "webmin-(?P<pver>\d+(\.\d+)+).tar.gz" | 24 | UPSTREAM_CHECK_REGEX = "webmin-(?P<pver>\d+(\.\d+)+).tar.gz" |
| 25 | 25 | ||
diff --git a/meta-xfce/classes/thunar-plugin.bbclass b/meta-xfce/classes/thunar-plugin.bbclass index 82a1be6347..f38996d26e 100644 --- a/meta-xfce/classes/thunar-plugin.bbclass +++ b/meta-xfce/classes/thunar-plugin.bbclass | |||
| @@ -1,6 +1,4 @@ | |||
| 1 | inherit xfce features_check | 1 | inherit xfce |
| 2 | |||
| 3 | REQUIRED_DISTRO_FEATURES = "x11" | ||
| 4 | 2 | ||
| 5 | DEPENDS += "thunar" | 3 | DEPENDS += "thunar" |
| 6 | 4 | ||
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 index 2033eb082f..b95bfc170c 100644 --- 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 | |||
| @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | |||
| 10 | XFCE_COMPRESS_TYPE = "xz" | 10 | XFCE_COMPRESS_TYPE = "xz" |
| 11 | XFCEBASEBUILDCLASS = "meson" | 11 | XFCEBASEBUILDCLASS = "meson" |
| 12 | 12 | ||
| 13 | DEPENDS = "dbus-glib garcon gtk+3 libxklavier libxscrnsaver virtual/libx11 xfconf libwnck3" | 13 | DEPENDS = "dbus-glib garcon gtk+3 libxklavier libxscrnsaver virtual/libx11 xfconf libwnck3 libpam systemd" |
| 14 | 14 | ||
| 15 | inherit xfce-app | 15 | inherit xfce-app |
| 16 | 16 | ||
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 0000000000..f84f6e5388 --- /dev/null +++ b/meta-xfce/recipes-multimedia/parole/files/0001-Makefile.am-fix-compile-failure.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From 34ff86795396c320a9e19641d9d226190b7fdfc6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Sun, 12 Apr 2026 19:30:23 +0800 | ||
| 4 | Subject: [PATCH] Makefile.am: fix compile failure | ||
| 5 | |||
| 6 | Fix build failure: | ||
| 7 | /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' | ||
| 8 | /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 | ||
| 9 | |||
| 10 | Upstream-Status: Submitted [https://gitlab.xfce.org/apps/parole/-/issues/146] | ||
| 11 | |||
| 12 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 13 | --- | ||
| 14 | src/Makefile.am | 1 + | ||
| 15 | 1 file changed, 1 insertion(+) | ||
| 16 | |||
| 17 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
| 18 | index 920b708..244c14c 100644 | ||
| 19 | --- a/src/Makefile.am | ||
| 20 | +++ b/src/Makefile.am | ||
| 21 | @@ -90,6 +90,7 @@ parole_LDADD = \ | ||
| 22 | $(GMODULE_LIBS) \ | ||
| 23 | $(DBUS_GLIB_LIBS) \ | ||
| 24 | $(LIBXFCE4UI_LIBS) \ | ||
| 25 | + $(LIBXFCE4UTIL_LIBS) \ | ||
| 26 | $(XFCONF_LIBS) \ | ||
| 27 | $(GST_VIDEO_LIBS) \ | ||
| 28 | $(TAGLIBC_LIBS) \ | ||
| 29 | -- | ||
| 30 | 2.34.1 | ||
| 31 | |||
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 7787196fdd..1d2c858a2d 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 += " \ | |||
| 11 | libxfce4util \ | 11 | libxfce4util \ |
| 12 | libxfce4ui \ | 12 | libxfce4ui \ |
| 13 | xfconf \ | 13 | xfconf \ |
| 14 | \ | ||
| 15 | gstreamer1.0-plugins-base \ | 14 | gstreamer1.0-plugins-base \ |
| 16 | taglib \ | 15 | taglib \ |
| 17 | " | 16 | " |
| 18 | 17 | ||
| 18 | SRC_URI += "file://0001-Makefile.am-fix-compile-failure.patch" | ||
| 19 | |||
| 19 | SRC_URI[sha256sum] = "6625288b760d38a15c295051ecf66c556fcad21dd1516d6d661c2a582421ee0e" | 20 | SRC_URI[sha256sum] = "6625288b760d38a15c295051ecf66c556fcad21dd1516d6d661c2a582421ee0e" |
| 20 | 21 | ||
| 21 | RDEPENDS:${PN} += "gstreamer1.0-plugins-good" | 22 | RDEPENDS:${PN} += "gstreamer1.0-plugins-good" |
diff --git a/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.5.1.bb b/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.5.1.bb index 4f823c67b5..2fa76351a4 100644 --- a/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.5.1.bb +++ b/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.5.1.bb | |||
| @@ -7,7 +7,7 @@ XFCE_COMPRESS_TYPE = "xz" | |||
| 7 | 7 | ||
| 8 | inherit xfce-panel-plugin features_check | 8 | inherit xfce-panel-plugin features_check |
| 9 | 9 | ||
| 10 | REQUIRED_DISTRO_FEATURES = "pulseaudio ${@bb.utils.contains_any('DISTRO_FEATURES', 'opengl vulkan', 'x11', '', d)}" | 10 | REQUIRED_DISTRO_FEATURES = "pulseaudio" |
| 11 | 11 | ||
| 12 | DEPENDS += "dbus-glib pulseaudio" | 12 | DEPENDS += "dbus-glib pulseaudio" |
| 13 | 13 | ||
diff --git a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.21.7.bb b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.21.7.bb index e672eae540..9c86da48e6 100644 --- a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.21.7.bb +++ b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.21.7.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://docs.xfce.org/xfce/libxfce4ui/start" | |||
| 3 | SECTION = "x11/libs" | 3 | SECTION = "x11/libs" |
| 4 | LICENSE = "LGPL-2.0-or-later" | 4 | LICENSE = "LGPL-2.0-or-later" |
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db" |
| 6 | DEPENDS = "intltool-native perl-native gtk+3 libxfce4util xfce4-dev-tools xfconf" | 6 | DEPENDS = "intltool-native perl-native gtk+3 libxfce4util xfce4-dev-tools xfconf gdk-pixbuf" |
| 7 | 7 | ||
| 8 | XFCE_COMPRESS_TYPE = "xz" | 8 | XFCE_COMPRESS_TYPE = "xz" |
| 9 | XFCEBASEBUILDCLASS = "meson" | 9 | XFCEBASEBUILDCLASS = "meson" |
| @@ -26,7 +26,6 @@ SRC_URI[sha256sum] = "a72a7af39cf183819bcfb61b1747d425261e966ccb172b2fc28f1494f5 | |||
| 26 | 26 | ||
| 27 | EXTRA_OEMESON = "-Dvala=disabled -Dvendor-info=${DISTRO}" | 27 | EXTRA_OEMESON = "-Dvala=disabled -Dvendor-info=${DISTRO}" |
| 28 | 28 | ||
| 29 | PACKAGECONFIG ??= " \ | 29 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" |
| 30 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11','x11', "", d)} \ | 30 | PACKAGECONFIG[x11] = "-Dsession-management=enabled -Dstartup-notification=enabled,-Dsession-management=disabled -Dstartup-notification=disabled,libepoxy libice libsm startup-notification" |
| 31 | " | 31 | PACKAGECONFIG[wayland] = "-Dwayland=enabled, -Dwayland=disabled," |
| 32 | PACKAGECONFIG[x11] = "-Dstartup-notification=enabled,-Dstartup-notification=disabled,libepoxy libice libsm startup-notification" | ||
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 0000000000..9d4afc7167 --- /dev/null +++ b/meta-xfce/recipes-xfce/thunar/files/0001-Properly-guard-gdkx.h-include.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From dd7fbf4540891053a4083228aac2485e6c469199 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org> | ||
| 3 | Date: Sat, 11 Apr 2026 18:07:05 +0200 | ||
| 4 | Subject: [PATCH] Properly guard gdkx.h include | ||
| 5 | |||
| 6 | Fixes: #1820 | ||
| 7 | |||
| 8 | Upstream-Status: Backport [https://gitlab.xfce.org/xfce/thunar/-/commit/201f8ca0c3bc7b5e651201526fc3006a130718eb] | ||
| 9 | |||
| 10 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 11 | --- | ||
| 12 | thunar/thunar-session-client.c | 2 +- | ||
| 13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/thunar/thunar-session-client.c b/thunar/thunar-session-client.c | ||
| 16 | index c36719c..2832818 100644 | ||
| 17 | --- a/thunar/thunar-session-client.c | ||
| 18 | +++ b/thunar/thunar-session-client.c | ||
| 19 | @@ -30,6 +30,7 @@ | ||
| 20 | |||
| 21 | #ifdef ENABLE_LIBSM | ||
| 22 | #include <X11/SM/SMlib.h> | ||
| 23 | +#include <gdk/gdkx.h> | ||
| 24 | #endif | ||
| 25 | |||
| 26 | #include "thunar/thunar-application.h" | ||
| 27 | @@ -38,7 +39,6 @@ | ||
| 28 | #include "thunar/thunar-private.h" | ||
| 29 | #include "thunar/thunar-session-client.h" | ||
| 30 | |||
| 31 | -#include <gdk/gdkx.h> | ||
| 32 | #include <glib/gstdio.h> | ||
| 33 | |||
| 34 | |||
| 35 | -- | ||
| 36 | 2.34.1 | ||
| 37 | |||
diff --git a/meta-xfce/recipes-xfce/thunar/thunar_4.21.5.bb b/meta-xfce/recipes-xfce/thunar/thunar_4.21.5.bb index 32d4c39aa5..d8e9edfc25 100644 --- a/meta-xfce/recipes-xfce/thunar/thunar_4.21.5.bb +++ b/meta-xfce/recipes-xfce/thunar/thunar_4.21.5.bb | |||
| @@ -9,15 +9,15 @@ XFCE_COMPRESS_TYPE = "xz" | |||
| 9 | XFCEBASEBUILDCLASS = "meson" | 9 | XFCEBASEBUILDCLASS = "meson" |
| 10 | GTKDOC_MESON_OPTION = "gtk-doc" | 10 | GTKDOC_MESON_OPTION = "gtk-doc" |
| 11 | 11 | ||
| 12 | inherit xfce gobject-introspection features_check mime-xdg perlnative gtk-doc | 12 | inherit xfce gobject-introspection mime-xdg perlnative gtk-doc |
| 13 | |||
| 14 | REQUIRED_DISTRO_FEATURES = "x11" | ||
| 15 | 13 | ||
| 16 | SRC_URI[sha256sum] = "eddbd4bab29c73718734e0bfcf650ceea8b4fcc8cb2cbb0b24fe22b286a2be00" | 14 | SRC_URI[sha256sum] = "eddbd4bab29c73718734e0bfcf650ceea8b4fcc8cb2cbb0b24fe22b286a2be00" |
| 17 | 15 | ||
| 16 | SRC_URI += "file://0001-Properly-guard-gdkx.h-include.patch" | ||
| 17 | |||
| 18 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" | 18 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" |
| 19 | PACKAGECONFIG[pcre] = "-Dpcre2=enabled,-Dpcre2=disabled,libpcre2" | 19 | PACKAGECONFIG[pcre] = "-Dpcre2=enabled,-Dpcre2=disabled,libpcre2" |
| 20 | PACKAGECONFIG[x11] = "-Dx11=enabled -Dsession-management=enabled,-Dx11=disabled,libsm startup-notification" | 20 | PACKAGECONFIG[x11] = "-Dx11=enabled -Dsession-management=enabled,-Dx11=disabled,libsm startup-notification virtual/libx11" |
| 21 | 21 | ||
| 22 | FILES:${PN} += " \ | 22 | FILES:${PN} += " \ |
| 23 | ${libdir}/thunarx-3/* \ | 23 | ${libdir}/thunarx-3/* \ |
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 index b3cf4b2559..00c9352dec 100644 --- 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 | |||
| @@ -3,9 +3,7 @@ HOMEPAGE = "https://docs.xfce.org/xfce/xfce4-panel/start" | |||
| 3 | SECTION = "x11" | 3 | SECTION = "x11" |
| 4 | LICENSE = "GPL-2.0-or-later" | 4 | LICENSE = "GPL-2.0-or-later" |
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" |
| 6 | DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxfce4windowing libxml2 \ | 6 | DEPENDS = "garcon exo cairo libxml2 vala-native gtk+3 libxfce4windowing" |
| 7 | libwnck3 vala-native \ | ||
| 8 | " | ||
| 9 | 7 | ||
| 10 | XFCE_COMPRESS_TYPE = "xz" | 8 | XFCE_COMPRESS_TYPE = "xz" |
| 11 | XFCEBASEBUILDCLASS = "meson" | 9 | XFCEBASEBUILDCLASS = "meson" |
| @@ -13,8 +11,6 @@ GTKDOC_MESON_OPTION = "gtk-doc" | |||
| 13 | 11 | ||
| 14 | inherit xfce gtk-doc gobject-introspection features_check mime-xdg | 12 | inherit xfce gtk-doc gobject-introspection features_check mime-xdg |
| 15 | 13 | ||
| 16 | REQUIRED_DISTRO_FEATURES = "x11" | ||
| 17 | |||
| 18 | SRC_URI += " \ | 14 | SRC_URI += " \ |
| 19 | file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ | 15 | file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ |
| 20 | file://0002-use-lxdm-to-replace-dm-tool.patch \ | 16 | file://0002-use-lxdm-to-replace-dm-tool.patch \ |
| @@ -24,6 +20,12 @@ SRC_URI[sha256sum] = "c940dae515bef4af08a126011d2fd873ce99e815157ba8cef5332195bb | |||
| 24 | 20 | ||
| 25 | EXTRA_OEMESON += "-Dvala=disabled" | 21 | EXTRA_OEMESON += "-Dvala=disabled" |
| 26 | 22 | ||
| 23 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | ||
| 24 | |||
| 25 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" | ||
| 26 | PACKAGECONFIG[x11] = "-Dx11=enabled, -Dx11=disabled, virtual/libx11 libwnck3 libxext" | ||
| 27 | PACKAGECONFIG[wayland] = "-Dwayland=enabled, -Dwayland=disabled, wayland wayland-native wayland-protocols" | ||
| 28 | |||
| 27 | python populate_packages:prepend() { | 29 | python populate_packages:prepend() { |
| 28 | plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') | 30 | plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') |
| 29 | plugin_name = d.expand('${PN}-plugin-%s') | 31 | plugin_name = d.expand('${PN}-plugin-%s') |
diff --git a/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.1.bb b/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.1.bb index d16a9e6446..5cd0213951 100644 --- a/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.1.bb +++ b/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.20.1.bb | |||
| @@ -13,6 +13,7 @@ DEPENDS = " \ | |||
| 13 | libxfce4ui \ | 13 | libxfce4ui \ |
| 14 | libxfce4util \ | 14 | libxfce4util \ |
| 15 | libxfce4windowing \ | 15 | libxfce4windowing \ |
| 16 | libyaml \ | ||
| 16 | thunar \ | 17 | thunar \ |
| 17 | xfconf \ | 18 | xfconf \ |
| 18 | " | 19 | " |
